The Orange View (on hiatus) Because Apple is great but it isn't perfect


Why aren’t Android developers using cloud back-up service?

I'll have more to say about John Gruber's latest off-base missive later (rule of thumb: the longer a post on DaringFireball runs, the less worthwhile it ends up). But I wanted to note first something Gruber said that's dead on accurate: Android has lousy backup options, really bad.

I suffered through this personally the other day after I lost and replaced my Nexus S phone. Essentially, Android is not automatically backing up much stuff for you and there is no way to do a full backup of what's on your phone on your own unless you "root" the device, which entails replacing your phone's operating system with an unofficial hacked version. Many users simply cannot do that because their carrier or manufacturer has locked down their phone. Others, myself included, have no interest in messing with a phone at that level.

I've been investigating options for better backup this week and my findings are pretty disappointing. There's no way without rooting to backup application data like levels you've already conquered on Angry Birds or your blog account info in WordPress. Text messages, browser bookmarks¹ and other valuable stuff require a 3rd party backup program. Even when Android is relying on the cloud, like the photo gallery that links to your Picasa web account, I was disappointed. There's no way to automatically backup all the photos you take on your phone to the web, for example.

Now many things on Android are already living "in the cloud" for free, like contacts, calendar events, RSS and podcast subscription feeds, email and so on. That part of the Android experience was totally awesome. Login to your Google account on a new phone and all the data and settings are restored.

But here's the really puzzling thing. Google has written a backup API for Android developers that takes care of all the sending of data off to the cloud, storing it securely with a user's Google account and restoring, when needed, back into the proper app.

Yet not a single app I own seems to have stored any of its settings. I had to re-enter sign-ins and passwords in dozens of apps and then re-set all the preferences. No games saved previously achieved scores and levels. And I had to not only re-establish all my browser bookmarks (and only after I deleted a dozen unwanted bookmarks that mysteriously showed up on the new phone for sites like MySpace, MSN and the BBC). Only Google's own apps, including Mail, Reader, Listen, Contacts and Calendar, restored their full data.

I'm interested in any theories people might have. Are the backup APIs cumbersome? Bad for app performance? Hard to integrate because of different devices and Android software versions? Banned by some carriers? Because otherwise, it's a real lost opportunity.

¹Why there isn't super-close integration of the awesome Chrome browser and all its synchronized data with Android phones is an absolute mystery to me.

Posted by Aaron Pressman

Filed under: post Comments Off
Comments (3) Trackbacks (0)
  1. Theory 1: The Backup APIs are only available starting with version 2.2 of the OS. Given all of the complaints and one star ratings app developers get in the Marketplace for not supporting old versions of the OS, it should not be a surprise that no one’s shipping apps that use those APIs.

    Theory 2: Google hasn’t really said much about how or where that data is backed up to. Given the amount of data that Google is already tracking about you, do you really want to give them even more?

  2. Starting with Android 1.6, the APIs allowed for the ability to target multiple screen sizes. In order to reach the largest target audience possible, developers usually (not always) tend to set this as their target API when developing apps so as to not alienate users. The Backup APIs, as Darryl stated, begin with 2.2. In order to set that as the target API, one would lose about 36% of the Android audience (according to

  3. Those saying that it’s because of backwards compatibility have no clue what they are talking about. When developing a program there is a minimum API support and you can build for later target platforms while implementing the code which can disable said feature.

    For example the cloud sync APIs can be enabled for 2.2+ devices, along with keeping the 1.6 compatibility in the same codebase as described here:

Trackbacks are disabled.