I was on the phone the other day with a client who works for a national trade association and they mentioned at the last board meeting that the “idea” of a mobile app came up. After a few questions it became very clear that the client didn't really know what they wanted or even necessarily why. They just knew based on the directives from the board they had a wheelbarrow full of dirt and were busy looking for a hole to fill it with.
My client is not that different from most people, who may understand from a user perspective what a mobile app is and probably uses them on a daily basis, but does not really understand from the development perspective that there are different types of mobile apps and how they differ.
There are three basic types of mobile applications; native, web and hybrid.
A native app is an application that is built to run on a specific device such as Android or iPhone. These apps are usually downloaded from an online store like iTunes or Google Play. These kinds of applications are designed to run without the need for connectivity and can access the core features of the smart device that it is running on, think games and utilities like Angry Birds, calendars and contact lists. Native apps typically provide the most speed optimized experience, but since there is no connectivity they must be upgraded to remain relevant. Native apps also must overcome the “pain” obstacle. Since they have to be downloaded and installed the user must really want what you have to offer. Upgrades need to be initiated by the user which means more often than not supporting multiple versions of code across multiple device platforms.
A web app is really nothing more than a website/page that is optimized to be viewed on a mobile device through a browser and must be accessed via the internet. Mobile apps have the advantage of immediacy, they don't have to be downloaded or installed; reach- they are available to all internet ready devices regardless of the operating system, and discoverability - search engines can find and index the content of the mobile app and make those results available to users looking for your type of information. Web apps are easily updated enhancing relevancy and lengthening their lifecycle, and easily shared via a link in a Tweet, Facebook post, email or text. One of the main downsides to the web app is the inability to access core features of the device which may make for poor user experience.
Hybrid apps combine the best of both worlds. Hybrid apps built using HTML5 and Javacript but then are wrapped inside a native app container to allow for the access of the core features of the phone or device. Since they still connect to a server to deliver updated content or data they don’t suffer from the upgrade problems of native apps. Hybrid apps still must be downloaded and installed but connect to the internet to deliver or receive data from the user. Hybrid apps can cache content so they have the appearance of running offline but need to connect to the internet for the full experience. Hybrid apps are still built for specific devices via their container but the main code is the same across all devices making the development time faster than native apps, think-Twitter, Skype and Facebook apps.
There are pros and cons of developing mobile apps in each of these ecosystems and the decision about how to choose depends a lot on your business goals and audience.
If you or your organization has a wheelbarrow full of dirt and are trying to decide about your best path into the mobile space give us a call and our experienced mobile app developers can help you find your hole.