Of Tablets, Phones, and Apps

iOS 6 and Android logos (Apple/Google)This began life as a reply to a comment on Part 4 of John Kirk’s “Why Android Is Winning the Battles, But Google Is Losing the War,” but quickly got out of hand.

John’s post sparked a discussion of Apple’s and Google’s different approaches to developing apps for tablets vs. handsets. Commenter rj said that Apple’s approach is to favor development of “Universal” apps that will run on either the iPad or iPhone. This is correct, but it rather misunderstands what a Universal app is. If implemented following Apple’s user interface guidance, a Universal app will effectively create two different versions in a single package.

The Android guidelines focus heavily on scaling and are marked by a belief that, at worst, developers need make only modest adjustments to phone apps to make them suitable for tablets:

Provide different layouts for different screen sizes

By default, Android resizes your application layout to fit the current device screen. In most cases, this works fine. In other cases, your UI might not look as good and might need adjustments for different screen sizes. For example, on a larger screen, you might want to adjust the position and size of some elements to take advantage of the additional screen space, or on a smaller screen, you might need to adjust sizes so that everything can fit on the screen.

Apple is much more concerned with the need to redesign apps for different display types:

Ensure that Universal Apps Run Well on Both iPhone and iPad
If you’re planning to develop an app that runs on iPhone and iPad, you need to adapt your design to each device. Here is some guidance to help you do this:Mold the UI of each app version to the device it runs on. Most individual UI elements are available on both devices, but overall the layout differs dramatically.

Adapt art to the screen size. Users tend to expect more high-fidelity artwork in iPad apps than they do in iPhone apps. Merely scaling up an iPhone app to fill the iPad screen is not recommended.

Preserve the primary functionality of your app, regardless of the device it runs on. Even though one version might offer a more in-depth or interactive presentation of the task than the other, it’s important to avoid making users feel that they’re choosing between two entirely different apps.

Go beyond the default. Unmodified iPhone apps run in a compatibility mode on iPad by default. Although this mode allows people to use an iPhone app on iPad, it does not give them the device-specific experience they want.

But reading the two sets of programming guidelines, I noticed a much deeper difference. Both, of course, are intended as developer references and contain a great deal of nitty-gritty information about APIs and how to implement specific features. But the Google version is full of code snippets and parameter definitions while Apple’s approach is much more concerned with reminding developers that what matters is the user experience and how good app design contributes to that experience. The Google approach is more practical, but Apple’s may be more useful. I don’t want to read too much into a couple of pages from developer manuals, but at least to me, they do sum up important differences in how Apple and Google approach the world.