This topic is obviously not new. Everyone talks about it. Sooner or later. After making these choices couple of times and talking with customers I noticed common misunderstanding, misuse and mistakes people do(and so did I). There are lots of great articles out there which help out deciding, but still I think it could be brought in a better form. And that’s what I’m doing here. I’m delivering mobile technology choices in a form of Binary Decision Tree. I’m starting with the results, further on I’ll cover it with the details, and in the end I’ll give 4 case studies which demonstrate different choices.
And don’t get me wrong. I don’t like the idea of silver bullet work flow chart that makes the decision for you(though here‘s a good one, still I disagree with some points). This decision tree is intended to help you better understand the correlations between your requirements and corresponding technology. You can think of it as unraveling the cables behind that old audio/TV/any system. It’s still complicated, but it’s much clearer now.
So, how does it work? Basic idea is to define your requirements from the product vision, and then, by prioritizing them, go left or right in a tree. Then you repeat it until you’ve reached the leafs, i.e. the bottom of a tree. Pretty easy, isn’t it?
I intentionally rooted my decision tree with a Vision, as this is a thing, without which you cannot start choosing the technology. You have to know what you’re aiming for before you start shooting. Then, you need to turn the vision into some more specific requirements. I’ll help determining the criteria, but there is still work to be done with setting the requirements and understanding them.
The first choice to be made is whether you want a Mobile App or Web App(Site). You probably heard of topics like “HTML5 vs Native.” I think it’s a bit confusing and too generic comparison, as with HTML5 you can build both web and mobile apps. My point is that you shouldn’t choose between Native and Web. Native is a way of implementing Mobile App. Web is a whole family of apps, with its attributes and specialties. Instead, you should choose between Web and App approaches as they deliver more or less equal alternatives, cover different usage scenarios and reflect different marketing channels. And these are basic criteria you want to base upon when choosing mobile strategy.
So, the criteria. I’ll start with the easy ones: if you know you’re gonna need access to device features(gyroscope, accelerometer, bluetooth, contacts, calendar, push notifications), you care about security or you need non-trivial computation tasks – in these cases you can forget about Web App. You simply don’t have required APIs for device features, you don’t have infrastructure for security and web has been proven not to be able to deal with heavy-computational tasks.
Please note, I didn’t include offline and camera access here on purpose. This is one of most common confusions people make in this field. Web has already grown to an extent where whole websites can go offline(and I’ll give you an example later on). And about camera – there is a big progress and workarounds there so before eliminating web as a platform for your app it’s better to make deeper investigation. I must say, in my humble opinion, HTML5 s moving(slowly though) towards accessing all these device features, so in future(far future) that will not be a show stopper.
Then, if you don’t have a need for any of listed above, you need to define and prioritise the following criteria.
Questions: What do you expect from user? How do you want to interact with him? Do you want him just to read information or to input something? How often do you want him to use your app?
Hints: Mobile apps are more adapted for interacting with users and entering information, although skilled web developer can nail it in the web. In contrast, when a user just googles for some information, he doesn’t want to download the app, he just needs the piece of advice as quickly as possible. Yes, by the way, one fact you should always keep in mind – mobile users are much less patient than desktop users. As Eric Reiss, usability expert, states, the three-clicks rule is not applicable to the mobile environment. Users will leave your system the moment they feel it doesn’t bring much use to them, i.e. possibly after the first click.
Q: What is it that you’re showing to your user? Is it a daily newspaper article, or a 3D model of his new house? Or maybe a medical record input form?
H: Content is tightly integrated with user experience, he actually defines it. I highlighted it as a separate criterion to help you better understand your UX strategy. Here’s a good popular tip from Prasant Varghese:
Q: How do you want to deploy your app? How do you want to deliver updates? How do you want users to reach your app? What is your maximal time-to-market?
H: Apple has started a very good culture with its AppStore. Apps there are easy to find, to choose between competitors thanks to rating & comments and have good compatibility model. Those are huge pros for mobile apps. The con would be bigger time-to-market because of Apple’s and Microsoft’s review process(if you’re aiming Android, BB or enterprise that’s not a problem). Also, there may be scenario where you want to employ your own distribution model, or you already have good SEO rating for your website and just want it to go mobile. Choice is yours.
Q: How do you return your investment? Is it a part of your marketing campaign? Or are you going to monetize your application? Do you want to use built-in methods of payment?
H: Some build apps to sell them. Some to market their company. Some to improve their employees productivity. Anyway, if you want to deal with money, it’s better to go the App way, as there are built-in user-friendly ways to handle money transfer from inside the app, or when buying the app itself. Again, if you have your own well-made monetization model you can go your way