Hacker News new | ask | show | jobs
by liuliu 1089 days ago
(Unfortunately, it is a 1-hour long video and I don't have time to watch it over).

The problem with 2 is often that the database is too far away from the view, hence, what you prioritize to sync might not be the most important thing the user interacts with. That's why there are ideas of syncing via GraphQL API because GraphQL is largely driving by client-side views, so it should have more knowledge on how to prioritize. But that often fails too.

This is not a problem if you are doing multiplayer semi-synchronous collaborations because the states of each player are mostly up-to-date. It is problematic if you are doing asynchronous collaborations and only sync with the server sparsely but have large amount of data to sync.

It is not a well-solved problem, but luckily I think the product surface requires this kind of "prioritized sync" is pretty small.