Hacker News new | ask | show | jobs
by Wowfunhappy 1770 days ago
I remember listening to an episode of the Exponent podcast, in which Ben Thompson said something like (paraphrasing from memory):

> People who love "native apps" can complain about Electron all they want—but there's simply no replacement for the real-time collaboration offered by web-based apps like Figma!

As someone who's not exactly thrilled with Electron and its memory usage—is there a reason the two go together? Is there a reason we can't build collaborative apps in Cocoa and GTK? I think these systems are awesome, I just think they'd be even better if they weren't also running full web browsers!

3 comments

It could totally be done natively. The obstacle is how much of the stack you have to write and maintain. There are js libraries that do most of this heavy lifting for you, and CRDTs are pretty new to most devs.

It's just much much easier and cost effective to build a single code base and hit many many targets platforms with it.

Computing history has also shown that publishing efficient lean software doesn't help in the market. At least not over time to market, getting the key features right, and your ongoing costs.

>in Cocoa and GTK?

This is reason enough. Already you now have to build the UI twice because there is no GUI framework that actually looks good on all OSs. You see this all the time where apps made on linux but technically work on macos just work terrible or look super ugly on macos.

You also have to remember windows, ios and android. When you build something targeting web browsers you only have to worry about screen sizes rather than OSs.

Figma’s performance is excellent due in large part to the fact they compile a lot of native code to Wasm. Electron or not it’s still fast.

To answer your question, collaborative apps ideally need to target the widest possible audience. Barring a massive budget, the best way to accomplish this is to also have a singular compile/build target. In most cases, that’s the web platform.

Figma's performance is impressive for an Electron app, but it does choke on very large files, which Sketch would have handled without a care. It's not great.

If Sketch had had Figma's collaboration features, we wouldn't have switched. But during the pandemic it was necessary.

Ah, that's a shame. Good to know, thanks.