We are in the midst of a technology revolution, where a combination of wireless connectivity (through WiFi and cellular networks), smaller and more powerful processors, and advances in battery technology have given rise to a slew of powerful, fully connected devices.
For devices that have only been around for a few years, the rate of adoption, and pace of change, has been incredible. In early 2014 mobile web traffic exceeded desktop and laptop, a significant landmark for such a new technology. Whilst the rate of adoption makes for interesting statistics, the size of the mobile economy could potentially be of greater interest: the iOS App Store has become a $10bn business in the space of just 5 years, that’s bigger than Hollywood!
the iOS App Store has become a $10bn business in the space of just 5 years
Retail banking has been quick to address the demands for internet and mobile channels. The level of disruption this introduced was described by PwC as the “New Digital Tipping Point”. Furthermore, IG Group reported over 30% of their revenue coming from mobile devices by mid-2014.
Mobile is an important platform and is currently a priority for any businesses in the financial domain, However, with the technology in a constant state of flux, developing and delivering mobile products is not an easy task.
Why Mobile is Hard
We’ve seen some significant technology changes on the web, with trading platforms shifting from plugin technologies (Flash, Silverlight), to HTML5. However, a steady-state appears to have been reached, with most people in the industry agreeing that HTML5 is here to stay.
Mobile technology is evolving at a significant pace, yet it doesn’t appear to be convergent. There are a number of factors that are contributing:
User expectations – with mobile devices there is an acute focus on design and user experience, driven by the best-of-breed consumer applications. Users are less forgiving of poorly constructed or poor-performing mobile applications.
Platform fragmentation – the major players in mobile are iOS and Android, however there are significant regional variations, with Windows Phone proving popular in the Skandinavian countries. There is no indication that users are converging towards a single mobile platform, and as a result mobile services have to be delivered on multiple platforms to ensure a sufficient ‘reach’.
Competing technologies – there are numerous technologies that can be employed to write mobile applications, from platform specific technologies, to HTML5 (and a slew of associated frameworks) and a range of transpilers / cross-compilers such as Xamarin.
Whilst mobile technology is a significant challenge, so too is design…
Designing for Mobile
This article is mostly about technology strategy, it would be remiss of me if I didn’t at least touch on design. Any system will fail, if it is poorly designed, regardless of the technology!
When designing for mobile, there are a few keys points to consider:
– Be clear about the business objective – is the purpose of the mobile offering to reach new users? or perhaps increase conversions?
– Start with design – the design process should focus on the users and their needs, not the capabilities of the technology.
– Understand usage patterns – people use different devices (mobile, tablet, web) for different purposes at different times of day.
– Know your customer demographics – the business world used to be dominated by BlackBerry, but not iPhone has taken the lead.
Once a suitable design, focussed on the need of your users and guided by your objectives, has been constructed, only then is it time to start thinking about technology.
Selecting a Mobile Technology
There are numerous different technologies that can be used for developing mobile applications, these are often classified as mobile-web, hybrid of native. However, the lines between the three terms have blurred to the point where they have started to lose their usefulness.
LegacyFX’s Robust Tool Offering Setting it Apart from CompetitionGo to article >>
there are numerous different technologies that can be used for developing mobile
Personally I prefer to differentiate mobile technologies based on whether or not they deliver a native UI, and hence are able to deliver the best user experience possible.
Broadly speaking there are three different approaches:
Native – where mobile applications are developed using Objective-C / Swift for iOS, Java for Android and C# for Windows Phone. This is the most costly option, and requires engaging with teams that have a diverse range of skills.
HTML5 – where the UI is rendered using web technologies. There are numerous frameworks that support mobile development, including Ionic, Kendo UI, jQuery-Mobile and many more.
Unfortunately of the three options above there is no single option that is right for every project. It very much depends on the budget available, the desired user experience and existing skills / assets.
HTML5 – the default option
When determining which technology is right for you, I would always recommend considering HTML5 as the first option. Most companies already deliver web-based applications to their clients, so there will be a familiarity with the technology. Mobile browsers are very powerful and can render streamed data and charts without difficulty. Furthermore, it is the most cost-effective of the three approaches above, in that the same code-base is used for all platforms (iOS, Android etc …)
However, care should be taken when using HTML5, you should avoid trying to mimic the native-UI for each platform. This rapidly becomes quite costly, and requires the kind of skills (and budget) of companies like Facebook and Google!
To be successful with HTML5 you have to understand that it is a compromise, and determine whether this is a compromise that is right for your business and your application. User testing is critical throughout this process, it is your users who will determine whether your application is a success or not.
Only if you determine that HTML5 cannot deliver the user experience that you require should you consider alternative (hybrid or native) technologies.
Hybrid vs. native
Hyrbrid technologies certainly simplify the process of developing applications for multiple platforms by removing language differences. Furthermore, hybrid applications do not compromise user experience in the same way that HTML5 does.
This sounds like the perfect solution, in this case, why would you ever choose native over hybrid?
The simple answer is ‘risk’. When choosing a hybrid technology you are very much reliant on the company that has developed it for ongoing support. Apple, Microsoft and Google release mobile OS changes on a yearly basis that often break the various hybrid technologies. If the hybrid technology you back becomes obsolete, so too will your application in a very short space of time.
Mobile and tablet continue to embed themselves into our working lives, and many see their mobile offerings as being just as important as their web / desktop counterparts.
Unfortunately the technology to support mobile is still undergoing a lot of change, determining which technology to use is something that has to be done carefully and with a combination of knowledge and experience.