Let’s start off by taking a look at some facts.
IGN’s mobile traffic is on the rise. Here’s a chart of monthly unique visitors coming to IGN.com from mobile devices.
Monthly unique visitor traffic coming from mobile devices has doubled compared to where we were in January 2010.
What tends to be more interesting data is what percentage of our site’s total traffic is coming from mobile devices.
Today, mobile traffic coming to all of ign.com is between 8-9% of our site’s total and growing.
Let’s take a closer look at which mobile operating systems are contributing to a majority of our traffic. The following is a graph of the percentage of all mobile traffic that certain mobile devices drive to all of IGN.com (this is a % of all mobile traffic, not a % of all traffic).
- The iPhone has been consistently a major traffic driver to all of ign.com.
- Traffic from Android and iPad is clearly growing.
- Android traffic was ~9% in January 2010 and it rose to ~24% in December 2010.
- iPad traffic was ~2.5% in March 2010, it rose to ~12% in December 2010.
- Blackberry traffic has been consistently flat.
- While WinMo and WebOS traffic is negligible, Symbian’s traffic drop from ~31% of the total mobile traffic in January 2010 to ~10% in December 2010 is most interesting, but not surprising.
So, we should start building an app for Android, right?
Traffic drivers are a key way for us to gauge what our users are using and how we can better serve them – simple. We’re keeping our ears to the ground and paying close attention to industry trends – yes, we know Android is growing like crazy. We want to build for Android, and we wish we could do it as soon as we like. Unfortunately, there are a myriad of issues surrounding development for Android.
- Fragmentation – The Android smartphone market is ridiculously fragmented. Take a look at this chart by Google:
This is a chart based on the number of Android devices that have accessed Android Market within a 14-day period ending on January 4, 2011.
This is just the Android operating systems. While most Android devices run on some kind of a standard resolution, this is not a given. Bottom-line: the hardware Android runs on complicates this chart even further.
- Developing for Android is
a bitchnot easy – Android apps are written in Java. We’re a lean mobile team, and while some of us here dig Java, I doubt you will hear that we want to develop in Java. Eclipse is a monstrous beast and has poor design time support (compared with Visual Studio, for example). Not to mention that the Android dev environment is just super painful and the Android emulator is ridiculously buggy and unpredictable.
- Do we really another native app? – Seguing from the previous point, we are not confident that we want to invest in another code base. We have a v1 of our iOS app that is available today, we are investing in a v2 of our app with a brand new codebase, but that process has been less than easy (the Apple dev tools are equally bad, BTW).
- Android on GoogleTV? On Android Tablets? – Supposedly Android is coming to GoogleTV. It already powers Android tablets. Potentially more fragmentation.
Long story short, we want to build for Android. But when we do, we want the experience to be truly rich, and we want it to cater to all platforms and form factors that Android powers.
What we’ve done for the interim is we’ve wrapped up http://m.ign.com into a native app and made it available on the Android market (I wish I could link to the actual app itself, but apparently this is not feasible – WTF?) This caters to the users who use the Android market to search for IGN, but it’s true that the experience is less than desirable and doesn’t provide anything more than the mobile optimized version of our website. This was a tactic on our part to cater to our Android users, our longer term strategy involves a native app.
But what about the iPad? And Windows Phone 7?
We really don’t want to be stuck with multiple code bases. We still run in to issues with our current iOS app – intermittent crashes and issues that we need to go back and investigate. And in spite of what people say, the iOS development environment is not an easy one to work with. I can’t imagine having to do this for a Java app, a Silverlight app, an iOS-iPad app and whatever-else-is-going-to-be-the-next-big-thing. No way.
HTML5 is our savior
In an ideal world, we’d want to have one code base, written beautifully with an model-view-controller (MVC) architecture and the ability to switch out the view based on the device’s UI so that the style and theme of the phone this app is being run on, applies automatically. This may sound easier than is to implement (especially in the case of a unique UI like that of Windows Phone 7’s, but I’m less worried about that than having to write the same app all over in Objective C, Java, C# etc.)
I’m bullish that more mobile devices will support HTML5 and this will help us bring our apps to other devices more easily than ever before.
PS: If you’re wondering why Sencha and not jQueryMobile…