Where it comes to phone storage there’s basically 2 camps, all onboard and mostly off board via memory cards. Mostly the all onboard camp is composed by the iPhone while the mostly offboard camp is populated by the Androids. People like slamming the iPhone for not being expandable and forcing you to go all in at purchase time while Androids (and symbians before that) let you get more storage space when you needed it. Surely the all onboard approach is a planed obsolescence tool, it helps you decided when to get a new iPhone. But it’s also a ver y sound engineering decision.
Android users are familiar to this scenario: you pop a shiny new 16G card on your phone and it still tells you there’s no more space for apps. How can that be ? There’s 10G free right there. However, the OS can’t trust it. It’s formatted using a subpar filesystem and the user might pop it out at any time. It’s no place to store apps that might even be running and suddenly disappear. So apps are limited to a bit of the small onboard storage that’s reliable. On the other hand the iPhone users can use all of the limited onboard storage for apps cause it’s all first class. So what you win in flexibility you lose in flexibility. And then there’s windows phone were you get to use a crappy slow card for apps that you can’t actually remove without breaking the phone.
(written shortly after hacking around with apps2sd on ICS to get more app storage)