Ease of use

I watched a lousy YouTube video, and one of the comments was stupid enough that it prompted me to write an article about it

Recently (as of this writing (obviously)), I decided to reinstall FreeBSD and make some notes about the process. As I usually do when I'm doing something that I haven't done in a while, I decided to read some FreeBSD books and watch some FreeBSD videos as a refresher on some of the things that I had either forgotten or things that had changed since the last time I used it. This isn't my first go-around with FreeBSD, so I kind of knew what to expect.

But, there was a time not too long ago whre it was my first go-around with it. I didn't really know what I was doing1. I dove in anyway, read a lot, failed a lot, read some more, tried a lot of stuff out, and I'm now in the place where I can use FreeBSD well enough to get done the things that I generally want to do on a day-to-day basis. I guess you could say that I've graduated from neophyte to user. There's a lot more I could learn, and a lot more that I probably will learn. I enjoy the learning process. Learning how to do a thing, then doing that thing is a great feeling, and I highly recommend it.

This should be the normal and expected outcome. You want to use a thing, so you learn how to use a thing, then you use the thing, then you (maybe, if you want) teach others how to use the thing, too. But, with computers, a weird thing happens2. A lot of people will hear or read about another operating system that they can put on their computer, and it isn't Windows. They may even install it, either in a virtual machine or on an old piece of crap computer that they have laying around (like a 20 year old laptop with a failing hard drive and 1GB of RAM). It's easy to be successful doing that with a lot of Linux distributions, these days, especially if you stick to some of the mainstream distributions. They have slick installers that walk you through the process and take care of the heavy lifting of the install process for you.

Usually they'll poke around at it a little bit, maybe even discovering that there are preinstalled programs like Firefox and maybe even Chromium that look basically like Firefox and Chrome that they're used to, and they can browse the web... and that's about all. They find out that they can't run the Windows (or, yes, Mac) applications that they want, so they don't see the point of using anything else. Or they're just confused because there are dozens of different desktop environments that they can pick from and they're expected to customize it to fit their needs and wants (which, to be fair can be tough when you're starting out with a new operating system and you don't really know what your needs and wants are yet).

In short, they don't want to learn.

This was crystallized for me in the comments to a lousy YouTube video where someone was yammering on about FreeBSD, and one of the commenters came up with this gem of a rambly comment:

"The SUPER REAL PROBLEM of FreeBSD Unix is that it has no 'USER FRIENDLY GUI PROGRAM' to link it with the ORDINARY PEOPLE WHO ARE NON-COMPUTER PEOPLE OF THE outside world and so you have to make it so simple-easy to use by non-computer people, first time computer users, and people too timid and hesitant to use it. You FrreBSD Unix People need to cooperate with each other to create that necessary 'super user friendly GUI program' so that even CHILD CAN UNDERSTAND ON HOW TO USE IT WITHOUT FEAR. YES, WITHOUT FEAR OF MAKING A MISTAKE, ESPECIALLY IF THAT CHILD IS A FIRST TIME COMPUTER USER. If you can achieve to meet that challenge successfully then FreeBSD Unix can become as common as microsoft which dominates 99% of the world's market. SO IT IS BACK TO THE ENGINEERING DRAWING BOARDS PEOPLE! MAKE IT USER FRIENDLY TO ALL ORDINARY PEOPLE, TO NON-COMPUTER PEOPLE, TO NON-COMPUTER EXPERTS, TO FIRST TIME COMPUTER USERS. IN SHORT YOU MUST 'DE-PROFESSIONALIZE FREE-BSD UNIX' TO BECOME USER FRIENDLY TO NON-COMPUTER PROFESSIONALS AND EXPERTS. MAKE IT USER-FRIENDLY TO THE COMMON MASSES OF THE COMMON PEOPLE. Because if you allow your pride and ego to get in the way, then FreeBSD Unix will be forever tied down to a small group of people until it is overwhelm into EXTINCTION by Microsoft and by others." --darthvader5300

There's a lot going on here, and a lot of it is flat-out wrong.

It's not expressed in darthvader5300's screed, but it's probably safe to assume that the comment is coming from someone who has been using a Windows-based computer for many years, probably more than a decade. It's a common fallacy to think about how easy it is to do something you're good at, that you've been doing for years or decades. When, in reality, it took you years to pick up those skills and by practicing with them every day you were able to get to the point where those things are 'easy'. Things like learning your native language (learning a language is very difficult, but most people take years and years of practice to go from baby talk to simple words and phrases to self-important screeds on the Internet), and it's the same with learning Windows. There's nothing inherently intuitive about how Windows works. Most people have just been using it for so long that they confuse their expertise (such as it is) for ease of use and intuitiveness. They forget all the struggles they had when they first started using it.

An analogy I'd like to use would be to compare a computer's operating system to a toolbox. An average toolbox might contain a variety of tools that can be used in various ways to accomplish a variety of tasks. How many of the tools you get familiar with depends on the types of things that you do, and each of the tools you use might have functions that you never use, or you might use them all (and you might even create tools or new uses for old tools).

Then one day you decide to try someone else's toolbox because you've heard things about it that interested you. Some of the tools look similar to the tools you've used before, but some of them don't behave like you expect, and the rest of them don't have immediately obvious uses. In fact, you don't even know where most of thetools are because the toolbox is completely unlike your old one, and things aren't in the same places, because the places are different.

A reasonable thing to do might be to read up on the new toolbox. Try to find out where the things are and how things are laid out. Maybe read the manual that came with the toolbox to start trying to get a handle on where things are and what some of the included tools do. Maybe also asking someone who's more experienced with this toolbox and the tools how these tools are supposed to be used. And ask for some guidance.

An unreasonable thing to do would be to start yelling about how these tools are different and that they'll never be as widely-used as the other tools and toolboxes that everyone else uses until every tool in the box is so simple to use that a child who has never even seen a toolbox before can immediately walk up to the box, divine the correct use for every tool in the box, and then use it perfectly without any instruction.

But that sentiment comes up a lot all over the place when we're talking about computers. A lot of people, from computer programmers to computer users, seem to think that computers are somehow unwelcoming to new users, and that that keeps them from adopting anything but Windows (and in some rare cases, Mac OS). They think that if they can just make installing the operating system easy enough that everything else will just kind of happen and magically, the potential new user will be converted from a mere Windows user to a WhateverOS person.

But that doesn't happen3.

What tends to happen, from what I can divine from my own experience and by reading way too many comments on the Internet, is that it doesn't matter how easy the installers are to use, and it doesn't matter how pretty the GUI is. A new user to WhateverOS will get dumped into a pretty desktop with no idea what they can do, and no understanding of how anything works, and expect that they can just stumble their way around and figure everything out. That can work, sure, but it will take a very long time to get much done that way. We're talking years, at minimum, to really get comfortable, and even then, the user will likely have lots of gaps in their knowledge. Most users don't have that kind of patience. They expect to be immediatly up-to-speed and get frustrated with the computer knowledge they've accumulated is, essentially, worthless in this new environment.

The other thing that tends to happen is that humans are pretty fantastic at underestimating how long it will take for them to learn how to do something. Even if they go into this new endeavor full well knowing that they're going to have to learn how to use it from scratch, they're going to be frustrated at their apparent lack of progress and retreat back to what they know, dismissing WhateverOS as 'too hard' or 'impenetrable' or just plain 'unfriendly' to new users.

And I don't want anyone to get me wrong here. There's nothing wrong with making things welcoming to new users or making something discoverable for users who are motivated enough to learn on their own. Something like an 'easy mode' of sorts.

But, like a lot of things in life, learning how to use your computer, its operating system, and the programs you install is on you. It's your responsibility to figure out how to do things, it's your responsibility to figure out where to go to ask for help, and it's your responsibility to learn. If I'm in a forum or an IRC channel or even out in meatspace somewhere and someone asks me a question about how to do something, I'll try to help if I can, but it's your job as a user to at least attempt to learn the information you're given.

That means that reading manuals is required. That means that trying to do something and failing is expected until you finally either get it right or give up.

That also means that developers of computer operating systems that take some of their limited developer's resources and use them to create comprehensive documentation expect that the documentation might get read once in a while. Having to learn how to use something before you can use it does not mean that that thing is hard to use. For example: learning how to use an ice cream maker is not hard, but it's not really something you could figure out without reading the manual or doing some research beforehand. Nobody I know of would balk at that. And, yet, if you suggest that someone should read a manual before using something as complicated as a computer operating system? Then they treat you as if you'd lost your mind.

I guess the point to all of this is, the next time that you (or someone you know) dismisses something as either 'too hard' or 'not friendly', the quesion to ask is this: is it hard to use because it's actually hard to use, or is it hard to use because I don't know how to use itI guess the point to all of this is, the next time that you (or someone you know) dismisses something as either 'too hard' or 'not friendly', the quesion to ask is this: is it hard to use because it's actually hard to use, or is it hard to use because I don't know how to use it?

But computer operating systems are complicated and developer resources are limited. I'd even say that in general, the more niche a computer operating system is, the more limited developer resources are. And the more restrained developer resources are the more likely it is that they're going to spend time on the parts of the operating system that needs the most attention. That means that time is probably going to be spent on implementing new features, fixing bugs, and, if time permits, writing documentation. Trying to make the system 'welcoming' to newcomers might not be feasible or even desirable in these cases.

That sounds counter-intuitive, but not every operating system on Earth is developed with the goal being to gain more users. Something as complicated as a computer operating system might be developed to solve a problem that a developer had, or to experiment with new ideas, or just because it's fun (yes, some developers find software development fun). In these instances, assuming that the developers of the project decide to make their work available, you're free to use the system if you want to. And if you can make it work for you and you can figure it out, great! If not, well, that's unfortunate for you. And, again, depending on the project and its goals, the developer might welcome your suggestions on how to make their project better or bug reports or things like that. Or they might not be interested because your suggestion doesn't match up with their goals.

And I guess that this is all a long-winded way to say that just because you might have to learn how to use something before you can use it well (or at all!) does not necessarily mean that the thing is user hostile. Instead, it means that learning how to use the thing you're trying to use has some obvious benefits4. And just complaining that something is too hard to use after you've demonstrated that you can't be bothered to put in a modicum of effort trying to learn how it works helps no one.

<rant_mode="off">

Footnotes

  1. Though, to be fair, I did have some idea, since it's a UNIX-like operating system, after all
  2. Okay, lots of weird things happen, but I can't possibly cover all of them here today or my fingers would fall off from overuse
  3. Okay, yes, it technically does happen sometimes, but not all that often. In fact, I'd say that the amount of times that it happens is statistically insignificant.
  4. And it has some nonobvious benefits, too. Once you learn how to learn something on your own, learning more things gets easier, too!


Read more articles ยท Go back to the homepage