Often when we are approached about building mobile apps for iOS and Android devices, the client is not entirely clear on why they would opt for device-specific applications versus a web application that is device-agnostic. Here we are going to compare and contrast the two approaches, and take a look at the implications of either choice.
We will start with what both approaches do well:
Apps and Web Apps – We’ve Never Had It So Good
Let’s be clear: there are real reasons to use mobile apps over web apps and vise versa, but before we get too far, let’s take a moment and acknowledge that we’ve got it pretty good these days.
The modern web handles java and scripting, as well as sophisticated web services in a way that mimics many of the experiences we’ve grown accustomed to on our local PCs and laptops. It’s not even news that the modern web is dynamic and capable of incredible experiences every bit as vivid and nearly as complex and fast as what a local machine has been doing for decades.
Our Fort Collins software developers have stayed on top of software for the web, as well as the latest innovations with the Android and iOS hardware/software platforms.
And while mobile apps must be built for specific platforms, there is no denying the power of the computers we now carry in our pockets. Mobile applications are actually “local PC” applications, in our old understanding of these different platforms. As such they are limited only by the power and capabilities of the processor and memory limitations of the devices on which they reside. All that’s changed is our big, old desktop PC’s now fit in our pockets, and touch screens eliminated the mouse and keyboard dynamic that had us shackled to our desks, or our laps!
The future is indeed now.
Mobile Apps – The Pros and Cons
If your clients need their software to travel with them from location to location, a logical choice is often the mobile device they’ll have with them at all times. The advantages of having an application directly on the phone or tablet of your regular users are fairly self-evident:
Advantages of Mobile Apps
As portable as your phone or tablet. This is the crux isn’t it? All that power that we carry around everywhere these days. Your users can access your application from their device anywhere on earth. Let me add, even beyond earth! Your mobile app could definitely be on someone’s phone on the first colony seed ships we send off to the stars. Hopefully you are getting the point that the platforms are portable.
Performance not dependent on internet connection. For now, let’s stick with non-internet-dependent apps. There are numerous apps on the phone or tablet that still use an internet connection for all kinds of things, but the beauty of a well-made mobile app is the functions it can have even when you aren’t connected to the web. Even web-connected apps often have an “offline” mode that allows for certain levels of productivity despite being disconnected.
Mobile devices are ubiquitous. Build it twice (iOS and Android) and your app will likely work on tens of millions of devices. We are also talking about healthy app ecosystems where consumers have bought in – they get the app concept, and happily download all kinds of apps to extend their devices.
Take advantage of mobile hardware. Depending on the purpose of your app, mobile apps unlock the capabilities of the devices they are running on. Need a photo? No problem? Want to geo-locate the user? Simple! Taking advantage of local hardware is mostly the purview of platform-specific applications, built using language with which hardware layer of the device can interface.
At the same time, mobile apps are not always the perfect solution they seem at first blush:
Disadvantages of Mobile Apps
Hardware platforms change often. Phone users change hardware every two years at best.Do you have a brilliant idea that uses the latest innovation in the latest mobile phones? Sounds exciting, but I have some bad news. By attaching your mobile app to the latest innovation, you are eliminating tens of millions of potential users of your app. Maybe you can live with this. Maybe your idea is so great, capturing the early market is all it will take for you to dominate the space. But maybe, with some tweaks, you don’t actually need the absolute latest tech. Maybe by making your app work with the previous generation of tech, you exponentially increase your potential user base. Food for thought…in any event, the rapid churn of tech innovation makes this more of a challenge.
Internet-dependent mobile apps are chained to the web. Mobile apps that use the internet for some of their features and functions are at the mercy of their connectivity, just like web applications. This makes them no worse than web application, which certainly have the same limitation, but it also means they are no better at solving the local versus web data sharing models that rely on a connection to the internet.
Build it twice? Really? While there are tools that can make the transporting of mobile apps across device platforms easier than a true re-write, these are hit or miss in their ability to transport truly complex, custom code across devices. Here, the Achilles’ heel is the hardware abstraction. If you have a lot of reliance on the device hardware for images or gyro-positioning, you are likely going to have to write an interface module more than twice to get it to work and be reasonably backward and forward-compatible. Anyone who has built an application even once knows that there is an enormous amount of effort that goes into the process. Nearly duplicating everything to accommodate iOS and Android can be a brutal prospect on budgets and schedules.
Web Applications – The Pros and Cons
So, is there a case to be made for sticking with tried and true web applications? We say this is a resounding yes!
Advantages of Web Applications
Hardware Agnostic = Build Once. This is a big deal. Not only is programming a single solution the ideal, from a developer’s perspective, but hardware agnosticism comes with its own real power. Think about it: there were approximately 100 million phone browsers active in the US in 2015. While that continues to be a growing number, the total number of active machines with browsers is nearly 2 billion. PCs, laptops, phones, tablets, gaming consoles, refrigerators…web applications can be designed to work on nearly every device that can browse the web. That’s a very big deal.
HTML and media queries make design screen-sized-based – as it should be. No one pretends making great responsive designs is easy. You want to avoid bad responsive design like the plague. But when your designer starts thinking in terms of screen size, and your content creators don’t have to, you have arrived at our current modern web standards. Separate content from layout, and you future-proof your application. Next year’s phone may have special hardware requirements for mobile app developers, but web applications are largely unaffected by this churn; web standards are a bit tighter, leading to far more compatibility. Since the size of the screen is ultimately the only thing we can’t control as developers, this should be the point of design flexibility; we account for different screens independent of device and we win the web!
Data Centralization is the holy grail. Especially for web applications, the point is usually a centralized location for the data and functions of the tools of the team. By having everyone access and update a single data repository, users can manage their data across teams in real-time. No chance of someone’s phone having a critical piece of information that hasn’t made it back to the central database. This design “constraint” can be precisely what business users are looking for to make sure their data remains secure and centralized at all times.
Not that web applications are perfect in all cases. There are distinct disadvantages to keep in mind:
Disadvantages of Web Applications
Beholden to internet connection quality. As we’ve already mentioned, the quality of your internet connection can impact mobile apps and web applications, but web applications in particular can really suffer from poor connectivity. The very functions of the web application can be crippled by a marginal connection. If there are situations where users of the application will be out of internet connectivity, you are guaranteeing some data lapse by having a centralize web hub.
Much trickier to take advantage of machine hardware. There have been some great strides here, including browsers finally being able to access files on phones the same way they can on PC’s. Even some geo-location functionality is easier today than in the past. But for the most part, by using the web browser, you have removed multiple ties to the hardware layer of your devices. Really, this is the point. This is what makes web applications more universally compatible. But it also means that you cannot expect to really integrate with machine hardware, where the local browser is often not designed to do anything like that.
Centralization of data and functions can be risky. We’ve already described a situation where lack of internet connectivity created a data lapse. Now imagine that your entire user base loses access to the data source. This can happen when there are web server hardware failures, configuration problems, and even hackers disrupting the functions of a web application. As I often say when talking about security: this is not hypothetical. Ask any web master about their web server environment today, and you’ll hear stories to make the color drain from your face. While there are many ways to mitigate the vulnerability of centralized functions (regular backups, redundant servers ready to step in during a failure, etc) there is no getting around the idea that failures nearer the “core” of your data are scarier, high-priority events.
So what is the right answer? As usual, it depends. Does your particular idea or business model predicate the use of one strategy or another by default? Often a project can be done either way, with some of these pros and cons weighing on the details of each project. Hybrid approaches are also possible, where everyone connects to a central hub, but there are also mobile apps that can store activities and data locally for later synchronization with the central hub. This best-of-both-worlds approach suits several of our clients, while others tend to still lean toward the universality of web applications running in browsers.
Make sure your developers are ready to discuss your particular scenario, and come up with a sensible strategy that accounts for the pros and cons highlighted here.
Bill lives and plays in Fort Collins, Colorado.
After a fulfilling career for a Fortune 50 company, Bill founded Colorado Web Design in 2012 with a passion for creative digital solutions for business.
Bill likes to manage a wide variety of projects and tasks for his clients in the digital space. The creative elements of website design, application design, and marketing are enough to keep anyone busy and engaged, but wiping the slate clean over and over at the start of new projects comes with its own challenges.
"I like to start with really good client communication sessions. The rest is easy if you get started in the right way."
He plays tennis, bikes, and hikes and then undoes all of that with too much delicious food and TV watching.
We've been building websites for Colorado businesses since 2002. We are a small team of dedicated individuals who love the challenge of each new marketing project. We live and play in northern Colorado.