TechHui

Hawaiʻi's Technology Community

10 Reasons to Write a Native Mobile App

In recent years smartphones have become part of many people's daily lives.  They are used to communicate, stay updated, take photos, listen to music and entertain us with hundreds of thousands of apps. People carry their cellphones around with them wherever they go.  They wake up with them, eat with them and go to bed with them.  

For companies this presents another opportunity to market and reach out to customers.  If you or your company is considering a mobile presence there are two main paths to getting there: an HTML mobile web site or a native app built specifically for one or more mobile devices.

Determining whether to create an HTML mobile web app or a native mobile app is a significant decision.  A mobile web app is an app that users reach using their phone's browser.  These apps are usually a combination of HTML and Javascript and function similar to web sites.  A native mobile app in contrast is an app that is designed and compiled specifically for a mobile device.  These apps must be installed onto the device and work only on the device it was designed for.  

This article does not discuss whether you should or should not create a mobile presence.  This article presents 10 reasons why you might want to consider creating a mobile app instead of or in addition to an HTML mobile site for both companies and developers.

  1. A well done native mobile app will almost always provide a better user experience.  While HTML web apps have improved they are still unable to match the speed and responsiveness of a native app.  If a user clears their browser cache and history your app will need to be downloaded again. Native apps can more easily be designed to work offline without having to download resources from the web after the initial install or update.
  2. You have more control over what the user experiences.  The capabilities of HTML sites depend largely on the browser being used.  
  3. Native apps can achieve more functionality than web apps.  While web apps are gaining ground it is still easier, faster and more reliable to use native code to access device hardware and run in the background.  Use of the gyroscope, compass, camera, microphone, gps, bluetooth, filesystem, SD card, local databases, 3D capabilities and local media resources are all more capable and stable in a native app.
  4. On some platforms native apps have the ability to communicate and share with other native apps using hooks and APIs.  Your app can also be designed to accept and act upon data from other apps.  For example, native apps with the correct permissions can access phone data such as the address book and calendars, or they can offer users the ability to upload photos or messages to multiple services.
  5. Your app will be installed directly onto users' devices.  Once a user installs an app it will either appear directly on one of their home screens or in their app list.  In either case your app is constantly on their device and all they need to do is touch it to launch your app.  Your app's icon will serve as a constant reminder of your company to users and it’s much easier for users to touch an icon than it is to navigate to a web site.
  6. Apps allow for another method to connect with users.  When an app is updated users will be notified of updates.  It's also possible to build apps that send push notifications, allowing you to communicate with users even when they are not using the app.
  7. Apps give users another reason to talk about your company or service.  It gives companies another path to reach users in addition to traditional marketing and web sites.
  8. If you sell your apps or goods and services through your app there is a potential to make money.  You can leverage the platform’s payment services and have millions of potential users already set up and enabled to purchase goods and services through your app.
  9. Designing and developing for a native mobile app can help you to develop a more service based architecture, which can help if you plan to expand your online services to other devices.
  10. As a developer designing a native mobile application allows you to expand your skillset.  It is a great learning experience for any developer interested in mobile development.


Whether or not you decide to build a native web app depends mostly on what type of app you want to create.  In most cases a native app is not needed, but if your app could benefit from several of the reasons above it might be worth considering creating a native app for your company or service.

Views: 574

Comment

You need to be a member of TechHui to add comments!

Join TechHui

Comment by Chris Runnells on July 6, 2012 at 2:03pm

Definitely good points.

I also agree with Brian's comment about how a bad app (or a bad release) will tank your app's support and ratings. There's also few things worse than an app that doesn't give the functionality that your users want, or offer *less* functionality than your current web application (Credit card, bank apps, etc) . This isn't a reason *not* to build a native mobile app, but the costs of developing a native mobile app and continued support can be costly (which often results in features being cut or not implemented). Sometimes having a mobile web application is a better solution for companies with lower budgets.

It comes down to knowing who your users are, and what they want. I was just discussing this with my wife the other day; she remarked that our local credit union needs a mobile app. "They're just easier to use" she said, which I agreed with. So I asked, "What mobile platform should they develop for? We're both iPhone users, but how many of our banks customers use iPhones vs Android vs other platforms? How many of those users are currently using the banks web site from their mobile browsers?" In this case, I made the argument that creating a mobile friendly version of the site might be more ideal, since it would work on any platform and would be cheaper to implement for our small credit union.

Comment by Brian on June 12, 2012 at 11:46pm
Good points.

Quick counterpoint - a bad app can destroy you utterly. Ideas are less valuable the days than execution. Buggy apps that crash get low ratings in app stores and users typically do not give you a second chance.
Comment by Anže Žnidaršič on May 29, 2012 at 2:03am

Great post Douglas. I would love to go all native, but at this point I'm more into the hybrid way Dan described. I just started playing with PhoneGap which allows me to use native functionalities (e.g., camera) and still make an app using technologies I'm more confident with (HTML5, CSS, JavaScript). With frameworks like Sencha, jQuery UI, etc. it makes web apps look more like native apps as-well. PhoneGap Apps can be also published in app store (well in it's core it's just a webkit object and javascript bridge to native api).

I completely agree that there is a performance difference. It is just the question if you need that performance boost or not. Probably good case would be games, but then again, there is Unity and other frameworks..

Maybe I should write a blog post after some more experience with phonegap:)

Comment by Julian Yap on May 22, 2012 at 11:55pm

Good points.

For point 8, you can't (yet) use the platform's payment services to pay for goods or services.  You can purchase certain things directly related to the app however such as subscriptions/virtual gold/app features, etc...

Comment by Daniel Leuck on May 15, 2012 at 5:43pm

Nice post Douglas! Another option is a hybrid app, which lets you leverage web content across devices but also gives you access to native capabilities. The new LinkedIn iPad app is a hybrid (primarily HTML5).

Sponsors

web design, web development, localization

© 2024   Created by Daniel Leuck.   Powered by

Badges  |  Report an Issue  |  Terms of Service