Are you starting a mobile app development project? Maybe you’re worried about the expense of native deployment. Could HTML5 deliver what you need? I’d say the programming language is not the first thing you should think about. There’s something else that needs your attention first.
Start with your customers. Take technology out of the equation. Understand the people who’ll be using your application. What are you helping them to accomplish? What would they say is valuable? You’ll want to ask them directly. Use surveys. Interview them. Watch them as they do things. Reflect on your observations. How does this fit in with trends in the industry? Assume that things are changing, and keep reassessing.
- Do your customers demand super speedy performance? Are you sure? Maybe you are optimizing for performance that your customers won’t even notice. A game may need performance, whereas a news reader… not so much.
- Where will your customers use this thing you are building? A subway trip without Wifi could be a massive failure. Or not. Maybe that is an easily survivable use case.
- How important is security to your app?
- Do you know what devices your customers use? Does it include iOS, Android, Windows Phone, Kindle, Nook? Do they move from one to the other? If it includes wearables, which ones?
All the things that you normally look at when building a new product apply, whether you’re looking at initial development or you’re considering porting to additional platforms. It’s not always cut and dry, is it?
Now, look inward. Again, look beyond the technology to determine a path forward.
- Pure native apps are rare. Most developers use a non-native language even when building “native” apps. HTML is in the compiled code. HTML and web protocols communicate with supporting servers. Are your back end services mobile-friendly?
- More than one production line gets expensive. Does your business case justify that? What would be your costs for bringing in new resources or for training? How long would it take? Think about separate toolsets, designs, assets, releases and maintenance. Every bug fix and release is a cost.
- How flexible do you need to be? How far into the future do you need to plan? Do you really need a strategy for five or ten years out?
- Understand where your organization is now. Are your apps opportunistic (one-offs), strategic (mobile implementations are driven by business factors), or mobile-first (mobile is driving the business)? This mobile application maturity assessment will help in setting expectations going forward.
- You can also get actual data for a comparison of one platform vs the other, by building only part of an app in more than one technology.
I wish you all success!