Apple’s iPhone software 3.0 event came and went without a mention or hint at new hardware. There have been a lot of rumors about a possible new iPhone, and a lot of these rumors assumed a potential connection between this new software for the iPhone and the new hardware, which could be unveiled around the time of WWDC this year.
I posed a question on Twitter earlier today, and since there’s (unsurprisingly) been no mention of it today, I wanted to get my thoughts down on this difficult issue Apple faces when it comes to the future of the iPhone platform. At some point in the future, iPhones and iPod touches will get a better screen, with a better resolution. A good example is the move of Apple’s flagship notebook, the Macbook Pro 17″, from a 1680 by 1050 pixel resolution screen, to a high-DPI (dots per inch) screen boasting an impressive 1920 by 1200 pixels. The screen remained the same size in inches; it just packed a lot more pixels in each inch of screen size.
This happens in the arena of mobile devices as well. Some modern cell phones feature screens with a massive resolution of 800 by 600 pixels; comparably, the iPhone offers a ‘meagre’ 480 by 320 pixels. In the future, Apple will change to a better (not necessarily ‘bigger’) screen, and developers of iPhone apps will face a huge issue: how do we scale the interface?
Ever since Mac software developers got introduced to new features in Mac OS X ‘Tiger’, the topic of resolution independence has been a hot one. It drills down to interfaces being able to scale depending on the pixel density of the display. Once we get advanced computer displays that may pack over 200 pixels together in one inch (versus the 100-120 of today), our old interfaces become nearly useless as every element of the interface becomes smaller. Cabel Sasser explained it well in the ‘Resawhosa Indewhatnow’ section of this blog post.
Fortunately, as I mentioned, Apple has been working on a solution to this (and not just Apple; Microsoft introduced its first resolution-independence features in Vista); since Leopard, the interface is already scalable, with most (but not all) interface elements now being composed not by images (‘bitmaps’), but so-called ‘recipes’ that describe a graphic’s shape, size, color, and more. The recipes scale effortlessly and infinitely: if you’d (hypothetically) like to have a screen that’s a few miles wide, the interface graphics won’t lose their design quality. Some applications, like Apple’s own Instruments and Panic’s Coda are already fully resolution independent, and we’re moving towards Snow Leopard, which probably brings true resolution independence by replacing all left over bitmaps in the interface with recipes.
We averted it on the desktop before it was too late; in fact, everyone was ahead of technology in making themselves ready for potential changes in displays. Unfortunately, now that we have 30 million devices out there with one screen resolution and a set of design standards that actively discourage being ready and flexible for potential fluctuations in screen resolution, we face a disaster; at some point Apple will tell developers that their apps will need complete redesigning to work on their shiny new device with its improved screen, and there will be a lot of confusion, anger, and ambiguity.
Applications will have to ‘deal’ with two different resolutions at the least; icons and other bitmap graphics will have to be redesigned for the higher pixel density screens. There will, no doubt, be applications that are not ready and look very bad on the new device, or perfectly good applications are not approved into the App Store because they are not ready yet.
We may keep pushing the date forward like a hot potato, but at some point Apple and developers will have to face up to the fact that there will be a lot of redesigning, re-thinking and adaptation required. Until that day, enjoy the simplicity of developing and designing for a simple, defined hardware specification. But don’t say I didn’t warn you when technology comes and slaps you in the face.