I work for Ably, a realtime messaging platform. I'm also the author of SQLEdge (a replication tool mentioned in the article). One of our teams at Ably just launched "spaces"[1] to make it easy to build collaborative experiences. While it's not strictly in the local-first camp, I think it's in a similar 'space' (pun intended).<p>I think the collaboration experiences that you see in Figma, Miro, Notion, etc should _just be possible_ for all apps. And for a lot of product development teams they probably look at what would be involved to try and build a realtime collaboration experience and think it's just gonna be either too hard, or too much work. But the 'art of the possible' as definitely moved on (as evidenced by the list of companies in the blog post that are addressing these challenges).<p>As a bunch of the other commenters point out, the hard-part isn't just building the code for the UI that will show collaboration experiences, the hard-part is often handling the stateful connections (websockets) and making sure the messages are delivered to the right clients. You either build a stateless/polling mechanism over HTTP, or you have to deal with trying to scale and load-balance websocket connections. Neither approach is particularly easy.<p>[1] <a href="https://ably.com/spaces" rel="nofollow noreferrer">https://ably.com/spaces</a>