3 ms·
I constantly find myself wishing that there was a browser API for synced storage. I find myself wanting to make tools like this for my personal use but would li
by kevincox 6y ago
I constantly find myself wishing that there was a browser API for synced storage. I find myself wanting to make tools like this for my personal use but would like to share them for others as well. However right now there aren't many options other than standing up a database and being responsible for user data including privacy, security, uptime, backups and cost. I would love if there was some sort of option where the user could be responsible for their own storage and I can just let them access the code.
Of course the problem is coming up with a good syncing model. However I think even something simple would be good enough. This of course leaves the complexity to the app but we can let libraries step in until we find something that works well then consider standardizing that.
There are of course limitations with this model (you can't do inter-user logic like "friends") and for "sharing" you need another solution. (However this solution only needs to deal with "public" data).
I think the biggest problem though is that people will try to use it for tracking. But it would be super useful.
- pickledish 6y agoHa, I'm very interested in this! I had this same problem for my own app[0], I ended up solving it by just using dynamodb in my personal AWS account as the storage. Generous free tier, great uptime, and no users, security, etc to manage for me, like you mention. It's way more technical than I'd like of course, since anyone who wants to use it needs to have a personal AWS account. And it isn't "synced", like you say, it's just using the AWS JS SDK to speak to dynamodb directly. But still it's been a real pleasure to build a web app this way -- the fact that anyone can use the app by plugging in their own storage is kind of the web development holy grail IMO, really interested in seeing what else can be done in this space. [0] https://github.com/pickledish/cardi https://github.com/pickledish/cardi
- kevincox 6y agoFWIW there are options today like https://remotestorage.io/ https://remotestorage.io/ and https://solidproject.org/ https://solidproject.org/ (which I don't know much about but it was recently on the front page). remotestorage is a nice idea because the provide client-side shims for Google Drive and Dropbox so many users can use it today but these shims are slow and buggy so it isn't really good enough today. I definitely don't want users to need to set up their own database. Ideally I could just publish a static website (or an HMTL file) and users can use their own synced storage.
- pickledish 6y agoYeah, totally agree on ideally "don't want users to need to set up their own database". And thank you a ton for these links, I hadn't seen either of these initiatives before and they're super interesting to me!
- comatory 6y agoSwitch local storage for IndexedDB. Good library that wraps it is PouchDB: https://pouchdb.com/ https://pouchdb.com/ It can sync browser db to remote database.