3 ms·
There's a growing area where I see a lot of people starting to get involved with distributed system who didn't have to deal with it before: rich in-browser apps
by ef4 14y ago
There's a growing area where I see a lot of people starting to get involved with distributed system who didn't have to deal with it before: rich in-browser apps with their own permanent storage.
Once you have a Javascript application with state speaking over one or more APIs to your backend services, you're in the domain of distributed system design. Especially if you use the application cache and support offline operation. I frequently see people who are used to more traditional web applications underestimate the system design challenges this causes.
(Those challenges are totally worth solving, because the model is very powerful.)
- chewxy 14y agocurious question: how do you get people to even click "ALLOW" when the popup says "do you want to allow this website to use localStorage"
- johanhil 14y agoWhat browser does this? I've never run in to it.
- anarchitect 14y agoIt happens in mobile Safari IIRC.
- ef4 14y agoPeople mean different things when they say "local storage". Some of the storage APIs prompt the user, some don't, some only prompt if you ask for more than a certain amount of storage space. The various browsers are not consistent, especially when it comes to quota management. I wrote up some notes on this, though they're about a year old now and the browser UIs continue to evolve: http://tech-blog.clericare.com/2012/02/choosing-right-browser-local-storage.html http://tech-blog.clericare.com/2012/02/choosing-right-browse... For someone building a consumer web app that needs to painlessly convert users in volume, I can see where it would still be a pain. For me, it's not so bad -- my app is B2B, and having an install step as simple as clicking "Allow this app to use up to 500MB on your computer?" is actually a huge improvement over the "enterprise" junk we compete with.
- rdtsc 14y agoThat is why I kind of like the CouchDB clone for the browser -- PouchDB https://github.com/daleharvey/pouchdb https://github.com/daleharvey/pouchdb Since Couch has a master-master replication protocol the database in the browser can just sync with the one on the server. Then the network gets disconnected but that's alright. When it gets re-connected continuous updates pick up where they left off, conflicts are resolved and it sort of works a distributed system. Where a browser is just another node.