Friday, March 29, 2013

The Linux Desktop User Experience

by Dietrich Schmitz

The other day I wrote The Linux Desktop Mess ~ Linux Advocates and had a few interesting comments.

Some of the comments were Pavlovian and entirely missed the point of my story, as if I am disregarding open source choice by suggesting standardization.

Quite the opposite.  I cherish choice as much as anyone else.

The point of the story, missed by some, is that programmers follow standards and protocols all the time, some are elective and some are mandatory.

For example, take TCP/IP.  On a network, not much would happen without it.
Nor, for that matter, would anything happen if there wasn't DNS, SSL, SSH, ARP, BSD sockets, SIP, GnuPG, Standard C or POSIX, to name just a few protocols.

I submit that there is a difference between a desire to innovate to achieve a realized improvement and the desire to take 'shortcuts' so as to 'avoid' obstacles or perceived unnecessary work.

That sentence has the word 'perceived' in it.  From a programming perspective the work may be real and required or perceived as being unnecessary.  If by chance the programmer elects to 'avoid' a volume of coding (required or unnecessary) to reduce his/her workload, that introduces the possibility for variation and not necessarily for 'the better'.

I've coined the Linux Desktop User Experience (UX) to cover the all-encompassing experience a user has from opening a newly purchased Linux system, unboxing, setting up, signing in to ongoing UX core issues.

One commentor, Mark Wiygul, on the 'Mess' post wrote:

The big distributions should get together with bi-annual ad-hoc committees to form a common, agreed upon core user experience of the most basic desktop user functions.. and then when the distributions implement one of those functions, do it in a standardized way, AND with a common user trademarked "linux-desktop" logo besides it, letting the user know that when they see function implemented on any "linux-desktop" that its implemented the same way. For instance, define a common "linux-desktop" file explorer in the bi-annual committee. IF the linux-desktop uses the "linux-desktop file explorer" then it has the common logo that users know.. "ahhhaaa!! I know how to use this explorer. If the committee defines BASH as the common terminal, put a trademarked logo besides it letting the user know.. "ahhaaa!! I know how to use this terminal window". Every two years define what the linux-desktop file explorer, web brower, notepad, spreadsheet, word processor, paint program, start menu, search button, etc look and act like. If the distribution is a "linux-desktop" then the user knows that she can look for the common logos and get common experiences. If the linux-desktop doesn't implement the defined standard, they don't use the defined logo for say, there unique word processor. If the distribution doesn't want to be a "linux-desktop" then fine, it can do whatever it likes how it likes it. This increases consistency between COMPETING distributions without destroying the competition between Distributions that linux users love.

Is it far-fetched to think that arriving at a set of common core user experience criteria would be a good thing?

And, if that set of common core criteria provides a net benefit to OEMs in terms of certification and reducing support issues and improves the overall user experience, how is that a bad thing?  Isn't this already happening with Google's Chromebook?  The OEMs love it because it is certifiable, reliable, hard to break, and safe, all minimizing potential returns and ongoing costly support issues.

I am in agreement with his comments and do feel that a singular FHS and package management system would greatly reduce the burden of implementation and certification of application software for Linux.

And, I would add that it would not turn Linux on its head and would not impinge on choice and having Distros labelled LUX-certified would be in the developers best interest to comply with.

Computers purchased with a (much like a Windows medallion for certification) LUX-certified badge of common criteria would enable prospective buyers to safely assume that even if the machine is using Distro X (vs. A, B, C, ....), they can be to some extent familiar with the operation of said equipment.

It seems to me that this is a 'good thing'.  Your thoughts?

-- Dietrich

Enhanced by Zemanta


  1. Gonzalo Velasco C.March 29, 2013 at 6:54 PM

    I think I got more of your point today, Dietrich.

    I was looking for a grouped distros pattern (I mean, to create 3 or 4 standards, by family, not one, as I have said).

    The problem is that the same kernel and core, with a different DE, will give the users "different" experiences.

    But the users may have different tastes for file managers as they do for internet browsers, right? So using only, say, Dolphin or Nautilus as THE file manager, isn't necessarily a "must". In fact, when using the same DE in different distros, the problem comes when trying to install new features, only.

    I think the problem is deeper when you have trouble installing an package designed for Mandriva in PCLinuxOS, or Debian and Mint (perhaps all the way around).

    Even more: some (mother) distro is talking about changing the folders tree (removing this or that one, and putting files in another one... There we need standards, and in some other places, as you mentioned in your article, regarding programing. I agree with you there.

  2. Changes to the backend FHS and package management engine should be 'transparent' to the user as seen on the GUI and choice should not be affected. But cost savings would accrue when all Distros program with one set of assumptions (vs. the now many).

  3. Linux is a kernel. There is no "Linux Desktop", but if you want users to be limited to some specific GUI then make it and call it something else like "GNOME", or "Android", or if you'd like something with a more Orwellian flavor, "Unity".

    I agree that infrastructure standards like file systems and packaging are necessary and good. Personal computer user interfaces, however, should be
    personal and application developers ought not be in the business of telling
    users what their "experience" should be. One of the great things about libraries like X11 and Qt is they allow users to standardize what they want across applications (window controls, focus model, button ordering, widget style, etc.) and the application writer doesn't need to care too much.

    For professional workstations X11 is great. If mindless consumers are your target audience then write Android apps. Those ends of the user spectrum are well covered, so I'm guessing you want the Windows-killer for the middle ground PC users. Well, Fedora and KDE suit me just fine, and if you tell me something else needs to be standard I'll tell you to take a flying leap, so good luck with that!

  4. I agree that packing is an issue with Linux in general. However, I do not agree with having a one size fits a desktop environment. One of the strengths of Linux is the diversity of its user environments. From a support standpoint there are some challenges, but that is why an organization would pick ONE thing and stick with it. Personally I like have different environments at my disposal. I can pick one tha

  5. I assume you're talking about people who not only know nothing but are not interested in learning. If these people buy a prebuilt system, as you mention in this commentary, then they are not going to care how some other distro does anything, or what different software defaults other DEs or distros might come with. They will use the system they bought and that's that. You mention issues that might frustrate impatient distro-hoppers, but that is an entirely different crowd. Now you're talking about making changes to package management which will be transparent to the user, or in other words the wildly different GUIs that different distros offer for management -- something that has great bearing on the user experience -- can stay as unique and varied as they currently are and somehow in the context of your argument this is fine. This is contradictory to the uniformity you say you support and would be by nature irrelevant to the user. Just busy work.

  6. I guess I'll agree with you the day the "big distributions" (no names) go ask Patrick Volkerding how to put together a fine Linux distribution. First thing to know would be the list of all the crap to leave out (Systemd, Pulseaudio, ...). Until then, it's Slackware all the way on servers and desktops. Which, by the way, doesn't even get a mention in your previous article.

  7. Michael CornelisonMarch 30, 2013 at 3:55 AM

    Must standardization go as far as you suggest? If the APIs for apps, library names, file system hierarchy, and packaging are standardized, then app producers would have what they need for easier distribution and support. The way the desktop works could stay more open and flexible. This hinders only "system" type apps that want to modify or extend some aspect of system usage.

    In general, you are asking developers to trade freedom for standardization, and you are asking for some kind of overall management of the Linux application environment (like the failed LSB). Good luck.

  8. In my humble opinion having single common file system structure and using single "certified" file explorer are two completely different things.

    Second OEMs do not play nicely with OSS stack for two major reasons - for one they are not used to work this way, for two licencing issues.

  9. In technicality - all Linux distros are part of a family with common traits, - the Linux Kernel, POSIX, filesystem layouts, GNU, etc...

    The point of the article I gathered was that the thing that users need "choice" on is more the applications, desktop environments, etc... and not so much the low level layers of the OS eg:, Audio Server, etc...

    I believe that Distro specific packages should be maintained under the distro's update manager - but we need a Cross-Distro App Center. The closest thing we have to this is Desura - but they haven't relaised their potential to unite Linux and gain a huge user base.

  10. Someone who understands. Thank you.

  11. I mean that many people simply aren't complicated. It's not meant to disparage them, but, they really don't care beyond a certain point. Those of us who pursue Linux in great detail are intellectually rewarded with facts and knowledge. The masses may not even care that they are using Linux (Chromebook). And don't have the motivation to learn anything other than superficial steps, rote memorization, to do what is needed to get on the Internet, type an email. It ends there with them. Nothing mysterious or complicated in their personalities. They just simply use the PC as an appliance, nothing more.