All around the world more users have a smart-phone and/or a tablet every day 1. This change has caused the application marketplace to change drastically over a short space of time. In this new world, it is now easier (and maybe faster) to connect with and generate revenue from a large audience. It’s also easy to be left behind with the high pace of change, or build an app that nobody wants…
More statistics are continually produced comparing web-traffic from mobile browsers to that from desktops, and revenue figures from apps/advertising 2. The world is full of predictions of “mobile browser traffic surpass[ing] desktop in 2014” 3. This means discussions have moved away from whether to be considering the mobile space to we need to go mobile – but which way is best in our exact scenario.
So let’s consider and evaluate the different options:
Do Nothing
It’s entirely your prerogative to ignore the mobilespace. In some rare domains mobile doesn’t make sense. It might actually costyou more to solve this problem that you’d generate in revenue.
Make your app look good on a mobile browser
You need to answer this key question – areyou updating your app purely to look good on mobile browsers, or are youbuilding different functionality for the mobile version of your app?
If your vision goes beyond look and feel, youare actually building a different app. At this point your thoughts should turnto code re-use, maintenance of the dual code bases, and how they evolve in thefuture.
If it is just a User Experience issue, thereare two major options; – firstly, can you manage the differences purely with stylingchanges? If so, CSS3 Media Queries could be the answer – provided your target browserssupport HTML5! If you cannot the alternative is for the server to respond with differentHTML based on the browser. In ASP.NET MVC 4 this is implemented with “DisplayModes”.
Port your app to a native app for a particular OS.
What platforms are you going to target? WindowsPhone, obviously… but how about iOS and Android? Once you’ve decided, do youhave the skills and tooling in your team to do this? You may need training,physical devices, emulators, IDEs, and more. How do you build it in a CIenvironment, and what is the impact on your testers?
Native apps have a very different lifecycle; theyare in an “often disconnected” world, and the platforms will evolveindependently of your app; updates might change the way the app can run, its permissions, or the devicecapabilities. Planning for the maintenance involved and determining theeconomic and servicing model are fundamental to your success.
Hybrid4
Hybrids are built using HTML5 and JavaScript,with a thin native wrapper around it. This reduces the amount of native code towrite, maintain, run, port and test, but can increase the skillset required.Alternatively you could use tooling to do this part for you, but it is likelyto be limited to the “lowest common denominator” rather than fully utilizingthe device capabilities.5
Which approach you select depends on your priorities and what you are trying to achieve. If you don’t need to support mobile, do nothing; although this is rare today. If you do, using Media Queries or Display Modes can be a cost effective way to prevent a loss of business through a site not compatible with mobile devices, or to start providing great mobile experiences for like-for-like feature scenarios. When your gear shifts to investment, seeing mobile as a true growth area and a distinct part of your offering, start thinking about native or hybrid approaches. This brings the ability to target your feature set and User Experience directly at mobile users in return for additional effort in development, maintenance, and related disciplines such asmarketing.
Whichever way sounds right to you, speak to your Application Development Manager about how we can help; we have ADMs that have specialist skills in ASP.NET WebForms, MVC, JavaScript, HTML 5, and in native device development on Windows Phone or Windows 8. We can teach you the technologies, run Architecture & Design sessions to help you choose the right mix for your scenario, partner with you to build a Proof of Concept, or conduct reviews of your progress at regular intervals to help you stay on the right path.
References: