The developer of "Angry Birds," a top-selling iPhone game, reported that bringing the title to Android devices ended up more difficult than anticipated due to fragmentation within the open platform.
According to a CNET report, the title's developer Rovio Mobile apologized for poor performance across a variety of Android devices, explaining that, "despite our efforts, we were unsuccessful in delivering optimal performance."
The company added, "So far, we have hesitated to create multiple versions of Angry Birds for the Android platform. But judging by the feedback we have received, we feel that by providing a lightweight solution, we are doing a favor for our fans. We are currently developing a lighter solution to run Angry Birds on lower-end Android devices."
Openly fragmented
The issues highlights the problem of platform fragmentation that is endemic to widely-licensed software platforms designed to run on nearly any makers' hardware. Apple chief executive described the problem as a "daunting challenge" for developers in comments to analysts at the company's most recent earnings report in October.
"Google loves to characterize Android as open and iPhone as closed. We see this disingenuous and clouding the difference," Jobs said. However, rather than focusing on the range of different hardware sold with Android, Jobs noted a parallel problem: a software-oriented fragmentation of the user's experience across different devices.
"Unlike Windows, where PCs have the same interface, Android is very fragmented," Jobs said. "HTC and Motorola install proprietary user interfaces to differentiate themselves. The user left to figure it out. Compare this to iPhone where every handset works the same."
In defense of variety
Jobs cited a popular Twitter client Android app, saying the developer "had to contend with 100 different versions of software on 244 different handsets. That's a daunting challenge," he said. "Many Android apps work only on selected handsets, or selected Android versions. This is for handsets that shipped 12 months ago. Compare with iPhone, where are two versions to test against, the current and most recent predecessor."
That developer later suggested in a blog posting that Jobs' comments were exaggerated, noting that in its experience with deploying a Twitter client, it was not "a nightmare developing on Android," and that "we only have two guys developing on Android TweetDeck so that shows how small an issue fragmentation is."
Android advocates point out that fragmentation of Android is, if anything, a feature, as it offers users choices. That's the same line of reasoning advocates of Microsoft Windows used in the PC market. However, it's also the marketing line Microsoft unsuccessfully tried to use in selling its PlaysForSure devices against the iPod, and again with Windows Mobile phones against the iPhone and Tablet PC and Slate PC devices prior to the iPad.
Performance and user experience
Prior to returning to Apple in 1996, Jobs said in an interview that "the PC wars are over. Done. Microsoft won a long time ago," a sentiment he repeated in downplaying the rivalry between Apple and Microsoft after taking the helm of Apple shortly afterward. Over the last decade however, Jobs has led a resurgence of the Mac platform over generic PCs running Windows, achieving a much higher rate of growth compared to the overall PC industry.
With the iPod, iPhone and iPad, Apple has reversed its underdog position entirely, successfully entering the entrenched and highly competitive smartphone market and immediately taking significant market share. With iPods and iPads, Apple completely dominates the media player and tablet markets, standing up to major efforts unsuccessfully led by Microsoft with its PlaysForSure, Zune, and Slate PC initiatives.
A key aspect of Apple's success in mobile devices comes from delivering a strong platform that is easy for developers to target and which delivers a consistent and reliable experience for users. Google's Android, like PlaysForSure, attempts to create a flexible software platform that multiple manufacturers can use to deliver products that work similarly.
Multiple layers of fragmentation for Android
However, one problem is that manufacturers themselves don't want to cede all control to a common platform. As Jobs noted, each Android maker is seeking to differentiate its offerings with different skins that make the look and feel of their products unique.
Individual Android makers also have their own ideas about how to reach competitive price points. HTC shaves off costs by using cheaper but lower quality 16-bit color displays with less accurate touch screens, while Motorola has typically chosen higher-end full color displays more like Apple's iPhone. Samsung features its own brand of AMOLED screens.
The Android OS is faced with supporting all of these, resulting in situations where, for example, Google's photo browser only shows graphics at the lower quality level of HTC's displays, leaving Motorola's superior 24-bit color screen underutilized. It is also lacking the optimized performance AMOLED could deliver were the OS expressly designed for it.
Additionally, Google appears uninterested in preventing service providers from also differentiating the Android products they carry, resulting in issues where Verizon Wireless has created exclusive deals for Android titles such as Skype that will only work on its phones and not Android devices from other makers. Service providers are also competing with Google in operating their own app stores.
Different hardware makers and service providers also choose to support different versions of Android on their devices, and either roll out updates late or fail to ever release updates for some models. This results in a situation where developers can't rely on the latest features being available on the phones users have. Additionally, the wide range of performance across the broad offerings of Android makers results in devices that can't run high performance titles (like games) acceptably, the issue expressed by Angry Birds' developer.
While successive generations of iPhones keep getting faster and gaining unique features such as iPhone 4's higher resolution screen and gyroscope, Apple has a much easier time abstracting away those differences for developers because it makes both the hardware and the software, and only has to manage users' experience across a few models. Customers are also more aware of what they can expect when choosing between iPhone models, as there are only at most two different generations ever available to buy at once.
With Android, users have no way of comparing the potential experience a given phone can deliver because there are so many different variables to consider, and many of these are not exposed in a way buyers can even compare, such as the difference between CPUs or amount of RAM available. Also, unlike PCs, where the price might give some general idea of the level of performance users could expect from it, mobile devices like smartphones are often sold with carrier subsides, masking the actual cost of the hardware.
Microsoft Windows vs Google Android
Microsoft has made managing users' expectations across a vast array of PC hardware its core competency, strictly enforcing limits on PC makers that prevented them from fractionalizing their offerings too much. Microsoft forbids its partners from making material changes to the Windows desktop and overall user interface, and standardizes hardware features for users. Despite all these efforts, it still can't match the tight integration Apple provides on the Mac, something Apple has successfully used to its advantage in advertising its desktop and notebook systems.
In contrast, while Google spends a lot of time accommodating differences in hardware between Android licensees, it has chosen not to enforce much control over the user's experience, allowing different companies to deliver Android phones that look and work so differently they could be easily confused for non-Android devices. There's also no standardized level of performance across Android devices, a problem that complicates the deployment of complex apps such as games.
The problem is also an issue for enterprise deployment, where the vast array of differences across Android devices makes it hard to support phones users select on their own. No significant number of Android phones support hardware encryption yet, making the entire platform unsupported by Exchange Server unless the security policy of the network is weakened.
Apple was able to simply add hardware encryption across the board with the iPhone 3GS back in 2009, rapidly resulting in the majority of the iPhone installed base supporting the feature years before Android, which still has no minimum security standard in place for new licensees of the platform.
Apple has similarly rolled out standardized new features such as the iPhone 4's gyroscope, Retina Display and FaceTime, which developers can target across a broad installed base. Android makers can introduce unique new hardware features, but developers can't count on a significant installed base having them, making it difficult to invest the efforts to target those features in their apps, and making it hard to advertise features that don't work on the majority of Android devices available.
Google has also avoided the "curated" degree of management of Android's app store, allowing other developers to list tons of unauthorized copies of titles that pretend to be associated with legitimate titles. A search for "Angry Birds" in Android Market reveals lots of "apps" that use the game's name and graphics to sell their own products, and in some cases even distribute malicious attacks.