Every time I deliver a talk on building/shipping mobile apps or the mobile app ecosystem, I find that one of the most popular topics is an iPhone versus Android comparison and so this seems like a good topic for a blog post.
Bias ? The app-store is a fairly polarizing topic and so I’m going to start by describing my experience with different platforms/companies. If any readers perceive a bias, it might be interesting for them to see how my experience might have contributed to the perceived bias.
We have shipped two #1 ranked iPhone apps and my primary phone is an iPhone. I wrote an Android app long before the first Android phone was launched and replaced my secondary phone with an Android G1 in 2008. I was a Principal at Microsoft for several years and some of those years were in the Windows Live Mobile team where (among other things) I led a great team and received Microsoft Gold Star awards.
Smartphone Market Share: As per Gartner Research’s Q1 2010 numbers, Symbian had 44.3% of global smartphone sales, RIM had 19.4% and the iPhone was 3rd with 15.4%. However, the iPhone pioneered today’s modern smartphone design (which Google, Microsoft,RIM etc. are attempting to emulate).
It was the launch of the iPhone and its app-store that led to a tipping point in the mobile app ecosystem and today, its strongest challenger is Google’s Android. Symbian, Windows Mobile and (Blackberry) RIM have been losing market share among consumers and they also haven’t generated a lot of new developer interest. However, I should add that Symbian is more popular outside the US, than it is in the US.
The first Symbian touchscreen device (Symbian 3) is expected to be released in October 2010 and it is also rumored (in a not-so-great 2009 movie) that James T Kirk used a Symbian (Nokia) touchscreen device. Microsoft’s new touchscreen-based Windows Phone 7 platform is also expected to launch in October 2010. Yesterday, a news report indicated that RIM may release a new touchscreen Blackberry device before October,2010. So the iPhone and Android may face more competition next year.
Language and ramp-up time: iPhone (iOS) app development requires Objective-C expertise. For most developers, learning the iOS platform (with Objective-C) is likely to be a lot more challenging than learning the Android, Windows Phone 7 or Blackberry platforms.
Developers for Android and developers for the Blackberry platform use the Java programming language, and developers for Windows Phone 7 will use the C# programming language with Silverlight and XNA.
Note that Android and iOS support the (optional) usage of C/C++ for coding some (but not all) portions of the apps. Android apps can be developed on Windows, Mac and Linux. iPhone apps can only be developed on a Mac.
Language (Java) fragmentation and Android: Java was once advertised as a “write once, run anywhere” cross-platform solution, but that hasn’t been true in practice. Android uses a non-conformant implementation of Java and Google chose to create its own standards for new libraries and APIs. This means that an Android app will have to be rewritten for a Blackberry device, even though both platforms ostensibly support the Java programming language.
In the past, in the desktop world, Microsoft has taken a lot of heat for creating non-standard versions of Java, but the digerati doesn’t generally mention that Android created a new non-standard version of Java.
Developer Fees and App Prices: Apple charges an annual developer registration fee of $99, Google charges $25 and Blackberry charges $200. The Apple and Google registration fees let developers release an unlimited number of apps, while Blackberry limits the number of apps to 10 and charges additional fees for more app-submissions.
Unlike Apple, Google etc. which set a minimum price of $0.99, the minimum price for a Blackberry App World app is $2.99
Growth prospects, iPhone and Android: A recent Nielsen study indicated that 80% of iPhone users wanted their next device to be another iPhone. 70% of Android users wanted their next device to be another Android device. These numbers were in stark contrast to the low numbers of other platforms such as Blackberry and Windows Mobile. The Nielsen report also indicated that iPhone users are older, wealthier and more educated than their Android peers.
The biggest constraint to the iPhone’s growth in the US is the fact that its exclusive carrier is AT&T. Android is available on the country’s four largest carriers. The iPhone’s current growth in market-share will be accelerated (at the expense of Android’s growth rate) if it is available with all four carriers next year.
Revenue prospects, iPhone wins: An old cliché says that the plural of anecdote is not data, but in the absence of variable-controlled, vetted data, it seems reasonable to consider app store anecdotal evidence. Many developers with apps on both platforms have suggested that the revenue generated from an Android app is generally 10-20% of the corresponding revenue of an identical iPhone app. This ratio is in spite of greater competition in the iPhone app store (which has roughly 3-4 times the number of apps as the Android market) and in spite of the large number of Android phones.
So it seems reasonable to conclude that a typical Android user spends far less on apps than a typical iPhone user and that, for now, the revenue generated by most iPhone apps will be a big multiple of the revenue generated by their Android counterparts. At WWDC,2010, Apple announced that they had paid more than $1 Billion to app-store developers.
On a more cautionary note, my assessment is that on any given day, *most* paid apps make zero or close to zero dollars.
Ideology and First-mover advantage? : I’ve heard bloggers suggest and retweet that “Apple developers” should “Code for Android first, and iPhone/iPad second”. This is a classic case of non-developers providing developer-advice based on ideology. The reasoning used was that Android offers “first mover advantage”. However, the Android market was launched within months after the iPhone app store and there have been tens of thousands of Android apps since 2008. So I think developers should evaluate the Android market based on its past track record and future prospects, not on a bogus “first mover advantage”.
Of course, if “first mover advantage” was really important, the recommendation might have gone to Windows Phone 7, but Microsoft has never been popular with the digerati.
Openness – App submission and Review process: Android offers the most developer-friendly app-submission and review process and that makes it a fairly attractive choice for developers who don’t want to deal with the uncertainty of whether and when their apps might be approved.
iPhone apps go through a review-process before getting into the app store. Microsoft also plans to create a review/certification process for its Windows Phone MarketPlace.
Some iPhone apps get rejected in Apple’s review process, some others spend weeks in review purgatory. Unfortunately, these apps aren’t limited to the ones alluded to, by Steve Jobs, when he famously said that “folks who want porn can buy an Android phone”. Apple has conceded mistakes and reversed course on some app rejections, but the problems go beyond the few high-profile cases where Apple reviewers did a U-turn on app-rejections
To be clear, I’m not suggesting a preference for any specific app-publishing model. The (“open”) Android model of instantly publishing apps (without Google’s review) has obvious benefits, but it also has risks. For instance, the 12/22/2009 report from First Technology Credit Union notes that a “rogue Android” app launched a “phishing attack” to get users’ banking passwords. In a reactive move, the app was later removed from the Android market. Apple’s review process attempts to be proactive in rejecting such apps.
My perspective is that there are several tradeoffs in choosing between an open app-submission process and a review-based app-approval process. However, a review process (like the one for the iPhone app store) that lacks transparency, clear guidelines and consistency isn’t helpful to developers and doesn’t help users either.
More openness, Adobe Flash: Apple requires all app-store apps to be built with Objective-C and explicitly prohibits the use of cross-platform tools such as Adobe’s Flash-to-iPhone compiler. Google has no such prohibitions and permits cross-platform tools.
However, it should be noted that Adobe’s “cross-platform” tools only work for the iPhone and they haven’t yet created a Flash-to-Android compiler (presumably because they believed that the iPhone platform was more important than Android)
More openness, open-source: Android scores points with several people because it is open-source. Symbian is also open-source. The iPhone and Windows Phone platforms are closed source. Note that several Google Android apps (such as the Market, Google Maps, Gmail etc.) are closed-source apps.
Openness and Platform Fragmentation: When Twitter released their official iPhone app, every iPhone owner could have downloaded the app. Every iPhone owner can also download iPhone OS 3.1.3 (the latest OS)
However, when Twitter released their official Android app, only 27.3% of Android owners could even consider downloading the app. The other 72.7% users didn’t have the ability to download Android 2.1 and therefore couldn’t download the app. In this case, the “open-source” nature of Android and Google’s carrier-friendly-policy make it possible for carriers to create their own version of Android and deny users the ability to download later versions of Android.
As illustrated by the Twitter example, Android fragmentation problem makes life difficult for developers and consumers. In addition, the carriers and Google generally don’t attempt to backport bug-fixes into earlier versions of Android. This means that apps that run on both old and new versions of Android may need to implement different code for different Android versions. While fragmentation is not non-existent in the iPhone world, its impact in the iPhone world is tiny in comparison to Android.
Managing different devices, hybrid approach for Windows Phone 7: When I was at Microsoft, one of the biggest challenges we saw with mobile web apps (a decade ago) was the fact that we dealt with hundreds of different devices from different carriers around the world. These devices followed different specs (for instance, some supported cookies, come didn’t), implemented the same spec inconsistently and sometimes had bugs.
To a great extent, similar problems exist for Android apps – as devices from different manufactures (or even the same manufacture) may have different screen resolutions, different device sizes, different hardware features, different bugs etc.
The iPhone eliminates most (though not all) of these problems as all devices come from Apple. From a developer perspective, the impact of different device capabilities (e.g. iPhone camera apps can’t work on iPod Touch) is fairly small in comparison with Android.
Interestingly, Windows Phone 7 plans to follow a hybrid approach. Like Android phones, Windows Phone 7 devices will be created by several different manufacturers. However, all manufactures will be required to follow the same spec (e.g. 400×800 screen resolution, 4-point touch etc.) So UI design and implementation for Windows Phone 7 should be easier than corresponding work for Android devices.
App store Revenue share: Apple created/pioneered the 70-30 revenue split model (with Apple getting 30% and the developer getting 70% of app sales). Other smartphone app stores have followed suit with a 70-30 model and Amazon has also adopted the 70-30 model for its Kindle content.
While Android also uses the 70-30 model, Google doesn’t get the 30% revenue-share from app sales. Instead the carriers (e.g. Verizon) get the 30% revenue share. It appears that Google signs advertisement-revenue sharing deals with carriers who pre-install Google apps (like Search, Maps etc.) on the phone. This model seems to conform to Google’s overall strategy of focusing on search and advertising which are its primary money-makers
Refunds: The Android market lets users get a full refund for apps that they return within 24 hours. One complaint I’ve heard is that the refund feature leads to app piracy (with some users saving a copy of the app, returning it for a refund and then reinstalling the saved copy)
However, a revenue perspective, my sense is that Android’s refund policy is good for developers, because the refund policy makes it more likely that users will try out a paid app.
Apple doesn’t have a refund policy, though a determined user may be able to get a refund in some circumstances.
Microsoft plans to support a refund policy for the Windows Phone 7 marketplace and I’ve heard that they’re considering whether to go with a fixed 24-hour refund policy (like Android) or let developers configure/set a different refund policy (e.g. one based on how many times the user has launched the app)
App store – More comparisons: The iPhone platform lets developers sell additional features from inside an iPhone app. For instance, a $0.99 app could offer 10 features and a user of that app may have the option of purchasing 5 additional functionalities for an additional $0.99. Android and other mobile app platforms don’t seem to offer the in-app-purchase functionality
Many consumers suggest that the Android market is fairly primitive in comparison to the iPhone app store. For instance, app prices are displayed in currencies of the developers who published the app and not in the local currency of the Android phone. So a Canadian consumer would see a British app-developer’s apps priced in British pounds instead of the Canadian dollar.
Developers can sell Android apps through the Android marketplace and other channel they choose and this gives developers more options to monetize their apps. However, iPhone apps can only be purchased through the app store (with a narrow exception for large enterprises). Microsoft’s current plan is to limit app sales to the Windows Phone marketplace.
iPhone app developers benefit from being able to develop iPad apps with very little effort and most reports indicate that iPad apps sell fairly well. When/if other tablets (with app stores) become popular, developers can expect to make money from other platforms as well.
I haven’t compared advertising-revenue options for apps on different platforms, but a discussion on advertising-revenues probably belongs in a separate post.
Overall, the mobile app landscape has gone through a lot of exciting changes and it should be very interesting to follow this over the next few years.
I’ve been fighting with choosing XNA, xCode, or Java. I’m a c# developer and I’m leaning towards openGL with the iPhone. I did some small iPhone games a year ago. But the awkwardness of xCode gets me.
Good article though.
Thanks, and I agree with your comment about Xcode. It seems somewhat primitive when compared to Visual Studio.
I haven’t tried Xcode myself but I can chime in on the Android development environment which uses the Eclipse IDE. It is pretty good, I hear a bit better than Xcode, but would also put it in the category of primitive compared with Visual Studio.
Open source and free are great but there have been times during development when I would have gladly paid a couple of hundred dollars to be able to work in Visual Studio.
So tools will be one advantage for Microsoft, the rest is still too early to tell.
Very good article giving an overview of the current state of the mobile app landscape. I’ve been trying my hand at Android development, testing the waters with our first app.
Developing on Android has been fun, the ramp up time quick, and the publishing process painless. There are certainly issues with fragmentation, Google’s developer and customer support and issues with the marketplace that may be keeping Android from reaching it’s potential.
We’ll see how we do in terms of revenue as that is what will ultimately decide what platform I’ll spend my energy on going forward.