Slashdot Mirror


Open Source's Achilles Heel

Tony Shepps writes "From sendmail.net comes an essay by UI consultant Mike Kuniavsky, "It's the User, Stupid", on what might be Open Source's worst failing: User Interfaces. In short, Open Source is geeks writing software for geeks, and usability suffers... and maybe that's an inherent problem with the model. "

12 of 476 comments (clear)

  1. "the writer is wrong here, here and here.." by Skinka · · Score: 4
    I see a lot posts saying that the writer has gotten this and this point wrong etc. Seems to me that a lot of people just are not willing to admit the truth. It's easier to say the writer is wrong somewhere and then disregard the whole essay. I understand that a developer will easily get defensive if someone says the programs he has been making the last five years have bad UIs. But denying the problem is NOT the right thing to do. Instead you should try to listen to the persons complaining, even if you don't fully (or at all) agree with them.

    If we pretend that it isn't broken, no one will fix it.

    1. Re:"the writer is wrong here, here and here.." by Chief+Typist · · Score: 4
      The problem is actually quite simple to describe. Designing good user interfaces takes as much time and dedication as it does to design good plumbing (eg. the kernel, OS, shell).

      It's also difficult for someone who is working in one discipline (ie. the kernel) to understand/accept the rigors of working in another discipline (ie. UI design)

      A good UI takes years of research and design. It's not a matter of making the windows look pretty. It's making them work pretty.

  2. Shortcomings of the new Open Source UIs by David+Jao · · Score: 5
    It's funny that you cite Gnome, KDE, Mozilla, and GIMP as indicators of a brighter future for Open Source UIs. The fact is, each and every one of these programs suffers from the same mistakes as Windows:
    • Menubars are not placed at the top of the screen, making them harder to hit (remember, a menubar in the middle of the screen has finite dimensions, whereas a menubar at the top of the screen has infinite depth).
    • The taskbar on the bottom of the screen has buttons that do not extend all the way to the edge of the screen, again denying them of a potential infinite depth and making them harder to hit.
    • In many window managers, nondestructive buttons such as Maximize are placed right next to destructive buttons such as Close, increasing the chances that the user will accidentally destroy a window.
    • To proceed from a menu to a submenu, it is necessary to manuever the mouse rightward with surgical precision through a single menu line in order to get to the submenu without accidentally tripping an adjacent menu item. Compare this design with the classic Macintosh menus, which provide a triangular "forgiveness zone" to make it easy to get to the submenu without closing it before you get there.
    I could go on but I think you get the idea. The point, which was well made in the original article, is that programmers are not typical end-users and these kinds of user interface issues do not even occur to them.

    I hate the classic MacOS because it lacks memory protection and real multitasking, but of all the user interfaces in existence, classic MacOS stands out as the one UI that gets things right.

  3. A list by SheldonYoung · · Score: 4

    Some of open sources greatest successes:

    vi
    Emacs
    Apache
    sendmail
    bind
    TeX
    X11

    And how many of them are easy to use? How many of them are have interfaces that are just evil?*

    But hope is looking up. Look at these newer open source projects:

    GNOME
    KDE
    Mozilla
    GIMP

    So, I think the community is doing pretty well giving geek-interfaces for geek tools. The user-interfaces on user tools aren't doing to badly either. They're not excellent yet, but even interfaces benefit from the open source model.

    * Trick question. Just sendmail's interface is evil, the rest are just difficult.

  4. Re:Rules for writing BS about OS by spectecjr · · Score: 5

    Here's mine

    (installed by three computer engineers; one a Linux user since before it was a buzzword (Patch Level 0.98 if you must know; that was July 1993 or so); one an applications developer with 18 years development experience on a whole slew of OSes, and lots of UI design and development experience; and a computer engineer with 10 years experience, plus a degree is psychology + a minor in ergonomics/human user interaction).

    I'm the one with the 18 years experience by the way :)

    A friend of mine has installed Corel Linux
    1.0 (he downloaded the standard downloadable distro), and I played around with it today. He did the "Doofus" install - that is, he just stuck the CD in, and said "Uh-huh" to all the questions it asked. It was installed on a Dell Optiplex GXM 5133 machine... and it sucks. Or maybe it's just KDE that sucks.

    Within 5 minutes of playing with it, I managed to get the whole OS (seemingly) hung with a complete lockup except for the mouse. Now sure, I could probably have telnetted into it and unlocked it, but I'm afraid that I couldn't get the network working over DHCP (see later). What was I running to do this? Well, we had been running notepad, but I had one "KDE Explorer" (nee Windows Explorer) window open. I can't remember if I'd tried to open the floppy drive, or the CD-ROM drive, but that shouldn't kill everything. Even the keyboard LEDs wouldn't toggle. And of course, CTRL+ALT+DEL doesn't do ANYTHING. Couldn't reset it. Couldn't get a console window. ARGHGHHGHGHGHGHHGHHHHH!!!!!!!!!!!!!!!!!!!

    Maybe this should be expected (after all, it's a Corel product), but personally I find that kind of worrying. I do have to wonder how much of this was KDE and how much of it was Corel's fault.

    Speaking of KDE - lots and lots of performance issues were there - it kept being REALLLLLLY slow the first time it'd show a dialog - it would visibly rearrange them on the screen. I'm guessing that it was written in something like TCL/TK, and that's why dialog resizing was so slow. Windows - on the same machine - had a perf approximately 5 times faster, if not more so, for its windowing/resizing.

    Speaking of which, on moving the "Taskbar" to the top of the screen, and opening Netscape, Netscape opened up UNDERNEATH THE TASKBAR. If I put the taskbar at the bottom of the screen, Netscape would resize out of the way. But at the top of the screen? It was screwed - opening a window shouldn't do that. I had to move the taskbar to fix it.

    Speaking of which, a couple of UI issues:
    Telling it to "Refresh Desktop" (to move the icons out from UNDERNEATH THE TASKBAR AFTER I'D MOVED IT...) did so quite happily - the full-screen flashed, but it did it.

    Telling it to, however, "Arrange Icons" (surely the same thing?) instead caused it to throw up a big nasty DESTRUCTIVE OPERATION WARNING Dialog Box asking me "Am I sure that I want to rearrange the Icons?" Yes/No?

    What the HELL is that about? And why not the same thing for Refresh Desktop, which appears to do the SAME THING? Huh?

    Speaking of UI inconsistencies.... yes, why I hit "APPLY" in a dialog box, I want it to apply NOW. I do NOT want it to ask me "Do you want to apply changes Now?" - because I just told it to. At least you can turn this off for Deleting files in Windows.

    Context menus are missing on edit boxes - but for some reason, they work happily on the desktop. WHY ONE BUT NOT THE OTHER? THIS IS INSANE. IT'S TOTALLY INCONSISTENT.

    Speaking of which, Right-Mousing on the desktop left the focus on the desktop - with the control panel I had open still left looking active (including the selected text in the box, and a flashing caret)... sorry, if the window's not active, I want to KNOW about it.

    Also, selecting text in a box and typing does NOT delete the extant text in the box - which is also totally counter intuitive - pasting removes what was there if anything's selected, so should typing. That's how it works on EVERYTHING else.

    In the control panel, when trying to set up networking, I hit Apply. It asked me Y/N. I said Yes. I said "Close". It closed the *panel* I was working in. I ended up hitting CLOSE 4 TIMES before I could get it to work. And then I had to CLOSE THE APP. If Apply does exactly the SAME THING as the OK/CLOSE button, but the difference is that it asks you if you want to do it or not before it commits changes, WHY THE HELL IS IT THERE? THERE'S NO BENEFIT TO IT BEING THERE WHATSOEVER.

    Also, shouldn't DHCP/BOOTP find a DNS server for you? In which case, shouldn't the "ADD DNS" dialog box be DISABLED when you're in DHCP mode? And also, why are the DNS settings boxes (IP, Default Gateway, etc) ALWAYS DISABLED WHATEVER YOU DO? Are they just there for show?
    This is S*(&!@(*#& INSANE! THERE ARE CONTROLS ON THE DIALOGS WHICH DON'T DO ANYTHING!!!

    So in conclusion, Corel Linux/KDE (after a 5 minute look at it) is pretty impressive. It brings Linux kicking and screaming into the GUI world - and it shows. Now don't get me wrong; I'm not coming at this from the point of view of someone who won't take the time to learn the system, but for all of Microsoft's faults, Windows is
    pretty damn good. In comparison:

    Microsoft Windows has some pretty annoying flaws. It causes a lot of people to get angry because of these. Corel Linux, because it's running on Linux/KDE, makes people twice as angry, with twice the hassles!

    Seriously - Corel Linux is pretty good. However, it still sucks. The KDE/Corel guys should get some people who understand user interface design, and create a CONSISTENT UI. Because at the moment, it doesn't cut it.

    Never mind the fact that by the time we left for coffee, we still hadn't worked out how to get the network to work over DHCP.

    ---

    Addendum:

    My girlfriend (who has been using Linux since 1993 (pl98))has just tried to install Corel Linux on her machine.

    We put the boot floppy in. We put the CD in. We restarted the machine. It came up, detected the hardware, flashed, showed the wallpaper again, open the CD-ROM tray and shut it again (almost like giving us the finger), and restarted.

    And did the WHOLE THING ALL OVER AGAIN. AND AGAIN. AND AGAIN. AND AGAIN. AND AGAIN.

    Eventually, after this many reboots (my friend Wes had only had to have one on his Dell), we tried removing the bootfloppy. The machine promptly booted into Windows 98 (which Shana uses to play Dungeon Keeper). Now, either this machine was possessed by the spirit of Bill Gates himself (and thus wouldn't let Corel Linux pry it free
    from Windows), or something's rotten in Denmark.

    The machine in question runs Mandrake Linux *fine*. But the Corel Linux install wouldn't even say what was wrong. It was just braindeadedly rebooting and rebooting and rebooting with nary an error message in sight. This is, by the way, COMPLETELY AND UTTERLY LAME!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    Shana (pronounced Shaynna) would like to say at this point "Bring back the Linux Quarterly!!!".

    ----

    I think basically what we have here is a case of "Attack of the Cargo Cult GUI Designers" ... basically, they see what other OS's have, and implement the same. But badly. Very very badly. How would you like to be running an extremely (comparatively) unstable version of an amalgum of Windows 3.1/Windows 95 and FVWM, but one that has just enough (but not quite) implemented to make it *just* usable - that is, if you didn't use it much and in general gave up and just used the command line instead - but on the whole is horribly inconsistent?

    Simon
    (the last sentence should have been sanitized for your convenience... but I was too busy)

    --
    Coming soon - pyrogyra
  5. Re:BS... by Vox · · Score: 4

    "Type: $photoshop myimage.png" Which will work IF: photoshop is in the path.
    Most programs installed with an RPM/deb go to a place that IS in the path or that gets added to the path by the after-install script (at least in those RPMs that are correcty constructed)

    myimage.png is in the current directory.
    If it isn't, you type the whole path, easy.

    both of which are very often untrue. Actually finding where the photoshop binary is located is not a newbie task.

    Mmmmm...."whereis photoshop" is usually enough, very intuitive, even.

    Neither is altering the path.
    On this one I have to agree...altering the path is something a newbiew can't usually do by himself, unless he's had some DOS experience.

    As far as that "open with" BS... You could just drag the icon for the myimage.png to the icon for the photoshop program. That's the proper way to use a gui. And probably even easier than typing your command line.

    Mmmmm....two clicks to open My Computer (same if you want to use Windows Explorer), a bunch more to find the photoshop.exe program (unless you have a shortcut to it on your desktop, which ususally means having to do it yourself...let a newbie try to do that on NT Workstation 4,,,not as easy as you make it sound)...then open another My Computer/WExplorer window, find the silly graphic, drag it to the photoshop.exe icon....yes, very easy, I can see that.

    And yes, I know what I'm talking about, I'm writing this on an NT box...and I, among other things, train people on both Windows and Linux at work.

    Windows is easy, as somebody else already said, only for those that are used to it, and as an example I'll put my mom...she started using computers about a 18months ago or so...I gave her the choice between running linux and windows ("what do you like better, what I run on my computer (Mandrake 5.x at the time, with E as my wm),or what my brother runs on his (winNT workstation)?" She chose linux :)

    After about 3 months, her computer gave up (very old box...damn HD died after only 8 years), so she started using my brother's box while I was buying parts for a new box for her...after a week, she threatened me with bodily harm if her box wasn't working in the next week, cause she couldn't get a thing done in my brother's NT box.

    Two days later her box was ready...15 months later, she still thinks all the "windows is easy" people have no clue what 'easy' means.

    And no, before you ask, she had never used a computer before I gave her that old box with linux in it...and no, she didn't set up a thing in it, I did it all...just like I did with NT for my brother, DOS for my father (he runs only one program in his computer, so...boot DOS, load program, do stuff, exit program, turn off puter)...what people still can't understand if that setting up an OS is NOT something for the average Joe...I don't care who makes the OS, my mom will NEVER be able to install it.

    And yes, she does install programs in her box sometimes (only RPMs, and if she gets a dep error, she ICQs me and tells me what are the missing things and I find teh packages for her and then she just "rpm -Uvh *" in the dir where she placed them all)myimagemyimageVox, who is REALLY sick of this "this is easier than that"

    --
    Pain is the gift of the gods, and I'm the one they chose as their messanger...
  6. UI in Open Source programs by waldeaux · · Score: 4
    OK I may be a radical, but although I hear over and over again that the "failing" of Open Source (which for the purpose of this response I will equate with UNIX) is that the user-interface is SO HARD compared to

    I have spent almost no time using Windows since I first ran into it in 1983 or so. I have avoided Win3.1, Win95, Win98, WinNT, and I will probably try to avoid Win00 (as in "Win zero zero") when it plops onto the universe. That doesn't mean I haven't USED it at all, but I haven't attempted to master it.

    So, now it looks like I'll be started a new job soon which uses WinTel all over the place. I'm not worried about that (aside from all the obvious places I should be worried: security, scalability, reliablility, etc. :-), but when I see other people using WinTel OS's it seems that the UI is nothing CLOSE to "immediately obvious". It's levels upon levels of options and configuration which isn't intuitive most of the time.

    OK - so let's compare that to X11, Gnome, CDE, and even to older things like OpenWin. Are these UI's THAT far afield from Win9X or NT that they're actually MORE difficult to master? I think not. Sure the key mappings might be different and for most users, there's some fraction of expected interaction with a command line,but even for Win9X people, there is still a LOT of "delving into DOS" that takes place, even though there is a percentage of users who only interact with the GUI.

    So what about this new generation of UNIX users (defined for convenience as the post Ultrix/SunOS/ SCO people --- basically the "Linux era", although that also includes non-Linux UNIX, e.g., Solaris)? While it's not common to have users who never ever deal with the command line, I think we've reached the threshhold that it could be done. The available client software that I find under RedHat and Gnome are very quickly eating away any need (other than convenience that my fingers are hardwired to vi sequences and sentences like "ls -lt | head -5" :-) for the shell. The file managers are no worse than what comes with Win9X, there's a Gnome "finder" that works as well as the one in MacOS (does anyone know why "find . -type d -exec chmod g+s {}\;" doesn;t work under Linux?), and so forth.

    At this point I think arguments along the lines of "well, Linux/Open Source loses because they have really geeky UI's" is more FUD than accurate. It will become even less accurate over a somewhat short time scale! One metric to testing this assertion it to see how many "normal" admin UNIX tasks (sysadmin or user adminstrative tasks) are being pushed over to programs with UI's than are done on the shell. Programs like Gftp, xchat, etc. are definitely taking the place of all the command-line programs in my life, mostly because the UI is straightforward and gets me to complicated uses faster and easier than before. At that point, it's no different than searching for some obscure panel item in Win9X...

    YMMV, of course.

  7. Can't somebody do better? by Industrial+Disease · · Score: 4

    Almost as simple to use as Windows? Yeah. That's the problem. The Windows GUI isn't that great, and hasn't seen any real improvement in usability (as opposed to cosmetic changes) for years. Looks like the new MacOS might have some significant improvements in usability under the eye candy. A lot of people have learned to use the Windows and Mac GUI's; people assume that means they're easy, and that they're the best possible interfaces. I don't buy it. I feel like there's got to be a better way; unfortunately, I don't know enough about UI design to know what that better way could be.

    --
    Weblogging Considered Harmful:
  8. The author's fundamental mistake by cpeterso · · Score: 4
    why is the best software writing organization on earth unable to produce innovative interfaces, when small commercial software companies do so with regularity (if not always with commercial success)? The answer is relatively simple: The Open Source movement has no feedback loop to end-users, and no imperative to create one.

    I think this is the author's fundamental mistake. The developers of successful Open Source projects are its users. The user has a software itch that must be scratched. No one else is going to do it. Most Open Source developers don't get paid to write their software. They code for personal enjoyment. Can someone think of an example Open Source project where the developers are not users?

    1. Re:The author's fundamental mistake by Wellspring · · Score: 4

      I think this was the best point the author made. For an experienced administrator, typing in a quick and dirty text command is the quickest way to do things. For someone who is keeping her life as non-computer oriented as possible, though, text interfaces, key combinations, and scripts/rc files are all hopelessly arcane and arbitrary.

      That's why windowing metaphors are so powerful-- you are hijacking training that people already have in the Real World and using it to ease the adjustment. That's why complex procedures are laid out in wizards: to guide people through it without having to remember an algorithm.

      If you are trying to let someone do something complex, you want to make them learn as little as possible in order to do it. That doesn't mean they are ignorant, it means that we are imposing on them to spare as little brainspace as possible. A doctor doesn't make us learn medicine-- we shouldn't force him to learn software engineering.

      This is all pretty obvious, IMO. But it is easy to forget. As coders, we know way more than the average person about computers. We don't need metaphors-- we can handle the raw abstractions. So in the name of flexibility and consistency, we get straight into what often amounts to minor coding in its own right.

      This is compounded by feature creep. People are paying for features they won't use on their Office apps, and then wonder why their desktop is so crowded, and why everything has to be filed away in menus.

      Finally, since abstraction is our living, we are using it too much where we shouldn't-- the user's experience. Making something universal, making it systematic, often good things. But sometimes you have to hide the underlying elegance in favor of being usable by people who don't know code.

      emacs is not what we want. Enlightenment isn't, either, though it is ridiculously great. Nor is Word, really. MS's interface advantage isn't that they're particularly good, they are just what people are used to now. What we have to start thinking about is what is making Linux suddenly so popular to the Rest of the World: What do users want? Linux addresses security, stability, standardization and upgrade issues that the business world probably assumed were inevitable.

      What we have to do is what PARC did years ago. Say "What are these computers for?" "What can they let people do which they couldn't do before?" and "How can computers help people do what they're doing now more efficiently?".

      Answer those-- and don't think that companies like Apple aren't asking those questions every day-- and people will wonder why MS and others can't make an operating system which doesn't need to be unravelled by a PhD in CS. Rather than saying that about us, which is what they're doing. In almost every other area, Open Source has proved to be better. I think that, if people really start focusing on it, we can take the lead on it.

  9. What is easy for you and me... by Little+Brother · · Score: 5
    What is easy for you and me, even if you're not a programmer. Is probably VERY different from what is easy for the old lady down the street. While I was in high school I earned spending money as independent tech-support, advising and systems repairs for the town in which I live. I learned quickly that there are things that we take completly for granted that many people have a difficulty learning. The people I worked with were primarly college graduates and none were paticularly dense, nevertheless here are some of the problems I came accross:

    Someone didn't know what double-click meant, thought it meant clicking with BOTH mouse buttons. (Makes as much or more sense than clicking with one button twice.)

    Someone didn't know that Windows 95 wouldn't run very well on his 386DX system. (how should he know?)

    Someone didn't know that return and enter mean the same thing.

    Someone didn't know what I meant when I said "monitor."

    Someone didn't know what I meant by "Icon"

    Someone didn't know how to access the file menu.

    Someone didn't know that he had to turn on his external modem seperatly from his computer system.

    Someone didn't know what a link was

    Someone didn't know how to turn on his monitor. (I had a bit of trouble finding the hidden switch.)

    Someone didn't know the difference between memory and disk space (many don't actualy)

    These are but a few examples of things that are EXTREMLY basic to us. However few of them are intuitive in actuality. Most "geeks" I've talked to don't understand the mindset of the non-computer literate user. They could write a user-friendly program, if only they knew what the user might need.

    Oh and by the way, most extremly new users I worked with prefered keystrokes to mouse strokes, so why do all the manufactuarers rush to put GUI's on all desktops? A simple arrow key oriented shell (in the msdos shell sense of the word) would be better for many of them and applications with a printed list of ctrl commands may well be more usefull than one with confusing pictures.

    --

    Little Brother, watching the watchers

  10. Your fundamental mistake by lbergstr · · Score: 5

    Programmers are _not_ typical end-users. They are way, way more savvy. On top of that, they're intimately familiar with their own work, so idioms that may be completely mystifying to typical users become second nature to them. The key to useful usability testing is seeing how much a typical, slightly computer-phobic user can get done in the first half hour of use. IMHO, often, a programmer's evaluation of the usability of his or her own work has little connection to reality. UI design should be trusted to UI professionals, subjected to as much testing as possible, and then translated into code.