An appetite for (enterprise) apps: best practices for building an app that'll satisfy users

null

July 10, 2018 marked the milestone 10th anniversary of the App Store, which made its debut in Apple’s second-generation iPhone 3G, the first to support mobile apps. It boasted a total of 45,980 apps, a number that has grown to approximately 2,388,000 in 2018. Projections for total app downloads are a stunning 352 billion by 2021 – up from 197 billion in 2017. Clearly the appetite for new apps hasn’t slowed and continues increasing at a lightning pace.   

Contrary to what users might believe, not all apps are created equal and many of the differences are due to the development method used. Historically, developers have worked with three development methods for apps, each with their own set of pros and cons: web, hybrid, and native apps. In recent years, progressive web apps (PWAs) have emerged to answer the challenge organizations face when their requirements call for developing multiple apps that are costly and a strain on resources. An ongoing debate around the advantages of each method is alive and well and this piece highlights the different approaches and pros and cons when considering an app.

The Big Three

Much like a highly optimized mobile website, a web app is stored on a remote server and delivered to your device via an internet browser like Chrome, Firefox or Safari. While web apps in many ways may look and feel like true applications, they are not a software application in the traditional sense and are generally not available in Apple’s App Store. For our purposes, this piece looks more closely at true mobile applications.

Hybrid apps were developed to blur the lines between native and web apps. Though they can be described as single-page native apps, hybrid apps feature the good and bad of both native apps and web apps. The top two benefits of hybrid apps are faster development and initial speed to market, and cross-platform affinity. Most of the development is done with web technologies, creating very little native coding. Hybrid apps are developed using web development skills that are second nature for many engineers and like native apps, have offline capabilities. These apps can either be published apps or stopgap measures to fill the store while a set of native apps are being built. Typically, hybrid apps provide more advanced features than web apps, with the limitations of the host OS. 

But hybrid apps are built using standard web technologies, resulting in performance, speed and UI experience limitations, like a web app. Hybrid apps run on the platform’s web engine, creating a layer between the user and the application. This layer will cause hybrid app performance issues, make the app less flexible, and reduce user experience. In many cases, developers invest less initial time developing a hybrid app but more time tweaking it because of inferior UI and performance.

Native apps are usually built using development tools that allow the apps to be written, debugged and tested all in the same place, resulting in faster development. These apps are typically the ones that come installed on your device when you first fire it up, and can later be added via the device’s app store, including your phone app. That app needs to be fast, responsive, flexible and use several internal hardware components of the device, which makes native the only choice for development.  

But even though native apps are not bound by restrictions of limited functionality, they do have some development drawbacks. They can be time-consuming to create and are often more expensive because you have to maintain multiple code bases and manage the ever-changing iOS and Android operating systems. If speed to market and cost savings are priorities, a native app might not be best, although Visual development tools help alleviate many challenges associated with building, testing, distributing and maintaining native apps by automating these tasks. It allows developers to build and design native apps without having to write all of the UI and business logic code from scratch.   

Native apps are full of major advantages such as high performance and speed. The can access and use all available hardware resources a device has to offer, improving performance dramatically. They can also access the latest native APIs, critical for creating robust user experiences. There is a more unified look and feel to native apps that are built for the same platform. With offline access, native apps can be used anywhere at any time after they’re installed on the device. Some crucial features available only to native apps are the use of multi-touch interactions like pinch and double taps, the super fast graphics API that the native platform provides, and all the built-in components like GPS, camera and address book. In general, native applications are not bound by restrictions of limited functionality so users get more value and generally use the apps more frequently. They are also updated regularly by the operating system to meet changing compliance standards.

Introducing Progressive Web Apps

Progressive web apps (PWAs) were introduced in 2015, adding an option for developers looking to merge the best of what apps offer (speed), and the best of the mobile web (easy access by anyone). They function much like a native app and can house many of the same features. PWAs have various benefits, including better page load times, enabled push notifications and an impact on Google page-rank.

PWAs may be the right choice in some cases but to date, PWAs do not offer the same level of functionality as a native app, nor do they support the experience customers have come to expect – a significant disparity. 

Why Native is the Best Choice

So what’s a developer to do if they’re constrained by time and budget? Native enables feature-rich, higher performance and functionality while PWAs are still lighter versions of native experiences. With user experience at the forefront of every organization’s priorities, native apps are the best solution. They ensure the most robust app experience and expected mobile functionality, like phone and sms integration, calendar, alarms, contacts and camera. Even GPS is a native function and a basic expectation for users. 

Despite other options, native remains the first choice for developers. Native apps are faster and more efficient, as they work in tandem with the mobile device they are developed for. Quality is assured since they’re exclusively accessed via online app stores. Native app development allows developers to better control UX, performance and functionality when compared to the potentials of PWAs. But at the end of the day, it’s not about which development method to use, or which one is better. Rather, it’s about creating experiences that consumers will adopt. This is done by embracing tools beyond native and hybrid development and adopting visual development to reduce the complexity of a historically tedious and time-consuming process. 

Mike Dunn, career CTO and member of the board of directors at Dropsource 

Image Credit: Syda Productions / Shutterstock