Inside Google's Android and Apple's iPhone OS as software markets
Third Party Apps: iPhone
The result of Apple's iPhone App Store strategy of incremental advancement, building on the success of the iPod and iTunes, combined with its relentless efforts to manage its third party software platform and police it from both malware attacks and from third party hijacking efforts has resulted in the top destination for both developers and users. But all is not rosy, despite Apple's great initial success.
Apple restricts third party developers from creating apps that duplicate bundled app features in ways the company says will create confusion for users or for the platform. So, for example, while there are Webkit alternatives available to the Safari web browser, there are no rival third party browsers based on Firefox/Fennec, Opera, or Internet Explorer. Apple hasn't yet rejected any rival browsers, but the lack of any demand for an alternative web browser has prevented third parties from investing in the efforts required to begin one. It is still unknown if Google would bother to port Chrome, its own Webkit browser, to the iPhone to rival Safari, but the advantages to and motivation for Google to do this are pretty minimal. Mobile Safari already defaults to using Google's search, so there's no business reason for Google to compete against it.
Unlike Microsoft, which simply annexed third party developers' businesses to take over more and more of the existing applications markets on Windows PCs (starting with WordPerfect and Lotus 1-2-3 and continuing with Netscape and Java and QuickTime and Borland and Notes and RIM's BlackBerry Enterprise Server and so on), Apple has defined its own complete platform and given third parties a limited playground to add their own value outside of that. This is similar to Apple's Mac OS X strategy, where the company has created suites of first party apps which face little competition: bundled apps like Mail, Address Book and iCal; iWork productivity apps; and iLife creative apps.
Apple's third party developer issues
Apple's management style on the iPhone has also raised some ire among developers and users who would like the ability to install programs that work in the background just like Apple's own bundled apps can. Apple partially addressed elements of this need with a centralized Push Notifications System, but there's other applications that this feature does not address. Services like Pandora radio or VoIP apps or user location tracking apps such as Google Latitude all want to sit in the background and continue to work while the user does other things. Apple currently doesn't allow any of these things.
The company says the downside to allowing these types of features relates to battery life and system performance, and that it would also open up the platform to new types of malware attacks. Apple's current strategy to simply outlaw such practices has indeed prevented predictions of iPhone malware attacks from ever materializing. Certainly, any news of a real malware or spyware threat on the iPhone platform would outweigh the ability of iPhone users to constantly report their current position to Google so that friends could see where they were.
Google's Android platform doesn't have a malware problem yet, but it also has nowhere near the installed base of the iPhone. Both will grow together. If a high profile viral or spyware attack were to hit Android phones, it would cause a serious black eye for the platform that simply being able to run Latitude wouldn't make up for.
Apple's third party pricing model
In addition to efforts to block malware, Apple's security system for iPhone apps also greatly limits casual theft. This results in a broad, viable commercial market for iPhone apps of all kinds, supporting the high volume sale of software priced very low. Mobile developers have previously needed to set their app prices significantly higher in efforts to get something from the minority of users who actually pay. By spreading costs equally among all users, Apple has created a software store where users reward innovative development with dollars. In contrast, RIM and Microsoft have encouraged higher price points for software in their respective stores, hoping this will benefit developers. At this point, it only discourages users from buying new apps.
Similar to its sales of music and video in iTunes, Apple has deliberately set prices low to kill off rival efforts at short term profiteering. As a result, it erased the business model of rivals trying to rent music or raise song prices. The App Store uses the same low cost pricing strategy in mobile software to expose the overpriced ringtones and rental software that providers like Verizon have tried to market in the past. By keeping prices low and sales volumes high, Apple will effectively prevent other stores from turning a profit until they can either build up a similar installed base or raise their software prices, both of which are very difficult to do at this point. Software stores that actually want to compete will have to follow the course of Amazon and lower their own prices; the problem is that unique mobile software is much more difficult to create and sell for cheap than existing music and movies that have been licensed from a label or studio.
Finally, Apple's vigilant efforts to siphon all iPhone development through its own Cocoa tube has exercised Apple's own development platform and dealt a serious blow to Java ME, Flash and .NET as lowest common denominator development tools instead. All the excitement Apple has created around its own mobile platform has directly benefitted its own tools (something that spills over to benefit desktop Mac development as well) and its own software store (as Cocoa apps for the iPhone aren't trivially ported to other mobile platforms). This compounds every dollar Apple invests into the iPhone, creating a halo cloud around iTunes, the iPod, and the Mac as well.
Third Party Apps: Android
Android users hope that Google's openness (including allowing unsigned software from any source to run in the background) will result in a broader, more varied mobile software market than Apple's. This certainly has enabled Android to pick up the efforts of developers who can't sell their software to iPhone users due to Apple's rules. However, Google's ambivalence to the needs of serious, commercial development has also prevented mainstream developers from flocking to its mobile platform. Currently, Android has both lots of what the iPhone lacks, but very little of what the iPhone boasts.
The biggest problem for Android is that is it far behind the iPhone in market share and installed base. This problem is supposed to be resolved quickly as more phone makers release Android phones. However, the already fractionalized market for Android apps is becoming more and more divided as vendors release phones with unique features that tug at developer's attentions.
The new Verizon/Motorola Droid, for example, sports a very high resolution screen that begs for specialized development. However, the more popular HTC Android phones already on the market have conventional resolution screens, meaning developers will have to choose between targeting one or the other, or duplicate their efforts to reach an combined audience that is still a tiny fraction of the size of the iPhone.
Android version control
Additionally, as new Android phones are released with new versions of Android that last year's phones can't even install, the installed base of Android will fail to compound. A key facet to Apple's App Store success is that virtually all apps run on any model of iPhone ever sold, not to mention the iPod touch, which is now adding another wide swath of users to Apple's App Store installed base. The continual churn in differentiating features being sold among Android hardware makers will work against any snowballing of Android market share into a greater installed base. Instead, the modern installed base will keep resetting to zero, just as Windows Mobile repeatedly did as new versions appeared which only worked on new phones.
And while Apple has cleanly deployed new operating system features at annual intervals, Android's development is managed more like Linux, where new platform features are incrementally advanced, starting with partial support and gradually getting to the point of being refined and usable. This is another factor that works against a cohesive installed base, as different vendors introduce phones with different versions of Android, each with proprietary add-ons and modifications that prevent predictable upgrade cycles. The mainstream version of Android will always lag behind the latest version of Android, unlike the iPhone market where phones are rapidly pushed to the latest version under Apple's control.
Google offers its Android software to any maker, but it works exclusively with certain manufacturers to develop new phones that show off the latest features, a decision that continually undermines the efforts of other partners. HTC was Google's first major partner with the T1 running Android 1.0 and then Hero running Android 1.5. But when Google released Android 2.0, it did it in an exclusive arrangement with Motorola that made HTC's existing phones look dated and old. Even Sony Ericsson's new phone is expected to run Android 1.6 next year. That not just an issue for hardware makers, it's a problem for users and developers.
Android is for hobbyist shareware
Combined with the problem that the main attraction to developing for Android revolves not around commercial viability, but rather around ideological demands for unrestricted development freedom, this has resulted in a hobbyist developer base that has produced a library of software that looks a lot like what's available for desktop Linux users: homebrew games and niche apps that were shared by their original developer rather than titles reflecting the demands of users.
Just like the problem of its fractured installed base, this hobbyist developer community is poised to create more problems than time can work out on its own. Users who buy a T-Mobile G1 or HTC Hero or Motorola Droid in preference to the iPhone will quickly discover that Android apps aren't just a growing subset of those available for the iPhone, but a completely different type of selection.
Writing for TechCrunch, a site that frequently advocates for Android, Jason Kincaid admitted, "If there was a theme common to nearly every Droid review, it was that Android's app selection just doesn't cut it compared to the iPhone."
He added, "reviewers are finding that Android has a weaker selection of applications than the iPhone not just because some of their favorite apps aren't there, but because actually browsing the Market just isn't as enjoyable as what Apple's iTunes offers." Kincaid went on to recommend that Google completely redesign the Android Market to work more like iTunes.
Reading Android forums, you'll get the sense that one of the most popular Android apps is TasKiller, a utility to stop running apps in the background to free up system RAM, similar to Task Manager on Windows Mobile. That's the app that Scott Forstall, Apple's senior VP of iPhone software, boasted that iPhone users wouldn't have manually manage. He referred to it as a game that tests users' computer science skills in identifying programs that are safe to kill.
There are other major differences in what's available in the App Store compared to Android Market. For example, despite having around ten percent of the number of titles of the App Store, Android has no significant, advanced games. In fact, it really doesn't have any great games at all. But this isn't just because of Google's Android Market hobbyist-oriented policies and casual platform management.
200MB should be good enough for anybody
Android Market has no real games (or other significant apps) because the platform was designed around phones with a tiny amount of storage for apps, the same specification that most Windows Mobile phones use. That's because Google didn't really create a modern reference design for Android phones, it just made its Android software work on the existing Windows Mobile reference designs that Microsoft created. It should not be a surprise that Android leader HTC is a Windows Mobile shop, and that the Motorola Droid originated as a Windows Mobile device that was co-opted to serve as the flagship for Android 2.0 via Verizon's marketing budget.
All commercial apps for Android phones currently have to fit into the 256MB of onboard storage (512MB on the Droid), a limit in both phone design and in Android software. Since Android itself uses up most of this memory (the 512MB Droid has about 200MB free after loading Android 2.0) this limits users to theoretically installing a maximum of 20 apps at around 10MB each. That's a pretty severe limitation, but a ridiculous roadblock for games that are anything more than doodle puzzles.
The iPhone and iPod touch supply at least 8GB of storage, which is 32 times as much memory as most Android phones provide. Considering that a game can easily weigh in at tens of megabytes (Aurora Feint is 41MB; SimCity is 30MB; Spore Origins is 98MB; Super Monkey Ball is 125MB; Apple's Texas Hold'em is 130MB; Modern Combat: Sandstorm is 271MB; Monkey Island is 426MB; Myst is 727MB), plenty of iPhone-quality games couldn't even load on an Android phone, let alone install along with a dozen other sophisticated games.
From the start, Apple created a design wholly independent from other smartphone makers. Rather than shipping a device with the least amount of storage possible and including an SD card slot, the company used its massive iPod leverage in buying Flash RAM to pack the iPhone with plenty of storage, something that other vendors only began to do later. Even today, few vendors provide nearly as much RAM storage as the iPhone 3GS. The BlackBerry Storm 2 only provides 2GB of onboard storage. The Palm Pre uniquely packs on 8GB, an indication that Palm inherited the influence of Apple's iPod hardware developer.
SD Cards vs onboard storage
Android users can usually pop in an SD card and add as much storage capacity as a high end iPhone (16 to 32GB), but Android Market doesn't allow apps to be stored in this Flash card RAM storage because doing so would require additional layers of security to prevent widespread theft. It would also raise issues for users who swap out different SD cards. Google is still working out its strategy for using the SD Card storage that Windows Mobile phones provide as a preference to onboard storage.
This gives Android developers two options: first, spend lots of resources creating professional-quality games that are each optimized to run on different Android screen resolutions and then try to sell them outside of the Android Market to users who have installed SD cards, and without any theft protection; or second, scale games down to fit into the tiny space available for apps to deliver paid games that aren't very impressive. Either option is death to the reputation of Android Market, disappointing to users who think they have purchased an iPhone-killer, and simply a non-starter for serious game developers.
Some Android backers seem to think that developers will create games that install their executables into the limited RAM area and copy all their graphics and other content into SD card RAM storage. This isn't happening now, and there's no market forces in place to encourage developers to create real games that can be played on Android phones. Even if there were, the convoluted installation would result in additional problems and complexity for users. All of these factors have worked against each other to prevent a viable market for real Android games from ever developing.
Android supporters like to compare the iPhone to devices like the Motorola Droid and conclude that both have similar amounts of RAM installed. The problem is that there are critical differences how that RAM is used by the operating system and how much of it is available for things the user wants to do. In reality, the Droid not only has less RAM available but also has only a tiny fraction of the iPhone's onboard storage RAM that's needed to load apps and games. Specification comparisons never point this out.
Note that storage RAM is used to hold applications and content (much like a PC hard drive). When launched, an app is loaded into the separate system RAM, where it runs along with the operating system. Android phones lack much functional storage RAM, but also end up with less available system RAM because Android 2.0 typically consumes more of the standard 256MB of system RAM than iPhone 3.0.
This is also a factor in why Apple doesn't allow third party apps to linger in the background after users quit the app. While such third party "multitasking" is touted as a feature on Android, it also helps make TasKiller such a popular utility, because there's just not that much RAM available. Apple restricts iPhone multitasking to its own bundled apps, ensuring that iPod, phone, SMS and other background features are always available and not starved for system RAM by concurrent third party apps.
The half baked shareware oven
Android's storage and system RAM starvation problem is so obvious and tragic for any hope of Android ever becoming a viable platform for real games that it simply strains belief that Google even considered that Android users might want to play real games on their phones. And without any real market for games, which make up a 20% plurality of iPhone App Store sales (apart from the 14% of "entertainment" apps outside of the game category), Android isn't going to attract the kinds of mainstream users who also buy other apps.
Beyond games and entertainment, the third most successful category of apps in the iPhone App Store are digital books at around 12% of sales. Are users who go out of their way to find a "free platform" going to support a market that involves paying for books?
Android as a platform clearly doesn't get that success in mobile apps is all about encouraging users to pay for premium content: games, digital book presentation, and other utilities that enrich developers and encourage them to devote resources toward creating new software for the platform. In contrast, the shareware model Android is embracing (and that Google is most experienced with as an ad-supported online developer) hasn't ever resulted in more than a convenience market for software that would otherwise be thrown out.
Significant games don't come from open source and shareware; they come from commercial efforts to deliver professional, robust productions. Apple's contribution has been to figure out how to make casual gaming viable at low cost and high volume. Google seems to think that free and freedom software will do the same thing, despite the technical roadblocks it has erected in developers' path with the ludicrous 200MB ceiling.
The reality is that no matter how many Android phones Google's partners can introduce in 2010, Android 2.0 will never be a gaming platform and the vast majority of these phones (including all current models) will simply never be able to play any advanced games. If Google solves this issue sometime in the future, it will only apply to future Android phones, again lopping off everything that already exists into the waste bin of erased installed base and starting its competitive clock against the iPhone back to zero.
Not aimed at the iPhone
Again, this is more proof that Google didn't think about Android as a viable long term software platform, but only thew out the minimum work necessary to match the capacity of existing smartphones, largely Windows Mobile, BlackBerry, Symbian, and other historical smartphone platforms that had never done much to support sophisticated applications like real games.
Even Nokia threw in the towel on its N-Gage gaming platform efforts for Symbian after realizing that the iPhone had set the bar far too high to compete against with a legacy phone-game platform. Google makes no revenue from game sales or hardware, so it had no reason to create a capable platform. Android can kill Windows Mobile without having any real games, because Windows Mobile doesn't support real games either.
The result is that Android Market isn't just a smaller version of the App Store. It's more like a free rummage sale compared to an actual retail store. One has products people want at market prices, the other offers eccentric stuff that people are offering to give away. It's pretty hard to slowly evolve a rummage sale into a serious retail operation. In 2010, users who sample Android Market aren't going to begin throwing around money to induce serious development; they're going to either abandon the platform or give up on serious third party software and become shareware hobbyists, just as desktop Linux PC users have done over the past decade.
How Google can catch up
The result of these very different stores isn't just evident in what's for sale. It's also reflected in who buys what. A report from AdMob in August said that "iPhone and iPod touch users are twice as likely to purchase paid apps than Android users," and found that iPod touch users downloaded 80% more apps that smartphone users.
Without an equivalent to the iPod touch and with mostly hobbyist shareware offerings and little to no commercial software such as games, Android Market isn't going to catch up to the App Store just riding a wave of market buzz among pundits.
For Google to have any hope of offering a similar or even somewhat competitive software store, it will need to actively broker third party software support just as Apple did among games developers, and just as Microsoft, Nintendo, and Sony do in the console gaming market. Google will also need to set minimum standards for Android phones, laying out expectations for its Open Handset Alliance partners like Motorola and Sony Ericsson so they make devices closer to the iPhone and less like the failed products they built this year and last year and the year before.
It's not clear Google has any interest in becoming a strong mobile platform leader however; currently, it looks like Google expects hardware makers to figure things out for themselves, and for third party developers to simply flock to its platform and invest significant commercial efforts in a hobbyist marketplace where security and theft are not really enforced, where customers don't buy as much, and where there's far fewer customers but far greater difference between phone sets for developers to account for when they build apps.
That means more work for developers, less reward, and less likelihood of future profit and success. No wonder why gaming legend John Carmack told CNBC earlier this month that while he was excited about the prospects of the iPhone, "I have mixed feelings about Android. I've got a warm feeling about the open source model, but a lot of the things that make Linux not-so-wonderful seem to be there in Android. On the iPhone, you know everyone on that device [has the same functionality and hardware], while on Android, youre across the board on a number of different things."
Carmack added, "the [Android] marketplace is also apparently not well handled. And from what I hear, nobodys making a lot of money on these [Android titles].
Until Google focuses on Android third party apps, no amount of advertising and hardware partners and phone models will enable it to be competitive with the iPhone. Just ask Microsoft's Windows Mobile group, or look into the archives spelling out the doom suffered by Microsoft's PlaysForSure hardware and music store partners.