Clearly delineate all formula columns with naming convention plus conditional formatting
When your users interact with your app, or when you're using columns in your tables for formula etc, it's helpful to be able to spot at a glance which columns are formula-driven, and which ones take manual input.
Column naming convention:
For easier formula reference, I use the convention of adding underscore "_" to the start of the name.
For user visibility: I also add "(ƒ)" to the end of the title
Conditional formatting (see image 2):
Create a new custom format using the "display" column
Leave "contains" field blank
Select the drowdown for which columns to format, and select all the formula ones (conveniently, they all have _underscore)
6
1. Beginner
Create interactive dropdown and checkbox controls
Make your docs interactive with these easy steps:
Easily add a range of controls by hitting "/" anywhere in a doc section → then add a "SELECT" or "MULTIPLE SELECT" dropdown or a checkbox (or date range, etc)
Right click on the new control, and change the name to something logical, ideally witha prefix so you can easily search for it (e.g. chk_show_labels or slt_gradient)
No reference the new name you created in any formula, be it in the doc itself, in a table column, or in a table column filter formula
Add a row with a logic name, and give it a title (in the table display column) - e.g. World_config
Add new columns with the variable names you need for your application
Whenever you need them in your formula / app, you simply type "@", then the row name (world_config), which should autocomplete. Then type "." and find the column name that you want as a variable
11
2. Intermediate
FORMAT formula - to create programmatic formatted text.
Fantastic formula to create programmatic text output using variables. This is how I create programmatic text content, that gets turned into images via Coda's SVG rendering.
Start with a text "template" (the first formula input). Here's what I used to great the SVG image text.
Create a programmatic contrast text color - for text overlaid on a colored object
This nifty formula takes a hex color, and creates an appropriate contrast text color, so that if you're programmatically changing the color of any object, the text will always be legible.
While building this sheet, I had some trouble with formula that were written poorly, resulting in a very slow app.
Luckily the Coda team thought of that - you can find the somewhat hidden "Debug calculations" feature::
"Gear" settings menu → Document Map → "3 dot" menu at the top right of the slide-out screen → "Debug calculations". See image 1
Then hit "Start measuring", and change things in your doc. It will show you how long each formula takes in the doc, letting you find inefficiency. See image 2
16
3. Advanced
Disable calculations, so you can restore a previous. version
If you create a doc that freezes and becomes non-functional - because your formula or very bad, or very circular - You can "disable calculations", which will let you then go to "Version history" (image 2) and pick an earlier version of your doc that worked.
Two ways you can disable calculations:
Add "?nocalc=true&disableAsync=true#_lumdR" to the doc URL, and reload in a new tab
Hacky: Open the Debug Calculation side bar. Now copy the URL, close the old tab, and open the copied URL in a new tab. The second coda renders, and the "Start measuring" button becomes available, click it QUICKLY. If you caught it before the doc fully loads and start calculating, it will start measuring the time of your formula. And after about 30 seconds, a "disable calculations" red link will appear (Image 1).
17
3. Advanced
Render SVG image (from programmatically created text)
Coda can render SVG-formatted text as an image, allowing you to add any kind of visualization to your app.