The _huge_ apps problem.

Jason Perlow of ZDNet writes an interesting article on the problem of huge apps on Apple’s iOS devices, now that the developers are adding Retina display graphics to their apps, moving to “universal” binaries.
This, of course, means that any iOS device will get all graphics – a huge overhead.

He thinks Apple only has two choices:

The first is the most unlikely, in that Apple finds a way to get the costs of flash memory down so that we can quadruple the storage capabilities of iOS devices without significantly increasing the BOM (Bill of Materials) of the device.


moving from a bitmap-oriented content asset-based programmatic model to a vector-oriented one could drastically reduce the amount of storage required for mobile applications.

Both valid suggestions, but I think there’s a much simpler way for Apple to address this problem, and I think that’s what Apple will do:

iOS recognizes which device it’s being run on. It is aware that it’s running on, let’s say, an iPhone 3GS, or a new iPad. So what’s to stop Apple from making sure that, when you’re downloading that awesome game which clocks in at 1,5GB, you only keep the graphics your particular device needs to operate? Nothing.

The iPhone 3GS supports a maximum of 480×320 pixels.
The iPad supports 2048×1536 pixels.
Then there’s the iPhone 4(S), and the iPad 1 and 2.

So in total we have four different resolutions/pixel counts. “Universal” apps download all of them, no matter what your device supports. That’s where the huge apps problem comes into play, but if Apple decides to give iOS the ability to delete the ones from your device, that it doesn’t need…well, all is good.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s