IGN Mobile and HTML5: A Conscientious Effort to go Cross-Platform

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.

image

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.

image

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).

image

Takeaways:

  • 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.

  1. Fragmentation – The Android smartphone market is ridiculously fragmented. Take a look at this chart by Google:


    from http://developer.android.com/resources/dashboard/platform-versions.html

    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.

  2. Developing for Android is a bitch not 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.
  3. 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).
  4. 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.)

So we’ve decided that we’re going to make a concerted effort to create all of our new projects in HTML5, CSS3 and Javascript. For one of our upcoming mobile projects we’ve decided to use Sencha Touch for our framework and we will be coupling it with PhoneGap. Yes, I know we’re foregoing the ability to do certain things that are truly native to a phone. But we don’t have any such immediate needs. So for our upcoming project, we will have a single code base that will cater natively to iOS and Android devices – these two OSs combined represent 86% of all the traffic that comes to IGN.com from mobile devices.

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.

@ai

PS: If you’re wondering why Sencha and not jQueryMobile

2 thoughts on “IGN Mobile and HTML5: A Conscientious Effort to go Cross-Platform

  1. It all really comes down to what type of app/experience you need to create correct? I think HTML5 will be or is great for apps that need to present a fairly straight forward UI. I think it really does pose a problem for plug-in such as SL and Flash as it becomes a bit more powerful.

    That said people still like their “apps”. What’s the strategy for having those apps in their respective stores? Is it as simple as hosting an HTML5 compatible browser control in an app framework? Maybe thhe app link just invokes the browser (btw I think this is how some Android app work today).

    Kurt

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>