Dropbox/Google Drive — Data portability for the web
One of the “Cloud Drive” providers should create a series of standards for storing user data and start convincing sites to adopt it. They could create a Photos standard, for example:
$ ls Dropbox/sites/picturesharingly.io/Photos
1.json
familyvacation1.jpg
$ cat Dropbox/sites/picturesharingly.io/Photos/familyvacation1.jpg.json
{
'doctype' : 'Photos/v1.0',
'created' : '2011-02-14 21:58:13',
'title' : 'Us and the kids swimming',
'album' : 'Family Vacation 2011',
'filename' : 'familyvacation1.jpg',
...
}
$ ls Dropbox/sites/news.ycombinator.com/Comments
1.json
$ cat 1.json
{
'doctype' : 'SocialComments/v1.0',
'created' : '2012-04-01 12:34:53',
'parent' : '2131295',
'body' : 'Chocolate milk is rather delicious...',
...
}
Obviously these are just quick examples that I came up with in 2 minutes. You would have to put a decent amount of thought into the standards. Maybe it would be better to store data and metadata separately, for example.
The basic ideas are.
1. Anyone could be your “Cloud Drive” provider. Dropbox, Google Drive, etc. You would OAuth your preference when you sign up for a new service.
2. Sites would store data in pre-defined standard formats (“Photos”, “Comments”, “Votes”, “FriendsList”, etc).
3. Sites could normally only access data they wrote to your drive, but you could optionally give them read-write or read-only access to other site’s data.
4. Sites would still store their own additional data themselves and keep their own copies of your data — or at the very least cache your data for performance/simplicity.
There are some obvious objections anyone would have to this idea, the value is so great to users though that it should be possible to overcome them.
Someone smart will need to figure out all the details. Personally I think Brad Fitzpatrick is ideal person to do it, he seems to have a knack for this kind of thing. It looks like he’s working for Google these days. Hopefully Google or Dropbox will get on this.