Slashdot Log In
Making Linux Easy With Eazel's Andy Hertzfeld
from the making-things-easy-is-hard dept.
Slashdot: Tell us what you're doing now, and how it differs from your work at Bandley 3.
Andy: What's similar about it is we're working on another revolution, trying to take usability to the next level -- it's different in that we have the network now. With the Macintosh, we were able to solve a different class of usability problems, but we really weren't able to get at some fundamental issues of system management and robustness. Now, with the network, it gives us the ability to address those.
Slashdot: How is it, working on a hyped-up technologically advanced version of what you've done in the past?
Andy: I don't know if that's really true or not. There's a level of it that's similar, but it is twenty years later, and the possibilities are vastly different. Sometimes I stop and think about when I was working on the Macintosh, it seemed like 128k was a lot of memory, because we were initially trying to fit everything into 64k. Nowadays, 128k is lost in the noise, it's a rounding error. There are possibilities to do so much more than we ever could before. On the other hand, the original Mac prized simplicity, and some of that simplicity has been lost. The Mac has gone, in certain respects, downhill on the ease-of-use curve over the years, and part of that is the natural evolution of a system to order to fulfill the complex and varied needs of it's users. There's just a tendency in the world toward complexity. On the other hand, one of the things distressing me is the lack of innovation over time. Just your very question indicates that even though the hardware now is thousands of times more capable than what we had when we were working on the original Mac, the software paradigms have not advanced in the same way.
Slashdot: The whole Linux craze, you've got Windows, and 'Ooh, look at this new fighter on the horizon.' But it's UNIX.
Andy: Well, but the new fighter on the horizon, from my point of view, is not so much that it's UNIX, but it's a new and better business model, a new and better paradigm for developing software, and that's really exciting.
Slashdot: How did you get involved in the Open Source/Free Software movement?
Andy: When I took off from General Magic in 1996, the Internet was exploding, and I just wanted to learn about it. So, I set up an ISP at my house, got a T1 line, and set everything up myself so I could learn about how things are put together. But also, to justify that T1 line, I started doing pro bono projects of various kinds. I was happily puttering along with those kinds of projects when in January of 1998, the Mozilla announcement caught my attention in a big way. That led me to Eric Raymond's papers, and an epiphany, you know, a moment of insight, where I realized that it solved the structural problems in the software industry. I'd been depressed about the lack of innovation and the stagnation and the anti-user framework that the software industry had fallen into. The idealism of the computer industry had led to this cul-de-sac, where no one was really happy with their machines. The basic problem is that the applications want to converge on a common system infrastructure. That's what's good for the applications, good for the users, good for everyone, to be built on top of a common system software base. The problem is that when that common system software base is controlled by a proprietary interest, the company that controls it necessarily becomes anti-innovative. In order to maintain their control, they are at odds with the users and the developers. I had realized that, and I didn't see a way out until reading Eric Raymond's papers, and learning about the successes of Linux, Apache, et cetera. I saw that if that common infrastructure could be owned by the community on something like the GPL, the problems are solved. You can have a healthy software industry, where anyone who wants to innovate has equal footing. That was really exciting to me, and I saw it as a call to action. The first step was converting my Web servers over to Linux, I started installing all sorts of software, playing around to see the state of usability. The first one I did was KDE, about six months later, I started exploring Gnome, and just getting up to speed in the space which took about six months of just exploring around, and another six months actually programming on gtk to understand it's strengths and limitations. Around the very beginning of 1999, Bart Decren was the founder of an organization in East Palo Alto called 'Plugged In,' which was one of the few organizations trying to address the digital divide, trying to fix the paradox that right next to Palo Alto, one of the most affluent and high-tech communities in the nation, was this little place called East Palo Alto, which was one of the least affluent and high-tech places in the nation and Bart started an organization to try to bring technology to them. So, I supported Bart in those efforts over the years, and he was one of the people I respected the most. He had all the qualities of a classic entrepreneur, but he was applying them for public good instead of his own private interests. So, when Bart came to me and said he had run his course at Plugged In and was looking for something new to do and just wanted my advice, I told him about my excitement about free software. My plan was not to start a company, it was to start an Open Source project. Bart surprised me when he came back to me, a month or two later, and he said, 'I figured out what I want to do, I want to start an Open Source company with you.' That was around April of 1999, so we started putting together a plan, and what really made Eazel happen was the realization that in order to create ease-of-use on the desktop in a broad way, we needed something to fund it. We wanted to do Free software, but we needed some sort of business model.
Slashdot: Someone's gotta pay the bills.
Andy: Yeah, so the real 'eureka' moment was when we realized that the GUI is only part of the problem. The real problem vexing users is system management, as well as lack of coverage on the GUI, and lack of fit-and-finish and all of that, as well as the lack of innovation. We had ideas for years that have just not made their way into the main platforms because things had stagnated. Anyway, the system management problem seemed to be the real opportunity that it would take a company to address, and it could have a potential business model behind it because of the ongoing nature of system management. What needed to be done was to create a service that could manage people's systems for them, and that we could charge people a subscription-based fee for and use that revenue to fund our efforts at making the GUI really great on the desktop. So, that's what happened. That all came together in the summer of last year, we got an office in August, or early September.
Slashdot: Tell us about the technical aspects of what you're doing. I don't know how much time you're spending in front of a compiler everyday.
Andy: Oh, I'm in there programming every day and every night, like I always do.
Slashdot: Well, tell us what you did this morning.
Andy: Well, the very first thing I do when I come into work after I put my backpack down is to go get a Diet Coke. Usually, I read the Web, I read my E-mail. The first thing I did this morning was work on our test database. We're using Bugzilla to manage all the various tests that need to be done with the project, so I go over that to close some out from the previous night, write some new ones, and then look over which ones I should work on today. Most recently I've been working on what I call the 'novice home' directory, which is the place where novice users go and there's a nice set of links for them to access the functionality of the program.
Slashdot: Tell us what excites you about Eazel.
Andy: One of the really exciting things to me about Eazel is the great team that we've built and are continuing to build here. One of the very best things is getting to work with Bud Tribble again, who was my boss on the original Macintosh project.
Slashdot: The original Macintosh project is usually defined as a cult of personality led by Steve Jobs.
Andy: Well, it varied over time. The Mac group got a reputation for being really spoiled, but that was in the very late stages of the project. The Mac team was paid less than the average people working at Apple initially, because we were pretty young and out of the mainstream. We had a tiny little office above a gas station, that's the place where the Mac project really took root, we called it Texaco Towers, and we weren't spoiled at all really, compared to the rest of Apple. In mid-83, we moved into a fancy building, then they put the piano in ...
Slashdot: You had the piano, you had Defender ...
Andy: Yeah, Defender was actually partially due to me. Burl loved it. Burl was the hardware designer of the Macintosh, and he just loved Defender. We always used to go to Cicero's Pizza, which was across the street, to play Defender in the afternoon. When we had the opportunity to buy a Defender game, we sprung for it. Joust was the other video game we had there.
Slashdot: How closely are you working with Helix Code, and how does that affect the hacking you do everyday?
Andy: Well, I'm not sure it affects the hacking we do every day very much, but we closely coordinate with them to make sure that the Gnome platform is coherent, and we try to avoid reduplication of efforts, so we have a process where the folks at Eazel have a conference call with Miguel and Nat usually every other week. It's really fun. We almost became one company last summer. We had a lot of natural synergies, but there were enough differences that we decided to go separate ways, but we consider ourselves, I think both sides consider the companies to be siblings, so we each try to help each other wherever we can.
Slashdot: How much of your original Apple Macintosh design influence is finding its way into Eazel?
Andy: What I would say is that our design values have remained pretty consistent.What we think is important is the same. Essentially, making the user happy. Bill Atkinson, who is really the person I learned the most from on how to do good user interface, his one rule of user interface design is 'make the user happy.' What you do is put yourself in the shoes of the user, look through their eyes, and try to make things work from their perspective. That being said, one of the things we didn't know how to do on the Macintosh, that we learned subsequently, is that it's very important to user test. So, to make usable software, you have to take your best shot with your own empathy with the user, seeing the way the user sees, but then you have to test that against real users. You put them down in front of it with a video camera running, and you see where they 'get it' and where they don't.
Slashdot: When a wirehead designs an interface for wireheads, that's fine. The Linux command line works fine for wireheads. For that reason, it's why the popular Linux interfaces don't work well with people coming right from Windows.
Andy: One of the big problems in terms of usability and Open Source software is that no systematic user testing has ever been done. That's one of the things we're trying to change at Eazel.
The personal computer has come a long way since 1984. Microsoft has a vast marketshare of the desktop computer market, and most people are content with machines that don't perform nearly as well as they could. With new ideology and a team of experienced developers, Eazel is helping to build something that Open Source and Free Software advocates have been waiting for. A computer industry for the rest of us.

What you are used to != easy (Score:4)
NT makes you switch users to log out (or should, maybe it assumes that console users should be able to kill the system since they can always hit the power switch).
And the X thing isn't an ease of use issue. It's vendors not releasing their proprietary specs in most cases. Otherwise it is drivers which simply need to be fixed. I have never had problems with getting X up on supported video cards, it's the 1/2 supported video cards that give problems.
Anyhow, the fact that windows doesn't have a security model (9x) or that it is a half-baked OS (NT) that forces users to be at the console and thus assumes that they are is not a good thing. Eventually those things should go away.
Oh, and the X cut-and-paste model is better than the windows one. I only highlight things for one reason: to copy. Why on earth should I have to hit a key to enable me to copy after I've highlighted? Of course, that just goes to show that we're different people. But please don't take UI preferences as easier/harder. They are just different.
Oh, and have you seen Xconfigurator lately? It makes setting X up pretty damn easy. The list goes on.
Have you not looked into a project like gnome or an installer like redhat's in the last three years? Noone thinks that normal users are hackers. They're being designed for, things just take time. As it is, for me, using windows is torture. I feel like I've had my arms cut off when I have to use it. It's weak, tempermental, badly designed, and when you get down to it, the people who designed it must not believe that its users were going to actually try to get work done. What sort of idiocy is make the windowing buttons dependent on the application? What dolt didn't provide a kill -9 option? When I say that I want a window dead, I want it dead now, not 30 seconds from now.
Yes, unix requires work. At least where hardware support permits, it allows you to do work, too.
So, in conclusion, unix requires work to use. Windows requires much more patience to endure it. Personally, I'd rather work than endure. And there are always the issues of freedom, but that's off topic. At least to the point is that I will generally always take power of enslavement. Maybe you prefer bondage. your choice. You are right that being a slave is easier.
Re:Interface Testing (Score:5)
If anyone's interested in the theory behind usability, I recommend this book [amazon.com] on Human Computer Interaction as an introduction.
Also, here are some web-sites I found useful:
- Cooper design [cooper.com]
Excellent collection of articles, case studies and, for students who want bullet-point summaries for ease of recall, a nice list of HCI design axioms. See in particular http://www.cooper.com/design/ [cooper.com] where there is a series of articles, including one entitled "The myth of metaphor". Cooper is also the author of two excellent books on interface design.
- Ask Tog Design [asktog.com]
Bruce "Tog" Tognazzini developed the first version of the Apple Human Interface Guidelines in 1978, moved to Sun, and is currently lead designer at Healtheon. He has published two excellent books on interface and software design and at this web site, he answers questions and discusses interface issues with wit and insight.
- Jacob Nielsen's website [useit.com]
Nielsen produces a bi-weekly column on web usability and has also just published a book called Designing Web Usability: The Practice of Simplicity which is getting rave reviews. He is widely regarded as a leader in the field of web site design and usability testing.
- Interface Hall of Shame [iarchitect.com]
An excellent collection of scathing but accurate reviews of user interface disasters of one sort or another. The ultimate depressing experience for any interface designer must be to end up here.
- HCI Reading List [depaul.edu]
If you want an exhaustive list of HCI reading materials, this is a good place to look. It is reasonably up-to-date (Feb 98) and has useful comments on the majority of textbooks in this area.
- University of Maryland Human-Computer Interaction Lab [umd.edu]
The Human-Computer Interaction Lab (HCIL) at the University of Maryland conducts research on advanced user interfaces and their development processes. They study areas such as new approaches to information visualization, interfaces for digital libraries, multimedia resources for learning communities, zooming user interfaces (ZUIs), technology design methods with and for children, and instruments for evaluating user interface technologies. The director is Ben Schneiderman, author of the book [awl.com] "Designing the user interface".
Go Eazel! (Score:5)
It's also keeping away people that *have* enough knowledge.
I've done my share of assembly coding. I spend my day job immersed in C++ code. I've used UNIX as my primary operating system on the job. I've written tens of thousands of lines of production code using vi on a Sun workstation. I also have both Windows and Linux installed on my machine at home, and, more often than not, I find myself using Windows.
Most of the reason is that Linux is just too tempermental and fussy. I admire the work that's gone into the kernel, but twiddling with Xwindows settings and getting my video card to work properly and having to deal with weird X cut and paste standards is just too much. And there are little things no one thinks about, too, like having to login as root in order to shut down, or remembering how to set it up so any user can shut down. Crusty.
Yes, you can respond with "You dolt! Here's how you can get around that problem!". But the bottom line is that some people have gotten tired of the attitude that getting to play 1970s system administrator is a wonderful thing. Some people don't mind, like people who passionately hate Microsoft and love to start email campaigns about getting game ABC ported over, and people who equate snagging MP3s and constantly upgrading different parts of their systems with "using a computer." It's almost cultish how these people will deny that Linux is hard to use. Get over it!
Re:Obvious answers to ease of use (Score:4)
Please explain to me how [Ctrl]+[Alt]+[+/-] is not easy. What could be easier? Is [Ctrl]+[Alt]+[Del] particularly difficult for you under Windows? Or is [Ctrl]+[Alt]+[Backspace] hard to remember under X?
I agree that it has somewhat different effects than resizing the desktop under Windows or Macintosh, but it's still *incredibly* easy!
Also, I don't see how it's that easy on Windows/Mac. For the average user, it goes something like this (realize there are many inconsistent ways to do the same task, too):
"First, go to the Control Panel."
"What's the Control Panel?"
"Okay, click on the menu. (Start / Apple / Whatever)"
"Okay."
"Now go to Controls."
"Okay."
"Now go to Display. (preferences / monitor / whatever)"
"Okay."
"Now pick your resolution."
"So is 800x600 bigger? How many colors do I need? Why would I want 32 colors instead of 256?"
"*sigh*"
For a novice user, they have to learn *something* first, but navigating a maze of menus seems rather harder than pressing a key combination, at least to me... And remember, once you learn it, it's easy! You must have learned the wrong 'easy' way to do things first...
---
pb Reply or e-mail; don't vaguely moderate [ncsu.edu].
Re:Get rid of hierarchial directories?!? (Score:3)
Well, I don't know what the original poster had in mind, but I would point out that the opposite of hierarchy isn't necessarily anarchy. I've recently wondered whether it wouldn't be better to arrange (at least a view of) the filesystem along a relational model.
Of course, that might not be an easier sell to a novice unless you did it right.
Interview suggestions (Score:5)
--
UI only as good as number of compliant programs (Score:4)
Gorgeous design usually rests upon draconian guidelines. Linux has no guidelines at all, and no one to enforce them if there were, so you can forget about a UI for linux that makes sense.
I agree with previous posters who cite this as a waste of time. Leave this type of thing to Apple, who is more willing to make ISV's tow the line.
Wow! Deja Vu! (Score:3)
The two arguments I hear all the time are 1) There are no applications in Linux and 2) Linux is too hard.
Well, I can say with 100% conviction that neither of those are true. But, we all know that!
But nobody that I know of has ever written a document that says "This is a comparison of Windows to Linux." Something I had in mind:
W: to launch a program you double click it
L: to launch a program you double click it
W: To get a listing of a directory, type dir
L: To get a listing of a directory, type dir
W: To log out of the system, select Start|Logoff
L: To log out of the system, type "logoff"
If you can show people that Linux IS as easy as Windows on the user level, a lot of the rest of the stuff will come easy. Another thing that REALLY needs to be done is to get away from some of these "must have a doctorate in comp sci" HOWTOs out there. Admit it, some of them are really horrid. Yeah, there is stuff that needs to be said, but does it need to be said in end user documentation? You and I might enjoy reading about how a serial port works or how a sound card turns electrical impulses into beautiful music, but for the average Joe, he just wants his damn modem to work or his mp3s to play.
Re:What you are used to != easy (Score:3)
I think Netscape's copy-and-paste functionality is X-style copy-and-paste, in the sense that Alt+C copies to the X CLIPBOARD selection and Alt+V pastes that selection; I've copied-and-pasted between a GTK+-based application and Netscape.
When people think of "X-style copy and paste", however, they often are, in fact, referring not to copy-and-paste, but what I call "paste-current-selection", which is what the middle mouse button does.
As you note, paste-current-selection doesn't support pasting as replacement of a selection, given that selecting, well, changes what the current selection is.
However, there are a couple of ways of using paste-current-selection to copy a URL to Netscape:
Copy-and-paste requires that the application from which you're copying support "copy to clipboard"; I don't know if xterm, for example, supports "copy to clipboard" by default (although you can probably configure it to do so by setting the appropriate translations for it).
(Now, if only a certain X toolkit whose name begins with the letter "Q" would use the X CLIPBOARD selection, as the ICCCM suggests; I couldn't see any use of it in either the 1.42 or 2.0 source for said toolkit, and its non-use of CLIPBOARD may explain why I've seen a couple of complaints in Slashdot threads about problems with cut-and-paste between KDE applications and Netscape.)
U * P = K (Score:4)
Niven was quick to point out, however, that the "constant" can change-- that 'K' is different for different environments. The idea is really that "user-friendliness and power are inversely related." Increasing one decreases the other.
For example, the mouse increases user-friendliness, while the keyboard increases power. Making a small, isolated change from a keyboard shortcut to a mouse shortcut results in a decrease in power and an increase in usability. We can tinker with the left-hand numbers all we want, but we're not going to make signifigant changes in the overall system.
It takes a massive restructuring, along the lines of the 'paradigm shift,' to change the 'K' value. This is exactly what a 'killer app' does--it increases the usability and the power of the computer. Visicalc, WordStar, the Macintosh, Netscape. Microsoft can tweak IE all they want, but their effors can't change the basic 'K' constant of the Web.
Linux needs a killer app to make it really worthwhile. Usability testing is great, kernel speed is great, but they fall out in the wash.
Re:Nautilus (Score:3)
Andy did a demostration at the Guadec [guadec.enst.fr] conference a few months ago of Nautilus and people were pretty impressed.
We saw his prototype last summer, and back then it was already very interesting, it already was a testbed for new ideas (things that I had not seen before). Describing them is hard, as they were very smoothly integrated into the system, things just "worked".
Miguel.
I see progress (Score:3)
KDE 1.x is still far ahead of GNOME on the usability side of things, if not its internals--and it's rock solid. I could give a KDE 1.1.x machine to a genuine novice, and with an hour of coaching they'd be able to do everything they need with minimal help from a "Dummies" book. Software installation remains the big barrier between *nix and the mainstream of personal computing. With KDE, everyday computer use is no longer a problem.
However, last week's KDE 2 beta was a real eye-opener. The icons are prettier, the design cleaner and warmer. They've moved on from aping their benchmark, Windows 98, to making something easier for novices and power users alike to use. The "first use" user-settings wizard absolutely blew me away, as did the context-sensitivity and embedding capabilities of the new file manager/browser. KDE 2 beta 1 is unstable as all hell, not yet usable by any stretch, mind you. But for the curious and hardy techie, it's worth looking at. Unix desktop environments are coming into their own.
Re:I know this will get me flamed, but... (Score:3)
First, the design of Linux (and BSD, too) from kernel to GUI, is so totally modular that apprehensions based on Linux becoming a new Windows border on an irrational morbid fantasy. Linux is composed of separable pieces in a way unknown to any other system running on commodity hardware. Comaprisons to Windows and MacOS are empty. This makes it simply unthinkable that your command line/ text file configuration will be taken away from you.
What power--I'd like to ask of the Cassandras--what irresistable authority do you fear will force you to use the GUI to configure your Linux systems? Tell me a little more detail from this dream you have, and I'll show you an impossible boogeyman.
None of the essential services running on Linux or BSD today require GUI only, unreadable configuration files. Therefore to go from "none" to "all" would be a jarring, tree-forking break with the past. Especially since the head of the Linux project is adamantly opposed to the configuration of the OS ever migrating to human illegible formats. And there is no move of which I'm aware within the critical services projects to deviate from tradition on this point. I can't think of any such project which has even included GUI configuratiuon tools as an official part of their main distribution.
Supposing there were forces pushing for the gui-only, binary-only configuration of the OS and services, what power will enforce this on the million Linux distributuions? Say there was ad hoc agreement among the major commercial distros to do this (supposing for a moment they can agree on anything) wouldn't there be a dozen or more new distros launched later that afternoon with opposition to this move as their reason for being?
I never want Linux to become a desktop centric OS, governed by concepts appropriate to GUI and binary configuration. I never want it to happen that one cannot install Linux from a couple of floppies in text mode to a old, lowpower PC and expertly administer a headless server by remote shell. I also want Linux to swarm the desktops of the world with complete, consistent and easy to use GUI shells and applications--for ideological reasons, to make the server-side safer for open standards based computing, and because it will vastly simplify the lives of network administrators, and save tons and tons of money in the process. There's nothing at odds in those two desirable outcomes.
If Gnome/Eazel or KDE together with enduser oriented distributions bring about a future of perloaded Linux systems and widespread adoption, then more power to them. The problems of that kind of success will be preferable to the problems we face today: eg. proprietary systems getting vendor lock on customers, subverting important interop standards, tying platform or application ownership to network infrastructure access...
In short, worry about the Sun expiring next week-end, or comets crashing into the Earth if you must fear unlikely & terrifying events--let's get desktop Linux out to the masses ASAP.
Ease of use isn't the only problem!! (Score:4)
This is not true.
I won't argue that Linux is easy to use, but I will argue that Windows has a learning curve. Linux still has a larger curve (longer time to learn) but they are in the same territory.
A few major reasons why Linux isn't being picked up like windows is:
- Lack of teaching
- Lack of face to face support
- Lack of bundling
- Lack of vender support
- Lack of business support
The majority of people learning to use a computer still learn to do so in school. There is NOT a computer in every home, nor does John Doe have a desire to fiddle with the computer unless they are bound for geekdom (in which case this post doesn't apply).Schools use systems and programs which the student is most likely to encounter in their career. These are systems businesses use. Businesses won't give the accountant/secretary/marketing/field service people Linux without training and support. Right now training and support for Linux is less than optimal, AND the boss who selects the systems -bing!- went through business school suckling on Windows. They are unlikely to choose something they are unfamiliar with especially if they know windows will do what they need to do. Also they know that they'll have to train ALL the employees under them if they choose a different system.
So, while I agree that the user interface needs a lot of work to make Linux easier to adopt, I believe there are other things which the Linux community can (and should) focus on which will bring a more rapid adoption than simply focusing on the user experience. Perhaps my point could be more easily summarized this way: Microsoft developed an 'improved' user experience AND they 'effectively' marketed their product to schools/businesses. Ask yourself: Would they have gone further with just the improved UI (and not the marketing/strategy), or just the marketing/strategy (and not the improved UI)?
I would say that their success hinges almost entirely on their successful thrust into their market despite their UI.
-Adam
With computers, every morning is the dawn of a new error.
Re:Obvious answers to ease of use (Score:3)
X simply can't change resolution on the fly. Is it a limitiation of X? Joe A. User couldn't care less...
No clue whatsoever. (Score:5)
Obvious answers to ease of use (Score:5)
1. Seperate UI designers from the hackers. Hackers make interfaces for hackers. Joe A. User doesn't want to use a hacker interface.
2. Integrate X more for those who want it. Ask yourself this, how do you change the display settings in X? How do you change the display settings in Windows/Mac OS? Which is easier for Joe A. User to do?
3. Make the documentation easier to read. Avoid acronyms, hacker-ish speak, obscure references, in jokes etc. etc. Joe A. User doesn't want to slog through a load of unrelated documentation to find what he needs.
4. Standardise. Want help on a command program? Is it prog -h, prog --help, or just prog? Wanna guess? Joe A. User doesn't.
5. Instalation & configuartion. Most programs are either source & a makefile, or an RPM/Deb. Some arn't, and use non standard installation routines. Stop it. Try to keep the config files in one standard place (/etc for example).
I'm sure there are more, these are the most obvious. Work on these first, then shine it all up nice & purdy. Remember, Joe A. User will still use Windows, if it's easier to use.
Converting people... (Score:4)
Recall v. Recognition memory (Score:3)
It is not that it is weaker, it that it lacks the terse complexity of a CLI.
Much of the so-called learning advantage of consistent GUIs over CLIs is due to a funny little aspect of cognitive ability. CLIs are fully dependent on Recall Memory. To use a CLI you must remember the commands and use them within the correct context and with the correct options. A fairly simple Unix command can involve four or more points of seperate recall. A complex command (say one involving multiple commands, pipes, and redirection) can involve a dozen or more seperate recollections. This is a complex recall activity, and one reason why CLIs are considered hard for most people to learn.
However, a GUI command will present the user with an explicit listing of options and potentials. Instead of recall, the user is presented with a context which reminds them of their desired choice. The user thus relies on recognition memory for most GUI operations. Complex GUI commands lead the user through nested recognition levels. If the GUI is a consistent interface, then the user gets to leverage their experience and thus reduce the number of recollections required.
Why is this a "ease of use" or "learning" advantage? Simply, recognition memory is faster and frequently more reliable than recall memory.
GUI's frequently result in much less powerful interfaces to the machine. However, a GUI allows the user to wade in, poke around, and discover (recognize) how to accomplish a task. This is not possible with a CLI.
Why do people (power users and programmers in particular) still use CLIs? A CLI allows an expert user to rapidly execute powerful commands. Frequent exposure and repetition build up a more recognition-like facility with the commands. It ceases to be a recall task and becomes a recognition task. Add to this the "pianist effect", the ability of the hands to "learn" the character patterns associated with commands (this happens with GUI mouse movements too). This turns what once was a time-consuming recall activity into a virtually automatic "playing" of the command line.
Which is better? My opinion is that GUIs are much better for infrequent operations and casual users. CLIs are much better for experts and power users.
That there are more casual users than power users explains why GUIs "won" the interface wars.
IV
Re:Obvious answers to ease of use (Score:3)
I know this will get me flamed, but... (Score:3)
I know that users who know enough can turn off (or just not install) usability features, but my concern is for those who -don't- know enough. I am of the opinion that the fault is less in the hands of developers and more in the hands of educators. I think it would serve the community best to concentrate on educating users and providing better, clearer, easy-to-find documentation.
I guess my fear is that Linux will become -- to the non-techsavvy -- another Windows: slow, unreliable, frustrating. We've seen the ease-of-use channel explored. Let's keep our priorities straight: power and flexibility first, ease-of-use second.
That said, I must say that the work described by this article is of high quality... I just hope that it doesn't come at too much of a price.
--
Eh? (Score:3)
Is Linux hard to use? For me, no. For most people, probably. Conversely, is Windows hard to use? Probably! Just look at all the odd little conventions, icons and little "rules" people learn to get around Windows most efficiently. The fact is, it's not as easy to use as it's made out to be and therein lies the problem.
We need a system that's truly easy to use and not Yet Another Mac/Windows Derivative. I'm hopeful that Eazal can bring us there and give us real ease of use without alienating the power users.
"Easy to learn" is the point (Score:3)
The glory of the GUI is that it enables faster adoption of new programs. A GUI user who knows how to click buttons, drag menus, etc., is 75% of the way to using any new GUI program that is introduced. A CLI user coming to a new program knows how to type (if that), and is only a tiny fraction of the way to learning to use the new program powerfully.
Standardization between programs, as Vanders mentioned, speeds user learning of new programs as well, by increasing what users already know that is applicable to whatever new program they encounter. Apple's "interface police" made it possible for the Mac to do this very well; Windows does it poorly, and Un*x does it not at all.
The power of GUI's comes from the quirk of human memory that it is easier for humans to recognize something (such as, picking an item from a drop-down menu) than to recall something (such as, typing tar xvf foo.tar ). The GUI also enables the human/computer interaction to take advantage of the fact that human memory is spatially based; the user can use their physical memory to assist their symbolic memory (we don't even need to consciously think, "I know that button is over here someplace," we just go there). The ability to memorize not-very-mnemonic command names is not widely distributed in the general population. You and I can do it, but why would we want to when the computer can remind us? I have other uses for my neurons than memorizing all the command-line switches for ls (or worse, the permissions codes for chmod ).
Re:Think different? (Debian GNU/Linux) (Score:3)
- apt-get update - Updates package lists
- apt-get upgrade - Upgrades _all_ packages to the latest version (if available)
- apt-get install foo - Installs package "foo" and all packages it depends on
As you can see, this certainly allows joe-user to install or upgrade anything, without much knowledge of the system compatibility specifics. Debian's packaging system takes care of checking the dependancies. There are even many frontends such as gnome-apt [debian.org] and console-apt.Interface Testing (Score:5)
And every time someone (for instance certain DE teams) talks of copying the interface of a successful program to use as the starting point for their OSS version, I have to roll my eyes. What for? Do we think that the UI teams at Microsoft and Adobe are infallible?
I mean, take a look at the tool icons in Photoshop: half of them are references to wet darkroom printing, something that in a few years it will be nigh-impossible to find experience with among their customers. A little testing would reveal in a matter of minutes that the majority of Photoshop users don't know why there are two tools shaped like a human hand, and two tools that look like magnifying glasses, nor why one of the hands is labelled "Burn" and one of the magnifying glasses "Dodge."
And don't get me started on the 30,000 tiny buttons sitting along the toolbar(s) in MS Word. If it takes a "tooltip" to explain what the icon represents, then the icon is a failure.
Last week's discussion about how programmers don't make good UI designers could take a lesson from this: if all else fails, you test it and see what works. That isn't rocket science. I happen to believe that the major impediment to good interface design in Open Source software isn't an inherent incapacity in the programmer mindset, or a matter of different "personality types", but simply not remembering to think about the interface. Two chapters into Norman's The Design of Everyday Things will convince even the most self-depreciating hacker among us that he already knows a lot about interface design, he just doesn't know that he knows. You're a user every day, after all.
Nate
All GUI's suck. A lot. (Score:5)
From the tone of the article, it seemed almost that he was pissed that it had taken so long for his ideas to become reality. When Job's showed him an early Macintosh interface, he said he was upset that it didn't have networking, one of the key components of Egglebart's vision.
One other thing that the story mentioned was the computer he ran at home. It wasn't a Mac, or a Windows box, or even a Linux or other UNIX. He was running his own software, something called Augment. And he was using his one-handed keyboard (you hit 'chords' of a few keys to enter a letter).
A lot of 'hard-core' really seem to prefer a command line to anything else. I don't really believe its just nostalgia that makes us what to do it ether. Using the command line is just a faster way to interact with the machine. And there's a simple reason for that. With the keyboard, you have an infinite number of verbs that you can use to communicate. With the mouse, you only really have 3, 2, or 1 verb on UNIX(with X), windows, and the Mac respectively. This typically means ether "CLICK" or "CONTEXT MENU", where the context menu is another list of items you can "CLICK" on. While looking for a particular file that you forgot about (along with the filename (?)) might be speed up, just about every other type of file operation is slowed down. A lot.
When the interviewer saw the one-handed keyboard he said (something like) "They'd have to make it more user-friendly in order for me to want to use one". At witch point (and I wish I had the quote) Egglebart said that 'user-friendliness' was over-rated. If you weren't willing to learn anything new, you couldn't really use the computer to its full potential.
To be honest, I think the idea of the GUI has been tied to tightly to the misnomer 'user-friendly', and 'ease of use'. When in fact, a GUI isn't anymore easy to use the a command line its just easy to learn. You get to see all the options available to you, instead of needing to memorize commands. But in a lot of ways, what you learn ends up being weaker.
This gets me back to the one-handed keyboard. If you had a device like that, you could have the best of worlds, infinite data entry, and graphical layout. Imagine you wanted to copy a file to another directory. You could click on it and type "cp
Unfortunately, in keeping with our two fisted keyboard design, we've really, really, limited what we can do with the GUI. Its my opinion that the current CLI/GUI combo is a horrible hack, inflicted on the world by the original Mac, Microsoft, for blindly following Apple, and the Linux Crowd for blindly following them both.