In part 1 of this series we put forward that developing a Mobile App is not always the right way to go. We are extending that by looking at the top 3 benefits of developing a Mobile App versus the top 3 benefits of developing a Responsive Web Application. I know the title of the blog says pros and cons but the benefits of one are typically cons of the other type of app and we want to keep it positive!
What is Responsive?
Whilst everyone knows what a Mobile App is, I thought it would be useful to spend a few minutes talking about what responsive means for a Web Application. Most people have heard of the term and many will have seen it in action but what is actually happening?
In its simplest form a responsive site or application is one that is designed to work on a number of screen sizes. Take Bootstrap as an example, it targets 4 screen sizes that can loosely be thought of as a desktop monitor, small laptop screen, tablet device and mobile. There are two components to this. First the user interface is changed based on the number of pixels (typically width only). You can try this out on this blog if you are using a laptop or desktop, just drag the browser from full screen to smaller widths and you will see changes happen like the sidebar disappearing, font sizes changing and the navigation moving to a dropdown etc.
The other component is thinking about interactivity of the site. This is especially true of inputs which range from the traditional mouse and keyboard to touch only devices. So you don’t want to have something that requires drag and drop (easy with a mouse, harder with a mobile device) for example. Typically you would offer features that are good for all devices, even if that means two features that the user can choose from. Most people don’t think of this as responsive design (technically they are right) but in Web Applications designed for a range of devices it is vital though.
The Pros of Responsive Web Applications
- This is the big one and is actually made up of a number of factors. Probably most obvious to everyone is the fact that it is one set of code for all devices. You don’t need an Apple app, an Android App, a Windows Mobile App (actually you probably don’t need that anyway!) and a web based app. Although the Responsive Web App is going to be larger (in terms of number of lines of code) than an individual app for any one device, it will be much smaller than multiple individual apps. As you would expect, there is a direct correlation between number of lines of code and the cost of development. Less code also means less bugs and less maintenance.
- The other big cost reducing factor, especially in new applications, is the speed at which they can be deployed. When developing new applications or even new features on current applications it is very important to get into the loop of coding -> release to test -> testing -> feedback -> make changes to the code. Just the fact that Mobile Apps need to be approved by the app marketplace they are being launched on adds in delay in that loop. Even on quite small apps that loop can be happening very frequently so those delays really add up on Mobile App development.
- This could have almost been part of the cost benefit above but it deserves its own point. With a Web Application you control more of the stack (geek term for the hardware and software) and you control when those are upgraded. In fact the only thing not in your control is probably the browser used to interface with the application. With Mobile Apps you don’t control any of the stack apart from the software you write. The hardware and operating system are both in the control of the manufacturer. It is even more complicated in the Android ecosystem where you have a large number of hardware manufacturers most of whom modify android to their own devices.
- Another easy to understand benefit. All devices with access to the internet can have access to a Web Application. It is estimated by some that the reach of a website is three times that of a Mobile App. This also has knock on benefits of being easier to discover, easier for Search Engine Optimisation (SEO) and for your users to share the Web Application (they don’t need to know the device of the people they are sharing it with).
The Pros of Mobile Applications
- Well written code for mobile devices is typically smaller in size and performs better than the one size fits all approach of a Web Application. The other benefit is that performance does not have to be tied to that of the user’s internet connection, in fact Mobile Apps can be designed to function offline, or function offline until a suitable internet connection is established.
- Mobile Applications can be much more deeply integrated with the device they are running on. They have access to as many of the phones features as Apple and Android see fit to provide. The latest versions of HTML5 have narrowed some of this advantage (for example Web Applications can be programmed to get a location of the device and have access to the microphone and camera etc) but there are still many that it cannot control (such as the accelerometers, finger print scanners and notifications etc).
- If you ignore the fact that a user can choose to delete your Mobile App there is some research that shows that users spend much longer using Mobile Apps than their alternative Web Applications. That makes a lot of sense, first a Mobile App can send notifications to the user, even when the App is “closed” to remind them about the App. Also there is the fact that they have a button somewhere on the phone for that App, this greatly increases the chances of a user opening the App in passing.
Which one should you choose?
So three compelling pros for each, which should you choose? There is no easy answer, it has to be a decision made on a case by case basis. In fact, in most cases both may be the right answer. Lots of apps have lots of different users, for example the end users might want or need a Mobile but your customer support might be working on computers and need a Web Application.
One bit of advice we can offer, if you do think you need both, then the cost and reach benefits of Web Applications normally make that the logical place to start.