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.
"
- 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.
Here's mine
:)
... 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?
(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"
Simon
(the last sentence should have been sanitized for your convenience... but I was too busy)
Coming soon - pyrogyra
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
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.