Developing mobile apps? Why wouldn’t you? We live in an increasingly mobile-centric world. As of 2020, Americans spend more than half of their time online using mobile devices instead of desktops, and 63% of all online traffic in the United States comes from mobile. The numbers are likely even starker in countries where many individuals don’t have PCs at all, and do their computing using only mobile devices.
Reading statistics like these, it’s easy to assume--as some observers have--that the desktop is dying and the only thing that will matter in the future is mobile platforms.
Indeed, judging by the disparities between mobile and desktop apps these days, it appears some developers have already concluded that desktop development is virtually pointless, and that all their efforts should be poured into developing mobile apps.
To my mind, that’s a huge mistake. Desktop computers are alive and well. Developers who neglect them in favor of a mobile-first (or mobile-only) strategy are going to isolate and anger many of their users.
The Sad State of the Desktop App
Most modern Internet users need not look far to find examples of desktop apps (by which I mean any application that is designed to be used from a PC, whether it runs natively or is Web-based) that appear to be neglected by their developers.
One example that irks me personally is Google Hangouts, a text-, audio- and video-chatting app that comes in both mobile and desktop PC versions. When I use Hangouts on my Android phone, I enjoy a superb user experience. The app is highly responsive and has an easy-to-use interface that gives me quick access to all of the platform’s features.
In contrast, the desktop version of Hangouts feels like a half-baked programming experiment that a computer science student tried to build during summer vacation. It lacks critical features that are available in the mobile app, such as the ability to start text chats with more than one contact, or even support for looking up a contact in order to start a conversation.
I find the latter issue is particularly bothersome because it means that I have to enter phone numbers manually if I want to call or text someone. I’m shocked that it’s 2020 and software still expects me to remember phone numbers--especially when it’s part of a platform (Google’s) that maintains a directory of virtually everyone I have ever called or emailed in my life.
As another example of the neglect of the desktop by developers, I’d point to the experience of migrating from one device to another. Both Android and iOS offer extremely streamlined, user-friendly experiences for migrating data, apps and settings from one device to another. By clicking a few buttons and entering a little information, virtually everything moves automatically from one device to the other, often without even having to connect the devices together physically.
Compare that to the process of migrating from one desktop PC to another. Although there are tools available to help, the process typically involves a lot of manual backup and transfer of data, as well as manual reconfiguration of settings on the new device. Desktops have been around for decades, and yet developers have yet to invest the effort in implementing migration solutions that are even half as user-friendly or automated as those that have become available for smartphones during the past 10 years or so.
These are just a couple of anecdotes, of course. There may be some examples out there of desktop apps that are better than their mobile counterparts. Yet, by and large, I think you’d be hard-pressed to make the case that the user experience on the desktop is on a par with mobile these days.
Why Have Developers Gone Mobile-First?
For the past several years, developers (and interface designers) have been encouraged to adopt a “mobile-first” strategy, which means giving priority to the mobile versions of their apps (or, in some cases, not even bothering to offer versions for platforms other than mobile).
To be fair, this is not an illogical thing to do. As noted above, mobile market share has eclipsed that of the desktop, leading many developers to conclude that mobile users deserve the bulk of their attention. At the same time, the emergence of a variety of mobile development frameworks, like React Native and Flutter, has made it easy to go mobile-first. And the ever-increasing computing capacity of mobile devices means that smartphones and the like can now run resource-intensive applications just as well as most desktop PCs.
Why Developing Mobile Apps Is Just Part of the Picture
Still, I contend that a mobile-first strategy that neglects desktop apps is a mistake, for several reasons.
First, although mobile market share has increased, it’s hardly at the point where only a small minority of users are on desktops. Developers shouldn’t ignore the more than 1.5 billion desktops who are still out there.
Second, some things just work better on PCs than on mobile platforms, and desktop apps should leverage those strengths. For example, there is no substitute for a good, old-fashioned keyboard when it comes to typing (which is, by the way, why I frequently use the desktop version of Google Hangouts to send texts even though it lacks a lot of functionality). If you abandon desktop platforms, you will frustrate users who just aren’t comfortable working within the physical limitations of mobile environments.
A third issue centers on business users. Although I can’t find data to substantiate this claim, I highly suspect that desktops still prevail in the workplace, where most employees still rely primarily on desktops for doing their jobs. Thus, if developers neglect the desktop, they risk losing business users, and relegating their apps to use only by consumers.
Note, too, that going mobile-first often requires developers to learn new frameworks or sometimes even new programming languages. While I’m not opposed to trying something new, there’s an argument to be made for sticking with the tried-and-true programming strategies that developers already know (especially if those strategies can be extended to support desktop and mobile at the same time), rather than learning everything again in order to cater to mobile.
Finally, many mobile users are also desktop users; it’s not as if a majority of users are only ever using the mobile version of an app. And if you give your users a bad experience on the desktop version of your app, you are likely to turn them off to your mobile version, too. You’ll end up undercutting all the work you put into mobile precisely because you neglected the desktop.
I’d suggest an alternative to mobile-first development: Seek parity between desktops and mobile.
In other words, instead of prioritizing mobile and then building a desktop app after the fact, why not give both platforms equal love? That seems like a much healthier approach than neglecting desktop users just because mobile now accounts for the majority of web use.
Maybe I’m just a fuddy-duddy old millennial, or a rare holdout in a world where desktops are indeed dying. If in 10 years no one is using desktops anymore, I’ll admit I was wrong. But, for now, I’d love to see developers think more critically about the mobile-first obsession that has convulsed the programming world over the past several years--and recognize that desktop users still matter.