GUIs for Everyone
An anonymous submitter writes: "A former Microsoft and Creative Labs interface designer has an interesting diatribe on the approach of Linux GUIs on the desktop. Thomas Krul has three Microsoft patents for human factors research into digital interfaces and graphic software functionality. Probably most known for the interface work he had done on Softimage DS and its web site. Though not a technical read, it does provide an interesting note on the approach for Linux on the desktop." And headless_ringmaster notes that Jef Raskin, the guy who designed the first Macintosh and author of The Humane Interface, has a SourceForge project putting his ideas into action.
OsamabinLadenOS:
Allah-tcsh> ls /lib/*
Error - you may not view naked filelist
Allah-tcsh> rm -r
Error - Mohammed is the final prophet, you may not interfere with the Koran in this way
Allah-tcsh> mail bustyblonde@aol.com
Error - Operating System will not perform illegal or indecent operation, your punishment:
removing all inodes... done, writing rand() array to MBR and partition table... done
A caveman dreams of being us, the incalculable power and riches. We dream of being Q, then what?
You know, you inadvertatly gave me a good example of why programmers should not listen to users... or however that programmers should take users wishes with a (big) grain of salt.
Okay, Mr. Elitist Programmer. If you had any good ideas, you didn't let us know; you clearly felt it was adequate to dismiss my ideas out of hand, because I'm a "user". How much "programming", then, will qualify you as a "programmer"? I've done a bit of work in Python; nowhere near as much as most "programmers", but more than 99% of people living in countries rich enough to have computers. Of course, you'll probably just dismiss Python too, saying "Python people are not real developers", or something like that.
Well, seeing as your "programmer" status makes you a demigod, what do *you* think is a good interface? WIMP? You think we should all go around with desktops and windows full of icons, menus three times nested, ten windows on the screen? Or are you a CLI guy: do you think that if people can't figure out that 'lynx' or 'links' is the web browser, then they shouldn't be using computers? Or do you have some new idea for an interface that's hard for most people to use, but you say "Well, I like it"?
Reading on paper is natural. That's a fact. I can't think of anybody who would choose to stare at a monitor if they could be reading on paper instead. Why are e-books so unpopular? People had to stare at ugly screens, with bad resolution and glare. The most popular e-books were the ones that didn't have restrictions on access; so users could just print and go.
Speaking is natural, as is handwriting. And for people, especially those who can't handwrite well, typing has also become natural. But not all people. Any more than good typists should be required to handwrite, why should people who would prefer to handwrite documents be forced to type them?
The reason WIMP sucks so much is because it's so arbitrary. Windows, supposedly trying to parallel the layout of documents on a desk, don't; desks are huge, and screens aren't, meaning that putting multiple windows on a screen requires making both even smaller than they already were.
Icons, I don't know what they were trying to accomplish, but when someone wants to work on a paper document, they remember where it is (ooh! didn't think they could do that?), and start working. Icons suggest that people would rather see a bunch of tiny pictures, with oft-cryptic text underneath, then have to remember that they want to write a document (which is why they turned on their computer in the first place).
Menus were made under the assumption that applications could and should be inifitely bloated, as long as everything that application could do was sorted into categories. Users theoretically would be able to figure out that find was in the edit menu, but preferences were in the edit menu (now the tools menu); you inserted a picture from the insert menu, but you inserted a table from the table menu. In the end, menus required a large amount of recall themselves, so app designers created toolbars and context menus; two improvements that together should have fully replaced the menubar by now, but the same users who learned to remember C-x, C-c, and C-v for cut, copy and paste were apparently too stupid to remember to right-click for more options.
And finally, pointers were created to navigate the whole thing. Again, quite a bad idea; menu items, toolbars, and other control functions would be much better suited with arrow keys, while the documents themselves would be much better suited with absolute positioning, perhaps on a touchscreen.
So, Mr. Elitist Programmer, can you spare the time to explain to a lowly Python programmer like myself *why* it is that my interface idea is so bad (aside from the fact that it creates more work for yourself), and tell me then how an interface *should* be designed? The other three respondents to my comment were nice enough to do just that; I guess I'll have to assume they weren't programmers.