In addition to the debate between responsive web design (RWD) and dedicated mobile websites, which I discussed last week, another great mobile debate is the choice between developing a mobile web application/site or a native application. As with all great debates, this is not an either/or decision. Just like the RWD versus dedicated mobile website issue, it requires analyzing the desired goals and outcomes and choosing the right tool for the job.
Why do we have native apps?
In order to understand and frame the debate, it’s important to understand how we got here by understanding why mobile apps exist.
When the original iPhone was launched in 2007, native apps were not part of the plan. The original plan was to have all third party applications run through the browser over the web. Unfortunately, there were a number of issues that developers ran into when they tried to write feature-rich, web-based mobile applications:
- Network speed
In 2007, wireless providers were still filling out their 3G footprints and improving capacity. For example, AT&T’s network went through a lot of growing pains, which I’m sure early iPhone users still painfully remember. Network limitations made access to apps difficult and had a large impact on performance.
- Web features and capabilities
Web technologies such as HTML5 and CSS3 were still in their infancy at that time and not fully baked nor supported consistently across mobile browsers. Plus, access to phone hardware and offline capability, didn’t exist or weren’t ready for prime-time.
- Access to hardware and operating system
In order to maintain security, the mobile phone and OS manufacturers closed off access to the hardware and operating system features.
- Screen sizes
Native apps were the best way to make use of the small of amount of available screen real estate on those first smartphones.
So why build for the mobile web?
If native apps have these inherent advantages, why would one want to build a mobile website or mobile web application? Well, a lot of the limitations that native apps addressed have been resolved over the last five years. Carriers have upgraded their networks to be more reliable, offer better coverage, and, with LTE, provide much higher speeds. Web standards have evolved and are supported across mobile platforms, and they continue to get better every day. Some of the latest advancements in the standards are providing developers with better access to hardware features such as the camera, accelerator and gyroscope, and graphics capabilities. Screens have also evolved, and while screen real estate is still at a premium in mobile, the average screen size has grown over an inch from 3.5″ to close to 5″ with high definition resolutions of up to 1080p on some models.
With these limitations solved, there are some inherent advantages that the mobile web has over native applications:
Instead of having to sift through the native app stores, discovering a mobile website or application can be done using standard web searches, which consumers are very familiar with. Common SEO techniques and practices can be used to make sure your mobile web presence ranks properly, and you aren’t subjected to the promotion practices and policies of the controlled and curated app stores. In addition, as more people use Siri, Google Now, and other voice search systems, which are geared toward crawling the web, there’s a better chance that someone will find your mobile web presence through a voice search.
- APIs and data mashups
Using web standards and open APIs, it can be easier to create richer applications by sharing data via web services and to migrate between devices and platforms. Native applications, on the other hand, are more likely to store data locally, which makes it harder to interact with other services and to upgrade or change between devices and platforms, creating a lock-in effect for the end user.
- Cost and efficiency
Since HTML5 is well supported across mobile browsers, mobile web solutions can be built once and immediately distributed across all platforms – iOS, Android, Windows Phone and BlackBerry. There is no need to go through the cost of developing for each mobile platform or of waiting for the approval of each app store. Also, if new platforms emerge, such as FireFox OS or Ubuntu, there’s a much better chance that your application will be available on these platforms with little or no change required.
So does the general public care?
The answer is no. The user really doesn’t care whether the app is web or native. They just want to access information or complete their task in the most efficient way possible. The people who care most about the mobile web versus native debate are the hardware/software manufacturers and developers, each of which have a vested interest in the discussion. Therefore, depending on what is best for their well being, that is the side that they are likely to push.
How should you decide what to do?
To get you started, I would suggest looking at the four primary activities that people perform online as outlined in a 2012 Pew Research Report:
- Accessing information
If the primary goal of your mobile presence is information access, then a web-based strategy works best. The primary reason is for discovery and updating. You’ll want to make sure that people can easily find and access your latest and greatest content without having to worry about it being buried in an app store.
If your site is geared toward learning, I would recommend a mobile web first strategy since it will be the easiest way for people to find and access your information. However, if you’re doing a lot of static course-based material, such as a university course, a native app may allow you to create a more specific, richer learning interface using a dedicated piece of hardware, such as a tablet.
Typically, this will be better in a native app interface because you can get deeper access to the hardware and operating system to better utilize the graphics, video and audio capabilities of the device. It will also be easier to monetize your entertainment or gaming app through the app store than it will be over the web since users are generally conditioned to pay for this type of content. However, for simpler projects where monetization is not important, a web-based approach may work better.
- Content Creation
For creating content, I’d recommend a native app. Again, there may be some web-based tools, but content creation can be very challenging on a mobile device. Therefore, it is recommended that you develop a native app that makes usage of the guidelines and input methods of the operating system and the hardware.
Overall, the best advice I can give is to determine why users want to access your content on a mobile device, what actions or goals the user wants to accomplish, and what goals and outcomes you want to achieve from your mobile presence (visits, leads, sales, etc). Then decide which platform, web or native, works best.
The simplest answer to the web versus native debate is that you should always start out designing for the mobile web, since you have control over that presence and it is where the majority of people will start their search. Then you can evaluate whether a native app will help you to further achieve your mobile goals.
However, there are a few exceptions to the mobile web first rule. If you fall into one of the following categories, I would suggest going native as your primary mobile presence:
- High performance gaming
HTML5 graphics capability has come a long way, but to get the best performance from your game, you’ll want direct access to a phone’s graphics hardware and any acceleration capabilities, which are more reliably accessed through a native application.
- High engagement/repetitive-task based apps
If your application is something a user will make use of everyday, or multiple times a day, then a native app is the way to go. The most compelling reason is that native applications support push notifications, even when the app isn’t running. This allows you to alert users to new messages, send them reminders, or otherwise keep them engaged.
- Enterprise applications
If you’re building a dedicated application that will be used solely by your business and its employees on a daily basis, then a native app would make the most sense. It will be easier to justify the investment in the native technology, it will provide your IT with control over the hardware, and you’ll be able to control the user experience. You will also get the benefit of being able to design a more secure application.
No matter what your specific case is, be comforted in knowing that the mobile web is not going away anytime soon, and neither are native apps. Both have there place in mobile and will continue to co-exist over the long-term. When deciding what to do, identify what your goals and desired outcomes are, and then choose the right tool for the job.
And if you need help, feel free to contact us. That’s what we’re here for!