Weekly Musings 130

Welcome to this edition of Weekly Musings, where each week I share some thoughts about what’s caught my interest in the last seven days.

This time ’round, you’re getting a musing that started with an online interaction that I had in the recent past. The memory of which, in turn, was catalysed by a blog post I stumbled across shortly before writing this letter. Funny how that works …

And in the interests of transparency, a portion of this letter first appeared, in a slightly different form, at my blog Open Source Musings and appears here via a Creative Commons NC-BY-SA license.

With that out of the way, let’s get to this week’s musing.

On What Users Really Care About

A few years back, I wrote an article about a minimalist web browser called Min. A browser that’s developed with a framework called Electron. Let’s say that more than a few software developers, for a variety of reasons, strongly dislike Electron.

One of those developers responded to the article with the curt, terse comment Electron != minimalism! My equally curt response was Having few features *does* = minimalism!

That exchange illustrated the gulf between not just our perceptions of minimalism, but about what’s important to people who are software developers and those who aren’t.

Flash forward to 2021. To something I read, posted by Niels Leenheer, a week or three before putting fingers to keyboard to write this musing. Interestingly enough, something about Electron:

If you made a great app that is valuable to your users, they wouldn’t care about the underlying technologies. The only requirements are: “Does it do what I want? Does it solve my problem?”

Users only care that it works, not how it works or how it works.

Frameworks, programming languages, alla that kinda stuff isn’t what’s important to the average person using a computer, regardless of the operating system that lives on their hard drive. They don’t care that an application is written in C++ or with QT. They don’t care if the software they use lands on their computer via a native installer, a Flatpak, a Snap, an AppImage, or whatever the latest way of delivering software to the desktop is.

The average user doesn’t care about squeezing every last ounce of performance out of their software or their computer. They don’t care about going to extremes to optimize their memory use. They aren’t into tweaking their computer’s configuration within a millimetre of its life.

To be honest, more than a few computer users out there don’t know what any of that that is. They don’t care to know, either. As Niels Leenheer wrote, the average user just wants something that works.

So what do I mean by the average or ordinary user? That’s the majority of the people who use a computer daily. They’re intelligent (at least I hope they are!) but they’re not all that savvy about technology. One or more of those average users are probably people you know. Parents, siblings, close relatives, friends, even co-workers. They use computers but aren’t IT specialists.

They use word processors to write letters, to do school work, and the like. They use spreadsheets to track household accounts. They use email clients to … well, to send and receive email. They use graphics applications to view photos and, maybe, crop or resize them.

Chances they use, at most, about 20% of an application’s features. They don’t care about macros, IMAP, applying moire patterns, revision tracking, cross linking, scripting, and a host of other techie stuff. They want to carry out the tasks that they need to carry out. Nothing more.

To them, as I mentioned a few paragraphs back, the framework or programming language or whatever was used to create the software they use doesn’t matter. That software just needs to run and not bog them down while it’s running.

Admittedly, not everyone has the latest and greatest computer. One with a hyper-fast processor. One with huge amounts of memory, One with an expansive hard drive. Even so, most people running older hardware find it up to the task of what they need to do. And that’s a whole heck of a lot less than what so-called power users do.

Most people don’t have 32 applications running simultaneously. They don’t have 111 tabs open in a web browser. They aren’t flipping between four virtual desktops. They probably have, at most, two or three applications running at any one time.

As I’m tapping out this letter, I have have five applications running on my desktop. These words are coming to you from an editor written in Electron. I have a web browser with four tabs open and email client running, along with two bits of software that I installed using a technology called Flatpak.

Even though the laptop I’m using is over six years and a half years old and doesn’t have the most powerful specs (even for early 2015), I can’t say that my computer is performing horribly under that load. It’s actually running quite well.

The computers that most people use aren’t so-called production boxes that shoulder heavy loads and for which performance of both hardware and software is paramount. The software on their desktops isn’t enterprise grade. Milliseconds and microseconds aren’t crucial. Pinpoint use of memory isn’t essential or even expected.

Finely-tuned and optimized and water-tight (at least digitally) software is nice, but a lot of the elegance of that kind of software is missed by people using it. As I keep pointing out in this musing, most folks just want something that works and which lets them do what want and need to do.

Something to think about, isn’t it?

Scott Nesbitt