The busy people at Dropbox have released another fun thing: the datastore API. Essentially is is a database which is automatically synced using Dropbox. I assume this means it will be easy to use and so reliable it will make the whole thing look easy. I eyed through the API, and it looks as simple as one might hope. You get nice object-oriented wrappers for a database, tables and querying. I have used the Dropbox core API for some stuff recently, and the datastore truly looks like it would be a perfect fit. Just store everything in there and never even have to think about files, sync, storage or even whether there is a network right now.
Then it struck me: using this would either mean serious duplication of data storage (which could be done elegantly, but still clear and total duplication) or tying yourself very tightly to Dropbox. Use the datastore, and you could be in the same position a few years down the line as an RSS reader which went with Google reader for its sync back end. Well, possibly worse since everything goes on inside vendor code. What if they turned it off? Imposed a Twitter-like API limit? Or something else altogether? Ads? Who knows.
Of course, all other ways to sync have the same problem to varying degrees. Heck, even the Dropbox sync API does. But there is something about the actual data storage disappearing behind a platform's (very nice and probably rock solid) API which suddenly made me sit up and take notice.
It was odd to realize that I suddenly had a reservation about adopting this, despite using and loving Dropbox personally and already using another API of theirs. I guess the fact that Dropbox has always been about simple files before played a part. It feels one way to hand off data in a format I control and save myself to a service for external handling or storage, and another to even create the data in their format.
This is a clear and interesting step in evolving what Dropbox is about. I am curious - somewhat excited even - to see where this goes.