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

Sunday, March 6, 2011

An Open Letter to Canonical and the Ubuntu Team


As Mark Twain once said:  "You shouldn't criticize where you, yourself, cannot stand perpendicular." (or something like that. . .)   Anyway, the message should be clear, take the 4x4 pressure-treated beam out of your own eye, before trying to remove a splinter from someone else's.

So - I really hate to criticize someone else's work - especially if I'm not a "contributor" to that work.

However, noting the current trend in the Ubuntu development, I feel compelled to make my feelings and opinions known.



Dear Canonical,

When I switched to Ubuntu from Red-Hat / Fedora, I was especially attracted by the Ubuntu slogan: "It's all about giving the user choices."

And this is a great concept. If a particular user wants a system that is essentially an "appliance", it's there; a distribution that is simple to configure and easy to use.

Likewise, if a user wants to "get under the hood" and get his hands dirty, that's available too.

Some of the features are absolutely unprecedented in the world of 'nix operating systems, such as the automagic "apropos" feature where a mistaken or mis-typed command is rejected - and the errant user is supplied with "did you mean. . . .?" suggestions. Even to the relatively experienced sysadmin, this feature is both welcome and useful.

I also absolutely love the graceful way Ubuntu now handles device or mount errors in fstab - instead of puking it's brains up with a kernel panic and dropping them into a very limited shell - you tell the user "Such-and-so didn't mount or isn't ready yet." and you offer the user the choice of doing an immediate fix-up, or just continuing without that device.

The ability for me to say "Yes, I know about that, just keep on going." is invaluable.  And it is especially invaluable for people like myself who often work with multiple possible configurations at the same time. Even if there is a real problem, (Oops! I forgot to update the UUID!), this is much easier to take care of from within the GUI, than from within a severely limited shell environment.

Unfortunately, both on the forums and within the distributions themselves, there is an increasing disdain for "dumbing down" the distribution.

Folks, I hate to break the bad news to you, but it is exactly and precisely this; the "dumbing down" as it were, that makes Ubuntu such a popular distro - you don't have to be an uber-geek to use it.  In fact, I mentioned in an earlier article on this blog that "Ubuntu is the first Linux distro that I would seriously consider installing on my wife's computer, or even my mother's."

My wife is the quintessential anti-geek, and my mother thought that Windows 98 was the best thing that ever happened.  They don't want stacks of Hollerith punch cards, or lists of cryptic commands - they want a system they can turn on, use for something useful and be done with it.  Just like a toaster or microwave.  These are people for whom today's multi-button TV / Satellite / DVD / Home Entertainment remote control is beyond their technological grasp.

But! "You don't want to dumb-down Ubuntu". And that, in my humble opinion, is a great loss for both the distribution in particular and those people who might be convinced to use it.

Secondly: Ubuntu is, (supposedly), all about giving the user "choices". . . . .

I don't know about you, but my understanding of the word "choice", (as in "choices"), means that I get the option of choosing between more than one alternative; that I get an active say in what, and how, my system is organized and configured, when it is being organized and configured.

Unfortunately, that credo has - apparently - gone by the boards at Ubuntu.

A couple of cases in point:

Someone, somewhere, had the brilliant revelation that Ubuntu should switch to Grub2 from the venerable, stable, and well understood Grub boot loader.

Again, in my humble opinion, Grub2 represents a throwback to everything that was universally hated and despised in the LILO loader. It's difficult to configure because the user has to find - and edit - an obscure "template" file and then run a special command that makes the changes for him. This is what made LILO such a (ahem!) "popular" loader - you couldn't just go edit a config file somewhere, you had to jump through hoops and pray to the Blessed Virgin that you didn't inadvertently bork things up beyond all recognition.

It seems to be an incredible coincidence that Ubuntu is the only distribution that has embraced Grub2. Even the very experimental distributions that seek to be at the Bleeding Edge of the curve have stayed away from Grub2 in droves.

But the most disturbing aspect was this: I wasn't offered a choice. Nowhere in the installation or upgrade process was I asked "do you want to use Grub2 or Grub as your boot loader?" Grub2 is the default. And in my opinion, it's clearly "default" of whoever had that brilliant idea in the first place.

More recently someone had the amazing brain-storm that the default GUI should suddenly transition from the familiar Windows-like interface, to a much more Mac-ish design with tiny, difficult to see and use, Mac-like buttons all on the left hand side.

It is important to remember when designing a GUI, that not everyone is 20 years old and not everyone has 20/20 eyesight. Buttons, especially these fundamental control buttons, should be big and bright so that they are easy to find and easy to use.

Again, this was not something that I had the opportunity to select or not as I saw fit. Instead, it suddenly and magically appeared.

This change, more than any other change Ubuntu has foisted upon us, has me shaking my head in absolute wonder.

Grub2? If I make an incredible technological stretch of my imagination, I can - maybe - see some sense in supporting the newly invented Extended Boot Protocol; despite the fact that the only PC architectures that required it were PC's based on the now defunct Itanium processor.

However, the move to Mac-ize the GUI is absolutely beyond my comprehension, no matter how far I stretch my imagination. Does Ubuntu seriously believe that by this change in the GUI, that they can convert legions of Mac users to Ubuntu?

You forget two essential facts:
  • To the Apple product user, the Mac isn't a system; it's more like a religion - with the rest of us being the "unsaved heathens". Switching to any other operating system would be sacrilege of the highest order! Mac users may - under duress - use other operating systems at work because they are forced to; but they complain endlessly about it.
  • Over 95% of the personal computers in use today, (as well as a substantial percentage of the servers), use Windows of one flavor or another. The Windows GUI paradigm is, unarguably, the most popular and well known GUI on the planet. And I strongly suspect that should we ever venture to Mars or other planets in our Solar System, Windows will be in the vanguard of that venture.

So, if we assume that one of the main thrusts of the Linux community is to attempt to broaden the Linux user-base, where do you think these users are going to come from? The Mac? Who are you kidding?! They already crow about having their own 'nix based system - Free BSD - with the Mac GUI pasted on top of it. A 'nix based Mac was inevitable, but by slapping the Mac GUI on it they keep their religious sensibilities and the purity of their beliefs.

No, the real market for cross-over users are those that use Windows. The Microsoft licensing model is becoming increasingly onerous. The real cost of implementation is becoming increasingly expensive to the point that entire governments, both state and national, have eschewed Windows in favor of Open Source solutions.

Changing the basic GUI paradigm from a familiar Windows-like paradigm to a much less popular and more difficult to use Mac type interface only serves to drive away users that might be tempted to make the switch. Linux is already different enough in many respects, why make it even more alien?

Allow me to offer the following suggestions:
  • Loose Grub2.
    I don't know of a single Sysadmin using Linux who would, willingly, get within a hundred yards of Grub2. And it's the Sysadmins who make the recommendations on what operating system to use, that drives the implementation of Linux in general and Ubuntu in particular.
  • Forget the "pseudo-Mac" interface.
    The easier you make it for the Windows user to make the transition, the more Windows users will actually want to make it. Again, it's the power-user that is at the forefront of evangelizing Linux. The more you frustrate them, the less likely it is that they will recommend the switch.
  • Keep It Simple, Stupid! (The "KISS" rule)
    "Dumbing-down" Ubuntu to make it more easily within reach of the average user is absolutely the primary key toward the goal of getting people to transition away from Windows.
  • Don't forget to actually give the user a CHOICE.
    Most distributions, prior to making a radical change, "depreciate" the original method for several distributions before making the actual change itself.
    First of all, it puts people on notice that a fundamental change is in the works.
    Secondly, it gives users a chance to "try before they buy" - and weigh in on the proposed change. Does this change annoy 90+% of your user-base? Uh, maybe we should rethink it. . . .
  • Fork the distributions.
    Make the ".0x" distributions focus on what works, not on what can be changed. Avoid making radical changes in the design - unless absolutely, positively, inescapably necessary. This gives the user an important continuity of design that is essential in production environments. This continuity of design also eases the transition shock of those switching from other operating systems.

    Make the ".1x" distributions the "experimental" distributions - where new things are tried and eventually proven or discarded. Eventually, when a new feature or other change is sufficiently proven and useful, it can then be merged with the main-line ".0x" releases.

In essence, Ubuntu would actually consist of two, separate and distinct, release paths. The first for those users who want long-term stability and the other for those users who want to be on the Bleeding Edge.

It would also have the advantage of giving each prong of the fork a one-year release cycle, as opposed to the current release cycle of one every six months.

You could have two separate teams, each working with enough time to make their distributions the best there is. It would also give time for a few "Official Beta Releases" to test the waters, so to speak.

Please remember that it is ultimately the user-base itself that decides if a particular distribution sinks or swims. Right now Ubuntu is riding high - just don't forget that it's a long hard fall when you get toppled from your ivory pillar.

What say ye?

Jim

No comments:

Post a Comment

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

Note:
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)