4 ms·
I disagree. I mean, it depends on the kind of app. The data requirements of some apps might do well in a simpler model that can work OK with existing syncing se
by jlongster 7y ago
I disagree. I mean, it depends on the kind of app. The data requirements of some apps might do well in a simpler model that can work OK with existing syncing services.
But the majority of apps need more complex needs and you definitely should not go and build a new database. The user experience will end up being flaky (syncing problems) and/or slow (the database is not good). Not to mention that now in addition to setting up the app, the user now needs to go sign up for one of those services if they haven't already.
With integrated syncing, the user just fires up the app and syncing works and they never have to care about how it works.
There's a reason a whole field of research exists into things like CRDTs. Distributed apps are not trivial, and only ones with simple data needs could get by without a more rigorous approach.
- rpdillon 7y agoI generally agree with your reasoning, but recently experienced a counter-example myself. I recently picked up Joplin for note-taking, and the fact that it can sync reliably through my NextCloud instance via WebDAV was the deciding factor in me sticking with it. If I had to rely on a company to stick around to sync my notes, or I had to run a custom backend, I would have simply moved on. As is, Joplin is pretty close to an ideal note-taking system for me.
- jlongster 7y agoThat's awesome, there's definitely room for apps like that. I have nothing against them, but there are tradeoffs. Seems like that could work well for that kind of app.