Distributed User System
September 9th, 2011
Last night, I had an idea.
Using the web storage API I thought it would be possible to create a login system that doesn't depend on a centralised server. Instead, local storage would contain the username and encrypted password as well as any other user data. On waking, I realised there were a number of very serious drawbacks with this idea (I'm sure you already think I'm barmy).
- With local storage it is easy to clear everything.
- It's tied to your browser.
- Only allows one account per browser.
- You can't control the security on a user's computer, you can on a server.
There may be scenarios where these disadvantages don't matter, but I doubt a use case exists.
Having said that, just because it's not a possibility right now doesn't necessarily mean that it's a bad idea. Having gone through the disadvantages, lets look at the advantages.
- No server to hack
- Same infrastructure gains as peer-to-peer software
- Places power in the hand of users
I'd like to expand on the last point, that it empowers users.
No longer do we have situations where accounts are hard to remove from a system, the user has full control over their details. I think that's a very exciting prospect. The site is simply a front-end interface to the data that's already on the computer.
I think that this is what Opera Unite aims to do by making each computer (and therefore, user) equal. I'd like to spend more time trying to make this a reality but would be very interested in hearing your concerns and ideas about this.
Edit (12/9/2011): Following my thoughts through to conclusion, what I was thinking of is exactly what Opera Unite provides, a platform where you control the content and share it by making your computer (or rather, browser) the server. I think that Diaspora will include elements of this too. Either way, it's beyond the capabilities of the web storage API as I originally thought.