Tuesday, August 6, 2013

Dropbox Datastore API Review

I spent the last few weeks messing around with the new Dropbox Datastore API. Syncing data to the cloud is a big problem in the mobile app world with several solutions in varying price ranges and of varying levels of quality. I thought this problem would be solved by iCloud when it came out, but sadly it didn't work nearly as well as I'd hoped. Also, iCloud obviously has the problem of not being cross-platform. I haven't revisited it yet, but when it released it was not ready. I was sort of expecting the same from this new attempt.

There are other more specialized options such as Parse, but I found them to be a bit pricey for my tastes. The problem is that apps are almost universally 1 time pay, or even free. Every month you are going to be supporting more and more users, so your costs are going to go up over time. Your revenue may or may not be going up every month though. For it to go up, you have to get more new users this month.

All of this meant that when Dropbox released their Datastore API last month I was excited to try it. Given that it is free for the developer, (and free for users up to a point that easily includes most app needs) it is a very interesting option. I spent several days working it into an app I already have released. (Not ideal in any way, but it was the fastest way for me to test things out). Once I got things going, I was very happy with it.

Overall it was pretty simple to integrate, and in my testing so far it has worked really well. Everything is stored locally as well as in the cloud so it is fast, and it works offline as well. If you are offline, it syncs everything up next time you get online using predefined (by you) conflict resolution rules. If you are online, it gives you updates whenever something has changed elsewhere so you can update the UI.

So far everything has worked great, but the real test will be how things go out in the wild. The apps I put it in just got released, so time will tell. If you want to play around with it, you can check out my to do list app Lister 2. There is also a free version that will let you sync 1 list.

I've only played with the iOS version of Dropbox's Datastore API so far, but I'm hoping to test out the Android version at some point. I suspect it works just as well. If everything works well cross-platform, this will be a really great solution for many devs.

If you've read this far and are interested in the mobile app market you may want to check out my book on how I make money on the mobile app stores called Building an App Business.