Does iOS 5 finally allow retina display iPhone apps to run unscaled on the iPad?
When the iPad was first launched, one of its original touted features was the ability to run the majority of apps available in the app store (the only ones that wouldn't work were those requiring a camera but they should now work on the iPad 2). This was a great boon for Apple as they were able to claim that there were hundreds of thousands of apps available at launch but the implementation kinda sucked. Unless the app was a game (which tends to scale quite nicely if built using OpenGL), you'd end up with a pixelly mess. With the launch of the iPhone 4 and Retina Display level apps, I had always assumed that the iPad would get an update to allow it to run Retina Display iPhone apps at their full 960x640 resolution but nothing was forthcoming. So, has this been fixed in iOS 5?
In a word, no, nothing has changed at all (as of iOS 5 Beta 1 at least).
I had been meaning to write a post about the issue of app scaling a few months ago but what finally pushed me into action (aside from the iOS 5 beta) was an update for one of my favourite games, Peggle, which finally bring Retina Display graphics to the iPhone. It was then that I thought that perhaps Apple had finally gotten Retina Display apps working on the iPad but unfortunately it looks like that isn't going to be happening. This is a great shame as there are many brilliant iPhone games that have been optimised for the iPhone and would work brilliantly on the iPad, but the developers just haven't bothered to update them. Peggle is a good case in point so I'm going to use it as a demonstration with some screenshots I've knocked up to illustrate my point (note that you can click on the images below to see the real size versions).
First off, here is Peggle running on the iPhone 4 at full Retina Display resolution:
Looks pretty nice! Now let's take a look at it on the iPad 2:
That is running at 480x320px black boxed in the middle of the screen. Now this doesn't look too bad as it would look exactly as the app would on a handset without a Retina Display (that is to say that there would be no pixelation at this size). Obviously it's awful from a usability point of view (why play a game using less than 25% of your screen?) but the real problem comes when we tap 2x to scale it up to almost full size on the iPad:
(it probably doesn't look too bad in the thumbnail but click to see it at it's native size and you'll see the issue).
The problem is that rather than using the 960x640px assets that are available in the app (as they are used on the iPhone 4), the iPad instead just doubles up the 480x320px version resulting in a fairly fuzzy mess. Seeing as the assets exist in the app already, it should look something more like this:
The iPad (both the original and the iPad 2) are more than powerful enough to cope with it so it can't be an issue of hardware specs. The only technical problem I could see would be what happens when you scale between 1x and 2x modes (as it would be difficult to have it dynamically switch between the two resolutions). However, my solution would be that if you are running an app updated to Retina Display quality, it should always run at the full size removing the need for the button.
Overall, I think the real problem is that Apple don't want iPhone apps to look good on the iPad. If games like Peggle worked on the iPad at pretty much native resolution, then there would be no incentive for iOS developers to develop solely for the iPad. This isn't a problem so much for games (aside from losing revenue for games that have "HD" added on the end... I'm looking at you Angry Birds) but it might be for apps like Facebook (not that they've bothered making an iPad app anyway). If normal utilities worked at double-resolution, the main argument for developing apps on the iPad would be for UI reasons, and not all iOS developers care about that (though they should).
Looks like the iPad is forever going to be limited to running iPhone apps at a scaled resolution.
Update - 22nd June 2011: Ben Wetzel emailed me to let me know about RetinaPad, an app for jailbroken iPads that allows you to run Retina Display iPhone apps at full resolution - it will also scale up common components and text for non-Retina Display apps.