At last week’s Xero Conference we demoed a world preview of our new mobile version (so new that most of the Xeroes that were in attendance had never seen it before either!). When we first started Xero having a mobile version was a nice-to-have, but nowadays it’s a basic feature and we have made a conscious effort in 2011 to make it a core part of our product development strategy (in the same way we have with our API). Therefore when we talk about new features the mobile implications of those features are paramount.
Building a mobile application is very different to building a desktop application. I would suggest reading Josh Clark’s excellent book Tapworthy to get an idea of the decisions you need to make to build a successful mobile application. You need to design for mobile – mobile forces you to focus on only the most important data and interactions. The end result should be an experience that’s heavily optimized towards key tasks and consumption. It sounds constraining – but it’s actually a liberating experience.
One key decision we needed to make was whether we built an “app” specific for each device, or a mobile-optimized web-based version. Obviously the biggest drawcard of a native app is access to the phone’s hardware – an app can usually access anything the device offers (precise geolocation including device orientation using the compass, accelerometer, audio input, image capture/input from a camera including video etc). The other big drawcard is access to the ecosystem surrounding the device. In the world of smartphones, operating system like iOS and Android include a massive ecosystem of apps and from a marketing and positioning perspective being in those app stores and having access to those ecosystems is huge.
But the downside is having to maintain lots of versions of the app – writing code for iOS is very different to writing code for Android – and having access to the resources to maintain those codebases is difficult.
Fortunately there are ways to be web-based but still provide a native experience.
Anyone that knows me knows I’m a big fan of open web technologies, so my preference has always been to go web. My counterpart at Facebook, Bret Taylor, recently outlined a vision where he stated “the end goal is that we’ll be able to develop one version of Facebook for mobile devices”. And this is my vision for Xero.
HTML5 and its slew of accompanying technologies (and yes, I include CSS3 in that) is becoming very powerful. Coupled with that is the increasing use of WebKit in today’s modern smartphones. WebKit, an open source project, has led the way in innovating mobile development, with HTML5 support, CSS3 extensions, and touch events. If you have an iOS-based device (iPhone, iPad, iPod Touch) or an Android phone you are already using a WebKit-based browser. Blackberry 6 and HP/Palm’s webOS have also moved to WebKit. It’s become the defacto standard of the modern mobile web.
Sencha Touch also works beautifully with PhoneGap, an open source project that allows us to deliver our web-based application as native – not only providing access to the low-level API’s of the devices, but also allowing us to package the app for deployment through the relevant app stores.
So when’s it going to be released? Soon… We’re trying a lean startup approach to the development of this product so we’re hoping a beta can be out in the next month.
Answers to questions I know you’ll ask:
- the apps will be free
- we will also be releasing a web-delivered version of the app for those not wanting to use the app store (though functionality will be reduced so we wouldn’t encourage this)
- m.xero.com will continue to be supported for lower-level devices (unfortunately lower-level includes WIndows Phone 7 at this stage – the phone is pretty great but the browser is crap)
- even though this mobile app will scale well on an iPad, we are currently NOT working on a specific iPad version. Currently the “normal” version of Xero works pretty well on an iPad but we’re hoping to improve the usability of all our applications for touch-based tablet devices (which may include tablet specific features)
- you won’t have to apply to be in the beta – we’ll release it to everyone as soon as it’s ready but expect some rough edges