Tables should be caching

I checked in with our engineers and can pass along the summary of why Coda works this way currently.

Coda is complex, especially with our grids. It takes a good bit to make everything work the way that it does in a doc and rendering too much at one time can cause the browser to run really slow. So we put off rendering to keep all other actions running faster. That’s why you see things re-render as you scroll up and down quickly.

Another thing that was happening when we had tried consistently rendering rows as you scrolled was it would stutter and you would lose smooth scrolling.

Something else that is difficult to tackle with large tables and scrolling is bookkeeping when scrolling fast where rows 1-10 and 200-210 might be rendered, but those in the middle were skipped over. So how do we render what’s on screen first to serve it quickest while letting other stuff in the middle catch up.

This isn’t necessarily something that Coda will be dealing with for good, it can be improved. But the work to improve it is time consuming and a big undertaking. Figuring out the best time to do this work is tough, but something that we’re aware of and keeping an eye on.

I’ve used various table search strategies when I need a replacement for “Cmd f”. I know these aren’t as quick as a keyboard shortcut, but they have worked really well for me here as we continue to grow the product.