A mobile app is a necessity for any company trying to make it in the big league. At Expensify, we’ve built apps for iPhone, Android, BlackBerry, and Windows Phone – and even had a Palm Pre app too, when it mattered.
Compared to mobile web usage, mobile app browsing time has increased by 6% from 2013 to 2014. It’s no wonder that companies are vying for a mobile user’s attention by building a native app. Developing a mobile app isn’t easy, but avoiding these three common misconceptions can drastically increase your reach and adaptability.
1) iOS is Enough
If you’re making a consumer product for individuals, then you might be right: iOS users install more apps, and use them more reliably. If you’re selling a business app – especially one used in groups – then you absolutely need *at least* an Android app, and you might consider BlackBerry and Windows Phone as well. Because even if most of your target audience is on iOS, there is the idea of the “tyranny of the straggler”; if one key person in the group needs something other than iOS, that person will push the whole group over to an app that supports everyone.
2) Cross Platform Layers Make Shitty Apps
It’s true that for the best user experience, native controls are critical; an HTML5 solution as almost never adequate. Most modern cross-platform layers wrap portable “business logic” with native controls, giving you the best of both worlds. In practice, as much as you’d love to spend all your time tweaking out the UI to make it smooth and glitzy, most of the complex logic that eats up all your development time actually has nothing to do with the UI. Writing your business logic in a way that can be shared across platforms prevents you from needing to re-write (and repeatedly debug) your most complex logic once for every platform.
3) You Don’t Need a Website
It’s called “mobile first” not because there is only a mobile app, because it’s just *first* – you still need “web second” for growth. This is because you depend on knowing your users’ email addresses, sending them messages, and giving them something to click through to. You need your users to invite friends and colleagues, and they need someplace to send them that is more powerful and engaging than a link to an app store. The most important feature you will ever build is the one that helps you sign up the next user: that’s the feature that ensures every new user is slightly easier than the one before; otherwise you’re facing a long hard slog for every single download.
What are some other common myths or misconceptions you’ve experienced regarding mobile app development? Leave a comment and share your thoughts!
What does Expensify use as a Cross-platform development layer? In other posts, you’ve mentioned that Expensify uses Javascript as a language, but that suggests HTML5. Could you shead some light on what has worked for you?
Hey there!
We use an internally developed cross platform SDK called YAPL (Yet Another Platform Layer), which allows us to utilize native UI controls and other functionality. Javascript is the language used for this layer, so that we can code once and deploy across all mobile platforms.
Thanks for the interest!