Welcome to the QA Tech-Tips blog!

Some see things as they are, and ask "Why?"   I dream things that never were, and ask "Why Not".  
Robert F. Kennedy

“Impossible” is only found in the dictionary of a fool.  
Old Chinese Proverb

Tuesday, February 22, 2011

The Only Feature Linux Needs
Concepts in usability

A few days ago while searching for something else, I found an interesting article about Ubuntu in general, and the 10.04 release in particular, which you can find right here.

Actually, to be perfectly honest with you, this guy has a rather extensive web site, (located here ), that I found most interesting.  This gentleman has a rather broad range of interests and opinions - and you could do far worse than exploring his site.

This particular article was titled: The Only Feature Ubuntu 10.04 Needs.  It was a discussion about what Canonical, (the enterprise supporting Ubuntu Linux), needed to do to make Ubuntu even better.

To make a long story even longer, (laughing!), I decided to toss my two centavos into the fray there.  And what a fray it was!

Apparently Tanner Helland, (the blog's author), touched a raw nerve with this article as there were more replies, covering a longer time-span, than any five articles I've seen just about anywhere else.

In reply to my posting, he sent a very interesting e-mail back to me:
My name is Tanner Helland (from www.tannerhelland.com).

First off, I apologize for contacting you via email. I almost never check email addresses used to submit comments to my site - but in this case, I felt it was okay to make an exception.
: )

I just wanted to let you know that your comment comparing Linux to appliances, tools, and toys was absolutely spot-on. Excellent assessment. Frankly, your comment was so good that I think it deserves an article of its own.

I see that you run your own blog - if you haven't already, might I suggest posting your comparison there? I worry that it won't get enough attention on my site's comment thread (there are a LOT of comments on that article...).

At any rate, excellent insight - thanks for sharing.
Ahhh!  Wonderful e-mail, except that I'm getting a sore shoulder from patting myself on the back. (grin!)

Re-reading the article convinced me that maybe he was right, so here it is.  Feel free to comment as you see fit.

This post is remarkably “after the fact” but I’ll put in my two kopecks.

First of all, I will say that I heartily endorse the basic premise of this thread – that, ideally, Ubuntu (or any other distro for that matter), should work “out of the box” without a herculean effort to get things to work with it.

My own basic premise about computers and the “mass market” is that they should become an “appliance” Like your toaster, microwave, or whatever; you should be able to turn them on, use them, and turn them off again without having to even think about the internals.

The problem with this premise is that computers are, by definition, incredibly complex pieces of equipment. And, unfortunately, what people expect of their computers represents a very broad spectrum of possible uses. If your microwave was expected to meet such a disparate range of uses, it too would be as error-prone as computers are today.

I divide computer users up into three very broad categories:
  • Those that want computers to be an appliance.
  • Those that use the computer as a tool.
  • Those that use the computer as a “toy”.
The appliance users want exactly that. You turn it on, click on a few icons, it does certain things, and you’re finished with it.

The tool users understand that – as a tool – the computer will have it’s moments. Everyone who has used any tool more complicated than a hammer is used to having to change the bit or blade now and then to fit the task at hand, They understand that, sometimes, the bit or blade breaks and that’s that. And, occasionally, they pick up a bit or blade that doesn’t fit the chuck or mandrel of their tool and they need to either adapt it some way, or get a different tool for that task.

However, the tool users don’t care if the motor has brushes, is a synchronous AC motor, or is a variable speed DC motor using pulse-width, (duty cycling), as a way to control the motor’s speed. They want to be able to chuck-up the right bit and get to work. In essence they want it to be an appliance, but one that is more powerful and configurable in exchange for increased risk.

The “toy” users are the ones who really want to “get under the hood” as it were – the 21st century equivalent of the ’60′s motor-heads who spent most of their time, and darn near all their pay, tinkering with their car to make it the baddest machine on the strip.

These are the ones who want to experiment with different things, perhaps they do some coding or engage in test cycles. Or they get on blogs like this one and relate how things occurred to them.

Windows – of whatever version – is primarily targeted to the first and second type of users. It’s like a ‘fridge. You can’t adapt it very well without using expensive tools that most people cannot afford or do not know how to use.

Linux, on the other hand, is trying to embrace the entire spectrum of user models ranging from the appliance users to the users that like to tinker with it and get their hands dirty.

And, I believe that this is a good thing. It’s kind-of like brainstorming, it appears chaotic but eventually becomes something really useful.

IMHO, were I Canonical, I would strive to meet these ideals by doing certain things:
  • Make the x.0 releases benchmark releases that focus on long-term stability at the expense of new whiz-bang features.  (These releases would be of primary use to those in the first two categories.)
  • Make the x.1 releases the more “experimental” releases where new features are introduced, (after, hopefully, enough beta time to make them reasonably usable).
  • Periodically release a “stop-and-catch-our-breath” x.0 release – one which is not about new features at all, but about polishing up the stuff they already have.
I would make similar suggestions about the repository organization. It is frightening to go into a “common” repository and see packages that have warnings saying that it can, and will, casually destroy your system unless you are used to Category-5 clean-room practices.

For each of the broad categories of repositories, I would divide them up into three sections:
  • Those packages that are virtually harmless – the standard utilities that people – even the appliance users – might need. Word processing, web browsing, e-mail, things like Skype (or an equivalent Open Source app), and so on. If you *REALLY* wanted to bork your box with one of these, you could, but you’d really have to work at it.
  • The packages that are more specific to a particular task and might carry an increased risk of danger – like a buzz-saw carries an increased risk – but if intelligently used won’t hurt you. These would be the more “tool” like packages. Virtually all of the system-administration packages would fall into this category. With these there is a risk, and if the tool is used carelessly, it will hurt you, possibly badly. These tools can bork-up your box rather nastily if you are careless, but you’d have to be pretty damn careless to do it.
  • The very specialized packages that are for a very particular need – or are possibly experimental releases carrying a vastly increased risk if not used very carefully – like a power-driver that uses .22 or .30 caliber loads to fire pins through solid steel or heavy concrete. These packages would be the kind that, if you really don’t know what you’re doing, you shouldn’t be here. These would be potentially powerful tools that, unless used *VERY CAREFULLY* and with a certain amount of forethought, will almost certainly bork your box.
But, by the very same token, the “appliance” level user should have trouble even finding these packages.

The tool and toy users would have, perhaps, a little less difficulty finding them. And anyone going into that section of the repository would be warned that – unless carefully used – these tools *will* cause harm.

Right now, it is much too easy for an inexperienced user to – not knowing any better – download the .30-0-6 (magnum load) tool by mistake and end up with a box borked beyond any reasonable attempt at repair.

The big issue with Linux, and why it generates so much controversy, is because of what it is, and the very broad spectrum of users that it tries to embrace without fault or favor.

Windows can be sharply focused to a particular end, whereas Linux, almost by definition, cannot be. And that creates issues and responsibilities that Linux will just have to face.

What say ye?



  1. Jim, you are right on the money. Let us hope that somebody takes notice. At least Ubuntu seems to be going away from being a 'Geeks only' operating system, and this comment is coming from a lifetime Geek. Keep up the good work. Roy (Chaffin)

  2. Ubuntu has from the beginning been striving to be an OS for everyone. Linux/GNU is in general a bit widespread in its approach (due mainly to the contributors working on independent projects striving for their own goals) As time passes we should begin to see who will become the appliance, of the group (might be someone other than Ubuntu) One of the issues here is the tendancy to provide the latest "glitz", where to become the appliance one has to typically concentrate on the reliable...


Thanks for sharing your thoughts here at the QA Tech-Tips Blog!

This blog will not, repeat NOT, publish comments that contain ANY KIND OF HYPERLINK.

If your comment contains ANY KIND OF HYPERLINK it WILL BE DELETED.

Please read the article at How To Get Comments Approved On This Blog for additional information regarding this rule.

Thank you for understanding.

Jim (JR)