Why does the iPad use nearest-neighbour scaling rather than Retina scaling for iPhone apps

There are two strong reasons, one of which I got from an Apple engineer and the other of which has been implied by a few Apple employees but not stated outright.

The first reason is that the iPad 1 simply doesn't have enough RAM to do the emulation while rendering the Retina graphics, particularly while animating them. This come directly from someone who was involved, so I'm as certain as I can be that it's true. Of course this is a deal-killer, making the next reason unnecessary except for the fact that the iPad 2, which has double the RAM, still doesn't use the Retina graphics.

The second reason is that the poor quality of iPhone app graphics on the iPad encourages developers to build universal apps or to additionally build an iPad version of the iPhone app. These universal/iPad apps make the iPad much more appealing to consumers and sells more iPads. It's particularly important for apps that use standard Cocoa Touch controls where the double-sized text, double-sized picker controls (the spinners), etc. actually look pretty bad and aren't terribly usable (in the UI/UX sense), and the 1X/2X button is kind of a hack. If iPhone graphics looked nearly as good on the iPad there'd be much less incentive to build the other apps, especially if there was little competition for yours.

I suspect that if Apple/Steve Jobs felt the iPad would have sold well if it only ran new apps built especially for it then there wouldn't be a compatibility mode at all. Instead they were able to launch the iPad saying that there are a couple of hundred thousand iPhone apps that would run on it in addition to the few thousand iPad/universal apps available.

It is possible to build an iPhone-specific app that substitutes Retina graphics if you do it "by hand," overriding the OS's default rendering. Matt Rix's excellent non-universal iPhone puzzle games Trainyard and Trainyard Express look and play great on the iPad for this reason. It just takes a bit of extra work.


I don't think that Apple cares that much about 2× scaling mode. It was more important when the iPad first launched as there were hardly any native iPad apps. These days, I don't think many people are running iPhone-only apps on their iPads, let alone in 2× mode.

It's possible that Apple feels that retina-izing 2× mode would make some developers feel that their app was "good enough" in 2× mode and decide that it wasn't necessary to develop a native iPad version.