Mobile UIs: It's developers vs. users

Increased emphasis on distinctive smartphone UIs means even more headaches for cross-platform mobile developers

Smartphone OS vendors have a problem. For all their hype about their respective platforms and the amazing features of the smartphones that run them, let's face it: Barring the odd marquee feature such as Siri, all smartphones function pretty much alike.

They all can handle voice calls, text messaging, and email. They can all manage contacts, calendars, and to-do lists. They can integrate with Facebook and other social networks. They can take photos, play videos, and browse the Web.

[ Go deep into HTML5 programming in InfoWorld's "HTML5 Megaguide Deep Dive" PDF how-to report. Then understand the issues surrounding HTML5 today in InfoWorld's HTML5 Deep Dive PDF strategy report. | Follow the latest news and insights on programmig with InfoWorld's Developer World newsletter. ]

There are really only two details that distinguish one smartphone platform from another: One is the size of its app catalog, which depends on independent developers; the other is the look and feel of the platform itself. As the worlds of computing and consumer electronics converge, user experience increasingly becomes a platform vendor's calling card.

Apple always understood this better than anyone. The unique UI of the iPhone and other iOS devices gave Apple an early lead in the mobile device market. But now Google and Microsoft are both placing renewed emphasis on their platforms' user experience. That means not just increased competition among smartphone and tablet platforms, but also new challenges for mobile application developers.

Copying Apple's playbook

In the 1980s, Apple became the first company to propose a set of standard Human Interface Guidelines for personal computing. It continued the practice as its platform evolved; due to these decisions, Mac OS X is inarguably the most aesthetically beautiful Unix-like OS ever produced.

Microsoft has been accused of ripping off Mac OS for its Windows UI, and rightly so. But while Windows copied practically all of the function of Mac OS, it fell short on form. Simply put, early versions of Windows were ugly, and the GUI often felt clumsy and slipshod. The situation has improved with each new major version, albeit gradually. For Windows 8, however, Microsoft is pulling out all stops.

The most important change in Windows 8 is Metro, the new, simplified, touch-friendly UI that takes the place of the traditional Start menu. If Metro were just a new feature for Windows PCs, it would be forgettable. What makes it significant is that the Metro UI will soon be available on all of Microsoft's hardware platforms, including Windows PCs, Windows tablets, Windows Phones, and even the Xbox 360. Because Metro-style apps are written using HTML, CSS, JavaScript, XAML, and .Net-managed code, it may even be possible to run the exact same apps on any Microsoft-powered device.

That's a greater degree of integration and uniformity than even Apple has attempted so far. Mac OS X and iOS remain distinct platforms, despite persistent rumors that Apple may one day try to merge them. (The late Steve Jobs hinted at an eventual Mac/iOS merger when he was Apple's CEO.)

Meanwhile, Google has similarly been accused of aping iOS with its Android platform. One of the criticisms of Android, however, is that Google has given smartphone vendors too much control over their handsets' UIs. The proliferation of vendor-designed skins means you can never be certain how the UI of your particular Android phone will look or behave.

That changes with Android 4.0, known by the code name "Ice Cream Sandwich." Devices that ship with the new version must bundle an unmodified version of Holo, Google's new default theme. Vendors are still free to include their own themes, but Holo must always be available. To coincide with the release, Google has issued a set of user experience guidelines to help developers make their apps play nice with the new standard UI.

Whose UI will be a winner?

These changes give mobile app developers much to ponder. For starters, will they be successful? Bold product design can sometimes backfire. The clearer the distinction between your product and those of your competitors, the more aggressively you steer your potential customers -- either toward your product or away from it.

Microsoft knows this as well as anyone. For example, the Zune was a perfectly serviceable portable audio player, but Microsoft's decision to wrap it in brown plastic mystifies analysts to this day. There's a chance history could repeat itself with Metro.

For its part, Microsoft claims to have based its recent UI decisions on extensive user research. Still, some critics complain that Metro seems to be a poor fit for the PC desktop -- myself among them. If Metro wears out its welcome on Windows PCs, that negative sentiment could harm sales of Windows smartphones and tablets.

Equally important for developers, the more the leading smartphone platform UIs differ from one another, the more effort is required to write apps that function comparably across all of them. Dialog boxes, screen transitions, and gestures that are appropriate for one platform might be all wrong for another. Coding the same app for three or four different sets of user interface guidelines adds yet another layer of cost and complexity to cross-platform app development -- as if it wasn't already hard enough.

Native apps trump the mobile Web

The increased emphasis on specialized mobile user interface guidelines casts new light on the debate over Web apps versus native development, too. Web standards have long been cited as the best solution for true cross-platform mobile development, since every smartphone platform supports HTML, CSS, and JavaScript. But this has mostly been lip service; more often than not, leading websites have offered native apps for smartphone users, rather than retooling their Web applications for mobile browsers.

It's easy to see why. The Web has never presented anything even close to a consistent UI. Buttons, menus, preferences, dialogs, fonts, and icons all differ wildly. Each site is like a completely new platform unto itself.

It's very likely that this cacophony is a big part of why users have responded so well to native smartphone apps. Users crave consistency, particularly with lightweight, easy-access devices like smartphones and tablets. The more platform vendors encourage developers to code their app UIs to uniform standards, the more attractive those apps will become when compared to the Web.

For users this is undoubtedly a good thing, but for developers it's troubling. It's yet another way in which the mobile development market is becoming increasingly fragmented. The more distinctive the mobile platforms become, the more developers are forced to become specialists to deliver successful apps for them. Smartphones may still all function pretty much alike, but it's getting harder and harder to avoid falling into the vendors' walled-garden ecosystems.

This article, "Mobile UIs: It's developers vs. users," originally appeared at InfoWorld.com. Read more of Neil McAllister's Fatal Exception blog and follow the latest news in programming at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.

Copyright © 2012 IDG Communications, Inc.

InfoWorld Technology of the Year Awards 2023. Now open for entries!