Fibery vs. Coda

3 Likes

I would deeply love to see some more of Coda’s approach formulas in Fibery. Especially in-line/in-text and named formulas!

3 Likes

To expand on the in-line formulas, which is rare across these kinds of tools, I love Coda’s formula editor. I think it probably is the best one I’ve used and is so much nicer to work with than something like google sheets.

  • I really like that you get the preview of what the formula would do, so you don’t have to go back and forth.
  • It highlights the sections of the table that you are leveraging as well
  • They support custom methods being added by integrations, which enables a lot of really cool dynamic things that would require some special scripting in fibery

Here is a link to where some of the formula editor features are demonstrated.

4 Likes

Ah yes, and I meant to include this demo video here too, hah:

1 Like

FYI: Coda just made a major step that eliminates a gap between it, notion, and fibery. The canvas column type allows you to add a full-featured page to an item, where you can embed views, or anything you can do on a page. This would be equivalent to fibery’s rich text field.

I confirmed you could set it up to leverage a default template for each item that could filter contextually based on that item’s values. It suggests you can build a page template and reference that, but it won’t be able to filter contextually that I could tell doing it this way. Instead, you have to go to the first item and open its canvas column, then add a table with a filter that references the parentRow, which is the item you have expanded to focus on. So, I added this filter (thisRow.Assignee=parentRow) && NOT(thisRow.[Done?]).

So, in this case I have a Person that is assigned Tasks. I created a canvas column on the Person table that includes a table of Tasks. The Tasks table is associated with the Person table through a column called “Assignee”. So (thisRow.Assignee=parentRow) && NOT(thisRow.[Done?]) translates to “filter to tasks where the assignee is this person and are not done”.

After adding the table to the first row as I want it, then I can reference this initial canvas for new row values like this. I suppose it would be better to maybe have a dummy item in the table to use as a template though.

Then, each row added will have a canvas column with the same contents, but will filter contextually.


Documentation on Canvas Column

Canvas Column Type


More screenshots:

All tasks in the tasks table

Nick only shows one task because the other is marked done.

Bob shows both of his tasks automatically after setting the canvas column to match Nick’s

3 Likes

I noted this update as well. It seemed like mostly a catch-up to Fibery (aside from Fibery not having block-based docs yet). Does your testing imply otherwise, e.g. the ability to manipulate the “canvas” (rich text) programmatically being something that Fibery is limited in doing? Also, can you have multiple Canvas columns? I don’t use Coda directly, so I didn’t test this.

I might have missed the exact thing you were saying, but I just mean that the biggest reason I haven’t used coda in the past is that you were forced into choosing between a page and a table.

So, if I wanted to have a big rich text area to describe a project, I would be encouraged to not really put “Projects” into a database/table. You could link a page to an item in a table in the past, but I never could get that to work well in practice. This canvas column type makes things more in-line with notion in that each item in a table/database supports a full-featured block editor experience.

I wasn’t sure what you meant by “the ability to manipulate the “canvas” (rich text) programmatically” in regards to fibery.

Yes, you can have multiple. It also appears that each item you add to a new table created after this feature was released defaults to having a canvas column with the name of “Notes”. So, this works very similarly to fibery’s description field where there is a default one available, then you can add more as you see fit.

1 Like

I mean essentially to read contents from and operate on, or “compose” contents into the Rich Text, something that Fibery is limited in doing right now AFAIK. For example if I want to read some data in Fields from a Collection and put them into a Rich Text with specific formatting. Let’s say I wanted to read the Names and Assignees of Entities in a Collection and put the Name of the linked entity in one column of a table in a Rich Text, and the Assignee in another column. Perhaps I am trying to make a printable or exportable report. My understanding is Fibery can’t really do that at present, but I’m not sure if Coda does - my impression is that it can, at least to some degree.

Coda could do this prior to the canvas view.
Since you can initiate a view if a database/table anywhere yogurt would create the view and filter it as needed.

You could also use a variable to output the information as text on a page and use the columns to display both lists side-by-side

1 Like

Yeah, this is more what I mean. Because Fibery will be able to do the first example (embedded View) with the upcoming Blocks feature (which Coda has already been able to do for a while). But no clear plan yet for in-line Fields/Values/Calculations/etc. in Fibery, whereas Coda can do that and it’s really cool. I want that in Fibery. :grin:

1 Like

Yeah, so you would build the basic layout in the canvas of the first item in the table.

In there, you could perform in-line calculations or embed many different types of views you want to have with filters that reference the current row (an epic could show completed tasks, open tasks, a calendar for scheduled tasks, etc specific for that epic).

You then would set that to be used as the initial canvas value for new rows, and they will end up with the same content in the canvas area, except filtered contextually for that new row.

1 Like

This sounds very promising. I will need to look more closely!

Are you able to modify the layout on a per row basis after doing this initial setup? In particular hide certain elements or add more blocks to only one entity?

1 Like

Thanks for that detailed breakdown.

I haven’t had the chance to test it yet but did Coda improve their table bi-directionality in this major update? When I last tested it you could link and edit records in both ways but it was a bit hacky.

1 Like

I think they still have a similar setup. The functionality is called “Cross-Doc”, which gives you some control over how data is pulled from another doc and whether it can be edited.

A doc in Coda is kind of like a workspace in Fibery, which has no cross-workspace syncing, for comparison. There are also the “Packs” they have for integrations, so that is a separate thing based on whatever the integration supports.

1 Like

You might find some more information on how to manage the template in this help article that was shared recently as a follow-up.