I’ve spent the past three months building a mobile banking platform. This is essentially online banking but specifically targeted at mobile phones, well ‘smart phones’.
What’s different about mobile?
For a software developer, not much – it’s just another platform with a few different concerns. If you’re been writing multi-tiered applications then it’s just another app. It has to work online and offline, this is nothing new. It calls services, that’s easy. It can store data locally, again nothing new. What is annoying, and somewhat of a legacy concern, is being multi-platform. Apple in their wisdom make it impossible for there ever being a common / shared runtime. So, if like us, you want to provide a service with maximum ‘reach’ then you have to write an app for Android, Windows Phone etc. Or do you…?
Mono has the potential to help, but you’ve still got to compile for each platform. And, right now, there’s a massive risk in using mono because of the recent changes Apple have made to the license agreement.
There is one platform Apple do and will continue to support, that’s the web. I can’t see them bringing out another amendment saying that ‘the web must be written using only…’ – and thank the lord they can’t! Each technology has it’s on set of fan boys and benefits, but we have choice and choice is great.
If you want to target all device easily, then the web is the quickest route to market. But what does this mean for a user? Let’s think about the user benefits of an app:
1 – It works offline
2 – it can store data locally
3 – it has more access to hardware and thus, faster, prettier and all that (so arguably you can give a better user experience)
I think these points are pretty much the same arguments as Silverlight vs Web, or if you want to get old school Java Applets and Web.
The big win of an app for us in the mobile banking space was security… With online banking the process of logging in is somewhat of a ball ache. With our Mobile Banking solution, once registered, you just need a pin – thus you can literally get your balance and see your transactions in under 10 seconds. This wouldn’t be possible with the security needs of web applications.
Can a similar user experience be given to a mobile user with ‘mobile web’ as App? Yes it can… A good example of this is Google mail. It is fantastic, easy to use, fast, couldn’t ask for more (well maybe working offline). How do they achieve this? The same way the create a great user experience with ‘computer web’, a little bit of AJAX. The ways you optimise ‘web’ user experience is the same with mobile or browser.
You’ve still got a ball ache of different screen dimensions and browsers. But, that’s no different to the days where giant monitors and high resolution was not common place and Microsoft and Netscape were having the browser wars. People still delivered great applications. The techniques developed then can be reused now. In fact, now it’s even easier – the web is a lot more standardised and with JQuery and such it’s even easier.
It’s interesting that when talking to banks there views on app versus web are quite divided. One CTO will be pro web. Apps are a headache he doesn’t want. Where another is pro app… But, what it always comes down to is one point – reach. Regardless of how they deliver it, delivering just to iPhone is NOT good enough. What they all REALLY want is for it to be possible to just develop great applications that work on all devices, once. Then, grow and maintain that one thing.
What is clear from this short adventure in mobile is one thing. Mobile is on the radar in a big way. People are spending money on it, a lot of money. This is clear with the news that our main competitor in the market, Monitise, have just raised 30 million dollars.
What isn’t clear yet is what will happen as a way of delivering on this promise. Will SmartPhones go the same way as the home PC did? Can you see every house hold with a iPhone? Looking round the train I’m on now, I can see more blackberries than iPhones. What will you build, apps, web, or both? We’re doing both. We’re not alone. The cost of that lack of standardisation will slow down mobile’s progress, increasing cost and reducing innovation.
These are my thoughts and experiences, please share yours!