How did Google get Apps2SD so wrong?

24 Apr 2011
Posted by Kiran

This post is more a user's rant than an expert opinion. I have used Android for just about an year now and have wondered why certain things were the way they were. Having moved to Android from Windows Mobile 6.0, the first thing that struck me as odd was the lack of flexibility for the users to install their applications into the SD Card. That meant that the users were confined to whatever Internal Storage was available on their phones and more often than not that was very limited.

As soon as I bought my first Android phone, I started fishing around for a solution to this problem and found it in Apps2SD+ (now called Legacy Apps2SD+ or, at times, Apps2EXT). However Apps2SD+ needed root access and was tricky to set up. It took every bit of my technical acumen to understand and execute the steps it entailed. It was also risky and could have easily bricked my phone!

Hence when Google released Froyo with in-built support for Apps2SD I had high expectations. The Froyo Apps2SD turned out to be a disappointment though. I believe that Google got the design of their Apps2SD solution wrong, and although I can think of a few reasons why they might have chosen the design that they did, I cannot help but think that they could have done a better job.

Though Google's Apps2SD design allows users to selectively move Applications to their SD Card it has certain usability flaws which can drive some of us crazy! In my view there are two key aspects of Google's design which cause irritation to Power users:


1. User has no control!

Google's design hands the control to the app developer, not the user. It is the app developer who decides whether an app can be moved to the SD Card or not. This can be quite irritating because even if the users want to move an app to their SD Cards, they cannot if the app developer chooses not to allow it. This basically means that the user has no control over his/her own phone!

There are a few Custom ROMs available for android which correct this problem and hand the control back to the user — CyanogenMod is one of them.

2. Apps on SD don't stay available

The other issue is much more annoying than the first: the apps that are moved to the SD Card become unusable when the phone is used as a USB Memory Drive. Since Google's Apps2SD design stores the application related files in the same partition as that which is connected to the PC for access as the USB drive, the application files become unavailable to Android when the SD card is used as a USB drive.

In contrast Legacy Apps2SD+ stores these files in a separate partition — the EXT partition — which remains accessible to Android even when the SD Card is connected to the PC for USB access. This means that application files installed within this separate partition remain available to Android and usable.

There could be several reasons why Google designed Apps2SD the way they did. Annoying as it is, Google's design is user friendly — even dumb-user friendly. You don't need to be very tech-savvy to get Google's Apps2SD working. Providing control to the app developer ensures that users don't have the power to unintentionally mess up their phone.

However given the Legacy Apps2SD design was working so successfully, Google could have attempted to wrap that straight forward approach to Apps2SD into a dumb-user-proof, one-time setup script. I don't believe that doing that would have been impossible to do.

While I can understand the motivation to make the setup process more user-friendly, I still believe that Google took the easier way out of the problem. I can't stop thinking that had they put in a bit more of their developer perseverance into the problem they could have come up with a more functional Apps2SD solution that was still straight forward to setup. Something akin to the, now legacy, Apps2SD+ the Android hacker community initially came up with.