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.