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.
"
This is an idea I've been toying around with.. Most applications have a consistent set of elements and forms. What if we built a markup language out of this, with controls and forms rendered based on a style sheet instead of hard-coded pixel values defined in the GUI form itself? Each widget could be assigned a tag and could be referenced and manipulated by the application, with the results being rendered by the UI "renderer."
How much of this is already done using HTML and XML? Doesn't Mozilla already use an XML derivative to define its own internal dialog boxes? How difficult would it be to pull *all* formatting and location information out of these things and use style sheets to render it all?
This would allow us to do things like run "X" apps via telnet, using a textual transformation/style sheet, rendering controls using nice ASCII characters.
It would also let us *completely* re-do the formatting present in any application's window in a consistent manner. Move all menus to the top, all operation buttons to the bottom right, etc. Applications could come bundled with their own sets of style sheets, with broader positioning and styling done by system-wide style sheets, all the while giving the end user the option to move and resize controls to their taste. Everything could be themable, and I'm not talking just pixmaps for buttons.
How feasible would this be to do?
Now, what is the focus of Open Source projects? Linux. Who typically uses Linux? Programmer-types. If it isn't the focus of Linux as a whole to support non Programmer-types, then does it really matter if the UI isn't friendly to them? Or is it? I haven't figured it out yet.
I'll give you an example from my work: We have a product used by retail stores for security, that also includes being able to mine through register transactions. It is a very powerful product, but the typical user (a store detective) hates it. It is frustrating and difficult to use. So we have decided for our next version to follow a methodology detailed by Alan Cooper (father of VB). His main theme is to develop for a particular defined persona, usually dropping features at the expense of others. The goal is to make that one particular person EXTREMELY happy, regardless of anyone else. We are about midway through the process, so I'm not sure how it will turn out.
Now, if you use Cooper's methodology, and apply that the Open Source projects. Define who the target user is. Is it your mom? Or yourself or someone like you? It will go a long way to answering the questions posed by the article.
No, that actually deletes 10 lines. :-)
There was a good manual on technical writing (which I have since lost) that pointed out when you have to bend the grammar rules to avoid this sort of thing. Their example was 'To delete a line in command mode, type dd.' dd will delete the line, but dd. will delete two lines! Quotes are also supposed to include a trailing period. But in the case of literal commands, quotes are just to include the command and ignore all other grammatical rules.
I have talked to HCI people before, and read a few books about UI design. There seems to be two kinds of people in this field:
1) The scientific type -- does research, observes people, asks questions to users, and does experiments.
2) The "pseudo-psychologist" type -- knows a bit about psychology, human behavior, ergonomics, etc. Uses this information to reason about and work everything out in his/her head (or asks a few users) to say what a good UI should be.
Type 2 people are very frustrating to deal with when they think too hard without doing anything scientific. They're the people who argue back and forth (and write books) about what type of icon sends the best message when the scientific type does an experiment that shows that users would work best with a text label in that situation.
My point is, I'd rather have a competent researcher than someone who is just an expert in human behavior. Of course, someone who is a human behavior expert *and* a good researcher is even better.
throwing the child away with the water
I belive the expression is 'throwing the baby out with the bathwater', but I imagine there are countless regional variations.
Your friendly neighbourhood pedant.
First, the people who work on UI's in the UNIX world have gone through an intellectual and philosophical sea-change over the past few years. I remember back in 1995 or so, I used to fight on comp.os.linux.advocacy for UNIX/Linux developers to recognize the need for tools with which DOS/Windows users would feel familiar. In the beginning, there was a lot of resistance. Now, we have tools like the editor in the Midnight Commander, which can do CUA quite well. Then, there's xwpe, which has a really Borland-like feel to it. The GNOME and KDE desktop technology is getting very easy for "average" users to handle.
What bothers me about articles like this is that they tend to perpetuate the stereotypes. The other thing that bothers me is that the very idea has the feel of "we need to find yet another weakness in what these people are doing."
The February Linux Journal has a GNOME article in which the author mentions a UI team. I've been expecting that to happen at some point. Open Source projects with UI teams--maybe even usability teams---what kind of Achilles' Heel is that?
--------------Rev. C.C.Chips---------------- For the real truth, visit
A whole lot of people seem to like email. Yes, you can do this on handhelds and such, but I see alot of people wanting to use a computer. They want to do their accounting, write letters, taxes, browse websites, send and receive email, play games, buy/sell stock, buy/sell merchandise, etc, etc, etc...
[rant]
Do you want them to go to Windows? Sure, why not! I don't know about you, but the more they go to windows, the more the money goes to windows, the more the games go to windows, the more the accounting systems go to windows, the more eveything that I want goes to windows!!!!
[/rant]
Sorry, but I don't buy your argument. There's lots of people I know that want to do simple things that are best left to computers, and don't want to use Windows. They ask me: "I'm looking into getting Linux, can I do my taxes, accounting, play DVD's?". And mostly I have to say is "No!". The reason is because the market is not there. If you want there to be a market for Linux then you need to get the masses over. And for you BSD folks, if you get the masses over to Linux, it will be easier to get people to develop for BSD as well.
I stated a proposal in another post on this thread to make it not only easier for users, but for programmers as well. We need some config file that the users can use to easily set up their system. And the programmers will have a easy time to.
Steven Rostedt
Steven Rostedt
-- Nevermind
At the moment, "open source" operating systems (Linux,*BSD, etc) have excellent foundations with which to work. This includes a stable, reliable, and constantly improving base system (kernel, CLI, GNU tools, etc), as well as a proven graphical display mechanism (X-Windows), and currently a variety of methods of displaying graphical information (various window managers, desktop environments, etc). So, in essence, many, many conceivable configurations are possible. And the beauty of open source is that different people can cater to different segments of the population - one distro's config is mostly text based, designed for servers, while another has a graphical install and is geared to mostly desktops. Finally, there can be a distro catering to the absolutely lowest common denominator - The non-*nix person without a clue (not a flame,just an observation). Essentially, this envolves a brainless installation and the end user doesn't have to see the "guts" of the system at all. They just want the thing to work, and be reasonably inexpensive. And this can be done - it is being done by Corel, among others. And this has tremendous potential in the non-"geek" world. But, unless Apple decides to ports its GUI, I do think skins/themes are perfectly valid and fit in nicely with my above points ("Hey, look, this looks just like my system at work/school!").
Can someone think of an example Open Source project where the developers are not users?
I think the more appropriate question is can anyone name an open source project where it's users are only it's developers. Obviously the developers of a program in the Open Source community are going to be users, that's only natural, but if all they care about is limiting the usefulness of the program to themselves and not creating a program that can be used by 98% of the population, then the article isn't focused on them.
The problem that lies in most of the comments is people are getting stuck on the GUI only, which is one aspect of of the entire User Interface. As I'm sure everyone will agree, there are some absolutely gorgeous GUIs availabe for Linux and on the flip side, there are some absolutely horrendous ones. One of the problems that the Linux community will see as Linux becomes more popular with "regular" users is that there is no consistency between the different GUIs.
However, the article discusses UIs in general and (from recollection) doesn't even mention GUIs. The user interface of a program is more than the GUI, as I stated, it's about what information do you present to the user, how is that information organized, etc.
As an example, consider the normal installation of Apache and Sendmail for configuring. Neither have a user friendly interface to configure them, sure they're available, but you have to seek them out. For experienced programmers and users working with the configuration files is fine, get in there, make the settings, save and restart. However, when someone from the 98% of the population who doesn't have experience tries to do that it almost always ends in frustration.
And the README files for most programs only add to that frustration for a new user because they are slanted towards those who know what they're doing and understand the slang. This is the perfect example of creating an "in-crowd" in the Linux community. If you're experienced and you know what you're doing, you're a welcome guest to the Linux community, but lord help those new users who try to ask a simple question because they'll be tossed out of the community amid cries of "RTFM." Yeah, thanks for being helpful. It certainly doesn't help when RFM is wrong, as in a case I ran up against with an O'Reilly book and one of the examples in it...check the online errata? Oh, wasn't mentioned in there, even e-mail the publisher and the author and still didn't see the correction show up.
The fact is that the developers want to write a program that does what they want and making an easy to use interface for beginners or those less experienced then they is last on the list.
Good, bad? I won't vote either way, it's just the way it is...right now.
Ugh.. Linux (unix) Is a server oriented system.. To do dekstop stuff we all know it needs to get easier.. Its awesome at being a server. Nothing needs to change interface wise to make the server aspect any easier to use. Desktop wise a lot of work needs to occur. It should surpass MS in ease of use WITH a GUI if its going to win.. I dont care whatever is better I will use. Hope Linux wins and becomes somewhat easier to do.. I hate hacking a WM config all day. Now.. About the we need only text interfaces for everything. Come on.. Think about that. MOST peoples minds work at a much higher and quicker level of comprehension and speed with VISUAL tools. NOT everyone wants to or CAN or has the time to train there mind to be highly effecient in a text based environment. Many people learn and work more effeciently with a Graphical (windows and purdy stuff) Interface. And anyone who says it should be text only and everyone should like it is missing the point if they ever hope it makes it to the desktop.. but I dont think these people even want *nux on peoples desktops..?? Or do you. Its a very ambigious feeling I feel from the community right now. but people DO need a graphical user interface. Why do you think people use symbols to represent everything? Why do you think the Dell sitting in front of me has a symbol for power HD light and reset and not just numbers 1 2 3 or labels POWER HDD RESET out by them? Your mind can usually memorize a symbol easier. It improves memorization time and comprehension rate drastically.
The guy's point is that most people aren't power users. And because non-power users like those flashy, inefficient things, that's what's needed to win over new people to OSS.
UI designers do not need to be programmers at all. Why should they? In fact there should be a wall between the designers and the coders. Designers should be able to design a great interface, with crayons or whatever, and then hand it to a programmer and say 'make this work.'
Why does the OSS community suck at this type of work? Because this type of specialization is frowned upon. The community is basically a giant pool of C/C++ hackers. The typical attitude is, if you see a problem, fix it. In this case, the people that see problems and perhaps have solutions can fix the design but not the code, so it doesn't get done. Basically because people don't want to code other people's designs. That smacks too much of work, not independent creativity.
As pointed out, finding someone who is both a creative coder and a creative UI designer is very difficult. Finding two people, one a gifted coder and the other a talented designer, is not nearly as tough. The problem is, and this is what the article should have been about, is that the OSS community has yet to develop a means for these two people to communicate.
This is a real issue that should be addressed, not worrying over which widget set is better. Clearly Open Source has not produced a good, new interface. We still rely on companies like Apple to do all the design work and then rip them off. Who knows, in a year or so maybe Gnome and KDE will have finally finished copying the Windows 95 interface. We should be looking ahead though, coming up with interfaces that are better than closed source products. In order to do that some sort of system has to be developed to allow coders and designers to collaborate on projects together.
As Linux invades Microsoft's desktop OS turf, I expect complains like this to surface from Microsoft's once satisfied customers. Hell, no. They even come up with theories like this to mock us. The author obviously isn't familiar with open source or just beginning to learn about open source.
This is a bazaar. If there is a demand for good interface, somebody will eventually make it. Why? Because it is open source! Stupid. Anybody is free to create a good interface. You have the source code and you see everything. How can something this open and transparent to the kernel level be "skin deep"? If you want good interface, hack it, like Corel Linux. Oh, the author is talking about the end users and they don't know anything. That is because Microsoft failed them! As we progress in technology, everyone has to keep up. If you don't know how to use a cell phone, well, use your lazy brain and think. If it wasn't Microsoft that spoon-fed those end users, they might be making rockets to the moon already! Even as an end-user, you can't let technologies take control of you, you need to get hold of them, to use them wisely and make greater achievement.
One of the things I expect from the spreading of Linux is that it will increase the general computer-awareness of the common user. Today, an average computer-user knows about its computer less than it knows about a car (they do not usually put the wrong fuel in the car, but they carelessy upload and run infected software).
This was not possible 10 years ago, when M$oft made his fortune by lowering the standard needed to use a computer.
But soon, with kids first approaching computers when three years old, it will be maybe time for a system less 'shallow' and more powerful. Linux could be it.
As a programmer, but quite mouse-addict, I must say that I found User-Interface of many OS programs less easy, even though often more powerful, of today commercial programs. On the other hand, I discovered that the so-called user-friendlyness of many programs often scares away the computer-ignorants as much as a command line interface. While a computer-aware person easily learn a new program interface.The thing is to teach CONCEPTS, not how to press buttons.
Last thing: I believe the author under-estimates the power of Internet as a tool to convey then hints of average-users to the OSS programmers. The problem could be : would they listen ?( after all they work for fun! ).
Ciao
----
FB
If we pretend that it isn't broken, no one will fix it.
Powerful systems are by their nature more difficult to use. Even with the friendliest, flashiest interface and a slick, glossy manual written by the greatest technical writers of all time, a piece of software like sendmail is still going to require a competent, experienced individual to make use of its more powerful features. If you take away those powerful features, you can make its use much easier - but suffer from the loss of that feature set.
The idea that everyone should be using {Linux, FreeBSD, Solaris, } is flawed just as is Microsoft's idea that everyone should be using Windows. The truth of the matter is that most people shouldn't be using computers at all, especially not in the current peecee/workstation model of desktop computing. It isn't the answer. All that this has done is cause thousands of mindless followers to adopt Linus's goal of World Domination and set about dumbing down the system to the point where it's unusable for the people who created it. What kind of sickness is this?
Unix is where it is today not because of its recent "progress" toward the "end-user" but because of its 30+ year tradition of design for the designers. The people who build this software know how it works and they expect that like-minded people, technical people, will find it intuitive to work with. Since these are the people who have the opportunity to put such systems to the greatest use, it makes sense to cater to them. The idea that computers should be easy for the end-user to understand is fundamentally flawed, because the type of computer in question was never designed to be used by end-users in the first place. It was designed for scientists, mathematicians, and hackers. By slapping some glitzy interface on it, all that's accomplished is making the system more difficult for the original intended user base. Everyone else stays confused as ever.
So let's kill the World Domination kick. Open Source or not, the typical idea of software and computers today isn't for everyone. Why pretend that it is, making everyone's life miserable? I for one don't give a rat's ass whether John and Jane Doe have a computer or not, or what it runs. That's their problem, not mine. I develop software for my own needs, and if it happens to be useful to others with similar (or even very different!) needs, they are welcome to it. That is the philosophy of Open Source, or as it probably ought to be called, Free Software. You've clearly lost your way. Go back and find it instead of making yourselves and everyone else adjust to a paradigm that, like most "compromises," doesn't really fit anyone very well.
I really think this guy is sort of out of his head this may have been true at one point, but things are changing. Reason why? Simple... open source is becoming profitable. Companies like RH are paying people to do nice user interfaces for the whole community. I actually sold a linux server to a company based on how freaking cool enlightenment was. The head haunchos exact comments were: "Microsoft is already dead". Of course you're probably all going to think... you sold a server based on a WM... hehe, yea, show the pointy hairs what they can understand!
Hi All,
Let's see the evolution of UI...
1) Plug some wire in some holes
2) Punch holes into little paper card
3) Use a terminal to punch holes in little paper cards
4) Use terminal to type command and see response
5) Use a device to move a pointer on a ugly graphical screen
6) Use a device to move a pointer on an ugly complex grapical screen
7) Use a device to move an animated pointer on a good-looking complex graphical screen
8) use a device to move an [animated] pointer on a good-looking simple graphical or text screen.
Guest what #8 is... Hyper Text Markup language... Who build that thing? No it's not a commercial entity but a buch of people who wanted to empower the user with an easy to use interface.
Guest who is going to make that kind of interface as THE user interface in the next consumer version of their OS... MICROSOFT...
Most of geek have no clues for UI design... But a handfull of geek did have great clues about UI. With theire great infrastructure skills they develpped a new kind of UI that is powerfull yes simple. They made the Internet a usefull tool for the average (and less than average) user. Now everyone is building on the geek UI.
This article would have been true when I first came to Linux but since then KDE and Gnome have come a long way towards providing good consistent GUI interfaces.
;-) ] can go for KDE.
KDE has a GUI which is not that different to that provided to a Win'9x user and should not be that intimidating as such. In KDE [which I use more than GNOME] it can be said that KDE apps much more consistent in terms of style application and operation than almost any other GUI, including Windows. KDE is _perhaps_ less innovative than Gnome in terms of presentation, but this is in many ways an advantage - users who prefer more exciting interfaces can go for Gnome whilst users who prefer consistency [and stability
Open interfaces can be quite radical in the sense that arguments can be put forward for changes in direction when it is obvious that things don't work as they are; whilst in Windows older bad designs are often supported, sometimes to the detriment of newer ideas.
Donte Alistair Anderson Roberts - hi son!
Karma: Chameleon
Darn I could have sworn I just did that with RedHat 6.1. I popped in my cd of RPMs and the installer came up and I selected the packages I want. It works that way for CDs and other stuff also. If you have an autoplay file on the disk it can start a regular instaler also.
Computer modeling for biotech drug manufacturing is HARD!
Could he have done it himself ? No ? Then it was not easy. If it was easy, he could have done it himself
Maybe, but they're much more likely to get past DOS fdisk than they are to get past Linux fdisk. Now don't get me wrong, I'd take the linux version any day of the week and twice on Sundays, but unless you have some experience with it, it's pretty scary. And once they do get past the formatting of the drive, it's very easy to install windows. Between hardcopy docs and onscreen instructions, I suspect that most people could handle it. They finish and they're set with a decent GUI (I actually think it's pretty good). Not so for linux. Now again, don't get me wrong; I love linux, but it's anything but userfriendly for the non-technically inclined. People CAN learn (they learned dos too), but it's not particularly intuitive. Sure, once you set up X, you've got a GUI which is at least better than CLI for the uninitiated, but it's still not much until they've configured a decent window manager (the only one that I've used that I think the average person could really handle is Enlightenment with Gnome or kwm(?) with KDE). So once they've set up their window manager (and maybe gnome or kde), they're pretty much at the same place we left off after the windows install. Except that if they have actually made it this far (I highly doubt it), then they've had to learn enough that they aren't really average users anymore.
Ease of use (for average computer users) is still an area in which linux has a LONG way to go. It is getting better, though. After partitioning, Mandrake 7.0 begins to approach the ease of installing of Windows. Er...well...it will when they fix the show-stopping bugs. Still, we've got quite a ways to go.
Cheers,
Perrin.
-Perrin.
Now I want you to go in that bag and find my lightsaber. It's the one that says bad mother-fscker on it.
What's been grossly overlooked so far is the author's comment about "Most people want a product that works right out of the box." No need to be on the defensive about the GUI for XF86, and the WMs. It has come far...the quality of work and ease of use speaks for itself. Think about the first time user of xf86config ...all those questions, and settings/options...how can they know about RAMDAC, and all the different permutations of refresh rates and resolutions? Think about the first time user installing Linux (without any previous knowledge of all those UNIX utils and apps). Which one(s) should they choose to install? Think about installing WinXX... FYI...I've been a Linux user since '92 (times when releases were labeled as patch levels). I have taught Software Engineering and Computer Graphics at UG level. I just installed OpenBSD on one of my laptops.
Yeah, often tech writers don't understand the significance of what they're saying. Writing "click the mouse button" is not good enough any more. WHICH mouse button?
:-)
A good writer can help a good interface better or really, really bad. Maybe what the open-source user interfaces need are better tech writers
easier to grasp by lusers. This is generally born out by all but the most die-hard zealots.
MS-notepad is easy to learn.
Once one knows vi well enough, one can be extremely fast with it. It takes time. Learning notepad is very fast, and when one is experienced with it, one is no faster then when one is not.
But a GUI is essential for, well, GUI stuff. For the average user, dragging an icon to a trash can/recycle bin is more natural & easier to understand than typing "rm file" or "del file"
As for XWindows apps, traditionally, the GUIs (widget sets) have been ugly, inconsistent, not well thought out, and third rate, which leads to a steeper learning curve. KDE & GNOME are more consistent, modern & visually pleasing (than, athena, for example), but you I'd have a hard time believing the GUI was designed & thought out completely before any code was written.
How can they say that the GUI's are hard to use? Sounds like it was written by someone who has never seen XFree86. It's almost as simple to use as Windows or MacOS.
kwsNI
This kind of crap really irks me. Why is it that ALL softwhere EVERYWHERE has to have a lowest-common-denominator user interface? Does all software have to suck just because somebody might not want to use it? It's free software, people-- it's not like we're losing money if people don't buy it. I just want software that doesn't suck, and I really don't care if my secretary can't figure out how to use it. Let her use MicroSoft or Apple crap, and I'll enjoy the good stuff that my hard-won technical competence enables me to use.
Can't we have just ONE environment that isn't dumbed done to the level of the Clueless User?
But you just hit upon the point...they don't make sense for power users. Alas, most users are not in this category. The best of all possible worlds has to be the flexibility to use either a text/command line interface or point and click...which ever the user is most comfortable.
Until very recently, Open Source programs in general and Linux/BSD/whatever especially have been by the geek, for the geek and of the geek. There is nothing wrong with this; that has been it
s user base. The OS community is at a cross roads now. Never before in its history has the general public been more aware of its existance. The question before us now is what do we want to do? If we want to slink back into obscurity then we can continue to make better tools for the few that the masses could not use. If we want to become more common place, Linux/BSD/whatever on every desktop, then there does have to be a "dumb-user" mindset for UI design.
My UID is the product of 2 primes.
Since alot of them has computer experience since "alot" of years.. :)
But, they just dont, since they don't need it.
I guess we really should get some good gui's running soon
Guess what?
Humans are born as "computer-illiterate newbies"! The point that this author makes is perfectly valid: Open-Source software makes fantastic engine code. It satisfies power users. But it will not attract new users unless the developers start getting regular, quantifiable feedback from "computer-illiterate newbies"--and incorporate that feedback into their interfaces. He didn't say "Open Source sucks". He didn't even say "Open Source geeks can't write good GUIs". What he said was that anybody who *writes* a program is too close to the subject to be able to evaluate the GUI from a *user's* perspective.
If you don't ever want to attract *new* users to Open Source software, then fine. Blow off these points. But don't expect people to adapt the way they use software to fit *your* mode of working. Isn't Open Source supposed to be about flexibility and accomodation? Why not *allow* for the accomodation of *new* users?
Sheesh.
I believe that the author's intent was to provide enough generalized examples of the faults in OSS UI's to encourage those in the community to do something about it. I don't think he set out to improve one specific window manager or app.
He provided the example that skins are great, but they do not hide users from the inherent faults in the UI itself.
I have a website. It's about Macs.
This is a peculiar article.
Ok. Let's accept as fact the statement that open source developers are "unable to roduce innovative interfaces". The author states that the reason for this situation is "[t]he Open Source movement has no feedback loop to end-users".
Does this logic make sense? How much did "end users" contribute to Xerox's innovative graphic interfaces? Was it the end user's that demanded the UI that Apple put on their Lisa and later their Macintosh? Was there an end-user revolution that said "We need a graphical hypertext interface to all the various documents and resources on the internet?". Did end-users contribute to the design of Visicalc?
Even if you accept that end user communication contributes to innovation and that open source development lacks that communication, what examples would the author cite for being "innovative interfaces"?
Was there anything particularly innovative about MS DOS or MS Windows or OS/2 or MacOS or BeOS or CDE or Motif or OpenWindows? Maybe each had a couple of innovations but nothing that stands out.
Emacs (which I rarely use) stands out to me an example of an open source program with an extremely innovative interface.
Perhaps the author wants to use a different word than "innovative".
The command line interface might be simplest as far as implementation and looks, however, most people cannot think at this abstract level (or at least, they never learned it, the newer generation, who has grown up with computers, might have an easier time at it). The "innovative, flashy looks" might be excessive, but at least the GUI provides you with a symbolic interface, something above the abstract level, a visual representation. The average computer illiterate guy can't memorize a bunch of - switches. He wants to see his files represented as a picture of paper, file name underneath, with a visible "directory tree", and if he wants to delete a file, he wants to be able to "drag" the file to the "trash/recycle bin".
This begins to become a moot point however (as others have pointed out here) with all the advances in gnome/KDE. They're almost ready for prime time. Nice look for the average user, without the commercialized "bells and whistles" feel.
Everyone has there specialty. Just because you are a geek doesn't mean that you can't write a good interface. The geek label doesn't neccessarily mean pigeon hole you into some kind of backend design. Some people are good at db design others oo design and others ui.
In Republican America phones tap you.
Some examples:
- Not really UI- but just last night, I wanted to download an mp3 encoder. After a brief search at deja.com, I read that lame was a good mp3 encoder to use. I got to the lame homepage, and it said "lame is not an mp3 encoder!". Well, because I was persistant, I downloaded it anyway, and tried it out to see if it would encode my mp3's. It did. Perhaps it's technically right, but it sure seems unnecessarily confusing to me.
-How many GTK themes have you downloaded, where you can't tell, by looking at a pushbutton control, whether the button is on or off? You push the button, and the button gets slightly darker. Does darker mean it's on, as in it's depressed and so it's darker? Or does darker mean it's off, because dark tends to mean off? So many really nice looking themes are difficult to use because of problems like these.
- If Gnome, you can set a desktop. You can also set a desktop in Enlightenment, and most other Window Managers. I'm still not sure how these things interact, or why a user is allowed to set two different backgrounds, one in Gnome and one in the WM.
- Why does the user need to select different themes for both Gnome and Enlightnement, and then for any other app that has themes? I know the reason why, but what I'm saying is, to Joe User, it seems stupid to have to download his favorite theme, BlueSteel, for Gnome, for Enlightenment, and then for xmms.
- Why does X11, after initial set-up on a standard system (for me, at least, using RH5.2), not understand the backspace key? Why do I have to read a FAQ to get this to work?
I'm sure there are plenty of usability annoyances to go around....
I believe this is exactly what has allowed open source to thrive. Without these pitfalls in the true "free" open source software there would be nowhere to make any money. For such a long time the argument was Open source can't be profitable. This has obviously been proven wrong, by people making money supporting and writing wrappers. Why by Red Hat or S.U.S.E? because they're easier to install then Debian. To many people(Me included) that's worth 30-40 bucks. Linux et al. deserve great credit for being free and open but without companies like Red Hat etc the popularity would not be what it is(opinion don't flame) so, to get to my point The OSS can be looked at as a tool, where people can add on and make it easier as it goes. Keep the functionality where it is, and eventually someone will make it easier to use.
"as plurdled gabbleblotchits on a lurgid bee" - Prostetnic Vogon Jeltz. (One man's humorous is another mans flamebait)
but if you proceed and say "ergo I don't care".. don't expect those desktop users to care about you, or your favorite OS...
That's part of what bothers me: The people that stress that everybody should care.
Hmmm... Maybe the term I'm looking for is somewhere along the lines of 'Linux Zealot'? Or maybe it's the same thing that bothers me about the PC vs. Mac style wars.
We're not talking about Apps, here... Rather the general GUI.
Witness:
Xerox's Alto in the 70's gave way to
Apple's Macintosh in the 80's which gave way to
Microsofts Windows (though it was a step backwards in my eyes) which almost gave way to
Netscape's browser, except
Microsoft Internet Explorer stole netscape's thunder.
Where have the Unixes been through all this? Basically sitting on the side lines in terms of creating interfaces, but creating great innovations under the hood (X stands out in my mind).
Now, Apple's taken their interface to a new level (which we'll get to see soon enough), Microsoft is continuing to interwind IE further into the OS and GUI, and Gnome and KDE are basically still where Windows 95 with a very partially implemented browser on top of it.
The advantage of a closed source/proprietary development team is this: The manager can say do this and this. The developers have goals and milestones. If they decide to concentrate on some other area, they're out of jobs. Open source is a lot more lenient, where people get to choose whate they'll do and when they'll do it.
what this author does not understand is that the
real guru's are writing code with the simplest
possible interface. if it can be a text-only
interface, then why not? who needs "innovative,
flashy looks" when a nice text-prompt will work
just fine?
This author needs to go read some UNIX history,
and then rewrite =/
A year spent in artificial intelligence is enough to make one believe in God.
I believe this is exactly what has allowed open source to thrive. Without these pitfalls in the true "free" open source software there would be nowhere to make any money.
For such a long time the argument was Open source can't be profitable. This has obviously been proven wrong, by people making money supporting and writing wrappers.
Why by Red Hat or S.U.S.E? because they're easier to install then Debian. To many people(Me included) that's worth 30-40 bucks.
Linux et al. deserve great credit for being free and open but without companies like Red Hat etc the popularity would not be what it is(opinion don't flame) so, to get to my point The OSS can be looked at as a tool, where people can add on and make it easier as it goes. Keep the functionality where it is, and eventually someone will make it easier to use.
"as plurdled gabbleblotchits on a lurgid bee" - Prostetnic Vogon Jeltz. (One man's humorous is another mans flamebait)
The premise seems to assume that geeks are the only vendors at the Open Source Bazaar. That's no longer true. Corel has done a hell of a job of improving KDE and Debian in the direction of user-friendliness. This premise is just another tired objection to Open Source that gets spit out every so often by people who either don't know any better, or should know better.
- 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.
I do design UI's for a living.
And you know what?
It's no skill of the designer. The cycle goes something like this:
Programmer(s) hack something up.
I yell at him.
He fixes it.
It goes to testing.
hundreds of idiots fiddle over it, and make
comments, sometimes insightfull, sometimes
useless, but most of good use.
Management burns them and tells me
what they are like.
Me and the programmer(s) sit down and
and appease management to keep our jobs.
The consistancy of those other commercial GUI's comes mostly from the fact that 90% of the heavy volume applications come from the company that wrote the gui. That's good design by default, not by implementation. I have a specific comment on the macOS GUI. Specifically not aqua etc from macosX. It's intuitiveness and ease of use comes only from it's simplicity. When it comes down
too it the macOS interface is essentially bland. There are a limited number of elements that do a limited number of things and interact in very limited ways. I have hope for them with aqua... but if their structure remains as rigid and their attempt at a "theme" engine is as week as they're previous attempts then they'll just have anouther bland interface that looks nice for the first few days.
-T
Old truckers never die, they just get a new peterbilt
The windows and Mac desktops may or may not be great, it doesn't matter. They furfill 2 requirements that linux doesn't:
1) Consistency
2) if not great, then at least okay.
Linux has not consistency. Every app has its own widget set. Nearly everything is confusing. Two examples for those bemoaining vauge generalities:
#1
When you sit a novice down in front of netscape on linux they can't even tell if a "checkbox" is checked, because some programmer got lazy and did an emboss/deboss drawing effect instead of loading an icon.
#2
Most novices can't even LOG IN to gdm in RH6.0 because if the mouse isn't over the text box the key events don't make it to the text box.
If you actually sit down with a true novice user you will find about one example every ten seconds. Try to orally coach them through doing some simple task like sending a mail message or playing an audio cd. I would say that the application has a "C grade gui" if they succeed without you having to either grab the mouse/keyboard from them, or apologize for the gui designers.
You will find that very few linux "apps" merit the rank of "C grade gui".
True, some of them are configurable to the point of being "C grade", but that's shutting the barn door after the novice users have left.
The sendmail dude is completely correct.
Take a look at Slashdot, and the Slash code. This is a very powerful tool with a large collection of options that's very simple to use. I can customize the way Slashdot appears with very little effort at all. My Slashboxes (on the right hand side) are the ones I choose in the order I want them. I've killed some of the graphics and the book reviews. I sort the replies at level 3 and drop my threshold or read responses when desired.
Open Source does not mean bad interfaces. For the most part Open Source is new enough that the core engines are still being built.
Do we need another good example? How about the Linux Doom Admin interface. Point and kill those tasks.
Linux fails the "mom" test not because of geek superiority, but because there have been other needs that are of a higher priority. Many closed source systems have decided to make user friendly systems that don't function. Linux has decided to make sure the dang thing works and then they'll make it look nice, and that's an order of priority I can live with.
Open Source does care about the end user. What the end user of Linux wanted was a stable product that worked and didn't need to be rebooted daily.
If you want ease of use over stability, you already have a company that makes that product. Meanwhile, it's not like Linux isn't still being improved and no one is preventing a good looking interface from being created.
Besides, even the big companies have an interface problem. Neoplanet almost brought me back to I.E. and it's getting combined with Mozilla on my home machine this weekend for a serious Version 13 test drive. Closing the source does not a good GUI make.
-----
Want to reply? Don't know HTML? No problem.
No Zen is good zen
So, what your saying is Open Source can make good UI's so long as they have something to copy from?
How about some examples of where Open Source is leading the field with it's GUI?
First, make it work, then make it right, then make it fast, then, make it bloated!
Your fundamental error is assuming that I do. Like most people once did, I understand that if I want to do something with my computer, it's up to me to either find someone else's solution, or make up my own. Whining and bitching and signing porting petitions for third-rate proprietary products isn't the way to go. You have to decide: do I 1) Care most about minimal work and having my applications (suck it up and use windows), 2) Care most about my applications and using a good OS (write your own apps), or 3) Care most about minimal work and using a good OS (accept that your desired apps won't be available)? This is your problem, not mine. My operating environment does what I want it to. How dare you insist that I change it so as to make it more convenient for you to increase the size of the market!
Why is it than all non 31337 coders get to call users idiots? Next time you need me to fix your car, do I get to call you an idiot? or question your mothers sexual proclivities?
However, the thing about running X apps over Telnet doesn't thrill me. There already are decent functional console-based versions of most utilities out there - ie, Lynx for web browsing, linuxconf in text mode, all the necessary sysadmin stuff, etc.
While an interesting idea, this is perhaps best suited as a grad student project rather than a real-world application :)
Look, The question is a simple one. Do we want the desktop? Everyone keeps talking about Linux taking over the desktop. Is this what we want? If no, then there is no problem. I can figure out how to use it, you can figure out how to use it, we have no problem.
If yes, we have work to do. My father can barely use Windows. He cannot edit text files to bloody get X up. Yes it is faster to type rm -rf somefile, if you know what a bloody rm is, otherwise it is not faster, right-clicking and clicking delete is. It's taken most of a year for me to get reasonably proficent at *nix, and your average user doesn't want to spend that amount of time in training. I did Windows support for a year, these people are not going to read the man page, they are not going to read the HOWTO or the FAQ. If they can figure out what a news group is they MIGHT post to it, but somebody better answer, and it better be the right answer. Some of them are very inteligent... some are very stupid, but all of them want one thing. I take it out of the box, I put it in the machine, I use it. Until we realize this and make allowence for it, Linux will NEVER take the desktop. It is and will be a great OS, but it won't take the desktop.
I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
Yes, I admit it, I do not run Linux or Unix. I run Windows 98.
I don't want to give up Adobe, and I'm not throwing Linux on this PC as well (but enough of that)
You guys are forgetting to ask OUTSIDERS, people unfamiliar with a Linux/Unix based system what THEY feel the programs are like.
I tried installing RedHat 6.1 by myself, it was hell, I screwed up 4 times before getting my friends help.
What CmdrTaco posted is true. When you design something for an OS most commonly used by techs, you forget to throw in the glitter and pretty shiney things (like a Vigor paperclip heh) that make the general user go "oooh, ah, this is so simple"
Really, why do so many people who HATE windows stick with it? Aside from all the boring games made for it, it's EASY to use.
It's got a friendly interface, and it hides the 'dangerous' areas from stupid users. That's what makes it so popular.
Linux and Unix and the like just leave the programs barren and devoid of beauty, the only layout the programs NORMALLY use are those designed soley for functionality.
A button here, a button there, a line here to break things up, ands it!
Of course, this is just MY opinion, I could be wrong.
"Smile
Just pick out a program, email it's author, and say "Your UI sucks the big one. Let me show you how it's done." I'm sure he or she will be very appreciative. :-)
Uh...did you read the article. The article is not about the old dusty CLI vs GUI debate, it's about the poor UI's that are being designed for OSS. Those are two very different debates :)
Actually I think the author makes some good points, I've always thought that when programmers write programs for programmers they tend to come up with some really cool stuff that doesn't really address what the "average user" might be able to deal with.
Why can't we attract some starving artist types to help design our interfaces???? It might be a good break for some people to showcase their talents.
...is what is really lacking. This is where ALL of the Unicies (free or otherwise) fall flat.
I am very small, utmostly microscopic.
What is needed here is a good open source UI initiative, bringing together the Academics who are knowedgeable in UI Design in our community and the developers in our community who are working on GUI Design, to start generating a logical, innovative, and consistent design to be implemented throughout GUI software under linux. Sort of a GUI Standards Association to set guidelines on development that would define a consistent interface and methodology of use. Conforming to it would have to be completely voluntary of course, but it might be of great use to future developers to have a body of code already built to perform all of the basic functions that they can draw upon when developing a new program.
Obviously, this will not impact the currently developed non-GUI programs which are already using their own command systems - I am sure if anyone were to suggest monkeying with the commands which control Emacs or VI there would be riots in the streets and public hangings - religous people can often be quite fanatical about change :)
Reaching a consensus on GUI design would no doubt prove to be a challenging task - but I am sure we have folks in the community who are both knowledgeable concerning UI design, and capable of approaching the task from a fresh perspective. A lot of research has already been done on this in the Academic world - all we need are folks to actively interpret that work into something comprehensible by developers. :)
Just my 2 cents worth.
"The first time I got drunk, I got married. The second time I bought a chimpanzee, after that I stayed sober" Arian Seid
I don't dispute the article's basic assertion that much free software lacks UI's that are easy for novices to use. Rather, I have a tangent rant about the state of usability theory in general. I'm professionally involved in the development of user interfaces, and so I've spent some time with usability experts. I've heard their ideas about what makes an application easy to use, and I've come to a conclusion: if all interfaces were designed they way these usability experts think they should be, my productivity using my computer would suffer dramatically. These "easy" interfaces are terribly inefficient compared to my favorite interfaces, most of which use the keyboard as the primary input device, being either command-line or text-mode tools. The mouse is extremely limited in what one can express with it, while the keyboard is superbly versatile and infinitely expressive. For somebody that knows how to use a keyboard, and is willing to invest a little bit of time into tackling a steeper learning curve, the rewards are significant.
Usability experts talk about limiting the amount of information and the number of options and functions which are presented to the user at any time. This is completely contrary to what I like in my interfaces. I don't get lost if you present me with a large amount of information and a complete set of functions, so please give it to me! It allows me to work with the computer as quickly as I possibly can, without being limited by an interface designed for the lowest common denominator.
That is not to say that point-and-click interfaces, wizards, and other such interface idioms should go away. (Dancing paperclips should definitely go away.) Most people need that sort of interface, presumably because they don't think it's worth investing the effort to learn a better mode of interaction. They might be right, for themselves, but that line of reasoning doesn't apply to me and others like me. Any application that constrains me to keep my hand on the mouse is not an application that I'll be using very often.
My point, which perhaps I haven't made very well, is that good user interface design needs to consider the nature, preferences, and abilities of the end-user. There is no such thing as universal usability; the best way for me to interact with an application is probably not the best way for everybody else to interact with it.
What does this have to do with the article? Not much, I'm sorry to say. The article's complaints are valid, assuming you're interested in making free software a viable choice for the masses. The masses need disgustingly simple and limited interfaces, or else they just get lost. But please, please don't take away my keyboard interfaces in the interest of serving the lowest common demoninator.
when I first installed pan a little over a month ago, I got nothing but segfaults, too. The latest versions (the last week or so) have been right as rain, though. I don't remember having to upgrade any Gnome packages, but then again, I reload gnome.org looking for new releases almost as obsessively as I reload /. most of the time...
While I can't refute your argument that Windows copied the interface from other things, to me it really doesn't matter whether it was copied or not. What matters is that it IS consistent. Yes, maybe you didn't know that Alt-F4 was the close statement. To me that just says that you never used the little icon in the upper left because every time you click on it it pops down the little box that says "Close Alt+F4" To close a document is usually Ctrl-F4. While I agree that it may not be the most obvious of choices. (Why not Alt-Q or Alt-C or something like that) It IS standard. And that's what I care about. When I want to close a window I don't have to search around or lift my hands off the keyboard, I just hit Alt-F4. I would have to say the same thing for Cut/Copy/Paste. It's a fair standard to have Ctrl-X, Ctrl-C, and Ctrl-V for those functions. Some versions of DOS editors use like Shift-Insert, but that is probably just legacy.
So while you're argument that it was copied is probably correct, it really doesn't matter. Isn't that the whole point in creating things? To take good ideas from something and improve upon it. I don't credit Windows with creating everything, I will credit them with putting it together fairly well. I have limited use with Linux, although I would much rather see it succeed because I agree with the principles behind it. If I could get everything I can in Windows under Linux, I would probably switch. Unfortunately, we've got a lot of tools that we use that are only for Windows, and we need them to get by.
Sorry about the rant
But wasn't the Bob product withdrawn because it was considered too insulting? :-) hehehe
==== Dear Diary ==========
==== Dear Diary ==========
http://www.deardiary.net - Put your thoughts online, Visit my diary, http://neutronic.d
Pan is a swanky newsreader that feels a lot like Forte Agent for Windows. I'm using 0.7.2 (0.7.3 just came out yesterday), and it's pretty darn solid.
Mike should stop complaining; I say screw the end users. It's their own fault that they don't know how things really work. -Bob The Frog
I think this is the author's fundamental mistake. The developers of successful Open Source projects are its users.
And that is your fundamental mistake. Developers are not typical users. They have much higher thresholds for tolerating complexity, and very focused, repetitive useage patterns -- a vastly different profile than general-purpose desktop users, who may be inexperienced, casual, or depend on a much more diverse set of applications. Understanding and meeting the needs of these users involves very different procedures than the ship-and-refine approach of most Open Source projects.
Mr. Kuniavsky may be right, if we were designing software for my grandmother, but I know I do not. There are some project (Gnome, KDE) that are aimed partially at this market, but they are still made by hackers for hackers (when have you ever seen a KDE or Gnome implementor say, "I would really like this to be handled this way, so it can be powerful and adjustable, but I won't because the little old lady down the stree won't be able to use it as well.")
>This presents an interesting dichotomy: why is
>the best software writing organization on earth
>unable to produce innovative interfaces,....
It is not possible to analyse an interface without reference to the target population. What should be said is that the Free software community has not produced an innovative interface with respect to the average computer illiterate user. There are many example for innovative interfaces targeted at the programmer: emacs and TeX to name a few our most favorite, extensible programs.
In face of defining the end user as a programmer, the rest of the article doesn't make sense. The feedback loop he speaks about becomes nonsensical, since the developer is the user.
Remember, it is always easy to build a simple interface, with fewer feature on top of existing tool. 'find' can be called from a GUI tool simiar to MS find or the Mac's Sherlock. Sendmail can have a simple Exchange like interface put on top, although you loose much extensibility. However, if you design the original software with those limitations built in, then you loose the hacker market, which is a tremendous part of any Free project.
I seem to recall a thread, or series of postings recently right here on /. commenting on the general lack of a single configuration tool for linux.
What are we looking for here? It really all comes down to the fact that as more and more people come into the Linux world (myself included) fewer and fewer of them are willing, or able to spend the time configuring their machine using someone else's idiosyncratic text interface.
It's not a matter of making stuff that "geeks" can use, its a matter of making stuff that "geeks" can use w/o reading all of the source, or most of the Man page...
hmmmm?
I respectfully disagree. The question is not whether or not developers are also users, its whether or not all users are developers.
The author's "fundamental mistake" is actually his main point IMO. If Linux is to conquer the desktop, it needs to create that "feedback loop." As it catches on with the mainstream, more and more non-developers will be using Linux. If we want this growth to continue, we need to gather input from these users and incorporate it into OSS projects. It's something many corporate development projects do--usability testing.
Practically speaking, how can usability testing be made a part of OSS development? What incentive could be presented to a non-developer user to participate in the OSS process? The author also claims you need a non-developer UI researcher to participate in the feedback process. Assuming his claim is valid (I'm skeptical), who would fill this role? OTOH, why can't the UI researcher also be a developer in the OSS project?
How
It's a chicken and egg problem. Text mode interfaces are very user friendly... if you know how to use them. How do you find out what how do look for things in files? How do you even know that "grep" is the tool that does the job, much less how to use it? Well, you use the man pages. How do you find out more about the man pages? Type "$ man man" of course... :-)
I think vi has a great interface. Want to delete 5 lines? Type 5dd. No menu to find, and very efficient and intuitive, but only if you already know how vi works.
The point of a good user interface in the "usual" sense is to reduce the learning curve for new users while providing fast, powerful functionality.
I think the point of the article was that good UI doesn't necessarily equate to having a GUI interface. It's more on how programs have a shared consistent interface. For example, the shortcut to quit in Gnome programs is ctrl-q, in netscape and some others its atl-q, xemacs and emacs set it to ctrl-x-ctrl-c. If I want to quit a program, I don't really want to have to stop a second and figure out what the shortcut is, or end up pressing two or three shortcuts in other to quit. The MacOS and WinXX systems are a lot better in this regard since certain common functions are mapped to the same shortcut in all programs. If I want to quit a program while using those oses I can just hit alt-f4 or apple-q and know that it'll work.
"When you sit with a nice girl for two hours, it seems like two minutes. When you sit on a hot stove for two minutes, it
My favorite example are games. We think all is well with Linux and games because Loki etc are now porting commercial quality. But the actual development of such quality games under Linux requires that the non-programmers of a software team migrate to linux as well : to edit the video, the story, the dialogue, the puzzles, whatnot. And that will require tools that are easy to use by those non-code guys.. and trust me, artists and editors can be really stupid.
So there you have a concrete example : if you want companies to build games, their editors will need content editors of ultra easy to use interface. That's an example of cool apps that haven't even started to come through.
So can you really be happy to keep Linux in the niche, avoid it's commercialization, and at the same time cry out for cooler games and cooler multimedia native to Linux ?...
Not to mention that a boom of Linux to the desktop would probably a great incentive for OEMs to add support for their scanners, point devices (tablets, ..), printers, modems and whatnot to Linux.
As I'm sure everyone will agree, there are some absolutely gorgeous GUIs availabe for Linux and on the flip side, there are some absolutely horrendous ones. One of the problems that the Linux community will see as Linux becomes more popular with "regular" users is that there is no consistency between the different GUIs.
This speaks to something I've been saying to myself for a while -- Linux needs a User Interface Specification. To my knowledge, an authoritative document of this type doesn't exist.
I'm not talking about limiting flexibility -- long live customization! -- but applications' and operating environments' default UIs need to be consistent with other applications' and environments' defaults. Consistency is the Holy Grail of usability.
I'd love to see an article or interview on /. by Bruce Tognazzini, Jakob Nielson, Jared Spool or some other UI heavy hitters, explaining exactly what's wrong with the Linux's UI approach (from a the "average" user's standpoint) and why. (And I'd also like to see them participate in the ensuing discussion, quoting facts and figures as necessary. Hint, hint. :) If the Linux community could integrate the body of knowledge that exists on UI into their products the way they incorporate everything else, this OS would be unbeatable. Period.
And as to whether we even want "regular" users using Linux -- Hell, yes! The most ubiquitous OS is not just going to be what the mundanes use; it's something we will all have to work with, whether we like it or not. I would prefer to like it. :)
phil
I'm not sure if an XML grammar for GUIs will solve the problems listed in the article. Absent user feedback or real standards, there will always be a temptation for programmers to be lazy and take the easy way out when creating graphical UIs.
.rc file that contains the description of the form.
.rc file, it's just ASCII text. The format is human-readable. It could have just as easily been done in XML -- it's just that XML wasn't on the map when Microsoft designed it.
However, I firmly believe that an XML grammar for GUI definition is right around the corner. It's just one of those ideas that makes sense.
Consider, for example, a MSVC++ project. When you create a form and start dropping widgets on it, the IDE builds a
If you open a
My uninformed hunch is that we will eventually see "GUIML" libraries which translate markup into native widgets. The concept is similar to Java VMs, but much easier to implement. It should allow GUI apps written in "compiled to native" languages to have a lot more portability than they do right now.
Save the whales. Feed the hungry. Free the mallocs.
I'm afraid I have to agree with the article--actually I've always felt that way. The fact that Open Source developers cannot see this is perfect evidence of the problem.
/. system. First of all the "Setup" is basically type in the URL. It's clean and it performs an amazingly large set of functions without being overwhelming.
/. was immesurable.
The article did not say all Open Source UI's were horrible, what he said was that the very best are but cheap imitations of UI's developed by--well often Microsoft.
These "Copied" interfaces aren't that bad, Microsoft has put more money into understanding users than imaginable. The problem is in the other software.
First, just to show that it can be done though, I'd like to go the other way. There is one Open Source UI I've encountered that beats anything in it's class. It's the
My guess is that this did not spring into being immideatly. My guess is that the ammount of USER feedback in designing
But if you read the rest of the responses to this story I think you'll find a theme. Open Source Developers often target the technological elite and when their software works well enough for them they slide onto the next "interesting" project.
You can keep flaming these ideas, but if you really want OS Software to be accepted, you really need to start thinking from an untalented users point of view.
Why? We don't care about untalented users! As I've gone through these stages, let me tell you that at some point we're ALL untalented users. We can't all be experts at everything, and as you age you find that being an expert in everything interests you less and less. At some point you WILL want Plug and Play!
Here's a few examples of undesireable practices: I KNOW that you don't think they are undesireable, YOU think they are features, but that's really the problem we're addressing isn't it!
Installs: There is a reason that Microsoft made auto-play for CDs. It's not that it's needed, we got along without it! But it's much smoother than scanning for the correct file. Any install where you need separate directions, file editing or entering more than a few OBVIOUS options is just not necessary.
Options: Unix is based on options for everything. Your UI is completly configurable, every key in every editor (well, ALMOST every editor), even your mouse buttons. This is SO wrong. Aside from the obvious, it means more configuration and usually the default configuration is lame (you can always reconfigure it, dummy!). The correct way to do this would be to make a central key/mouse configuration that controlled all the applications--but the inability to do this kind of synchronization is another shortfall of having such a distributed development.
The GUI:
Huge topic. Let me 'splain. Hmm, no time to 'splain let me sum up.
EVERYTHING needs to be doable through the GUI. If you WANT to jump to the command line to do something, that means the GUI was NOT done well enough. If there is some function you must do at the command line--another shortfall of the GUI.
The GUI usage must be obvious. If any user can't figure out how to complete his task without a manual, then your GUI is not done. If a user goes in the wrong direction to complete a task, the UI isn't done.
Even the order of your menu items is significant. Don't arange menu items in a way that makes them difficult to use simply to make some technology work (tear-off menus in Frame).
In fact, the underlying technology should not effect the UI at all! Remember, spend the time on the task done few times (building) to save time on tasks that will be done repeatedly (using).
Oh well, I think I've queued up enough flames now, I'll sit back and wait for them to arrive.
Sigh.
Another point is that alot of the Open Source
projects have anoter project which provides a
GUI front end. so in essence, there is UI
development that is decoupled from the core
code developemnt. that is where the connection
between the average joe user and the UI dev should
be.
either way, until the average user is not afraid
of mailinga developer with feed back, or even has the desire,
were not going to GET the loop closed.
that or a linux based company is going to have to
do the research, unless it can be had from a
company like apple or MS.
~Darkfell
Tab order and spacebar are your friends.
Do anal-retentive people hyphenate 'anal retentive'?
The open source community and industry would be wise to simple do one thing:
get desingers involved
give intelligent interface desingers as much support, money, resources, respect as intelligent programers writing the code.
Point and Grunt
The fact is that CLI are far superior to GUI for techy for many reasons.
./Configure
./Configure. Another advantage is that the keywords don't depend on a particular language. The way you describe the GUI sequence depend on the language you use as GUI are localised, en French you won't use "File" but "Fichier", so you search en Dejanews will not bring you any result. In fact to sum it the "script" version act as a kind of small chunk of a program, and contribute to enhance the global language.
1) The Unix philosophy : which says write small pieces of programs that the one thing and do s well, you then combine these programs with pipes or scripting to create more complexe programs. This is the best known way to keep software complexity down. It's because M$ has not understood this, that they are overwelmed by the bload and complexity of their programs. With small programs the "cost entry" for a new comer is much lower. With processors becoming more and more powerfull everyday, you can overcome the lack of GUI by putting GUI over CLI. You Just do some pattern matching over the Text output, you can build decent GUI with this apporoach. This is the way KDE et GNOME do it to build GUI interfaces to CLI tools, like find, grep, rpm etc.
2) A communication problem : It's much easier to communicate with other programmers if you use CLI, for instance when you want to ask for help it's easier to post a request in a newsgroup and says for instance :
- I have downloaded software foo-1.4
- cd bar
- tar zxvf foo-1.4
-
- make
you get the point, you can describe you problem much more accurately, and easily that if you want to do it with a GUI, I clicked on File, the a Windows opened, I did page down, and chosen a the file.
Another advantage of the "script" version above (with cd bar, tar etc) is that it's easily searchable with tools like Dejanews for instance, when you have a problem installing foo-1.4 you search for keywords "foo-1.4" and
A product is nearly worthless if its interface is so terrible that it takes several days of pouring through manuals just to learn it.
Interface is every bit as important as solid algorithms, fast response time, and modular design (among many other things!).
Warning: the following is an angry rant.
Everybody keeps wondering why Linux isn't taking over the desktop (and never will). I've been saying forever that since non-programmers don't have a say, it won't ever be useful to them. Geeze, you don't have to be to bright to figure out that most open source projects (that people would love to think would work for the average joe, like Linux) are nearly IMPOSSIBLE for most users to catch on to. Pointing out exceptions just proves the rule. There's no signs of this changing.
Go ahead Linux freaks, moderate me down.
... "Give me a woman who loves beer and I will conquer the w
So, I think the community is doing pretty well giving geek-interfaces for geek tools
- as-hell approach; and probably some syntheses of the two. This way you don't frustrate the computer-illiterate who don't give a damn about how the box works as long as they can type their Word documents and read email, and you don't frustrate the control freaks who don't want or need to have their hand held. Maybe you'll have one interface with two modes - Standard and Advanced - which allow for both extremes.
I think this is a decent segway into the issue of what is "usable", or a "good UI". That term means different things to different levels of computer users. For newbies, it generally means something pretty looking and idiot-proof. That's all well and good if the only people using the box are newbies who don't want to try to change anything, if all they want is a fancy typewriter. Problem is, idiot-proofing removes a huge amount of control from the user. Which frustrates advanced users who want to change something but can't because all the customizability was removed in order to make it "easier to use". That "easier to use" UI is actually harder to use for anything other than the most basic of tasks. But if you throw in a lot of options, you confuse the person who just wants something simple.
I think what we might see, and perhaps *ought* to see, is an emergence of different yet well-designed GUIs to fit the very different needs of very different users. You'll have the traditional Mac approach of making it as simple as possible at the expense of any sort of user control; you'll have the pack-as-much-control-as-possible-even-if-its-ugly
To address the point made in the article - that Open Source has not been all that successful at interfaces usable by the "average" person, while small companies do it regularly - I think that this may be where commercial involvement in Open Source can be a great boon. The commercial guys are the ones with all the experience in designing user interfaces for the masses. If such companies do the research and contribute good UIs towards the OSS movement, this concern should be quickly taken care of.
well from watching startrek I've realized that the evolution of the gui will converge at some future point to an ideal state. Notice how an alien from an unknown quadrant of the universe can sit behind ops in a starfleet vessel for the first time and feel right at home. If gui's in alien cultures will have evolved independently to the same point, I think that makes a statement about role of "human perception" in how we like to play with our computers.
If you mod me down the terrorists will have won
--thi
Using your logic "Nature" should try to attract those why buy People and Cosmo, because they are the typical periodical buyer.
Hmm. Very strong point, but I don't quite agree with it.
.sig: File not found.
My main gripe is with the implementation idea. You're defining an entirely new language! Why not just stick with HTML?
Although, as one who is migrating reporting from Access to HTML with a self-maintained Web displayer (doesn't handle any network stuff, but displays HTML properly (tables and all that fun stuff)) I'd say screw it all and just go with a common DLL that you can link.
It'd be a lot easier to update that way as well.
Enjoy the show!
Jezzball
ls:
ls:
(A)bort, (R)etry, (I)gnore?
Key bindings. While I like GUIs, when I'm at work, I use keyboard shortcuts. Maybe it's because I'm an oldskool DOShead :^) but keyboard shortcuts are da bomm. Quite frankly, while it's nice, The GIMP's ability to assign custom macros is nice, but I'd rather see standardized macros. If someone else is logged in and asks for help, it'd be nice to have some common ground in the way of keybindings. In my job, I've learned most of what I know about QuarkXPress through keyboard shortcuts. It's about three times as fast as using menus, if you know the keybindings.
The developers of successful Open Source projects are its users.
/. to talk about exchanging and publishing software. the author of this piece is concerned with how OSS fits the needs of the clueless user, not the developer, which is something that many are concerned with. if you don't see this as a valid concern on the part of the community, then that is a mistake on your part.
you are right, but if the only guy using open source software is the developer. then we don't need any sort of forum like
cheers,
sh_
Interested in learning Chinese or Japanese? check out Chinese/Japanese-English Dictiona
First off, I apologize for not being very clear. I believe that we should make every effort to accomidate newbies, but making software that appeals to new users shouldn't be our #1 priority.
I believe that we should do our best to make a good interface, but that we should never trade of usability and power for ease-of-use.
Hosting for Creators: http://rpg-works.net
I see several posts arguing that no graphical user interface is needed. While true in most cases, consider the difference in terms of RP Games. I'm sure there are those who'd argue that Zork is still the king of all games (and Fortran is the game-writing language of choice), but most of us would rather play Hack than Zork.
And what about the graphic tiles introduced for Hack. Now you don't have to know that a brown "d" is a jackal on level 3.
Bring on Quake, and it's a whole new game. They're all essentially the same, but the difference between a real-time graphical view out the eyes of the character is so much better than "You are in a maze of twisty little passages. #>"
If your open source project is Sendmail or Fetchmail, you can expect your users to be reasonably technical. Therefore, the UI that comes out of the community is likely to match the needs of users.
- --------------
But what if your product is a word processor, where the main users will never write a line of code...
For example, a person I know once asked me what the funny character on their Word document was. After peering at it, I realized that the reverse video of the cursor on top of their letter confused them. I moved the mouse... The point here is that what I took for granted they found very confusing.
David
----------------------------------------
If you're a desktop user, checkout the GNOME User Interface Improvement Project.
I think a lot of these posts here are missing the point, they are confusing UI with GUI - the article is about open source UI's in general, not necessarily WM's or The X System That Does Windowing (or whatever the official term is for it), it's about the UI's on any open source app, from Gimp to xEmacs to xBill.
Yes, Linux has some eye-candy WM's, but they are (from my experience) a pain to customize yourself. Then you go on to actual tools and utilities, compare configuring NNTPD with configuring the Windows new server, in a recent example I installed and configured the news server on Windows 2000 in a matter of minutes (having never installed or configured it before), while my Linux counterpart on IRC spent nearly 2 hours fighting with it and reading HOWTO's and man pages. I'm sure there are are people that will say things like "it may have only taken you 3 minutes, but it's probably not as secure as the linux nntpd." That may be so, but that still doens't mean that the linux admin should have to go through hell and back to get it working, there's room for a ui there to simplify things. Granted that's a sysadmin example (and many people will say if a sysadmin is too dumb to figure that how he shouldn't be sysadmining...but what law says that a sysadmin is forced to use dark ages tools to prove his worth?).
I guess what I'm trying to say is, don't get stuck on the "our GUI is prettier" trip, yes, you have some pretty WM's, but bitchx is still a pain to use, pretty or not.
Oh, yeah, I used to sysadmin Linux 3-4 years or so ago. Now I'm almost strictly a Windows guy.
Ridiculous? I'm not so sure.
All the creatures will die, And all the things will be broken. That's the law of samurai. (Jubai, 1605)
And so what? "free" software, "open source" whatever you want to call it, is not in business, and cares not for market share.
Now the likes of RedHat may change that for certain portions of open source software, e.g. Linux...other parts will probably remain in a "small niche" of the market...e.g. CVS.
So what? I still fail to see the problem.
Bang the head that doesn't bang!
You guys can sit here and whine about what this dude said, but he's right.
I have an answer for him: "So what?" What does it matter if non-technical (l)users can't use the OS? That's only important if you're intent on running toward Linus's goal of "World Domination." We're not likely to reach that goal any time soon with Open Source software, precisely because of what the author states in his article.
Before you go calling me an elitist snob, or a technocrat, let's not forget that our entire movement (if you can call it that) is founded in technocratic snobbery. The GPL effectively limits the use of software to those who have the skills to compile their own, to write their own, and to contribute changes to a common source. Think about it people! OSS is all about the formation of a new technological elite, a cadre of uber-professionals and Slashdot is one of our cliques, and if you don't see it you've got your eyes shut. Despite all the populist rhetoric about OSS, it's still at the core an elitist, technocratic phenomenon.
So, I ask again, "Who really cares about the end user experience with OSS? If they don't like the interface, let them write their own." (Qu'ils mangent de la brioche!)
For those of you who do care, the Linux kernel could very well be used as the centerpiece for an innovative, ground-breaking OS, but minus the GNU utilities and X-Windows. Imagine that, an OS where the only OSS part was the kernel and the rest was proprietary. There's nothing stopping that from happening today, nothing other than inertia. The GPL won't stop it, because the GPL would only apply to the kernel, not to the rest of the OS if it were designed and coded from scratch or from non-GPL code. So, if M$ wants a more stable NT, just swipe the Linux kernel and port the rest of NT to work with it. They would only be obligated to release changes that they made to the actual Linux kernel under terms of the GPL.--Scary, no?--Of course with the various flavors of BSD, you don't even have to worry about the kernel being under the GPL, since the BSD license is much more corporate friendly. All you have to do is put some copyright statement in you docs and in your code and you can do anything you want with the source, even make your branch closed.
There is an opportunity for an enterprising organization or individual to create a truly revolutionary interface, a lot of the hard work has been done by others. Its up to you to fill in the rest.
Just be sure to wear the gold uniform when you beam down -- you know what happens when you wear the red one.
Say you're a non-programmer, and you have some ideas on improvements for an Open Source app. What options do you have? Of course, you could learn to program just to work on the application. Or you could convince/pay some programmer to work on what you want. (This situation is a bit better than closed development, BTW. If it's a closed application, you must convince the original author/owner of the application to make the change.)
If you can't afford the resources needed to learn to program, then how do you convince a programmer to work on what you think is important? Appeal to their vanity? Shout your feedback loudly? Pay them? Pay them more???
I'm not saying that Open Source developers don't listen to user suggestions. They probably listen better than commercial companies, generally. But it's still rare for a user suggestion to hold the same priority in the developer's mind as it does in the user's mind. And that's what makes OS development so powerful for programming users: the changes are just as important in the developer's mind as in the user's mind -- 'cause they're the same mind!
What we need in UI development is a way to move the non-programming user from feedback mode into development mode. Instead of finding and convincing a programmer to make UI changes, the non-programming user needs a way to make substantial changes to their UI, and publish the changes in some format that other uesrs can adopt if they find it useful.
As non-programming users are empowered to develop or modify their own UI, we'll see the same bazaar-type innovation in UI that we've had in the more technical OS applications. We need that bazaar
This isn't a flame either, but it doesn't sound like you really understand X.
'XFree86 provides almost nothing but the ability to display windows and do input. '
Actually X11 (and hence XFree86) provides an awful lot of things.... just not UI things. The window manager is the (relatively) trivial part --- it is just the part you see, so people tend to think of that as 'X'.
Many people don't understand what X does, because the are used to a 'single user computer' paradigm, and that isn't where X shines....but network transparancy etc. is really pretty amazing.
S.
OSS development works best for systems decomposable into modular components, where the population of people who use it overlaps with the population of people who code and improve it. Consequently, OSS systems appeal to a programmer's temperment: they require that their users learn a lot about how they work, but in return they offer generalized tools of great power and flexibility.
... and impossible.
Most people have a very different temperment. They like specialized tools that do a specific job well. They will accept limitations in return for something that they can use and learn easily. There is a lot of talk in the OSS community about how regular people must eventually accept the need to learn about how computers work, but this is in fact unnecessary, undesirable
The focused, specialized systems that appeal most to regular people have coherent designs that one cannot simply decompose, modularize, and incrementally improve in little bits. They are cathedrals, in ESR's metaphor. The methods of OSS will never work to solve those problems.
As a professional interaction designer, I am enthusiastic about using underlying architectures based on OSS, but I do not believe that OSS methods will ever produce good interaction design for regular people.
Make a system even a fool can use, and only a fool will use it.
While this debate is facinateing, a way to deal with the issue at hand would be nice. Linux/Windows/MacOS all have their up sides as well as their problems. Windows and MacOs have tried very hard(maybe not hard enough though)to make things easy on the end user. Linux is trying very hard to catch up. I think everyone can agree that Linux is aiming for the desktop, and a large part of wether Linux can conquer the desktop is if "aunt millie" can set it up quickly and effiectly, and then use it to do basic tasks easily. Now that should by no means exclude the power user(read geek). So the point of my wrap-up here is that maybe a forum for guidelines on makeing Linux easier is in order. There are as many ways to go about that as there are Linux Distro's(in all reality, probably more). But maybe, just maybe getting some ideas together and setting forth guidelines that_everyone_can use will make things better. KDE/Gnome are makeing things easier(slowly but surely)for the straight interface, but again as mentioned many times before individual programs need to have some sembelence of ease(while retaining function). This is where the guidelines come in. I think we can mostly all agree that if guidelines are setup and a default install is created that makes it easy on new(inexperienced)users but still leaves that I-can-tweak-it-like-theres-no-tommorow feel that OSS seems famous for that we can all get along(at least in theory)and that Linux can make it's first steps towards edgeing into Windows/MacOS's niche. I'll probably regret this but if anyone out there thinks that an open forum to create guidelines is a good idea let me know and lets see what we can't set up, if we can pull together the total novice's idea's and the "hardcore geek"'s ideas maybe we can synthesize something worthwhile.
Now, if you're going to change the premise and claim Linux was designed for the average Joe, then yes, it has not been an entirely successful in the UI arena. But that would be silly. How successful a UI is depends very much on which U the I is designed for!
--
"Convictions are more dangerous enemies of truth than lies."
How dare you insist that I change it so as to make it more convenient for you to increase the size of the market!
I wasn't. I was replying to your statement COMPUTERS ARE NOT FOR EVERYONE. I'm arguing that computers can be good for most people. Grant you, not everyone, but if you are interested in any of the things that I have stated, then computers are for you.
Sorry, but the statement is about the OSS, if you don't need the masses, then go back to your basement and write all your device drivers yourself. I'm interested in using Linux for things like accounting and better web browsing. I want secure transactions when I buy stock. Now I'm not going to write my own Tax, and accounting software, but I hope someone does. The only reason that I boot up in Windows, is to use Quicken and Tax Cut. Although I am concern that they should be so that people can make sure that they are correct (God help me if they screw up my taxes!).
If I want these utilities and my new monitor supported, then I need to get a motive for companies to write drivers and applications for Linux. I don't care if Tax Cut or Quicken are closed source. I don't write any applications on top of them, so it doesn't bother me. If I had a need to do so, then I would push them to be more open. Closed source software is best for those applications that are not "fun" to work with. And I don't know any programmer that thinks taxes or accounting is fun.
If you don't agree with me, then fine. I respect your opinion. But my original comment is to those that don't want to write every piece of software that they use. I prefer a world where Linux is dominant. My recommendation is to those that want to use Linux at work as well as at home, and have the power to do so.
Steven Rostedt
Steven Rostedt
-- Nevermind
Unfortunately, the greatest advantage of software, (versus any previous sort of machine) that it is infinitely flexible, is also its disadvantage. Can you imagine the inventor of the bicycle deciding that it would be cool to have a shell around the bike to keep people warm, and then his friend thinks that knobby tires would be cool for mud, and then someone else decides that a large motor would make it easier for his mother... Each of these is a good idea, and the result is also a good idea, but the bicycle and the motorcycle perform very different functions. If you start tacking too many permanent subfunctions onto a function, it no longer can perform the original function at full efficiency. (see "camel":)
Another way to look at it: machine or program is simply the collection of knowledge of all people who have contributed to that effort. Each has his own needs and requirements, which they will wish to add to the capabilities of the program. The result is usually a flexible but dissapated program. Usually, software functionality is just like software programming-- 90% of the time, people are using 10% of the functionality. So perhaps its better to default to some approximation of that functionality in the first place.
Linux/BSD/Whatever should install easily and flawlessly out of the box, in a very simple and predictable installation, one click, with the very flexible possibility to modify that to get something more complicated, if you know what you need.
The same very cool guys who can write excellent Software that doesn't suck can write installers and configurers that don't suck, right?
Why not just stick with HTML?
/etc/config.d directory, during "make install", with the considered file format (XML if you wish) and the given utility (GNU Control Panel?) would then list that configuration format.
Good point. Actually I would use XHTML or XML instead. This may might be applicable, but I only downloaded the full specs on XML a few days ago and have yet to read them.
I'd say screw it all and just go with a common DLL that you can link.
DLL? do you mean shared object. This isn't a Windows machine. Like I stated in my post, I don't want to guess what the utility is doing, and I don't want to look through source code to figure it out. A simple standard config file would work. If you add a new utility and need to add configurations to it. Just place you configurations into the
I recommend different files in a single directory since you don't want a bad install to destroy current files (Windows Registry anyone!).
The format XML or what ever, needs to be able to run commands as well. So the user would need to su to root to run their browser or other application that would read these files. Since the files are ASCII, the likelyhood of a virus would be minimal.
Steven Rostedt
Steven Rostedt
-- Nevermind
Consider for example the GIMP. It's great. It wouldn't be great if you had to give it commands via command line to do something.
The same applies to eg. music programs. What you want is a relatively simple and intuitive GUI so your focus is in the thing you're creating, and not the intricacies of the interface.
I'm not saying that spartaic interfaces are bad. I like them with certain tasks. But when you do some artsy work, the interface has to be able to be able to let you express your artistic whims at once. Oh well, we can always make frontends so everybody will be happy!
that is my schtick your are stealing. suck it, fatty. thank you.
My 2 coins...
Do you actually beleive what you just said!?!?
You think that the solution to having poor UI is to make it easier for people to become programmer-users?
This is completely insane. 99% of computer users don't care AT ALL about programming, or scripting, or anything at all like that. They just want to get their work done as EASILY as possible.
Writing good UI is *HARD*. MUCH more difficult than writing an OS kernel, or a web server. Don't take the lazy approach and pawn in off the work on to the users...that simply won't work, becuase *someone* is willing to do the work of writing good UI. They just expect to get paid for it. Real Estate in Seattle is getting more expensive every day after all.
My mom shouldn't have to learn to use BASIC as a basic step to becomming proficient with her PC.
-harry
- Do we need/want OSS to go on ordinary users' desktops?
- Is there really that much information one needs to learn before being able to use OSS OSes?
As for the first question. I would say yes, though there are some out there who would say no. OSS should be as widespread as possible, with as many people knowing about it and using it as possible, IMO. In others' opinions, OSS is a status symbol, at least among computer users. They may not want newbies coming into their circles. I can see this point - an influx of new users creates an influx of basic questions, and can be annoying if asked several hundred times over and over.For the second question. There really isn't much that one needs to learn before they can operate an OSS OS. One needs to know basic commands (startx, ls, rm, tar, rpm, etc) and kernel commands so that they can install programs and use the basic interfaces. Once one knows that much, one can learn as one goes. How much time does it take to learn these basic commands? I'd say only the amount of time it takes for the newbie to be acquainted with someone who has been running that OS for some time, and can tell them simply and directly what they need to know. It took me about 5 hours tops to learn and remember most of the basic Unix commands. After that point, I've learned as I've needed to, with man pages and mailing lists and friends' help.
Perhaps we of the OSS community need to start creating a universal site where people can go to learn the basic commands, solve basic problems, and get basic knowledge of our OSes, and talk with new and advanced users about questions they have. Maybe we need to get out and actually let ordinary people know that we exist, then give them someplace to learn about us before we try to get them to switch to our OS. Maybe we need to start educating people ourselves, or at least give them someplace where they can get the basic information they want, when they want it, so they can learn in their spare time and possibly switch over when they're more ready? Just a thought.
Eruantalon
The Annals of Middle-earth
I'd love to help the community develop their UI's, but I have no idea how or who to help.
I have a website. It's about Macs.
Yes, I have used open source programs whose interfaces weren't the most intuitive or effective. OTOH, I've also used a heck of a lot of commercial programs whose interfaces were confusing, labyrinthe, and poorly organized. MS-Office comes to mind.
A large part of the problem, though, stems from the fact that most people don't want to learn a new interface for each program they use. Is this bad? I submit that it is neither good nor bad, but simply human nature. Why work hard when you can be lazy? Why waste your energy? Unfortunately, standardization of user interfaces, the usual solution to this problem, is not always a very good one. Ever used a program that had pull-down menus for a total of about 5 possible actions? Ever wondered why the programmer didn't simply use a single screen keystroke menu? Ever seen a program so menu-driven that you had to navigate through several levels of submenus to get to a single, frequently-used option? Good interfaces are designed around both the task the program is designed to perform and the capabilities of the prospective user. Some tasks are much easier to perform with a CLI. Some are easier to perform with a GUI. Some of them work just fine with simple text menus. Think about the Roguelike games. Imagine using pulldown menus to play them. Fun, eh? Now imagine using only a CLI to do stuff in the Gimp. A GUI environment gives us more options as far as possible interfaces, but it shouldn't keep us from using non-GUI interfaces if they are more efficient.
Chainsaws with pull-down menus...
Think about it - haven't you ever used a program with a non-standard interface that was *perfectly* suited to the task at hand. Sure, you may have spent a few extra minutes getting used to it, but once you picked up the basics you could really fly. Standardization and innovation inevitably conflict. The joy of open source is that you can *fix* that awful interface if you really want to. Part of what is desperately needed with many programs is decent documentation. If a UI is properly documented, then at least it will be usable, if not enjoyable.
In truth, different people interact with a program on many different levels of efficiency and knowledge, and that if the UI designer has not addressed the issue by providing different available levels of interaction in the UI (Ex: Beginner - Menus; Expert - Hotkeys) then there will always be a set of users unhappy with the interface. Efforts aimed at making linux suitable for the masses seem mainly aimed at grafting on beginner-level interfaces to expert level tools. This is not always going to be possible. The level of complexity inherent in managing a modern operating system requires a certain level of knowledge and understanding, otherwise systems management descends to the "Reinstall If Buggered" stage. This is where windows is now. Do we really want this *that* much?
And even if the UI designer has done his best to account for beginners and experts, what can he do to deal with the reality that individuals organize their own mental models of the world in different ways? Some people work well with pictures, some with written words, some with verbal explanations, etc. There are no perfect solutions to the UI problem.
The way that MS-Windows and the Mac OS solve the problem is by introducing a certain set of UI primitives and using them over and over again. Once the user becomes familiar with these, he or she is capable of dealing with virtually all of the programs available under the operating system. Unfortunately the relatively small number of UI primitives available restricts drastically the sort of allowed user interfaces. The larger the primitive base available, the more flexibility the UI designer has in tailoring his interface to the needs of the program. At the same time, the larger the primitive base, the higher the likelihood that the new user will be unfamiliar with some of the primitives used and therefore the steeper the learning curve. It's always a trade-off.
What do you want - programs anyone can pick up and use but which never lose a certain amount of UI awkwardness or programs that require a certain level of learning to use but reward you with flexibility, power, and efficiency?
I know which I prefer.
zeke
Please explain why you need a GUI to do text editing. For me this is one of the things that definetly do not need a GUI.
Most of our interfaces do suck to some degree, let's not deny that. To deny it would mean denying the need to keep making them better. The fact that our interfaces tend to suck much less than a lot of the competition, well, hehe, that's no reason at all to stop working on it.
He's bang on the money about the user feedback loop - it's crucially important. But he's wrong to say The Open Source movement has no feedback loop to end-users. What's this? We need more stuff like this, better stuff like this. The only thing is, I'm not sure the devlopers in question are using this excellent facility to the extent it should be - there are many out-of-date user comments on there, mainly because the wanted features have already been added. In time, if the list isn't kept current users will stop posting to it, in the mistaken belief that it isn't doing any good. But that's just another glitch to work out.
The thing is, making good interfaces is just another interesting problem for geeks to solve. Define the problem, and we'll solve it. First we'll start with poor solutions, then we'll keep making improving them until they're good solutions, then make them better and better until... well, it never stops. The only hard part of this is recognizing the need. Achille's heel? Far from it, it's just another hill to climb.
The fact is that it's much harder to make good end-user software than it is to make good infrastructure software - and that's going to make it tough for Open Source software to break out of its server niche.
No, that's just wrong. Speaking as someone who does both, has been doing both for 25 years, and doing it well IMNSHO, I can say with considerable confidence that creating good infrastructure is much harder than creating good user interfaces, and the stakes are much higher. Without good infrastructure you get a monstrosity like Windows (pick your flavor) or Dos - something pathetically non-functional. Glitzy user interfaces are the hare, and good infrastructure is the tortoise - it takes a lot longer to do the job if you build sturdy infrastructure first, but you can then build your stucture much higher without having it collapse (apologies for the mixed metaphor). In the end, the tortoise wins. Is winning.
Life's a bitch but somebody's gotta do it.
I started using Linux and X around '96, and my first distro was Slackware. This was true for me around then. Right now, I have Linux-Mandrake 6.1 scooting along on my PC, and the configuration consisted of using XF86Setup, choosing my card, choosing the right refresh rate, the right resolution, and viola, it worked.
I think most of the people who are responding to this with observations about GNOME/KDE and X are missing the point. Not once in the article does the author talk about GUIs as such; he talks about user interfaces. Even a command line is a user interface, and some command line interfaces are better than others (or why would people have such strong preferences about, e.g. the shells that they use).
Nor is it a Microsoft vs. Open Source/Linux thing either; many people who take User Interface design and research seriously think that MS products have huge UI design problems. Dialog boxes that say (in effect) "I've just made a huge unrecoverable internal error, click OK to complete your humiliation. OK?" are rampant in the MS Windows world, and are an abomination from the point of view of UI design. (So, for that matter are the "Click OK to indicate that you really meant to click OK" boxes.) I suggest instead of accusing him of not being clued in on how cool GNOME and KDE are, or saying "GUI? We don't need no steenkin' GUI!", people might try reading Alan Cooper's About Face: The Essentials of User Interface Design to see where he's coming from.
"Copy" and "Paste"
I have yet to see cut/copy/paste shortcuts implemented consistently among apps and desktops in X. The KDE apps usually use Ctrl-X/Ctrl-C/Ctrl-V, but Netscape uses Alt-C/Alt-V/Alt-P. Other programs use other things, if they support it at all.
I personally prefer X desktops -- virtual desktops/workspaces are addictingly convenient. At the same time, it makes me nuts when I highlight something, want to paste it into something else, and have to spend time figuring out how to do it.
Save the whales. Feed the hungry. Free the mallocs.
I think the author is right in principle, though I don't always agree with his wording. He talks of innovative user interfaces, which is exactly the wrong way to go. What we need are clean user interfaces, and that's exactly the antithesis of UNIX. In text mode, the user experience is a mess even for people who know what they're going. Type "ls --help" and look at the bazillion screwy options for doing something as simple as getting a directory listing. Then look at the man page and you get a message reading "This documentation is no longer being maintained and may be inaccurate or incomplete," right up at the top. "This does not bode well," thinks the newbie.
X-windows application GUI's are in much worse shape. The much ballyhooed GIMP is a great example. It's filled with all the usual fluff--tips of the day, all sorts of configuration options, toolbars everywhere--but just about every panel you bring up is so brimming with things to tweak that you don't know where to begin. It's a pile of stuff all thrown together with a GUI on top, but that doesn't mean it was well thought out.
What is desperately needed is a good example from someone who knows what's important and what's not; someone who isn't just trying to show Microsoft a thing or two by duplicating a Windows style interface in his basement coding lair. I've read some very interesting UI design papers over the years. Jef Raskin has much to say. There's also an excellent book from someone who used to be in charge of such things at Microsoft and left when he didn't like the direction they insisted on taking. The key to remember is that the purpose of an application is not to shuffle windows and menus and toolbars; it's to actually get a particular job done.
UNIX has an awful interface. Denying there's a problem doesn't help. Being macho about it doesn't help. Bolting some kind of GUI on the front of a collection of command line programs doesn't help. X-Windows doesn't help. Skins don't help. Needing to open a shell window to do anything doesn't help.
User interaction design is hard. Even starting from scratch may not help. Java, for example, blew it.
There are some good examples: The early Macintosh user interface guidelines. Microsoft Word. Nokia cell phones. But not many.
Today's hint: The user should never have to tell the machine something it already knows.
IMO the summary hits it dead on. OpenSource authors are coders.
There are those of us that can design fantastic user interfaces and come up with nifty ideas, but it's very difficult for them to just enter an OSS project and re-design their interface. Despite the fact that the original interface is crap, many OSS developers like it (which brings us back to the whole "coders have no UI taste" argument) and in some cases are openly hostile to anyone that wants to change it.
Someone else mentioned that functionality and efficiency is stressed more with OSS software, and what might appear like a UI failing might just be the author trying to stress functionality over "extraneous" cruft. Unfortunately, in many cases, certain usability factors seem either unnecessary to him, or "not worth it" to code, so we end up with applications that are pretty nicely featured, but lack good thoughtful usable interface design.
I think the main hinderance that prevents UI designers from contributing to OSS projects is that the designer needs to be a good coder. It's difficult for a UI person to step into a project and simply re-design the interface. They have to be able to go into the code and make adjustments at the code-level.
Naturally, people that are experienced both in coding and interface, usability and graphics are few and far between. That's not to say that they don't exist, but typically they're quite happily employed because most companies know combinations like this are hard to find too.
"Theming" your application is a nice way to try and abstract the interface from the application. Unfortunately, unless you spend a considerable amount of coding building themes into your application, this just doesn't go far enough. Sure, you can make, say, GTK themes, but that doesn't help you re-design an application's window form.
What is the present state of "graphical" application builders? I know in your various "Visual" Windows IDE's you can create windows and forms and entire user-interfaces graphically, without necessarily needing to know much about the coding.
How easy is it for usability and interface people to contribute to your OSS project?
This means that a good user interface for an expert user is different than a good user interface for a novice user. It is one of the challenges of UI design to make a program that can accomodate both classes, well. Some might say it's impossible, but that's another issue.
That having been said, good user interface design for novice users is indeed frightfully absent in most open source programs. Don't worry, though--there aren't a lot of good commercial examples, either.
First, the typical novice Linux user initially has no concept of distributions, or that "Linux is just the kernel," or even what a kernel is. It is probably a failing of Linux that these points must be learned at all. To them, "Linux" is the whole experience--everything that came out of that red box. ;) The modularity of the programs in the distribution is an initial hurdle.
Now, let's talk about the GUI. Again, we have modularity that may be admirable from a formal design standpoint, but to a novice user is just confusing. You've got the "basic OS" (TTY-based IO), and X (which a novice typically can't even fathom the purpose of--they usually think it does the work the WM does), and the various window managers (all modular, and all with different interfaces!) ;)
The Mac OS is often brought up as an example of several things done right in OS UI design, and I'd like to postulate that it is its very seamlessness that makes it easy to use for novices. The implementation is usually hidden from view--and for many, that's a good thing.
I'm an optimist, though. Through the modularity present in Linux's design, one has a lot of power in design. Just because all this modularity is there doesn't mean that it has to be hung out in the open, and the power of modularity makes it possible (but not necessarily easy) to design interfaces that make sense. Aditionally, the open source model can, I believe, be extended to include reviews by UI enthusiasts/experts/professionals. That's not a very informed opinion, but it's mine, anyway.
-(())
TEX rocks :)
This discussion appears (to me) to be assuming there is a user interface that will suit everybody - it is just that it has not been found yet. If you think about it, this might not be the case.
I would guess most people using this are happy with the concept of windows (the ones you drag with a mouse, not the OS). As part of a UI they can be very helpful but a lot of new users (and others) just don't get the concept (or do not want to). For many people life would be better off without windows (not the OS!) - but for someone who knows what they are doing, removing this feature would drive them mad. Having an on/off switch would be even worse - few people would even see the benefit of a windowed UI, even as their experience grows.
If you are using a web browser (as a knowledgeable user) I would guess you want the scroll bar to take up as little space as possible (to give more space to the page you are looking at). This is because for someone with experience of scrolling, a scrollbar is a dull bit of the user interface that you can be used as a tool. For someone with less computing experience, nine out of ten times, they are going to need a lot more visual clues to know where to look and what does what. In fact, using Windows as an example of a reasonably good user interface, how many users work out all the things the scroll bar will do to make their life easier for instance holding the arrow down (for fast scrolling), clicking in the dipped area (for jumping up and down pages) or dragging the 'thumb' (to move freely in a document). In a perfect world, a UI would provide enough clues for the user to be able to find out all of these for them self's in there own time (without getting in the way - remember the paperclip of Office).
My preferred solution would be to find someone with no experience of computers and ask them how they should work - this might get some great ideas. Unfortunately this would be very hard to do properly. So my second (pie in the sky) solution would be to develop a user interface from scratch that uses as few concepts as possible. I would start by picking at most five very good, strong UI concepts, for instance, a 3D environment, a mouse pointer and the use of one mouse button. I would then go on to their fullest extent. In a system like this the learning curve should be shallow and the total amount a user would have to work at learning would be minimal. The most important thing to remember is that the user interfaces of today are a long way from perfect.
Sorry if this post goes on a bit - I have a lot of ideas about UI design but very few of them are that well formed (guess I have been corrupted by the UIs that I am use to).
OSS/Linux zealots can't have it both ways. On the one hand, they are always bashing MS and Windows as inferior products, and trying to convince the world that Linux is the only true way to OS utopia. But on the other hand, they start talking all sorts of crap when it comes to the question of what to do about the GUI. If the majority of the OSS community thinks OSS is better than commercial software, then they need to put their money where their mouth is and make it easier for all the misguided souls that use commercial software to switch to OSS. For all the FUD that OSS geeks spread about MS and other large companies, you have to hand them one thing, at least they are trying to make software that a normal human being can use without buying a new library of books.
---
What exactly are the commercial possiblilities of Ovine Aviation?
I'd class myself as a programmer, and I see absolutely nothing wrong with the current face of Linux. For those who go in for it, there's Enlightenment. And KDE can pretty much be an exact duplicate of Win95, hell, even AfterStep with it's Wharf can probably be configured to act somewhat like Windows.
But I see nothing wrong with the command prompt!
I used mpg123 today. It runs from the command line, and I call it as "mpg123 -v [file]". In a single line, I get all the status information I would ever need - frame #, track length, remaining time, remaining frames -- everything, including all the error messages so I can tell when my mp3s are screwed up. And when using Windows, I have RealJukebox, which is a poor substitute. Sure, it's graphical, with skins, and it looks good - but *meaningful information* is far and few between using RealJukebox, I have to hunt for it all over the screen!
So personally, I prefer mpg123 by far, and I think that if users can be made to lose the mindset that "It's in graphics! It *must* be better!" and recognize quality when they see it, they'd be happier with the command line interface of mpg123. But they've been conditioned to look condescendingly as the command prompt, and so I don't see light at the end of the tunnel...
Welcome to the wonderful world of "I'm a god cuz I can program...stay away from computers because their only for the intellectual elite like myself" Good thing the world at large didn't agree with Hitler (another great elitist) that LIFE ISN'T FOR EVERYONE.
It concerns me too, and I have a few comments.
One, there's no reason great programmers can't be great GUI designers too. Environmental selection may be opposed, but if a hacker applies himself to it, it's possible. But you have to ditch the superior attitude and realize that things have to be much more obvious for others than they are for you.
I _am_ tired of seeing clones of commercial apps. MS does not have a corner on design for usability; matter of fact they make some pretty bad decisions sometimes in that area. So why are we emulating them? Everything they do is not bad but we ought to consider each and every choice, not just go with what looks the most familiar.
Second, the comment about no user feedback isn't quite true - Open Source is touted as encouraging it. Nevertheless users only tend to complain about the bigger problems, not the little nagging ones that they subconsciously find ways around and learn to live with. So it would be beneficial to increase the communications. There should be a way to recruit clueless newbies to do testing. Unfortunately usability testing is hard to virtualize... tends to require a usability engineer to look over the user's shoulder and learn from his mistakes.
I've been investigating the concept of metawidgets myself. The idea is for the program to express in a high-level way what kind of controls are to be presented to the user, and let a universal client piece make the decisions about how to organize them. Because apps should be designed differently depending on the target user, and the target hardware. What's practical on a big screen with a mouse isn't necessarily practical with a touchscreen or a wearable or a PDA. And I'm not just talking about real estate allocation - things like Fitts's Law (which is the reason MacOS has a menubar at the top of the screen - if you throw your mouse in the general direction, you will hit the top of the screen and be able to pull down a menu without putting much time into positioning it more precisely than that, at least in the vertical direction). More about that is prominently featured at asktog.com (which I'm unaffiliated with, but it impressed me).
There's a journal entry about metawidgets at my home page. I'm also working on a prototype implementation, very slowly... I intend to use XML for the UI description.
A final comment which I know is likely to be unpopular is that a really big part of the problem is the Unix "everything is a file" metaphor. Files are useless until you load them into memory, parse them and create some objects or structures which represent the content; then you can do something with it. And there are too many ways to organize content within a file. The Mac resource fork, the Windows registry or (in Win2K) directory service, or a relational database are all inherently better because they impose a finer grained organization, and this has the potential of making it easier to write newbie-friendly GUI tools for changing settings. Of course in every case the implementation has been bungled badly too; the registry's biggest fault IMO is the use of meaningless keys (long sequences of letters and numbers) so that you can't easily find the setting you're looking for. Imagine if all keys were human readable, and if there were an "expert mode" setting which is off by default (which exposes gory details you don't want newbies messing with or having to wade through); you could use regedit on a more regular basis. It would just look like the preferences dialog in Netscape, but with prefs for all apps there in one tree instead of every app having to write their own unique little prefs dialogs with unique ideosyncracies. Every key should be text, and every value should be a component - like a JavaBean. The means of viewing and editing the content of these values would be provided for the common types, and for new types which get invented, custom viewers would have to be written. But those viewers should become reusable components too, not part of the application that they came with.
Closed source software is written by geeks as well. If not when did Microsoft et al. hire the highschool football star and his other jock friends as well as some hollywood celebs and Donna Karen, Calven Klein, etc --- cause they all know what looks good and is cool ya know.
How are we defining usable: Monkeys flinging sh** could operate it with one arm and no eyes?
Thats not too say, too bad, use the command line and like it, cause the command line is not for everyone, but it is useable... is it blatantly obvious to "An Idiot or Dummies" well no. But then again neither is their VCR, sex, dating, history, millenial predictions, etc ( or any of the other title around ).
XF86 is pretty good, not much different than windows at least in term of looking at it. Hell you can have it look identical and function identical to windows if you want. Does it take a bit of intelligence to use it and maybe even be able to change it if you've never seen it before... well yes, but then so does a toaster!
Yes there are things that could be improved, but its not just geeks writing for geeks and its always geeks doing the writing.
I don't even fill in the "H" in Hacker. I'm no Geek either. BUT I don't have a problem using OpenLinux 2.3 dual booted with win98. I even managed to get some simple windows programs running with WINE. Even managed to get sound on OpenLinux 1.3 before I bought 2.3. It's not just Geeks writing for Geeks anymore. A big thanks to the Geeks that have made Linux easier for the rest of us. I really get tired of looking at that darned "Blue screen of Death"!!!!!
But if OSS is just a toy to you and other OSS enthusiasts, why do so many of you treat it like a religion? You can't have it both ways - it's either something for programmers to play with, and not any actual competition to the big boys like MS, or its truly a new way of thinking about software, and should be evangelized to every large company in the world. Make up your minds people!
now it's time for him to get eviscerated for pointing out a valid flaw with Open Source.
People should realize by now that only opinions coinciding with the overwhelming "Open Source/Linux is God" opinion are the only valid ones. How dare he express an independent thought....get back in line Mike!
And that's why Bill Gates and Steve Case are bazillionaires and we are not. If the whole OSS community keeps this mentality, the AOLs and MicroSofts of the world will continue to dominate the industry. Remember, half of the population is of below-average intelligence
Face it, the average person dosn't want to learn somthing new. They do want somthing they can figure out in under 5 minutes. Only a tiny fraction of people will use more than the most rudimentary features of ANY program, be it MS-Word or [insert your favorite OSS program here]. In order to have OSS programs displace their propriortary competetors, they must be able to pander to the least common denominator, otherwise they will alienate 90% of their potential users. Designing a program that is easy for a novice to use while still retaining the power and flexibity a power user / hacker wants is very difficult.
Why is it that the proponents of "one nation under God" are so eager to get rid of "liberty and justice for all"?
For instance, when I am in Windows, perhaps checking my Mail at work, I might want to stop doing that and start browsing the web during lunch. I want to leave the mail window open, though, because I'm in the middle of typing a long letter. The best I can do is minimize the mail application. But now, it's still taking up space on my taskbar. I can't make it go away and still have it open. With Virtual Dekstops, I could slap that bad boy over a few screens and not worry about it until I'm ready.
I do this all the time on my Linux box. My first desktop is emacs and terminals. My second is Netscape, third is mail, and forth is media stuff, such as playing mp3s or using xatitv. These things alone increase my ease-of-use a ton.
I like my CPU usage meter, as well. It lets me know when a process has gone crazy.
Got HTML? Want LaTeX? Try html2latex
I am planning a Microsoft Bob-style interface for the X windowing system. So far I have the following in place: An opening menu where you start off looking at a zoomed out view of your house. Click the door lock to run xlock, click the mailbox to check your mail. Click the door to open a new xterm-style term. This is like xterm but it will instead be a 3d file navigator. Clicking on the window with the happy person peering out at you will spawn a wine process running Comic Chat, and to logout you click on your bed upstairs. I think that this will be the future of window managers, I'd appreciate any feedback
What if the problem isn't that the coders are the majority of users, but that the majority of users aren't coders? -- No, I'm serious, so bear with me here :)
The most frequent kind of question I get sounds stupid, but is actually smart and naive. For instance -- what's the difference between hard drive megabytes and RAM megabytes? -- the reason this is a `stupid' question is because of an artifact of the hardware used to design the system. If/When we get high-speed holographic memory, your RAM may very well be nonvoilatile. Much the same thing applies to UI's; frequently the answer to questions (especially my mom's) are "Well, you should be able to you, but you can't," because I don't feel like explaining some piece of MS idiocy or principle of computer architecture.
But back to my original question -- what if the problem is the majority of users aren't coders? Intuitively, piping is pretty obvious. What makes it difficult to use the arcanity of the commands, options, and symbols used. On the other hand, why can't I 'pick up' a directory listing and drop it into the in-pipe of a filter, which will then ask me what I want to get rid of? So when it's done, I should have new directory listing, so I open up my toolbox and drag the new directory listing over to my mailer, to which I give a file listing the addresses. Conversely, I might only want to send the last file listed off, so I drag the mailer onto that file's listing in the directory. There's nothing particularly impossible about coding the mechanisms to allow this -- and ongoing work in GNOME and KDE should make that work relatively straightforward.
That's a relatively simple example, so here's a more complicated one that more closely resembles conventional programming. Why shouldn't your GUI -- which is intended to increase your productivity -- start off with what you're going to be working on, that is, a document? (For the second time through this example, the last document you worked on.) So you've got a nice blank 8.5x11 piece of paper on-screen, with (probably) rulers and a blinking cursor in the upper left-hand corner. The directory tree is like 'disk navigator' as the K menu -- tear-off menus and the like, so you can drill-down to a specific tool you need, like spell-check, or a set of scripts for doing tables in XML, or the open/close attribute for underline and italics, etc. You create the UI to the particular document you're working on as you go along. (Includes things like collapse-to-button menu/toolbars, window-shaded toolboxes/menus, etc.) That interface is brought back when you go back to that document; you can say whether or not to maintain that interface across new documents. Weblinks are followed the same way, where you'd normally let the 'browser' UI set take over until you return to your original document. Full-screen games and the like can be handled with virtual desktops.
But that strongly resembles the applications advertised in the back of magazines, where you can 'write your own programs without ONE LINE OF CODE!' (etc). The key here is that you're not using a single application to do whatever it thinks is worthwhile to provide. The *power* of the command line stems from its uniform treatment of applications -- a black box with one pipe in and two pipes out. There's no reason that this exact treatment can't be handled graphically*. Now, it's true that you may well want to share information between applications in a more structured way, but that too, can be handled**.
I think most users want to be coders, to make their application do what they want, how they want, but don't have time to climb the learning curve into (conventional) programming, or learning every option and name from the command line.
-_Quinn
* The program's name with three pipes coming out of it comes to mind; make sure the user can drag the pipes around as necessary and that outgoing and incoming pipes look clearly different. For program switches, have a listbox with selection; for arguments, combine a listbox (list of options requiring arguments) with a text-entry field (the argument.) All of this, plus context help (e.g. this switch does what?) can (usually) be gleaned automagically from the man pages. It might be worthwhile to crank out some XML to name the switches (e.g. -R(ecursive) is what would show up in the list for cp) so they aren't quite so cryptic initially.
** Add context menus which reflect on the application to determine what kinds of input you can hook up to it; splitter pipes that don't work unless all their inputs are OK are a good way to handle function parameters. See the reality toolkit for a demonstration of what I'm talking about. The KDE/GNOME kparts/bonobo models, so far as I can tell, are aiming at the reality toolkit in C++.
Reality Maintenance Group, Silver City Construction Co., Ltd.
Bad, bad examples.
These are not examples of "Good OpenSource GUIs".
They are examples of "Open Source cannot come up
with a good interface unless it steals one
from commercial products"
Floor 5 represent
I completely agree with you that configuring X should be much simpler. Perhaps just splitting the XF86Config Monitor section into a seperate file. Maybe an enterprising individual could write a script to convert monitor .inf files into a XF86Monitor file, complete with modelines. While we're at it, do the same for all of the sections in the XF86Config file, and encourage hardware manufacturers to write custom files for their products. On the other hand, I see absolutely no merit to your argument that disabling multi - user capabilities of X would make it easier to use or more desirable.
Gotta second that one. I wrote my first GUI miniapp a couple of weeks ago using Glide almost completely without issue. I've used VB and VBA extensively (and done quite a bit of straight C under Linux) and found that it made the transition really easy. That's not to say that Glide can't stand some improvement, but it's a great start.
"Time flies like an arrow; fruit flies like a banana." --Groucho Marx
I am told that KDE's KDevelop is very sophisticated and user friendly as well. There are commericial offerings, too...
And while I agree that these IDEs are essential in luring new productivity apps to the Linux platform, I don't really see them attracting new game titles. Almost all games (strategy, role-playing, FPS) these days seem to have a "home-grown" UI and don't rely on a standard widget set. Productivity app writers will benefit from these IDEs, but I don't think game programmers will (very much.)
stop talking about open source already! there's more to life than this stupid subject.
i think it is the people who design hard-to-use interfaces that are dumb. i have a degree in CS and know as much about computers as any sane non-CS person would want to know - yet i much prefer UIs that DONT require me to do akward things or read a 500 page manual. i know unix/x and windoze for professional reasons. but you know how much ACTUAL WORK i get done with a Mac? a LOT more. on unix, it is the tendency to make everything super-complicated. on windoze, it is the crappy mouse handling (WHAT are they thinking??) and the general clumsiness of things.
I know you're all skipping this one just cause of the title, but I have a point. Lets say theres something you've done forever. You're so used to it that you are blind to other ways of doing things. If you're so used to digging through menu after menu then you might be surprised by a UI that is actually intelligent. The old saying certainly applies here "can't see the forest for the trees". The people I have actually introduced to linux were surprised how quickly they picked it up. I hardly ever hear "Why the hell did they do it like that?!?" like I do on windows boxes. well thats my slightly short of two cents
He assumes that a great UI is the one that is easy to learn, while the truth is that there's a tradeoff between UI being easy to learn or powerful(=easy to use after the learning curve is dealt with).
He is absolutely right that open source programs are harder to learn than they could be. But he is wrong about the reason. It's not only that geeks don't like to make easy to learn UIs - it's that they didnt' have to until about 2 or 3 years ago. Now that they DO have to make them (as more newbies join the ranks), easy to learn UIs are developed - KDE, GNOME, etc.
As a side note: it's sad that CLI has been dubbed as hard to use - it's not. It is hard to learn but that is not an inherent problem with it but rather a historical feature. CLI was here from the start which means all gurus learned it. Obviously when they started writing programs they were all meant for other gurus becuase nobody else was using computers at the time. GUIs appearance coincided with the time when many a newbies started using computers. Hence GUIs were developed with newbies in mind while CLI programs were developed with guru's in mind.
As a newbie going from GUI to CLI, I found that CLI is much harder to learn primarily because there are no tutorials, documentation is usually scarce and assumes that you know alot already. For instance, when I was setting up qmail, one piece of documentation recommended "sending a HUP to qmail process". You see the problem, don't you?
-- ATTENTION: do not read this sig. It doesn't say much.
"Oh and by the way, most extremly new users I worked with prefered keystrokes to mouse strokes"
I've found this to be true as well. Years ago I switched out a user's DOS menuing system for QuickMenu, which used icons. I thought it would be easier for him. But he quickly asked me to put back the old menu, since he found it easier looking over the old list of programs and typing in the number listed. Another person I knew used Wordperfect for years right up to WP 5.1. Then she got a new computer with the "new and improved" graphical version, and her productivity plummeted. She went back to WP5.1 and plain DOS on a 286. She still uses it and is one of the leading medical transcriptionists in the California.
Personally, I like GUIs. But I'm wondering if that's because no two programs have the same keystroke commands. I know that the bottom entry of the far left menu will close the application. But I never know if that command is E&xit, &Quit or &Close. And whenever I'm using emacs, I type 'i' to start typing.
A Government Is a Body of People, Usually Notably Ungoverned
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.
>Imagine the next release of RedHat going to a completely different user interface.
The last three releases of RH HAVE featured different interfaces. Sheesh.
>Does Windows 98 prompt if you want to use Litestep instead of Explorer?
No. It dosn't. Funny, that's WHY I use Linux, although to be fair I don't want my OS to ASK me anything, I want it to shut up and do what it's told.
They tried to make cars "ask" and "tell" their drivers things. Yeah, THAT turned out to be everybodies dream, didn't it?
If geeks are writing programs for geeks, how does usability suffer? For non-geeks? Boo-hoo, you might learn something new....or go back to knowledge supression land, errr, windows. I'm glad windoze sucks so bad or I probably never would have RTFM and I wouldn't know much of anything technical about the computer. True enlightenment comes from work, windows promotes ignorance.
"You point your finger at the moon, the fool stares at your finger."
I think that Its still a pain in the ass for people w/ less experience to configure X...i would never have my mom do it, and most people dont know what to do about horiz and verticle refresh rates etc...the caldera 2.2 system installer was better about it all, letting you test modes etc, all in a GUI, but that seems to be the4 exception, not the rule. Even with fewer supported chipsets in OPENSTEP, i had an easier time configuring the display than in X (well in X a few years ago, when my X-perience was lower hehe - pardon the damn pun)
Basically, every configuration panel/app thingy you see in MacOS is designed for simplicity, and if you had a swath of programs like that in a standard distro, X would be less of a pain, and people wouldnt even have to THINK about the fact theyre are running X
"There is no spoon" - Neo, The Matrix
Lots of of open-spource articlees in the stuff-to-read department today....
What you seem to be discribing is "fast" and "powerful", which is all well and good, but it is different from "intuitive". vi is not "intuitive" (yes, I'm a vi junkie). It's extremely fast, but I really don't think you can call an editor "intuitive" when you open it and cannot immediately edit the file by simply typing. Having to type :a to start editing a file is just plain unintuitive.
.(beep)(beep)clipboard is empty(beep)
Not to belabor the point, but here's what Joe newbie should be able to do when using an intuitive editor for the first time:
#vi foo.txt
type some text to edit the document
What really happens:
user: vi foo.txt[enter]
vi: ~
user: type
vi:
user: ?
vi: ?
user: [enter]
vi: error
user: q
vi: (beep)
user: x
vi: (beep)
user: [escape]
vi: (beep)
user: dsaf (hitting keys at random)
vi: f
user: fghsdf
vi: fghsdf
You get the point.
--GnrcMan--
The guys at Intuit wrote the book on Interface Stupidity, and then implemented it in QuickbooksPro99.
I help a small nonprofit that converted from QuickenDOS5 (which was nice) to QBP99. They eventually went back to Quicken2000 in frustration.
Imagine an imitation web interface that requires a psuedo-link to be double clicked. Low contrast color schemes only a crack-head could love. A data-entry application that mandates mouse-clicks (as in take your hands off the keyboard) in unpredictable and unproductive places.
X doesn't have a monopoly on obtuse stuff. I like KDE, but would stamp out all doubleclicks. Few mice are good enough to make them work.
Saying that computers are important to everyone is just a cop-out for people who don't understand how the vast majority of people really want to work. Because for most, it just doesn't involve the traditional peecee/workstation model of computing. Lightweight, embedded devices will make more sense to many - the obviosity of the "computer" scares people, and to be fair, the model isn't a very good one anyway.
This goes way, way beyond interface design - it's really "whole-tool" design in the sense that slapping different-looking interfaces on otherwise warmed-over tools doesn't really make it any easier for users, and in fact makes it harder as they must constantly adjust to the new interfaces. What most people really want are entirely different tools. What form exactly they should take varies from person to person and task to task. It certainly isn't the light-beige one-size-fits-all solution we're marketing today, regardless of what UI of the day ends up on the light-beige raster display.
I'm glad to see someone picks this up.. I was recently ranting about this on the linux gamedev list but couldn't find much response for this. Imho this goes pretty deep; yes, we have Gtk and Qt to get away from the 30 year old "command prompt is just fine, thanks" attitude, but we still have a long way to go. Let's not turn this into yet another GUI-vs-console debate : I guess what works best depends on if you're the geek type, or just the end user "where do I click to launch Office" type. To break through, Linux should support both. But here's indeed our Achilles'heel : the development of these apps with smooth, welltested GUIs. Say what you want about MSVC++, but once you've used their built-in editors to model your GUI and attach code to it (a la Visual Basic), you really don't want to go back to native Win32 programming. Since hand-connected signals and slots under Gtk or Qt are the Linux equivalent of such hand-tuning of Win32 code, you also don't want to go program GUI's under Linux anymore without the Linux equivalent of MSVC. This is really important because without such ultra-user friendly, dumb-monkey-could-use-it interfaces the tools to build content, and hence the apps which need such content (like games), will not arrive under Linux. I know, I know, this may be ranting.. but I'm just happy to see this topic getting picked up under developers after months of crying in the void :) As long as the "cutting edge" IDEs of Linux or lagging years behind MSVC, decent GUIs simply wont become common because it takes too much effort to build them... I mean, it's coming (check out the FLTK project).. but the general attitude still seems to be "we don't need GUIs.. so why build them, or build the tools to build them". Maybe KDE and Gnome's IDEs will change this ?...
when a friend, experienced in Sun workstations at college, first saw Win31, he stated that it looked like "the PlaySchool toys of gui's - large chunky objects in bright primary colors" - something a baby can pick up, stick in his/her mouth and not choke on. That's their speciality, selling to emerging markets. The OSS model of "scratching an itch" has traditionally had problems fulfilling the newbie user/beginner market because mature coders don't need beginner interfaces, hence no incentive to develope one. To me, who cares, I used dos and hated it, used Windows and found it limiting and went on to discover and come to love FreeBSD, XFree86 and Linux. Perfect! Windows(TM) reminds me of those musical Organs that comes with "auto-chord" and rhythm section and all kinds of stuff to make a complete beginner on keyboards sound like they can play, something a real musician, or at least one that works at and takes pride of their technical skill would scoff at. The Scarlet Pimpernel
Do you help the farmers who grow the food that you eat? Do you contribute in some way to the process that puts food on your table every day? Then, by your arguments, perhaps you should "get lost by all means" and go grow your own food.
No, I don't help the farmers grow the food. I pay them for it. Are you suggesting that those users who want benefit from a system without any hardship to themselves (financial, time spent learning, etc) should have that as a right? Are we a world of gerbils? I mean, is it really that hard to get off your figurative arse and work a little for something?
Will the farmers, and the people who package the food, ship it to the store, run the store and put it in a bag for me give me the food for free? Will they cook it for me if I don't want to learn how to use a stove? If you're not willing to work for something, you don't deserve to have it.
Those people who use Windows? They want someone else to do the work for them, and they pay them (Micro$oft) to do it. The people who use Linux? They're generally grateful for what they've been given, and they work for the rest by learning.
There is no such thing as free (beer) software -- it requires time and effort to learn how to use it.
-30-
A good part of the credit for the lack of a friendly interface has to go to the folks who keep saying "If they can't figure it out, that just proves they're not worthy to use it." This response seems to occur regularly on Slashdot whenever a criticism is levelled at Linux useability and installability.
And besides, who'd want a Nova, when you can get a perfectly good Dart Swinger for the same price...?
What "we" need is a commitment to a standard GUI regardless of what it looks like... So the user, who ever it may be or whatever they are running , knows he or she can go to one place and configure their box or application.
The fact that you apparently judge a human being's worth by whether or not that person is willing to spend time learning a command-line interface suggests you have some pretty strange ideas yourself. Do you help the farmers who grow the food that you eat? Do you contribute in some way to the process that puts food on your table every day? Then, by your arguments, perhaps you should "get lost by all means" and go grow your own food. (Just an example off the top of my head)
Abstraction can be a good thing, in life and in computer systems. Many, many people in this world have better things to do with their lives than spend hours learning to be "power users". Contrary to your opinions, this doesn't make them "(l)users" or "morons". Try calling your doctor that the next time you go in for a checkup and see how well he or she takes it...
What's my point? Good UI design is not important for applications that cater to IT pros.
That isn't really the point that you are making (if you permit me to tell you what point you're making :-). What this example shows is that a good UI doesn't need to be graphical (and that a GUI is not necessarily a good UI). A lot of people make the assumption that if it's GUI it must be easier, but if you think about it I'm sure you have examples of purely evil GUIs (not just ones that don't tell you things you want to know, but ones that are flat-out _wrong_). There are non-GUI interfaces that are just as bad.
You hit the nail squarely on the head!
/etc/config.d) that gets read by the tool, and have a "make xconfig" menu or linuxconf user interface. This would also solve the problem that some of us (me included) don't like about linuxconf, that we don't know what it is doing. But with this, all we need to do is look in the config.d directory and see for ourselves. This would make end-users happy (simple interface) and gurus happy (can see WTF is going on).
A first time user doesn't understand most of this. Think of yourself as going to dance lessons. You start off feeling funny and don't understand all the terms. You feel stupid by asking and looked down on by others that have been doing this for a while.
If you want OSS to succeed, you need to make it easy. If we can think of a standard interface utility that performs "Control Panel" operations, then this could help not only the users, but the gurus themselves.
If we can come up with a standard configuration tool that takes an ASCII config file as input, and produces simple user interface, then this would accomplish the task. Something that would be a standard, much like rpms are today. Say we have a Linuxconf interface that would get its commands from a file.
Example:
# hostname command
start command;
label: hostname
entry: text
run: hostname text
end command;
Where this would be read buy some utility and show a label stating hostname: [ ] and then when the user enters in the hostname the command
"hostname entered hostname" is executed.
This way all new utilities can conform to this format and append to the config file, or just have a single config directory (like
Of course, this utility would need to be thought out quite a bit. Maybe have a separate organization under OSI to make the standard. My example was just to make a point and not actually a real example.
Steven Rostedt
Steven Rostedt
-- Nevermind
xf86config works just fine. Sure it's a bit tedious to run through the entire proceedure each time you want to set up your system, but at least doing so is easy and relatively foolproof for most supported cards and monitors. Once you get used to the format you can just edit the config file by hand to make any changes you wish. Unfortunately, in the rush to make new, prettier, more user-friendly (brain-dead) tools, many linux distributions seem to be in the process of substituting buggier, less effective programs for older, simpler, *debugged* tools. Just because you could write your user interface to include 3-D shaded buttons and dialogue boxes doesn't mean that you should. "KISS"
zeke
dont blame us cos yer stoopid dude.
To respond to the AC, I can only say that the types of text files I need to edit are best handles with a GUI. I do a lot of random accessing and minor corrections. Of course, the article isn't really about me, and I think it's fairly clear to anybody that GUI text editors are a good thing in general. My real point is that no really good free one exists.
Insofar as the GIMP goes, maybe I missed some plugins, but it sure seems nigh impossible to do some basic things, like draw regular polygons, and do a magic selection inside a region. I also found the pasting behavior tough to control--I forget why. Anyway, my overall impression is that lots of plugins supply very cool but ultimately unused features, while some basics get neglected. In contrast, in the area of draw programs, I've liked xfig a lot more.
It's not necessarily about making things idiot-proof. Things can be improved without sacrifice. When you re-compile your kernel, do you use "make config" or "make xconfig" usually? What if instead of makefile's, you had to specify all your options on a command line. That's what the whole interface argument is (should be) about. It's not about making everything Windowsy, it's about making things more convenient and intuitive for users in general, not just newbies.
I believe that, in his own way, the author was essentially and politely saying....RTFM.
GUI design is just as well studied and documented as code design.
How many books on writing code do you have? How many on making a good UI?
AH, THAT might be the problem.
He can't write the manual for you, but the manual is out there, he's just trying to get you to GO READ IT.
When I said: Having to type :a to start editing a file(...)
I of course meant: Having to type a to start editing a file(...)
and when user types: dsaf
the response is actually: (beep)(beep)(...)f
--GnrcMan--
Which is greater, 90% of 10,000 or 5% of 200,000,000? You do the math.
I really don't think that usability suffers. If that were true, then open source wouldn't be popular/successful. Escher
In conclusion, I say we let proprietary software have that first five minutes. It has to be better for something!
fish and pipes
Every command, program, etc seems to have a different interface. And this is a huge problem for the newbie, hence so many of the new distro's/etc are using KDE as the interface. Its not perfect, but way ahead of anything else in the field. (I am not advocating for/against kde, just the idea).
I respect that every program has its own unique needs, but every program also has its similarities with others. Everyone needs to close the dang thing, usually open/close files, and a convenient way to get help is nice, not to mention a place to set options for the software.
Perhaps a common help command (which seems to be starting...) for command line programs (ie --help or -h or something) and a help selection that is built into the window manager that sends a SIGHELP (concept, not suggesting this) to GUI programs to activate the help. I think this would great help the state of Unix in the marketplace.
It would then be up to the person developing the software to add the functionality. I know we don't want to force conformity, but a project that would define certain similar details would help linux on its entry onto the desktop.
Just a thought... I use it, I like it... but there's always room for more, better, faster....
Without mentioning KDE and GNOME, the author obviously knows nothing about the state of UI's in open software. He is repeating his or someone elses conclusion from 3 years ago.
Bah! Read the whole post. I'm not advocating any sort of legislative or economic prohibitions on computer ownership; only that people who don't want computers stop believing the hype that they should have them anyway.
The goal of open source, as I see it, is not to make software designed for the least common denominator. That's what Microsoft and AOL are for.
We are not failing if our software seems to complicated to a computer-illiterate newbie -- that's not who we designed the software for.
The goal of open source is to make software that doesn't suck. As long as we continue with this, we're doing fine.
Open source software is usually designed to be very powerful and flexible. With flexibility and power comes complexity. Do we sacrifice writing powerful software with writing "easy to use" software? It cannot always be both.
Hosting for Creators: http://rpg-works.net
'nuff said. Please use ispell.
For most people, there shouldn't be a requirement to learn much. For you, I, and most of the readers here, computers are a tool we can shape as we need to, to perform whatever tasks we can conceive. For us, a computer should be a flexible and powerful as possible, so we can mold it to each task we want to perform.
But most people don't need or want that kind of power - they want an appliance. Something they can turn on, perform predetermined tasks with, and turn off. They want it to be inexpensive, reliable, and simple. Customization isn't important - simplicity is. We can't provide that with OSS at this point in time.
As far as "winning" goes though, Linux is useful today. Therefore we've won in a big sense. But the commercial development of Linux and the market acceptance of OSS have come in large part because the promise is there to build something suitable for Everyuser. Red Hat is worth billions in market cap, and can afford to pay lots of people to sit around and write Linux code that gets GPL'ed. That's not because geeks are a huge market - it's because of the potential to grow beyond the geek community. But without that potential, the explosive growth we've seen will go away, the funding will dry up, and Linux will go back to being an excellent OS that people hack on because they want to. But the increased pace of development and market acceptance we're seeing should say something. It tells me "I don't want to go back".
I'll share a dirty little secret with you: I use Linux on a desktop and a server at home, and a couple of servers at work. Users at my company use Windows NT, because it's "good enough" for their use (easy to use, and much more restrictive security than Win95). And when I go home, and want to just turn on the computer, check my email, read Usenet, write checks, and work on my book...
I use an iBook.
- -Josh Turiel
-- Josh Turiel
"2. Do not eat iPod Shuffle."
http://developer.gnome.org/helping/
Open source is forware written by geeks, for geeks. The GNU community is self-serving, fulfilling it's own needs. That's the whole point of open source. You get the code, and you get the means of tweaking it until it fills your own needs.
..theory has removed the flowers from the chain, not so that man shall wear the unadorned chain, but so that he may recognise the chain for what it is, and throw off his shackles so that he may pick the flowers as they are..
Nobody is out to replace Windows or MacOS here. Total World Domination is a sarcastic battle-cry, one that's intended to promote the "Do It Yourself" ideology. We're not competing for Linux on every desktop here...
What the author suggests, at least implicitly, is that we need focus groups and marketting research user-proxy specifications to tell open source developers what sort of GUI the anonymous masses want to see. Sorry, I don't buy it.
A certain level of technical know-how has always been the price of admission into Unixland. If you don't like it, then you'll like what you're given.
The MS-Windows interface is confusing to new users as much as the X Windows interface. DOS commands, the concept of directory trees and shutting down before shutting off are all foreign concepts to new users - until they learn.
This is the true Achilles' Heel of open source/GNU/Linux. The steep learning curve. We don't need no stinkin' GUIs! What we need is a consistent means for newbies to become knowledgable users. We need to make self-education easier. We should not come up with a conceptual kludge GUI that shows soft links as fuzzy icons and hard links as fuzzy icons with a sharp outline, or any some such bull.
We need usable user documentation, online help that's not written in C or PERL, but rather in English (well, it's a start). man pages suck! We need a central repository for this knowledge, and we need it to be new user-friendly. HOWTO's are great once you know what you're doing and just need a heads-up on a specific item. They are after all, slightly polished notes on the process someone went through. They EXPLAIN LITTLE, they're recipes. We need readable docs, a Q&A bank, an online reference, and a human hand for new users to hold on to for the first few weeks.
Once they are off the ground, they'll run circles around MS-GUI users, in X, in ksh and in the {G}UI of their choice. That's the point. Empowerment. Choice. Can't do it without education.
As was stated in another of today's articles, (to paraphrase Marx)
A pretty face that abstracts the workings (and knowledge thereof) of a system is just sticking more flowers in the chain, so the user feels grateful for being led around by a sweet smelling garland. It's not right.
Sometimes, a non-intuitive (to an ignorant user - no offense intended) interface is the best way to represent the underlying concept beneath it. People who understand the inner workings of the system see it a certain way - true to the core functionality. Misrepresenting the system beneath the interface does the user harm in the long term. It keeps new users from becoming knowledgable about HOW the system works.
Let's not try to save ignorant users from their own ignorance by giving them an indiot-proof interface. Istead, let's teach them to fish.
-- What you do today will cost you a day of your life.
Duh. :)
I've always taken this as a good thing though... yeah, maybe 'find' is a hard command to figure out, but once you figure out how to pipe things aronud, you can do things with one line of text that you couldn't do anywhere else.
But that really is kind of the problem from a useability standpoint. X has the capability do handle displaying things on the screen, but that isn't really it's main mission. If someone ever came out with something like X that does away with all the "multi-user" interface crap that the average person will never use, and make it easy to configure without knowing every refresh rate and resolution your monitor can handle, they'd go a long way towards providing a streamlined foundation for the various Linux GUIs. For instance, why is it that in Windows, changing your monitor is as easy as pointing the OS at an INF file that lists resolutions and refresh rates, but nobody has come up with anything similar for Linux? Its just a simple text file, and it just works...but then thats what Windows/MacOS excel at, and the reason 90% of consumers wouldn't think of touching Linux.
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
I just bought a 1978 Chevrolet Impala. If this is the best car that GM is capable of producing, they are in serious trouble. It's too big, it gets lousy gas mileage, and the users manual is poorly written.
Moral: If you are going to criticize a distribution and UI, at least criticize the CURRENT version. RH6.2+Gnome looks a lot different from RH5.2 + XFree86-3.2 + fvwm.
---
I agree with you that it would be good for people to have their choice of intelligent devices to fit their needs. But I don't agree that "most people don't need computers." Would you say that most people don't need telephones? or cars? These devices, like computers, are desired by most people because they provide incredible power and options to people who have them, versus don't have them. Computers are becoming an absolutely essential device for the average person to participate fully in work and life. There's already lots of worry about the "digital divide" and people being left behind. As a society we need to think about how this techology is accessable to the masses, rather than making a Big Brother decision that all those non-geek dumb schmucks don't need computers, so screw useability.
How can they say that the GUI's are hard to use? Sounds like it was written by someone who has never seen XFree86. It's almost as simple to use as Windows or MacOS.
Actually what makes it hard is the ammount of system resources your typical program is using.
Take an example I went from version 1.1.10 of the gimp 1.1.14 and suddently more and more memory was being sucked into the program. Wheras a perfectly good program had once run on my machine 16MB or physical ram and 20MB of virtual the machine needed even more. So now I have something like 38virtual just to make sure the memory dosn't just magically run out.
If people would just optimeze the development the UI could be more user friendly and still be interesting.
Slashdot social engineering at it's finest
Now that Open Source software has really ventured into the commercial realm, the quality of the user interface has become a prominent issue and isn't being ignored by the companies (Red Hat, Debian, Corel, etc.) who are trying to sell their product to the largest possible market (non-geeks).
I think the guy who wrote this piece has sort of been spending too much time with his wife and family lately.
$5 / month hosted VPS on linux = awesome!
Should have mentioned... I was providing some specifics in response to this comment from the original poster:
1) Most importantly, no facts, just vague generalities.
I don't see a single tangible suggestion in this thing. What good does saying Open Source user interfaces suck, if you cannot say "Doing X in program Y is too complicated for the average user, it should be done like A and B." And don't forget to just say, "Fix it."
Simon
Coming soon - pyrogyra
A lot of linux users/advocates are making the mistake of taking broadening the user base as an unwritten ethic. I'll tell you what, I'd really like to see Linux get better hardware support, more software, blah blah blah, but if the price is dumbing it down to the level of the average user, and having the community flooded with morons, I'd prefer the status quo.
As someone said, OSS programmers have tended to put functionality far, far ahead of making pretty and intuitive interfaces. And really, that's the way I like it. To paraphrase from Allen Holub's great book, _Enough Rope to Shoot Yourself In the Foot_, we musn't confuse ease-of-learning with ease-of-use. MS Word is relatively easy to learn: it has buttons with pictures, lots of visual metaphors, decent help, and that damned office assistant. But it's hard to USE. To anyone who learns Word's basic ins and outs, and starts to get comfortable with it, it's "user friendly" features start throwing curveballs. In short, all the fluff designed to make it easy for new users to get into it makes it difficult for advanced users to stay with it. At the opposite end of the spectrum is vi. This little piece of ware has a totally un-intuitive UI. It's so complicated, it has it's own Nutshell book. But everyone who I know who's really taken the time to learn it, swears by it. A vi user has basically taught the commands to their fingers, and doesn't have to really think about what their doing, rather like a manual transmission in capable hands. Use of vi also doesn't require constantly losing momentum by having to go for the mouse. In short, it is difficult to LEARN, but easy to USE. (Another great example is Blender, www.blender.nl, a 3D rendering and modelling tool with the least intuitive interface you've ever laid hands/eyes on, but which is a breeze to use once you get the hang of it.)
Anyway, there's a lot of people who don't like this state of affairs. They think that we should all follow the lead of GNOME and KDE and their ilk, to copy the "successful" interfaces, in order to make Linux easier for the newbie (although I contend that those two projects have their own UI "issues" that make them bad examples). Go ahead and call me elitist, but I think the largest reason why this is a bad idea is that it will make Linux more marketable to the Best Buy/CompUSA crowd. You see, until now, the rude state of unix UI's has served to make it the domain of knowledgeable people. People who know that their computer won't work during a power outage, that their CDROM is not a cupholder, the difference between memory and disk space, that they can't order the 'net on a CD, et cetera. In short, non-morons. But people who buy commodity PC's and Macs, are, for the most part, morons, at least when it comes to applying some sense to computer use. The great majority of users are resentful that they can't just sit down and "get it", that they have to think and learn. They get angry when something doesn't work to their own unreasonable expectation, and usually take it out on whoever is trying to help them. From working in a small custom PC shop for 7 months, I encountered, studied, and catalogued quite a few morons. The only really important thing about them is this: I *don't* want them using Linux. Hell, I don't want them using a COMPUTER! These people should have those web-pad thingies.
So to those who cry that Linux UI's are in a horrific state, I say "so &%$#@*! what?" There certainly are some UI's, and many configuration schemes, that are not only difficult for newbies but for advanced users, and those DO need work. But just because you have to sit down and -- the horror! -- read the documentation before you can successfully handle a UI doesn't make it bad. In essence, we shouldn't start a crusade to fix UI's that aren't really broken.
MoNsTeR
Well put. There's a fine distinction there, and I apologize for missing it.
The problem might be that, at the end of the day, even though it is a very open process in terms of development, it may feel fairly closed to the end-user seeing a package for the first time when he/she installs it from a distribution. At that point, how do you reach the user and give them the ability to initiate a meaningful (to the user) conversation with the developers to express their feelings? That's really the key here.
Again, thanks for an intelligent reply. Much appreciated.
"That's funny. I just had this conversation the other day!"
Brian, there is an excellent free GUI text editor available: NEdit. Get it at http://nedit.org
I find it to be far better than most commercial Windows text editors, and very easy to use.
/joeyo
2^5
The whole point of a GUI is that it has a common look and feel. Linux GUIs appear scrappy because people are using different widget sets for different programs, and writing things optimized for different window managers. Now, I like being able to change windowmanagers, but the widget set should be standard, and there should be some basic UI guidelines for people to follow.
:)
If a GUI doesn't have that commong look and feel, the user will become confused, and will have a harder time using different programs. And for all the honking on old UNIX users do about how wonderful the command line is, I think that GUIs are excellent for many things as well, if for no other reason than it drastically decreases the learning curve. When a user installs a new program, I doubt they want to read throught the documentation to find all the switches - they want to get using the program, and GUIs are good for this. Command lines have their place, and should always be available(this is why I have a general distaste for MacOS). Of course, Windows and MacOS have flaws, of course, but they both have GUIs that are reasonably well designed and thought out - and they have a common look and feel among most every application. BeOS, on the other hand, is perfect.
-lx
The problem with GUIs in Linux is that the programmers who write them don't use them. If KDE and Gnome are too much like Windows it's because the programmers who write them do so running Emacs from the command line, but are familiar with Windows from having been forced to use it in other contexts. Good GUIs will ultimately have to be written by people who use (and even like) GUIs. Since existing programmers are not going to give up their command line tools, the only answer is to create new programmers with a different outlook. New tools like Kdevelop, which make learning to program under Linux easier, and use a GUI, are a good start toward the goal of turning Linux newbies into Linux newbie programmers. Linux gurus can help in other ways at well. Make Gtk or Qt interfaces to your favorite command line tools. (grep, find, diff, etc.) They don't have to be good, they just have to be there, so that GUI users become aware of them and can improve them. Above all, though, write documentation that a newbie can read and understand. Tutorials and extensive and exampled explanations of everything a user need to know to cease being a newbie are needed (and currently lacking) almost everywhere.
To see an example of this, try to figure out how to use grep (my favorite tool) from the man page, while pretending that you've never used grep, and have never read a man page before.
Because GUI design isn't art and it isn't graphics. It's engineering, just like righting code. It's a well developed and expanding SCIENCE, not graphics.
The fact that you ask for an artist to fix a GUI is more point for the authors argument.
The equivalent would be asking for a typeface designer to debug your code.
everyone is different and has different skills and talents. even i have to be reminded of this on occasion. as a matter of fact...I was reminded of this just yesterday. i met a man that needed help with his computer (some old P100). he is a great musician and teacher....but know jack shit about computers. i can't imagine my life without knowing and just understanding computers!
Yes I agree. I think this is one of the points the author of the article was trying to make, which has been interpreted as saying the Linux interface doesn't work. I believe one of the things suggested in the article is why is the open source model not good at creating a SUPERIOR interface like it is at creating superior code. The article is trying to show why the standard approach used by open source is not improving the interface design as fast as it is improving code design, which is a valid point. Don't try to make it as good as windows, would you be satisfied with code that was as good as windows code, I think not.
-------- This space intentionally left blank --------
Open source software has many problems, its true, but one problem it definitely doesn't have is this: no one is trying to build in bugs. Consider the situation with commercial software, however. You come up with a "Killer App" and want to make a mint so you put your software on the market and stand back. Did you remove all the bugs first? Not if you're smart, you didn't! Why would your customers upgrade if the copy they were using didn't have bugs? Can you really dream up enough "New Features" to make the upgrade worthwhile . . . every year? I don't think so. So, the only solution is to build in bugs. Or, as M$ does, change the operating system API regularly and build in bugs. My conclusion is this: commercial software will never be bug free, it is commercial suicide to make it so. On the other hand, Open Source software will be as bug free as the people writing it can make it! The user's choice is plain: either buggy software with a pretty interface, or bug-free software with a less-than-optimal interface. However, there is no incentive to fix the bugs in the commercial software, only change them. There is incentive to fix the Open Source problems as soon as they are identified . . . so let evolution take its course!
Better?
kwsNI
Why would geeks create good user interfaces or UIs? For the same reason that you abreviate every damn phrase you can, geeks will not place emphasis on making interfaces that emphasize common understanding. Difficult interfaces also create revenue in book sales, certification courses, etc... For this same reason I am not surprised that we put M$ where it is today. Bad software makes more money than good software. Especially when you are forced to use it at gunpoint like goddamn Windows.
It sounds like you're saying we need *another* window manager?
Not so much a window manager but something more akin to X itself. Something that takes UI elements (say, via a pipe or network connection, like X) and constructs a meaningful rendering of that UI for display. It could be graphical, text, auditory, whatever. So long as we have a consistent "widget" set, applications can use those elements to build an interface that fits in consistently with the platform the user is using.
I don't necessarily disagree about the practicality, but it seems like it'd solve a wealth of problems by removing the coder from the responsibility of creating a meaningful user interface entirely, and either leaving it up to the system, or people that know how to build style sheets to *make* a good interface.
I'm a writer by trade and education, as well as an educated graphic designer.
Let me know of any of your projects require any UI work, and I'd me more than happy to assist.
Not being a coder, this is about all I have to offer the community.
Sakhmet.
"The surest way to corrupt a youth is to instruct him to hold in higher esteem those who think alike than those who think differently."
Ban the Nukes! Save the Whales! Screw it. Nuke the Whales!
Interface Hall of Fame, Hall of Shame
http://www.iarchitect.com/index.htm
IMHO the best place on the web to learn about how to design user interfaces. Their examples are everyday, and very solid. I recomend anyone who makes UI's to take a look.
I did not know that Alt+F4 was "quit" on Windoze. In fact I have an NT machine right here, and it appears that Alt+Q quits most of the programs (some seem to need Ctrl+Q). Oh, wait! There it is, on the "close box menu" or "window menu" or whatever. Alt+F4... hmm that's really intuitively obvious, seeing that I have never used it.
But where does Alt+F4 come from? Could it be? NOOOO! It comes from the CDE desktop environment! (try it, type Alt+F4 to MWM!). Gee, who is copying who?
In reality it is MicroSoft that is screwing up. Why do some programs use Ctrl+Q and some use Alt+Q? Well, the Macintosh, the first one to really insist on standardization between programs, used "Apple+Q". Take a look at an older Macintosh keyboard, and take a look at a PC keyboard from the same era. Gosh, which key is in the same place as the "Apple" key? Could it be: ALT? Well guess what: long before Windows 3.1, people were copying the Mac interface on X and there was NO QUESTION as to what key to use, they all used Alt+Q to quit (and Alt+X to cut, etc).
Even Windoze 3.0 used Alt+letter for items on the menu. However MSWord used Ctrl+letter for many editing functions. Somebody realized that an easy way to be user-friendly was to make those editing functions appear on the menu. But rather than say "well a menu shortcut can use either Alt or Ctrl" they starting switching ALL of them. And they made Alt "navigate" to the menu, thus making it making it difficult to press it and then decide "I don't want to do that" and release, reducing the ability of the shortcuts to do anything.
One of the only reasons I run Linux is because I can. Not any idiot off the street can setup, install, maintain, and use linux. If Linux becomes too GUI and user-friendly I'll ditch it and go to something more complex. Something bothers me when I go to a gamer-store and the clerk thinks he's all elite cuz he can install redhat! BAH! I'm already looking into getting OpenBSD.
WHERE CAN I HIDE FROM ALL THE NEWBIES???
This is so true. A common thread around here is that someone will say "But doing X on Linux is hard, it was easier on my old UI" or something like that and then the flames start. Linux is supposed to be for people who are smart enough to understand it etc. etc. I agree to a point, specifically around the infrastructure areas, but to be truly mainstream and industrial strength, Open-Souce software will have to grow up so that the average customer can use it.
Never knock on Death's door:
More race stuff in one place,
than any one place on the net.
And I'm afraid you missed the point of the article entirely. The point is that developers have to go farther and do some research via focus groups, extensive beta testing, irc/usenet/email contacts, etc. Its easy to sit back and say "what, specifically, is your problem with my program?" That isn't going to get anyone anywhere, because thats the way the open source world works now. And its broken. The problem isn't that there are specific little problems that affect Linux and all that its releated to. The problem is that the whole damn thing is the problem! The problem lies in the fact that geeks and hackers live in a very different world from the rest of society. What comes as simple and obvious as breathing to us never occurs to most people. I know, because I live on both sides of the fence. I'm a hardware geek, and am very good at working on hardware/OS issues. But when it comes to the real guts of programs and Operating Systems, and their attendant interfaces, I'm in many cases as clueless as the general public. I can explain to someone how to install a new hard drive in 15 mins, and I can see the problems that most people have with something I consider child's play. But I have a lot of trouble "using" Linux, and the reason is that you hacker types don't realize that the rest of the world might not find configuring X and KDE or some other window manager to do anything useful isn't just a walk in the park. I've read two LARGE books about Linux and still feel about as comfortable using it as I do pulling my own teeth. And I'm a relatively intelligent person as far as technology. Where does that leave the average construction worker who wants to be able to get email from his kid going to an overpriced college out of state? These people aren't going to ever be using Linux without training, unless the community does something to fix the problem. And doing something means going beyond saying "do you have problems with icons?" and "is there something wrong with the menus?" It means, quit using places like Slashdot as your "focus group" and go hire a real one. That's the only way the open source community will ever make it out of the server room in the basement.
The key thing developers can do to make this process easier for non-programmer users is provide binary rpms or debs of recent development, complete with instructions on how to install them. You must also pay close attention to the feedback they provide, even if it is difficult to follow sometimes (and extracting the exact nature of a problem or complaint can be like pulling teeth). Mozilla, perhaps the free software project most focussed on end-user development, does both of these things.
Any sufficiently advanced technology is indistinguishable from a rigged demo
--Andy Finkel (J. Klass?)
X is easy to use, if someone sets it up so that it is easy to use. Which means that there are as many different "easy-to-use" setups as there are hackers. To the experienced user, a bad thing about the Windows GUI is that you can't do very much about it. To the inexperienced user, a good thing about the Windows GUI is that it is pretty much the same no matter what box you use. Furthermore, Windows comes ready to use out of the box. X doesn't. And X is not X if you change machines. FVWM, GNOME and KDE look and feel very different, and adding new apps and changing the sysadmin's stupid default setup to one you like is not entirely painless for the inexperienced. Bottom line, X is still a hacker's GUI.
(Hr. Skjæveland)
I think that there are some real problems with Open Source UI's, but it isn't that the software is created for "geeks" IMHO. The issue is that some of the stronger UI's are created by egomaniacs like Steve Jobs that can get a bunch of people marching in lockstep. In the Open Source community, there isn't as much ability to get people organized-folks can easily go off and do their own thing. I think the issues with Open Source UI's are changing as more money flows into the Open Source community though it will be a while before an Open Source UI threatens that mass consumer market that Mac and Windows have locked in.
For many small programs, the people who write them just don't have the time to create an elaborate user interface around it... usually, the programmers themselves use the command line version, so the scratch-an-itch motivation is no longer here. And if the author of the program has time to extend it, he would probably rather improve the functionality. Nothing evil about that.
It would be good if all those Win32 programmers who don't like writing deep (complicated) code but love designing UIs (shallow, boring code) contributed more to Open Source programs!
What I am about to point out may sound obvious, but I think it's important to straighten it out. There is a difference between Open Source as principle and Open Source Software as it appears today. What many people regard as a general lack of user-friendly interfaces among Open Source Software, has nothing to do with its source being open. It's not like the ingenious user interface you've just designed will break apart as soon as you decide to open the source.
:-)
The author talks about "the Open Source model" not having any mechanisms for user feedback. Although strictly true, there is nothing that says that open source and user feedback can't be used together. "The Open Source model" implies the source is open, and that's pretty much that. The model does not exclude the possibility to supplement the "development model" with some kind of ingenious user feedback mechanism. The fact that this mixture is still rare, is not a result of a conflict with the openness of Open Source Software. It probably has to do with Open Source still being a pretty young and unexplored phenomenon, at least to the wider public.
I know the article doesn't strictly contradict what I've just written, but I think it's important to underline my point to the people who just read the first paragraph of the article and then concluded that Open Source will result in bad UIs. Okay, those people probably don't read this anyway, so for the rest of you; go tell them!
KAR
When I was a sysadmin I installed a package with a terrible gui installation routine. The only people who would use this installation routine (the software cost around $750,000) are experianced system administrators. The next revision of the installation was not graphical but it worked. The new system was well accepted.
What's my point? Good UI design is not important for applications that cater to IT pros.
I wonder if he's looking at the apps that are built for IT guys?
The X window is not tough to use. It's certainly not any tougher the MS Windows. Star Office is a breeze, so are the other apps targeted at "users" (xmms, gaim, etc.).
I don't this it's fair to bash the UI of Apache because my Aunt can't set it up. It wasn't built for her.
That which does not kill me only makes me whinier
Linux on the desktop, requires the average user to think outside of the box. It does not follow the status quo.(this is a good thing) Personally, I don't think Linux is ready for the average user migrating from Windows/Mac. Things like setting up PPP on Linux needs simplification, or really properly setting up Linux requires you to be much more intimate with your hardware. i.e. to setup X, you need to know what kind of graphics card you have. More specifically, you need to know what graphics chip that card uses. You also need to know the specifics of your monitor. How many non-tech users do you know that know what the horizontal and vertical refresh rates are? These are things that are hidden in Windows and Macs, as they avg user couldn't give two shits about it. They just want a computer that will allow them access to the internet and to type a document.
I think the trick for Linux Community will be to find a balance to make the geeks happy and make the average user happy. I just fear the more mainstream Linux becomes the less usable it will become for the power user!
Nothing exists exept atoms and empty space; everything else is opinion.
blah blah blah....
If you look at it, the foundation for open-source software has been laid out over the years. Functionality was always second place to aesthetics and usability. Now, OSS is entering a more mature age where those other concerns begin to exert themselves. KDE isn't a unique interface, but GNOME is pretty unique. If you take the ideas of themes, then you have an open-source GUI model. Some themes are extremely excellent in terms of their usability (some are downright awful). Granted, the code underlying all of that isn't beautiful, but end-users only see what's on top anyway. Programs like wmakerconf and sawmill's control panel allow people to make these changes extremely quickly, even directly from the gzipped tar file. You can't tell me that that's not extremely easy.
What this article says is that the OSS model has a hard time producing good GUIs, but that's not the case at all. We haven't needed good GUIs because our programs have never been for the end-user. Now that OSS is going mainstream, the end-user is being involved, and I think the OSS model is successfully tackling this challenge as well.
a) Linux is for geeks & servers, so it will always be around. This gives it infinite time to address UI issues. b) Linux restores a layered approach. Some people even like to run it without a UI (gasp!) Once enough seats are in place, the UI market can flourish independent of the OS market. "Value-added" resellers can present a monolithic glob for that segment of the market that somehow requires one. c) Developers of all those little internet appliances, settop TV boxes, palmtops, game consoles, etc. *love* the fact that they can put their own UI on a robust OS. I sure hope the mentality of "there can only be one OS for everybody, and the one with the most market share 'wins' due to herd mentality, so an OS must be all things to all people" dries up as the light of a future of infinite possibilites shines brighter and brighter.
I'm afriad you misunderstood. I guess i was trying to make two seperate points, and i didn't differentiate them clearly enough.
Point one, i am not saying that everybody has to go and learn to program, i'm just saying that those who do are the only source of growth for an open source platform.
Point two, i am not saying that we should not have a GUI, i'm just saying that as far as i'm concerned a GUI should always be a secondary concern to functionality. Some applications however, a GUI is legitimately part of the functionality (like Paint/draw/cad/3d modeling apps) where the task at hand is graphical).
Also, i don't have any problem with a GUI that has _NO NEGATIVE IMPACT_ on efficiency or flexibility. I refuse to sacrifice functionality so your mother (no disrespect to the lady (actually, it was my mother who taught _me_ BASIC) can use the same apps. This can be achieved in several ways, one is to make the GUI optional (like you can compile two versions of EMACS, one with X and one without, but the app is the same either way), and another way is to make apps that can be started with a command-line telling them what to do, but if you start them without any flags, they will bring up a GUI to ask the user what they want done (like Aladdin Expander for windows).
To sum up once again, GUI's are fine so long as they suppliment rather than detract from funcitonality. The Amiga is a great example of a system where the GUI was well integrated but not necesary for users who prefered not to use it.
I do not mean to say that everybody must learn to program, but i am saying that everybody who is inclined to should be helped along, because they are the real, original, and final target of open source software.
---
Play Six Pack Man. I
Cooper's The Inmates are Running the Asylum (ISBN: 0-672-31649-8) is an excellent overview of whats wrong with software design today. And what I really like is that he gives concrete examples, discussing things like the redesign of the software for the Logitech Scanman in Chapter 11. There are case studies at his site, Cooper Interaction Design, too. We're using his methodology in all our new product design.
The people who really could help Linux, KDE and GNOME be better software are the users who don't know a thing about programming and don't have time to learn because they have jobs to do, children to raise, etc. But these are the people who will make or break Linux on the desktop. Redhat should be hiring this kind of person to use and criticize GNOME and KDE, and publish the criticisms, comments and suggestions for the Open Source Community to see, and respond to. And we will make the interface better if we really are interested in freeing the world from M$ domination, and not simplying being smug about ourselves and our technically superior operating system Do we need M$ in a dominant position so we have something to look down on besides each other? M$ got where they are NOT because of any technical superiority, but because they responded to what customers said they wanted (not same as what they needed, necessarily). M
He's not talking about how cool the interface is or how you can customize your right-click window to include X and Y programs. He's talking about how you help users do things. It doesn't matter how simple it is to bring up a popup window if it takes 5 minutes worth of clicking to get something done. What needs to be done is to watch users using your product and see how they do things. The main point is that to you and me editing a conf file is a perfectly good way of doing things and bringup up printtool is just as easy as clicking on the Printer Setup button but for most people that just isn't the case. We need to look at how people use our stuff and how the things users need can be done more easily.
by endorsing copyrights, society creates a culture that's inclined to promote hype over substance. This unnaturally attracts away the people who are attracted to pretty looking interfaces, and asthetically elloquent solutions. Getting rid of copyrights would go a long way to migrating the two cummunities - we can already see a larger artistic attraction to Linux than any other unix os in history - so this support the theory even more. (eg gimp, gnome were unthinkable with other unices)
I think this is a misconception many people have. Although it is normally true (example: Lotus Notes, it's not necessarily true.
I think there's two types of "intuitiveness." One's the classic example, the pretty GUIs Apple makes. When you want to do something, you think what action would accompany that result. Like dragging a file into a trashcan to delete it. (But dragging a disk into the trash to eject it?) But the other type is even better - an interface that's sorta strange at first, but when you use you realize how intuitive it is.
Let's take one of your examples, vi. (Disclaimer - I personally use vim and use the Dvorak keyboard layout, so it's a little different). Yes, for a newbie this editor is pretty hard to use. But after becoming accustomed to it, it becomes very clear why the creator made it that way, it's very intuitive. All the commands are available without moving your hands from the typing position; no fumbling around with the mouse or over to the arrow-buttons.
What about regular expressions? Those don't look so "easy to use" when you first see them. But I'd like to see a "find" dialog box in a GUI that can do that.
So you see my point. Don't come to the conclusion that interfaces are "evil" or even "difficult" because they're a little daunting at first. They're also intuitive, just on a different level.
http://www.talknerdy.org
I don't agree with the premise that closed source commercial products have innovative GUI's. Compare the GUI of Word to WordPerfect and you'll notice almost no difference between the two. To make a blanket generalization, I think the average open source user is much more open to new interface ideas. I think that if success and marketshare are the only concerns, writers of OS software might be advised to copy the GUI's of closed source programs as closely as possible, change the names of a few of the buttons, add some color and send it out. Isn't that what MSFT did with IE, after all?
I hate to be this cynical, but, for the average user, the barrier to trying something new seems to be pretty low.
CDE was based on a IBM Human Interface document, which Microsoft also used when designing Windows.
So, to be correct, everyone's Alt+F4 is really an outgrowth of OS/2.
(though the term "IT pros" frankly makes me want to blow chunks all over his wing tips.)
I agree even moreso with the user who wrote this: The developers of successful Open Source projects are its users.
Also, a number of
Unix was designed to be a pleasant programming environment. Others have used it for many other purposes, and that's fine with me, but that isn't what its creators had in mind. I guess the article makes some good points regarding those who would write "open source" apps which cater to the general public. But they are not of the same spirit, contrary to popular opinion.
I fail to see how this is a problem.
If you don't like the UI, change it. It's probably GPL'ed, nobody can stop you.
If you're just going to whine, then get out of the way.
Bang the head that doesn't bang!
I realize this isn't directly applicable to the comment I'm replying to, but as long as I'm posting, I want to emphasize that, in general, programmers are not users. If people want to write compilers, IDEs, sysadmin tools, etc., for themselves and other techies to use, I think that's fantastic. (I love emacs, gcc, etc.) But they shouldn't fool themselves into thinking that people who aren't technically sophisticated can use their program just because they and their 10 geeky friends can. If OSS authors want their software to appeal to and be usable by "the masses", they will have to do real HCI work: design, prototyping, evaluation, and iterate until it's good enough. Designing good UIs is hard and saying it's easy or calling users stupid doesn't make it so.
OK. Needful things: 1) How 'bout some consistency in keyboard shortcuts. Win 9x sucks here, but the Mac OS has this DOWN. 2) How 'bout making it possible to do ALL basic admin on the system from the GUI. As is, Linux desktops/GUIs are at best a kludge. 3) How 'bout some consistent metaphors. 4) How 'bout making customizability EASY. Yes, the amount of ways to customize Linux's Desktops are manifold and diverse. None of them have easy guided steps. Ex: Select Icon. Go to Apple Menu. Click "Add to Apple Menu". DONE with operation. Configuring the KDE equivalent of the Apple Menu is MORE difficult than fixing that other kludge, the Win Start Button. Hope this short list helps. No Flame, No Sarcasm. Just a Windows User who went Mac instead on Linux for reasons just like these. There are many many many people like me, btw. Tom Dutton
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.
All that time and effort wasted on supporting skins could have been poured into fixing other bugs or refining algorithms. With all the talk about how "real Unix eschews eye-candy" I'm surprised to find this such a "must-have" feature in so many newer applications.
I can understand where you are coming from, I'm sure almost everyone who reads usenet or goes into IRC channels graons at one time or another when they see that Joe17890@aol.com wants to know how to plug in a printer again. Newbies can be a pain, I know. But people really should believe the hype about computers, because they aren't just tools for doing things; they can really alter the way you live. And to say that some people would be better off just not using them at all, makes you either slightly elitist, or a Luddite. Computers aren't just about email or web shopping, they are about the era we are entering. Nobody, but nobody, should be denied, either in principle, or in practice, access to a computer. That is precisely what is going to widen the "Information Gap," and the net effect will be that those without the information will be the new slave class in our society. If I had my way, we'd cut the national budget in half, and use the leftovers to provide everyone with a computer. I really do believe that in the coming century, it will be THAT important.
One of the most common anti-Linux things I hear is that "while you're typing away, I'm getting work done", implying that point-and-click GUI applications are the only way to do useful work.
Once again, I think its about mindshare, not technology per se. People equate typing to bearskins and stone axes. People also have developed a large amount of "muscle memory" when it comes to using a UI. I can't live without alt-tab, I have yet to retrain my fingers for any of the different "superior" keybindings, for instance. And may people now refuse to take their hand off the mouse, even if it provides an "easier" way of doing things.
Themes are nice, but usability is more than themable checkboxes and xmms skins: its a consistent metaphor across the entire UI, which imo is against what X stands for: why force anything? But until a certain level of rigidity is enforced, it won't ever be set for Aunt Millie.
ZOMG I WOULD LOVE TO KNOW ABOUT YOUR FEELINGS ON MACINTOSH VERSUS WINDOWS, VI VERSUS EMACS, AND HOW YOU'RE NOT A DORK
On one hand I would say that he has a point, except for the fact that there are open source applications for Linux that seem rather easy to use once they are properly set up. I don't see anything awkward or difficult about X. Point and Click is Point and Click. In Red Hat you can set it up to start up on X, so they don't even need to remember to type the command to start it.
Another open source app, The GIMP is rather akin to photoshop. Not everything is there where you would expect it, nor is the product quite as good, but it seems rather easy to use.
If this guy is talking about software like Apache or something, it seems rediculous. What kind of end user is even going to install software like Apache? Hopefully not someone that demands a point and click interface for everything, and a paperclip buddy to tell him how to do it.
I mean, there are people who complain that Windows is too hard to use (even with it's wizards and paperclip buddies flying around), and I don't think it is appropriate to bloat our code to accomidate people who for some reason turn into idiots the minute they sit in front of a computer.
"You ever have that feeling where you're not sure if you're dreaming or awake?"
"You spoony bard!" -Tellah
This is exactly how I, and I'd guess most open source developers, like it. The Microsoftian vision of user interface innovation where features are replaced with ignorance is not for me or anyone who really wants to get the most out of their computer system.
Actually, opposite to the points in this article, I find myself increasingly unhappy with the current trend in user interfaces which is to do some kind of "question and answer" based model where I can't get to what I wan't directly, and I have to reverse engineer the interface to do what I want.
I find most open-source (not all) interfaces to be simple, intuitive, widely functional, and very useful. I havn't seen interface innovation that beats it either.
John
Home users will use Linux if they have an itch to scratch; however they are not the primary audience.
Sanity.html - Error 404 not found
If you've ever seen a button on your computer marked only with the cryptic symbol
( | ) or ( ' )
you've seen the Worst Interface In The History Of The World. This is some geek's idea of what the interface for a Power button should look like. You might have also seen it's precursor, the power switch marked with 1 for on and 0 for off (which is binary for those of you who don't know). The ( | ) is meant to be a 1 and a 0 combined. This is the perfect example of why geeks cannot be trusted with interface design. (Ask yourself if any manager or marketroid would come up with using binary on the front of a home device, I think not) While you and I might recognize that in binary 1 is on and 0 is off, who the hell else would know that? Why did someone think that any user would know what that meant? All we can hope for is that they eventually figure out that the little ( | ) turns the computer on and off. If all we're shooting for is that the user eventually figure out the meaning of the button exclusive of the symbol, why not just make all buttons random sized white squares, eventually they'll figure it out. This is my specific example of why programmers/geeks should not be allowed to design interfaces, because we come up with ideas like the ( | ) button.
This is a small (and some have argued dumb) example but in my opinion, if we can't even come up with a good interface for something as fundemental as the power button, how are normal users supposed to figure out what we're doing with our other interfaces?
...an article about the flaws of Open Source software that doesn't hint (or outright declare) that the solution to these flaws is to abandon the Open Source model.
Until the user's perspective is an integral part of the Open Source development process, those Open Source products that rely on end-user interfaces (beyond the command line, that is) will continue to offer substandard interfaces on top of excellent engine code.
This problem can be fixed by merely paying attention to what ordinary users want and/or need.
Of course one person's flaw is another person's feature, but that's okay too. There will continue to be command line interfaces for those of us who want them, but an easy to use "training wheels" open source operating system with lots of GUI bells and whistles would certainly help to spread the gospel to those whose life doesn't revolve around computers, but who still use them from time to time.
a lot of OSS are written by geeks and for geeks, as a geek i don't care, but if i tell a coworker "try this it's wonderful" and he discovered it's a command line tool with a lot of options, he'll not use it. I know people called them "computer geek" but the only thing they know is click on a button, like the script kiddies who don't know what a shell prompt is... :o)
i'm going back hacking sendmail.cf with vi
--
BeRoute
"Science will win because it works." - Stephen Hawking
In order to compete on the desktop - which seems to be very important to the Linux community - there has to be a completely new focus on useability and UI. That's the point of the article.
Hold on here. Developers are people too. They have computers at home too. They sometimes even have machines that they will refer to as 'desktops'. Many of these very developers need the kind of tools they design (with poor idiot compliancy -er, user friendliness) because they operate better that way. For some, that's why they started uing Linux. I'm one of them.
I will agree that most people are stupid when it comes to interfaces, and therefore selling them a CLI based program just won't work. But I think that might just be a good thing, a very good thing. I don't know, and this is entirely idle speculation, but, it might be the glue of opensource. Think about it, if you write code, and all of the users of said code are competant, then there's a greater chance that they will contribute to your project than if (say) 5% of them were competant.
I know for a fact that many opensource projects behave this way, take Cistron Radius, when someone posts to the mailing list something they should know or have found out in due course, Alan Dekok is the first to not answer thier question, but tell them where they should have already checked. In many cases it appears that it would be more efficient to simply answer the question instead, but it seems he's trying to enforce competance, sometimes I'm so impressed that it brings a tear to my eye.
It's the same for bug reports, every time someone gives too little information, the developers complain profusely. In an idiot-compliant scheme, you can't expect that complaining to anything other than futile. But again, I've seen it work. This is because most people involved in opensource projects are either competant or willing to become so. Even the 'end-users'.
So much for by-hackers-for-hackers.
---
It's not smut it's data
[ approaching AI ]
Mike Kuniavsky makes some good points in his article, but there is nothing unique about an open source approach to UI development that is an Achilles Heel. Proven processes like formal usability testing will improve the UI in an open source project just as it does in proprietary projects. Creating a great UI is not easy, and as others have noted there are many examples of lousy UIs in proprietary applications. Improving a UI is mainly just a question of finding the right resources. But, like documentation, usability testing is a less glamorous and often overlooked area of ANY software development effort. Formal usability testing and better UIs will become more common in OSS as the movement continues to mature and include more end user applications. After all, a "geekey" UI is perfectly appropriate when the UI is intended for use by geeks.
As a budding linux user, the thing that bothers me most is how poorly laid out man pages are. Instead of putting the most commonly used options at the top, they're in alphabetical order, requiring one to page through fifty options to find the one you're looking for. And where are the examples?!? The easiest way to see what a command does is by example, rather than trying to interpret all the []'s, ()'s, and 's that attempt to say which options go where.
In fact, on my Irix machine, I can type Alt+F4 and IT CLOSES THE WINDOW. In fact it is the same for every application, since the window manager does it! I thought maybe this was a problem with different window managers, so I tried my Linux box running an old FVWM and (suprise!) Alt+F4 does the same thing! And it seems to work under KDE, too (granted they copy windows). It did not work under Gnome, and it does not work on my own window manager (flwm), but that was because I was unaware of this shortcut being a standard.
Yet nobody goes around claiming that X is some great model of user interface consistency. In fact I bet if MicroSoft had been smart enough to use Alt+Q or something, everybody would be pointing at X and saying "they are so stupid they use an unintuitive thing like Alt+F4". But MicroSoft does it and everybody says "look how consistent they are".
In fact I was totally unaware that MicroSoft had copied the CDE keybindings. I thought the correct way to quit was to pick the "quit" or "exit" off the applications menu. This does not seem to be Alt+F4, but seems to be Ctrl+Q or Alt+Q, depending on the application, exactly as inconsistent as all the modern X programs, and exactly the same problem you are complaining about!
I'd be wary of having this be a GNU project. It needs to be able to be used across different GUIs, text UIs, etc, and issues would arise if the library/whatever was GPLed.
For Debian users out there, take a look at debconf used extensively in some packages for configuration. I like the debconf's ideas. There's a backend that packages provide information to ask questions, and debconf provides various front-ends, such as text, curses, and GTK to answer with. This kind of approach could create a much more widely used system, IMO.
I don't do sigs.
Software used to perform some complicated task that an average person won't ever want to do doesn't need to be simple. If only geeks will need the program anyway, does it really matter? Howver, if the program is something that will be commonly used, it does need to be simple. (Obviously) Programs like OS's and ISP's fall in this category.
Take AOL for example. (We all hate it right?) One of its biggest downfalls (from a geek's perspective) is that the UI is TOO "easy" to use. As a result, the program is absolutely huge! Besides that, they made complex things more difficult. i.e. about 10 clicks through AOL servers (You know, the slow ones...) just to log into an FTP server. All that space and it's just an inconvenience. BUT, the average person off the street loves it. It's lousy software that makes it easy to do stupid things that aren't that hard to begin with. But that makes this particular brand of user happy.In short, most of the open-source software was never meant for the typical person off the street anyway. So why worry?
"I believe that a scientist looking at nonscientific problems is just as dumb as the next guy." -Richard Feynman
Hey, AC, thanks!
I just installed NEdit, and it looks to have all of the features I deem most precious. I'll have to play with it more, but it may take the #1 item off that list.
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:
{i am too lazy to log in} Okay, here is my least brutal opinion. Easy-to-use, happy, interfaces may be okay for the ultimate idiot. And I will admit that there are many ultimate idiots out there. Therefore, an option to use that as one's window manager should be presented during installation. It should say something like this: ARE YOU AN ABSOLUTE RAVING IDIOT? If you answer yes to this question, we will do everything for you from now on (because you are obviously too stupid to be trusted), and install a geeky window manager that facilitates absolutely NO productivity. [YES] [NO] But for the rest of us, I would say that the traditional idea of the X-window System controlling an unlimited number of terminals in a user-defined arrangement is the best option for the productive user. In fact, very few applications really need to be graphical at all (web browsers definately, and office env. maybe). I just very recently started using Red Hat linux, I am not a programmer, and I have gotten the computer it total working order in under a week. It is not difficult, especially with all of the online help. And my opinion is that happy windows rip-off crap like the "gnome panel" get in the way more than they help. I don't have the fastest machine in the world, and I don't need a photocopy of windows GUI slowing it down. I switched to FVWM. It has less fun "launchers" and cute "menus" (in fact, it pretty much has ONLY the root menu), but that is simple, easy, and powerful. made for users by programmers. the way it should be. Therefore, pathetic and waste-of-time-and-intelligence interfaces like you suggest should be only for those who might fall prey to such a scam as the "shredder paperclip" who asks you if you want to delete your whole filesystem with rm -rf / STOP WORKING ON THINGS THAT CAN ONLY IN THE END DIVIDE AND HURT OUR COMMUNITY AND PRECIOUS BODILY FLUIDS! People should conform to computer standards that are intelligent and useful; the computer should not conform to the user. This may seem counter-intuititve, but Linux proves that it works. SAM {tcoskey@uswest.net}
I think he definitely has a point. I think that most average users would never think to find a programmer on the project, and say what's on their minds, because they are used to years of large companies who let all suggestions sit in a box somewhere and never act on them. I also think that it may be hard because some programmers have very little tolerance for end users, while some are very open to input.
One thing that made me bristle while reading this was the idea that a graphical user interface should be part of the program. I love all my command line linux tools, because they are small, powerful, and configurable. I can put everything i need to rescue a system on one floppy. I can script stuff. The main thing that makes Linux worth it for me is the tools, and the fact that the GUI is _ENTIRELY_ optional. (this is starting to change... Ever tried installing a distro from CD _without_ the X libraries? <DOH>)
I do think that providing support for desktop users who don't want to know what's under the hood may be a good idea in terms of a quick way to increase the user-base, but i grew up when everybody had to be at least comfortable with a command line (my first comp. was an apple II clone (Franklin Ace 1000)), and most were programmer-users. I think that one thing that is missing is an intermediate step for new users to head towards programmer-users without having to be dropped right into a confuding environment of uncommented C code. I think that it might be more useful to make a nice integrated BASIC (<shudder>) interpreter that is ultra-user friendly to get the new users that have the drive to become programmer-users, but need some sort of a stepping-stone to become comfortable with the system. That's what got me (and a whole generation) of new computer users into the whole thing. Having a starting place that is easily self taught, soon you'll want to do more, and then you'll look for a more powerful language, find C, and if people did a little more commenting, there would be plenty of example code for new programmers to learn from.
To sum up, i think that for short term concerns, it may make sense to lure in desktop users by pampering them, but it would be nice not to damage any of the flexibility in the process. However, i think that for long term growth, what we need to do is create a less intimidating environment for more programmer-users to learn and be nurtured in, because they will ultimately be the main source of growth, reguardless of corporate support, etc...
---
Play Six Pack Man. I
You're right about cargo-cult UI design, but you're wrong about the generation: this is second generation cargo-cult UI design. A badly copied version of windows, which is a badly copied version of the Mac.
BTW - my wife works at apple. I've seen OSX server running. It totally kicks ass as a UI on top of a *nix. Better and faster than anything I've seen.
"Oh, Senator, you're so gullible!" - Buckaroo Banzaii
This may seem like anathema, but I don't understand why we should be targeting regular people (meaning people who just want to get their work done and be done with it)? If the motivation is to "rescue" windows users from the evil grips of Microsoft, thit is the *wrong* motivation. People who only deal with computers out of necessity have windows; people who like computers have a *nix.
...Besides, it's a bastardization of the form.
.{redmist}.
I am relatively new to the Linux world, and I had to learn the hard way (meaning that I had to adapt and evolve from a windows/GUI only mindset to a *nix mindset and way of thinking). It takes time, hard work, and energy..but that is the way it should be! Anything that is worth having requires hard work. The benefits that result from such work are worth it..and windows users pay the price of user-friendliness.
As for the author's (of "It's the User, Stupid") complaint that the desktop environments for Linux/Open Source are not good enough is, IMHO, false. Both GNOME/KDE are both competent desktop environments and should be user-friendly enough for users with even a small amount of experience. The only element of the GUI Linux experience that I think needs evaluation is the interface to customization of window managers...although they are already done quite well.
Another question that begs to be asked is whether or not a user that needs such a dumbed-down UI can even benefit from the versatility of the system that he/she is using. I highly doubt that a user who has difficulty with the UI as it currently is can fully benefit from the Linux environment.
-------------------------------------------------
-------------------------------------------------
So the title will for sure get rants and flames... but its true. Me? I'm a user + developer for Linux, MacOS, Windows. The company I work for launched a major product (in our field) a few months ago and the product, including a killer java ui for Mac/Win, took the better part of 4 years to build. We spent close to a $8M USD between engineering, UI design, commercial artists, design firms, testing, etc. Lots of companies spend money like this on products, but in final review what we learned was that great user interfaces required: (1) a singular design vision; (2) lots of prototyping; (3) a small group of really sharp people for iterative review; (4) the talents of really good graphic designers. We agonized over the number of clicks, the number of dialogs, layout of dialogs and windows, etc. I seriously doubt that most of the software published under "open source" goes through this sort of polishing. Even a lot of commercial software seems somewhat lacking for polish. I say that most people don't get it because most people either: (1) think that only dumb people need good ui; (2) power users want complicated ui; (3) figure that their opinion is best. All 3 points are false. Of course every intelligent reader will agree with that, but how many actually spend 50+% of their ui development time on ui design (not coding, only screen mockups and reviews and prototyping and usability testing)? Good user interfaces (like most other good things) rarely happen by chance or accident. Its also true that many coders cannot build ui, and the reverse is also true. Deal.
I disagree with the author. A really well designed gui would be wonderful, but who would use it?
All of the people who really know computers extremely well, like many of the readers of slashdot probably would, but the readers of slashdot are but a minority in the group of all computer users.
More important than quality is consistency. My father, a man who has had a home computer since 1987, hates the way each time he buys a new computer, he has to learn a new system, first DOS, then Win3.1, and now Win98. And he uses the computer more than the "average" user. What he, and I think most people want is a system that is consistent. Sure, upgrade the system, make it more capable, but keep the user interface consistent with something people know, so that they can focus on actually creating a product with the computer, rather than learning how to use it.
True !
But, the thing is that recently a large group of these geeks have gotten the attitude that they'll try to push Windows away from the desktop : they're no longer happy with Linux munching away those hardcore textinterface tools on servers, they want Linux on the common end user desktop !
So the contradiction is kindof obvious, no ? On one hand you want to stick with Linux's roots claiming "it has worked before" and "we're not newbies", while at the same time you want to build desktops that enable your grandma to write and print a nice letter under an Office clone.
What the author is saying is that the current situation under Linux is not really suitable for running such apps, and I'd like to add that Linux in general is not suited, right now, for even building them, lest you go the "but I have too much time on my hands" way (see my other post)...
Just imho ofcourse ;)
but this is an extremely important point.. It seems to me that most of the linux companies out there are interested in wide-scale adoption of their products, and how better to make the math above actually be the case than to invest some money in professional design?
Has anyone in the GNOME/KDE projects come up with human interface guidelines for their desktop environment? That seems the first step in coming up with a coherent one. Take the Mac, the consistent keyboard shortcuts, the existence of at least a bare minimum of menu items, it takes the users' focus off of learning the interface and actually on to using the software productively.
cheers,
-o
People who make these types of statements obviously confuse usability with familiarity. If you're familiar with, and never used anything other than Windows95 (explorer). U'll probably say the same thing. I can't locate the taskbar...etc i.e. I have a friend who has no preference in Operating Systems and is moderately proficient in several. Although, he most uses Windows and on Linux prefers KDE, because he says it looks familiar. He never saw an Xterm until I brought one up.
This is kind of like writing a paper about a book. If the target audience already knows the story inside and out, then you can omit a plot summary in the paper.
I have a feeling that these programmers automatically assume that the people that are going to use the program already know what they're doing, and don't need any assistance in their activities.
Or maybe I'm just an idiot.
-- Dr. E --
eh? theyre modelling technique is just a bad ripoff of OPENSTEP's InterfaceBuilder app, with none of the really cool things like graphically connecting UI objects to backend objects (literally clicking and dragging)
:)
If I had a floppy drive (which was recently destroyed) I'd reinstall it, b/c yes there are people still writing apps for it, and Objective-C, ProjectBuilder and InterfaceBuilder make life REAL easy for rapidly writing new apps
"There is no spoon" - Neo, The Matrix
just a reply to your comment about the gimp: i can't believe you think it's feature-poor. YES i think you are missing something: the gimp 1.1 comes now with >200 plugins. hope no gimp developer read this... it could cause them to add 40 more buttons to the main toolbar in the next release :)
and now for something completely different
I fail to see the problem here, what will happen, is the non-geek will become a geek to be able to use the new software created by the geek (ok, this is beginning to get confusing) therefore we will have a world of non-Windozers, non-aolers...where is the problem? computer users who know HOW to use their computers? where is the problem? In the world today anyone can purchase a computer, but many who do, do not know how to use them... Remember: The GEEK shall inherit the Earth
I am not stubborn. I am right!
Actually, the power switch sign (|)is an ISO standard. For switches with two different positions, they should be marked | and O for on and off, respectively. The (') is the standby switch sign, showing that the machine won't lose power completely.
Perhaps these symbols aren't the most intuitive in the world -- but then you tell me what a intuitive symbol for "power on" looks like! The ISO committee failed, and realized that the next best thing to intuitive symbols is standardization. Since the (|) and (') are fairly common, people learn their meaning anyway, even if it's not "intuitive" from the start, it'll soon become familiar -- and that's what intuitive UIs really are about.
The article is all well and good, but it ignores a prime example of a perfect UI designed by hackers, for hackers. Ed.
What's that? You've never heard of it? Don't have access to a Unix box you say?
Fear not! Just compile this source code and you too can experience the joys of ed:
/* ed.c - the editor with the best UI ever! */
#include <stdio.h>
void main()
{
char devnull[80];
while (1)
{
gets(devnull);
printf("?\n");
}
}
--GnrcMan--
Mozilla does UI in a kinda crossplatform XML DTD (reworking a little per platform basis but largely you can use most of the code). Can anyone tell me if the mozilla UI implementation is seperate from gecko? or if it could be embeded in a window manager? I think the author has a good point. Most developers don't invite feedback. You have to join the mailing list and then many expect you to know technical schtuff and how to program. When I was trying to ask those cheery Phorum.org lads for some features and some ways to tidy up their resultant HTML the response was to code it myself. Please don't get me wrong. I know I have no right to ask for things when people are volunteering their time. Phorum is a nice piece of PHP. But it's just an example of how most open source projects treat feedback </generalisation> I know i'd be annoying if someone started telling me to do what when I was volunteering - but if you want to compete with commercial software (if that's a goal) it needs to be part of your project. Is there a HOWTO on software creation organisation structure?
Writing good user interfaces is hard. Most users don't realize what they want, they just perform well and are happy when they get to use good interfaces. User feedback as in "wish lists" or bug reports does help to improve usability, but not much. In modern usability designing, user studies where you observe the user when he/she uses a program, and notes where the user are having difficulties, is fundamental. How can user testing be adapted in the OSS world?
:-)
Making usable interfaces is about understanding the user's situation, his/her knowledge and goals. But it is also about innovation.
Take a popular UI for example: the shell. As most Linux users know, the shell is in many ways an excellent interface for performing certain tasks given certain knowledge. (This does not mean it's good for most users or most task, but that's another story.)
Imagine that your first contact with a shell ever was a shell without command line history or filename completion. (Which was probably the case for people who suffered with COMMAND.COM before starting to use Unix.) Now, how would you even come to THINK that you would like to have command line history and filename completion? Most users just DON'T, not until they try it out (and start loving it). If COMMAND.COM was an OSS project, how would the developers know that this kind of functionality was needed?
One way would be user studies: if you are studying someone using the shell, you'd see that he or she often are repeating an previously typed command line, suggesting the history as a way of speeding this up. Or that a common sequence of operation is listings files in a directory, and then trying to type the name of a file in that directory, with typos and slow operations as a result -- suggesting filename completion (of course, other solutions would be possible).
The interesting question imho is: can the OSS community incorporate user testing in the development process? If so, how should it be done?
And perhaps the most difficult problem of them all: how could one possibly convince the programmers to listen to and respect the outcome of a usability evaluation?
Users are people who use computers. They do so
to get their work done faster. If someone, to send
a fax must type $ cat letter | ispell | fax and
get it out in 10 sec, that's fast. If someone, to
do the same must leave the keyboard, reach for
the rodent, dig through menus and wait for
minutes- that just sucks, no matter how `innovative'
the whole click-o-rama looks.
There are things as basic as gravity. And there's
nothing as fast and as flexible as UNIX CLI. Period. And don't tell me about your poor secretary. If she's a slow typist, fire her.
KuroiNeko
My god! I forgot my login again. I am a active programmer on the WINDOWS platform becouse I am used to do so. And for the time I will remain living, it will stay that way until borland releases something to work under linux. My point is : EVERY program I wrote does have a user interface, but only one I understand. Everyone else misses my point in the user interface. So even with the attempt to make a user interface, I get NONE. this.is.the.line@the.bottom
Some tasks are just to bothersome for most to do if they arent being payed to do it.
I suppose the jury's still out on the UI hit squad, but it seems they might make things better. James Cape has shown a lot more restraint than certain earlier would-be UI improvers, and the other people on the team seem to be of the rational sort. Apparently they believe more in making small improvements rather than dreaming of totally new, cool, beautiful, hard-to-implement and untested interface concepts. Which might be a good thing, especially in the beginning.
And while talking about Gnome and UI, I have started with Gtk a few times on one of my pet projects, but always get discouraged when I remember that doing edit in place with GtkCList is impossible (or is it?), or something else like that, and decide to shelve the project or just do a web interface. The tools for implementing the basics of good UI seem to still have some room for improvement.
What exactly is a GUI in the first place? My understanding of it has always been that it's a graphical interface to make using a program require less thought/reading/learning. Point-and-click at its best. Perhaps Windoze users need GUI's, but I really don't think that Open Source users do.
Most Open Source OSes were built by people who knew what they were doing, for people who would know what they were doing. Thus, no real GUI's were created. The fact that there really are none doesn't mean that we can't create them - I think it more means that we don't need them.
Sure, getting new users into Open Source OSes is hard, has been hard, and always will be hard, as far as I can see. But if people take the time to learn about the OS before switching to a new one, and to read the manuals after switching, and to join usenets, newsgroups, and mailing lists where they can ask any questions they have, they'll be able to learn about their new OS, and become more educated in the process.
Of course, we need to stop feeling so high-and-mighty towards newbies and users of other OSes, or else they're never going to feel comfortable enough to switch or ask questions or learn about our OSes. We need to help them, not ridicule them. Either that, or we need to create these GUI's to dumb-down the users of Open Source, which is against its ideals. Using Open Source means you have to learn something about it before you can reap its benefits.
If we don't want to have problems with getting new users & keeping them, creating useful/"pretty" GUI's, losing users because of the amount of info they need to learn, etc., we need to help them learn how to work with the OS. GUI's are nice, but knowledgeable users are so much better.
Eruantalon
The Annals of Middle-earth
Is this the fault of laziness/not-caring-about-appearances on the part of geeks, or just a lack of services from the OS?
If someone came up with a "universal interface language" that was clearly defined and implementation-independent, so that a standard dialog-box descriptor could be used as a group of command-line elements or a group of graphic elements (for example), programmers could quickly design their UI better.
Moreover, if this descriptor language was understood directly by the shell, the interface sources could be developed as a co-project by inclined users. Make a graphic interface editor (a la ResEdit on the Mac) and you've got instant skins in every application.
Where is my mind?
Check out Project Upper/Mute, an all-around awesome compiler fra
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?
cpeterso
Yes, it's great to know your shells and all your command line interfaces but get off your high horse, penguins! It's best to know both. Sometimes a GUI is a more efficient way to work, sometimes nothing beats an intelligent set of command line tools. But there is a vast class of users who want only the former, and fortunately or unfortunately, it is to them that the industry caters. And why shouldn't they? The auto industry sells cars to drivers, not only to mechanics. But they shouldn't do what Gates and Apple have done - deliberately make it hard/impossible to use the command line. Linux' user interfaces are getting better all the time but they still have far to go. Here is ONE idea from Windows/MAC that IS worth copying: How about ONE stinking clipboard? It still happens way too often that you Copy something to the clipboard in one application and it won't paste into another. You can't cut and paste from emacs into Netscape or vice versa. Or any of the KDE apps. What the hell is up with that. Every Windows app or Mac app uses the same clipboard. I agree with the author. If you want to challenge Gates on the desktop, you have to improve the UI.
Improving a UI is mainly just a question of finding the right resources. There's nothing unique about open source UI development that prevents UI pros such as yourself from participating. Just like documentation, formal usability testing is a less glamorous and often overlooked area of ANY software development effort. Formal testing and improvment of UIs will become more common as OSS continues to mature and includes more end user applications (a "geekey" UIs is perfectly appropriate when the UI is intended for use by geeks).
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
Wrong, Wrong Wrong
There seems to be this perception among people here that good UI design is about just adding more eye candy. The Gnome developer who suggested that he could easily add transparency to menus completely missed the point.
First of all, I'm not going to pretend I know a lot about UI design, but it's a field that interests me and I read about it on mailing lists and the like.
In theory, UI design is about making things simple, logical and asthetically pleasing. The reality is that since most people are used to Windows now, a good UI today will find a way to balance good design decisions with the way that Microsoft does everything.
Let's start with an experiment. Bring your mouse pointer into the center of your screen. Now, move the pointer into one corner of the screen. Notice how awkward the movement in your wrist is. Move the mouse back into the center and move it to another corner. Notice how awkward the movement is. Reapeat for the other two corners. Now list the corners from least awkward to most awkward. If you're right handed, your list should look mostly like this:
Bottom Right
Top Left
Top Right
Bottom Left
Now, where is the start button located?
Acording to Tog, (yes, I'm a mac head, but I like all OSes) Default buttons in dialog boxes should be on the right side of the box. Where does windows put the default button? You guessed it, on the left. I think the reason the right is the correct side (for a righty anyway) is that the eye tends to focus on the right side of the screen. This is also probably the reason that the default positions for mac icons are on the right.
As for eye candy, it actually does improve the user experience. Think about it this way, who would you rather see naked, Natalie Portman (if she was 18) or Rosanne Barr? I rest my case. This is also the reason that wallpaper and custom mouse pointers and the like are so popular.
Another misconception here about UI design is that a savings of a 1/2 second is insignificant. Believe it or not, a 1/2 second is actually very significant savings and they do add up. I'm not going to take a side on the one vs. two button mouse (I happen to like a multibutton mouse myself, but advocate a one button mouse for newbies) but until users have enough experience with it, there is a measuarable delay as they try to click the right button. For popup windows, I prefer the timed mechanism that netscape on the mac uses.
As another example, consider the mac menu bar. It has its disadvantages, but for Fitts' Law compliance, it can't be beat. Pop quiz: name the 5 easiest pixels on the screen to hit with the mouse. Anyway, the mac menu bar is infinately high making it a very easy target to hit. Windows (and everthing else) has a menu bar that's a fixed height and width. When I move my mouse to the menu bar, I can over-shoot it as much as I want, and still be right on top of it. Contrast this with the other way where you have to be aware of your acceleration. The downside of the mac menu bar is that new users sometimes think that they're in a different program than the one they're actuall in. They also don't realize that there's a difference between closing all the windows and closing the application. This is the reason that mac os 8.x and up, can display the application name next to the icon in the menu bar, though I'm not sure it helped much.
It's important to keep in mind that there's no perfect interface for all users. I've taught a number of people to use computers and what I tell them is, I'm going to show you how I like to do things, but if you find a way that you like better, then use that instead. This could potentially be a great oppertunity for OSS on the GUI as every hacker has their own way of doing things. On the other hand, most users will just use what's given to them and make the best of it because they're too afriad to try something else because they think that they'll screw up the system or it will be too hard. You can thank Microsoft for that mentality too.
To the developers of Gnome and KDE and all the others, I wish you well, but if you want to get Linux on the desktop, (and maybe you don't, in which case, disregard this post) then it's important to understand what makes something powerfull, consistent and easy to use. There's no reason that software has to be powerfull or easy to use. They can and should be both.
--- Don't ever trust a woman until she's dead- B.B. King
I think a lot of the problem is one of perception. The GUI is good idea has been around for a long time, but is difficult to substantiate. Ease of use means taking the least amount of time/effort to complete a task. The substantial up front learning to become a shellophile is paid back every day by *not* having to use a menu for every task.
One example is simply finding the file one is looking for. Using grep, find, xargs, cut, sort and their ilk one can find any file he wants. Not so with the fancy pants 'find' utility in Visual C++. So the advantage of having the find facility a keystroke away and integrated into the IDE is quickly lost.
Another example is Star Trek (hey Lederman made Star Trek analogies, why can't I!). They use displays as feedback mechanisms, but for interacting with the computer they talk. Why? Well two reasons, GUIs are really bad TV and also because it is much more intuitive to describe your problem in natural language and let the computer do the rest.
So, as other posters have pointed out GUIs are gaining ground, but let's not forget the power of text to represent the world. The sooner I can talk to my computer the better!
BTW, does anyone know a good speech to text tool that I can use from a command line? I'm using Festival to go the other direction and need something to complete the loop.
The challenge for software designers is to offer flexible interfaces that can be configured to meet the needs of a full range of users. These include not only the stereotypical gui user, relatively unfamiliar with the operating system and application software, but also, to mention several other scenarios, the expert, or the user of a handheld device with a low-resolution screen and/or audio interface, or users with disabilities who may find it difficult, or impossible to operate a conventional keyboard or pointing device, etc. The solution to the problem is not to build a profile of, and design for, the so-called "average" user, but rather to consider the diversity of interface options that may be needed by potential users and to develop systems which enable an appropriate interface to be chosen according to individual requirements, with reasonable defaults that will satisfy the majority, but without thereby limiting the options available to the individual. This implies more than merely enabling different fonts and colour schemes to be selected, though such functionality is undoubtedly essential. Rather, what is needed is a separation of application logic from the user interface, such that a multiplicity of different interfaces can easily be provided--and this is where the notion of a "skin", contrary to the author's contention, becomes an advantage rather than a drawback.
I like the Gimp it is very nice, but I have used Photoshop, and the keyboard shortcuts and polish kick the Gimp's behind any day. If I had never used Photoshop I would praise The Gimp all day long, but it isn't as friendly as Photoshop. If The Gimp's shortcuts were as easy to use as Photoshops and not so complex it would give it a leg up, but they aren't and the learning curve is steeper which makes it harder to jump in and get something done.
Basically what I'm driving at is that while Linux is nice, Linux is great, right now it isn't the best means to the end of a web developer. The engine is nice but the car looks like crap and isn't polished.
If you want another example of something that bodes well for user interfaces, check out moonlight3d, an open-source graphics rendering program.
Wah!
There are several requests for UI improvements in bugzilla right now, but nobody is really doing anything about them. Here's a few off the top of my head:
Full screen view. There are so many requests for this on the wishlist newsgroup it's not even funny anymore.
Update bookmarks when sites move/disappear. This seems like a damn good idea to me.
Add throbber capabilities to taskbar icon, so you can see if a page is still loading even if it's minimized. This bug is basically the same idea but for miniwindows in WindowMaker. Since I'm pretty clueless about WindowMaker programming, I'm not sure if it's possible, but it's worth looking into.
Hierarchical go menu, which would allow branching based on link traversal. (ok, I admit it, shameless plug for my own request)
All of these strike me as potentially significant improvements to the UI.
---
Oper on the Nightstar
Except that I'm not as optimistic as he is that OSS will be able to solve this problem.
But before I get to that, lemme try to explain why this is such a big problem, because many of y'all don't seem to get it, judging from some of the posts so far.
But, you might say, we don't want all those Winblows lusers! We don't care how *smart* you have to be to use Linux, cause we only want us l33t genii (hey! We're even l33t l4at3n speakers!) to be able to use it! Because we all know that, once you learn how to use it (and it doesn't even take me that long, cause I'm so smart), OSS is more flexible, powerful, and faster to use than some "end-user tested" crap.
And 10 years ago, you'd have been right. The problem here is that the above argument is no longer true, and most Linux users/coders don't even know it. Now there's no argument that OSS for Unix/Unix-alikes has had some of the best text-based UI's around. (Or, in the case of xemacs, I suppose we should say "primarily keyboard-based" rather than "text-based".) Sure, most of them are abolute hell to learn (the poster above who suggested that you could adequately teach a newbie to use vi by sitting them down in front of it and pressing 'i' notwithstanding), but, once you get used to them, you realize how incredibly intelligently they were designed. Things like vi/vim, emacs, and the various CLI shells; you'd need a dedicated teacher, a book, or a hell of a lot of patience with man pages to figure any of them out, but once you do you find that they're extraordinarily quick to use, ridiculously full featured, and amazingly robust. As my Harley Hahn Unix book says ad nauseum, "hard to learn but easy to use." And if you're any sort of geek--someone who's going to spend most of your time on a computer, such that the steep learning curve isn't too relevant--then it's not such a bad design philosophy.
Thing is, most of us have realized that a GUI has the possibility to make anyone more productive, even Tom Christiansen's proverbial "vi wizard". However, the people making GUI tools/wm's/environments for Linux (note: not that I'm one of them; not that I'm a good enough programmer to contribute a single line; and really truly not to take anything away from their impressive achievements) seem to have figured that we could use a dose of the old paradigms, a huge helping of superficial Windows UI plagarism, and some skinability (neato!) and have a kickass UI.
Not even close.
Again, Gnome and KDE are incredible achievements for what they are, and are constantly getting better. But. As they stand now, their UI is clearly substandard. KDE is like Win9x, but flakier (from a UI perspective, not a stability one, of course), with less consistent (though more extensive) preferences panels, unconsistent app UI's, much less polish, and an awful excuse for perhaps the most important functionality of a GUI--being able to seemlessly share data between different apps. Gnome has the benefit of not being such a slavish copy of Windows, but is otherwise even worse in all of the above categories.
And what do most Linux users do about it? a) Complain about how GUI's are for wimps anyways, or b) Stick on some badass skins and note how, since E has much more functionality than any Windows wm, it is invariably a better UI.
Meanwhile, what do MS and Apple do about it? They spend millions of dollars a year hiring UI experts and, more importantly, empirically testing thousands of potential interfaces on end-users to find which are better.
Notice I didn't say "easier to learn". I said "better". As has been noted elsewhere in this thread, the Windows UI paradigm isn't any more intuitive from first principles than the KDE paradigm (duh; they're nearly identical). But that's not the point. What good UI testing is all about isn't how easy it is for someone who's never seen a computer before to use, but rather, assuming the user already has adequate familiarity with the paradigm, a) how flexible, robust, and powerful is it; b) how intuitive is it to do an action which is part of the paradigm but which the user has never actually done before; and c) how fast, easy, and nonobtrusive is it to do the sorts of tasks that the user does again and again.
By all these criteria, something like the Unix CLI passes with flying colors. And, by all these criteria, Gnome and KDE, and the programs that run on them, in their current states are quite a bit behind Windows, which in turn lags behind MacOS. (Note: I've never been a Mac user, and have always generally disliked them for several reasons: bad under-the-hood technology, horrible overpricing, lack of good, fast software, one damn button, deceitful marketing. However, I'm just beginning to come around to how well designed their UI is (compared to the alternatives), and damn if OS X doesn't look incredible. But I digress.)
But, you all say, that's what's so great about Open Source! If there's anything wrong with Open Source Software, then someone will fix it! The problem is, very few people notice that anything's wrong. That is, you don't notice how unproductive the way you're doing things is until you see a better implementation. And even then you probably won't notice--it might take someone with a stopwatch showing you how much faster you work the new way than the old way. A quick story to perhaps illustrate what I mean: couple days ago I was procrastinating writing a huge (and overdue) paper, by reading that analysis of Aqua by Tog, the guy who essentially led the Mac UI development. And, since I was trying awful hard to procrastinate (and because once you start reading him, Tog's pretty interesting), I decided to click the link to this article on Fitts' Law, where I read Tog's advice to Word for Windows users: switch to full screen mode to get the Fitt's Law advantages of infinite depth behind your menus, and switch to large icons to speed up finding the right one.
Well, never one to miss a chance to not write my paper, I did some informal tests. And, even though the ideas had never occurred to me (not because I didn't know full screen mode and large icons existed, but just because since it *looks* so much more professional in maximized window mode with by big toolbars full of small icons (which, as I run 1280x1074, really are small), it had to be more productive that way), I realized pretty quickly that they actually improved my productivity. Or, would have, except that in full screen mode the menus, while at the top of the screen and thus with infinite depth, don't show up until you mouse over them (Tog doesn't seem to mind this sort of thing; I find it annoying as hell. But in any case, it's worth pointing out that this is proof Tog isn't designing for ignorant first-time users--because you certainly can't expect any first-time users to know about items which are hidden until you mouse over them--but rather for ease of use for people who know what they're doing); and since MS decided *not* to include higher res bitmaps for all the icons in large icon mode, they looked too damn ugly for me to keep them. But it is true that I could find the right one a lot quicker; and that I'd never realized how my tiny icons were slowing me down until I tested it.
Ok, I'm hideously rambling, so lemme try to sum up. Text-based Unix interfaces were everything that today's Linux GUI's aren't: consistent, robust, quick (from a UI standpoint, not a technological one), and intuitive for those who already knew the paradigm. A simple example is pipes--a simple concept which gives the CLI its amazing power and flexibility--and their GUI analogues, object models like COM, CORBA, etc. designed to allow intuitive sharing of information between apps--which, to put it mildly, work much better on mainstream OS's than on Gnome and KDE. A more interesting problem (because we at least agree on the fact that our object models need improvement, and I have no doubt that they'll catch up pretty soon) is inconsistent and just-plain-badly-designed interfaces--a failure to take advantage of principles--like Fitts' Law--that the other guys have learned from psychological research and intensive user-testing. Perhaps the most difficult problem is the lack of consistency across apps.
The question is, how do we fix this. In regards our lack of UI research, I have a good deal of hope. After all, Red Hat has the money to hire some serious UI people and psychologists and testers and whatnot to get Gnome on equal footing with Windows and Macs; Corel or others could do the same for KDE. Hell, they might even come up with some *new* GUI paradigms, instead of just copying the two rather flawed ones out there, often badly.
The problem is that the strength of OSS lies not in the high-name projects which can now afford serious funding, but rather in all the little ones that provide all the little functionalities we know and love. How to get all of those projects to understand, and furthermore, abide by complex UI standards--when at the moment they can't even agree on standard menu shortcut keys--is a huge problem. Furthermore, there's the fact that a different choice of widget toolkits inevitably imposes a different UI paradigm. Finally, we have the fact that Linux geeks rightly love customizing our systems to the fullest extent; as Apple has clearly realized, with their apparent decision not to allow OS X any skins other than Aqua, customization is the enemy of consistency.
Hopefully this absurdity of a long post has convinced y'all that these UI issues are important, because they really affect how productive any user is--but elite users *especially*. I do think that OSS can come up with a better response to the UI issue than poorly understand copies of the existing GUIs. However, I'm not sure exactly how, and our work so far in this area has not been encouraging...
This is a point that I wish Kuniavsky had gone into more detail about.
The simple truth is the we don't care about UI design much. There are some obvious reasons for this:
- Draw a UI
- Attatch a little functionality
These entire process leaves us feeling sick to our somachs and guilt-ridden.Yes, open-source UIs tend to be lean and mean. I am sure I am not alone in saying that I like it that way.
The real point of the whole piece is made in the second paragraph:
"The answer is relatively simple: The Open Source movement has no feedback loop to end-users, and no imperative to create one."
It tends to flame them instead, whine about "dumb users," invoke FUD, and write long turgid essays trying to demonstrate that all the user-hostile features of Unix/Linux UIs are really Good for You.
I'm not convinced that Open Source is the best model there is for producing software, and this is one of the major reasons why: The model solves the old conflict between the sort of thing programmers would like to write vs. the sort of thing end users would like to use in the programmers' favor. Programmers love this and end users hate it. Since the people who buy and use desktop software are very largely end users, they tend to buy the sort of thing that they like to use, not the sort of thing that programmers like to write.
Everyone has known this for a couple of decades if not longer. Why is it still a point of contention among Open Source folks? The major reason why is, I think, both inherent in the Open Source model and insoluble in terms of that model. Ideological issues aside, Open Source programmers are doing it for fun. Doing the kinds of things end users want is not fun, and it's just those sorts of things -- documentation and user interface design, to cite two of the most obvious sore points -- that tend to be skimped. I don't see why this should surprise anybody, and I don't see anything that can be done to fix it.
If Linux/OSS is ever going to "take over the world", "Destroy Bill Gates", etc, etc ad infinitum, then coders are going to have to stop coding for themselves and other like-minded geeks and start thinking about the ultimate end-user - your average Joe Sixpack. Heck, Linux (for an example) is a pain in the neck for even experienced end users.
I submitted this like last week!
The basic sleazeware produced in a drunken fury by a bunch of UCBerkeley grad students was still the core of BIND. --PV
Interesting examples.
But please note, I didn't say everyone has to be an expert at everything. People having an attitude of "don't want to learn" (particularly, expressed arrogantly) - or of "I don't need to know now make it all simple" are still morons, though. And actually that'd apply to the visitor to the doctor, not to the doc him/herself...
~Tim
--
Rushing on down to the circle of the turn
OK. I can immediately think of one Open Source project which has, probably, the best looking interface in the history of computer software. It's also a sheer joy to use...
this would be the copyrighted undistributable open source natalie portman and open source drew barrymore project, of course. these aren't just idle words either. see for yourself!
in fact, this interface is such a pleasure to use, i hardly ever want to stop! let some closed source windows chicken shit beat that!
yeah, bill gates can get some aging rock group to sign on to his little os, but where are the hot young actresses, billy boy?! freakin' poseur.
thank you.
Open Source has developed a plethora of worthy software - as the examples mentioned elsewhere prove so well. But user interfaces have never been an area of concern - partly because those of us who use and build the software aren't the type of people who need much in the way of a UI, partly because we're building on a system that wasn't designed with usability as a primary concern (remeber the age of Unix, folks!), and partly due to Geek Testosterone.
.conf file. That includes configuring the system and installing software. For better or worse, the marketplace has Windows and MacOS out there, and both have comparatively well thought-out, consistent user interfaces that enforce similar rules throughout all applications that run on the platform. In this case, the power and flexibility of Linux is the fatal flaw.
Sure, the Gnomes and KDE's of the world put a prettier face on some of it, but most programs that have a thought-out UI in the Open Source world are just retreads of existing non-free programs' interfaces. So the GIMP is an example of a nice interface? It's pretty much a Photoshop clone that has some differences, but there are more similarities than not. Skins and chrome are cool, and a nice way for power users to spice up their user experience, but if we want to see World Domination anytime soon, we need to understand the needs of the ordinary user. They don't need or want a cool skin - they need a straightforward interface that works the way they need it to and that they can use out of the box.
Saying "once they learn how to use bash properly" doesn't cut it - If an average non-power user has to get that far they'll give up. Period. They don't want to learn, nor should they have to. For Linux to succeed as a desktop OS, it needs to be possible to perform all the necessary user tasks without ever requiring a command line or editing a
- -Josh Turiel
-- Josh Turiel
"2. Do not eat iPod Shuffle."
who needs "innovative, flashy looks" when a nice text-prompt will work just fine?
This is exactly the attitude that the author was pointing out as the reason why the acceptance of Open Source software on the user's desktop is still quite a ways off.
The point is: end users want innovative, flashy looks, and Good Design(tm). They freeze up like a deer in the headlights when they see a $ or a #. Geeks are happy with command prompts and tend to assume everyone else is to, or they assume implementing skins will solve everyone's problem. Skins are no substitute for good UI design. Thanks for illustrating the author's point.
NO CARRIER
I don't understand all this hoopla over GUIs. I mean, if you want a user interface, write one. If you don't want one, then you don't have a problem. If you want one, but don't know how to write it yourself, pay someone else to write one. Frankly, it's no skin off my back if other people decide that linux is too complicated for them to use.
I didn't read the article, I'm just responding to the slashpost.
Since when is it all free software/open source's obligation to satisfy the needs of people who aren't writing it?
The point of free software is whatever the author(s) say(s) it is. For Gnome/KDE, it's UI. For vim it's being an improvement on vi. For emacs it's being a programmer's workspace. For enlightenment it's configurability (not necessarily ease of use).
If someone created a volunteer effort to put a colony on the moon, would uninvolved parties then complain that the accomodations at the colony were too spartan?
I've seen it said a few times in this discussion already, but not loudly enough: if you don't like free software, fix it yourself or don't use it.
"Open Source's Achilles Heel"
What, another one? At this rate we'll have to secede the planet to MS.
But seriously let's look at the article shall we
"When people talk about Open Source products, you hear about their speed, their efficiency, and their features. What you don't hear is how innovative their interfaces are. Why? Because
they're not"
Well first of all one is limited to how much "innovation" one can throw at a user. Innovative (or innovation) by it's very definition means change. If OSS should carry one lesson from history and that's people "resist" change. Also the other, "innovative" isn't a guaranteer of success. Quick name ten innovative items in computing that didn't succeed, or bring fame or fortune to their creators? Quick name ten non-innovative items that brought more fame and fortune than the above did?
"The answer is relatively simple: The Open Source movement has no feedback loop to end-users, and no imperative to create one. "
Oh their is indeed a feedback loop. Of course the whole thing hinges on your definition of "end user"
"The majority of Open Source software is still written for programmer-users: the systems are made with flexibility - not usability - in mind. Enough hooks and parameters are included that the user can create features that don't exist in the default configuration. This is a great idea and a powerful paradigm for a target audience with the skills, the time, and the incentive to make the necessary changes."
Ill argue that the "target" audience of Unix (and by extension Linux) is for people who don't want to "play" with their computer. But people who need an interface (and underlying system) that is "serious" about helping them take the shortest path between problem and solution. Besides the "paradigm" that Unices represent benifit "all" not just programmers. Taking our lessons from nature flexability has shown that it has much more staying power than "rigid".
"Since, by definition, nonprogrammers are fundamentally different from the people who
create the software, it's hard (verging on impossible) for the people writing the software to know what the people using the software experience. The only way to find out is to close the loop and get inside the heads of the end-users, consistently and thoroughly."
1. Programmers are human beings, not an alien species.
2. The consistently and thoroughly part is smaks more of "mind-reading" than an achievable goal, commercial or otherwise.
"Unfortunately, the Open Source model doesn't provide for that...."
"...provides none of that, and has no consistent methodology for incorporating user experience
feedback into product development."
See comments below.
" If Open Source is going to create tools that end-users will really want to use, it can't just rely on newsgroups and email as a way of finding out what users want. Most end-users who run into
problems will never provide that kind of feedback, and those who do will be a self-selecting group of loudmouth power users"
1) Squeaky wheels and grease.
2) It is indeed hard to have a feed-back loop when one of the elements voluntarily. opts-out. Does that mean one should fault the other half? I think not. If these end users, whom many a "representative" has shown on our doorstep do indeed want change then like anything desirable in the world they will have to put forth an effort. Silence is a valueless currency in which to buy change.
" To know what the average user - i.e., the majority of the user population - wants, it's crucial to have a consistent, constant, focused experience research program, to create a system that values the user's perspective as much as it values the programmer's. "
1) The squeamish might want to turn their heads THEIR IS NO SUCH THING AS AN AVERAGE USER, PERIOD.
"Representatives" can homogonize all they like. I'm reminded of that saying about trying to please everyone, and end up pleasing no one.
2) As for a system about valuing the other persons perspective well now we all have that problem, don't we? To value something one first has to know what it is. Nows the time for the "wall-flowers" to find their voice.
"This is not just a matter of being nice to your clueless Aunt Millie; it's a tough problem, and the stakes are high. Consider one common Open Source answer to interface deficiencies -skins..."
Obviously someone doesn't understand the purpose of skins. It's NOT to correct an interface deficiency, but to be for lack of a better phrase "eye candy".
"At its best, UI embodies an understanding of how a specific audience performs a specific set of tasks - and you can't compensate for bad assumptions about how people use an application just by shuffling widgets around or slapping on a new hue."
Hence a "flexible paradigm" see above.
"Until the user's perspective is an integral part of the Open Source development process, those Open Source products that rely on end-user interfaces (beyond the command line, that is) will continue to offer substandard interfaces on top of excellent engine code. For roughly the same reasons that most people don't want a rusty old car with a great powertrain, the popularity
of Open Source software will suffer as a result"
Now ask yourself which is easier, building a nice house on a shakey foundation, or a shakey house on a solid foundation? And yes I know people who would go for the great powertrain.
I'm not a user-type, and even I have eschewed free software with ugly UI's for better commercial version. Here's a brief list:
1. Text Editing
This is obviously a touchy issue for many. For me, they need a good GUI. On Linux, I use gEdit, which is buggy and feature-poor, but OK. When I want to get real work done, though, I use OpenStep's Edit.app. And yes, I know how to use vi, emacs, joe, and even ed when I must.
2. CD Burning
To burn an audio CD on my Linux system, I spent 2 hours(!) reading manuals -- for xcdroast, cdrdao, etc. Then I went to burn, and still screwed it up. I rebooted in Windows, used the free utility that came with my CD-RW, and was ready to burn in 5 minutes. Success.
3. Copying and Pasting
Anytime I will have to do a lot of copying and pasting between apps, I switch to an OS where the keys for doing so are always the same. And where there's a real clipboard.
4. Matlab
Octave successfully duplicates the command line interface, but (surprise!) has nothing like a more convenient notebook interface.
5. Paint programs
Sure, the GIMP is all right. But (unless I'm missing some motherlode of plugins) it is feature-poor, and the interface for some tools in nonstandard.
Is there ANY free software that makes you want to switch to it, just for the UI?
- Brian
Mr. Kuniavsky brings up some /very/ valid points, but one thing he does fail to realize is
/might/ have been true a couple of years ago, but email is now so wildly popular that /all/ love feedback like that. The reason why this loop isn't /that/ is /please/ point it out to me. In my mind that's what's /really/ missing.
one of the main reasons OSS groups copy popular commercial interfaces is because that is
exactly what they are..../popular/, why do your own research when the multi-billion dollar
company has already done it for you? Not to mention this one part irked me:
can't just rely on newsgroups
and email as a way of finding out what users want.
Most end-users who run into problems will never
provide that kind of feedback, and those who do will
be a self-selecting group of loudmouth power users.
that
i'm sure even normal users would respond via email. I mean why not? If it's something
that someone wants but they can't do it, email the programmer and say, "Hey I have this
great idea". I'm sure we'd
there yet is because the installed base of normal users is still quite low, and
something that still needs to be addressed. Which brings me to my second part, what we
really need in the OSS community is a simple, intiuitive STANDARD GUI installment process,
we all know that most installs on WinXX look the same and operate the same (ie "D:\setup",
etc, etc ). Ones it's easy to install and configure from the GUI goodbye command line, it
would need some kind of auto compiling/making routines, but really, how hard would it be to
do? Hmmm...maybe that'll be my next project...unless it's already out there, and if it is
SOMEONE
What does this contact do?*BBZZZZZZZZT*
X easy to use? Depends on how the hell the developer in question chose to set up the GUI this time, 10 different X programs 10 differently working GUI's. Hell I have used X programs wich didnt even assign mouse button functions consistently inside the same program. No way you can use stuff like that without either a lot of trial and error or just memorizing the manual. Its not all that bad, but on the whole windows programs tend to be more consistent IMO.
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.
In short, Open Source is geeks writing software for geeks, and usability suffers... and maybe that's an inherent problem with the model.
Who's problem is it, really? Why should I be concerned. It bugs me how so many people seem to think that Open Source must be made with easy UI and distibuted to every clueless user on the planet. Are we afraid that if this doesn't happen, this software will disappear?
Why are some concerned with Open Source failing? I find it ironic that the previous two Slashdot stories [1][2] are about the warm fuzziness and myth debunking of open source, then this story is about it's weakness and failure. Open Source ideology has been around since the birth of UNIX. I doubt that it's going to die anytime soon.
So, my heart really bleeds for every non-geek who doesn't get a friendly user interface with the software that he/she didn't pay for handed to them on a silver platter, with a side of fries and a cherry on top. REALLY!
I just can't see how if hackers are going to be dissuaded from developing because they're to (lazy) to build bloated frontends to their powerful apps/tools.
This is an inherent problem for people without the 'know how' or can't figure it out. This doesn't include me. This doesn't include many of the other slashdotters here. I'm certainly not fearful that open source is failing - at least not for me. It's only failing for the 'script-kiddies-of-open-source-software' who won't contribute. Just leech.
Bah!
And if I remember correctly, one of those posts got moderated down to 0. But I'm not bitter (grumble grumble lousy moderators grumble grumble).
Why not, third time's the charm:
Linux needs to have the best GUI in the industry. Period. There needs to be a GUI out there so easy to use that anyone, indiscriminate of prior computer experience (including no experience at all, considering that that is the largest market in the world) should be able to sit down and use it. Look for an average what-the-heck-is-this-thing time of under 30 seconds.
I know this looks like a tall order, but I don't think it is really. All the open-source community needs to do is concentrate on a few key points.
First of all, there has to be easy-to-understand controls. For an existing example, look at the Windows Start button. Pretty simple, easy to understand, and obvious. You click on it to start using the computer. This is where Windows far outdoes Linux: Windows is made for an end-user, and as such is simple to work with. This approach limits its usefulness, since it is made to allow the user to learn how to use the system quickly (and simultaneously prevent the user from screwing anything serious up). This can be frustrating for people who know what they're doing, because they have to slog through the newbie-babble to get to the features they really want to use.
However, with Linux's inherent flexibility, it is possible to create a useful, easy-to-use interface that can step aside to reveal powerful (but intimidating) complexity. Just a few pointers: extensive documentation (not just online), intuitive buttons, 'balloons' (pop up descriptions of whatever the mouse is over) or something similar (easily switched off, however), starting up directly into the GUI (bypassing a command-line interface unless the user specifies it), and an easy, quick way to make new user names.
Other important stuff: The OS has to be pre-installed, of course. It has to have a suite of basic applications (word-processing, spreadsheets, email, etc) that adhere to the same guidelines as the GUI does. It also has to have pretty much total product support: everything has to be supported. Not to mention: an included browser, a small variety of included themes, wallpapers, screensavers, et al, and a talking paper clip (just kidding).
Then again, I could be wrong.
1) It is said that most open-source software is difficult to use for most typical users, as opposed to programmers, or even hackers generally.
2) It is also said that open-source software tends to have badly designed user interfaces overall--interfaces inadequate to the goals of the software.
The first problem seems like it is partially political: someone who wants open-source to become the standard approach to software design will respond to it very differently from someone who simply prefers open-source as a way to develop their own tools. Those of us who see open source as a way to develop software for ourselves tend to find arguments about the greater mass of end-users irrelevant. Open-source software is designed by programmers for themselves, so it will reflect what they want in an interface, and like it or not, hackers want different things from most end-users, simply because we spend more time using our computers.
If someone uses a computer rarely, casually, or only for a few tasks, they'll have certain needs from their interface:
Someone who tends to spend a lot of time dealing with a computer, and knows how it works, tends to have different requirements for their interface:
On this side of things, I'm perfectly happy to say that open-source people should ignore userly UI virtues in favor of hackerly ones. Open-source is not hackers designing for users, it is hackers designing for themselves.
On the other hand, I believe that the author of this article has a slightly stronger point: many open-source projects have bad user interface records even on hackerly grounds. Because we find it easier to deal with computers generally, and because we tend to have harder technical demands, improving technical capabilities is usually a higher priority than making a cleaner interface. Besides which, most tools are written only when a need for them is felt, so filling the need quickly is more important than designing the best interface. Once an interface is made, people usually prefer to stick with what they know, so a better one isn't developed.
So, while it would be silly for people working on Linux, or even the GIMP, to start listening to focus groups and user feedback instead of their own needs, I do think it would be good for our software if more of us would start thinking of the user interface as something that's worth dealing with. I love vi, but just imagine how nice it would be with all of its (rather obvious) shortcomings fixed and its advantages improved on. It would start to be really WORTH the time it takes to learn it. If we could do something like that, then even some of the users might start to see it our way!
--Moss
This is a
Now there are two of them.
There are two _____.
IMHO, one of the best things about unix/oss is the separation between the UI and Getting the Job Done.
The tools that actually do the work are small and have "arcane" (I love that word) command line interfaces. Using scripts, these tools can be combined in ways never imagined by their authors to acheive just about Anything You Could Want. The interface to these scripts is usually much simpler than the programs they call, and may even consist of nice menus and buttons.
Sure, it helps to be a programmer, or at least "computer-literate" (ie. know what you're doing) if you want to write such a program, but if it does its task well and has a good interface, it will be distributed and others will use it too.
Tim.
1) Most importantly, no facts, just vague generalities.
I don't see a single tangible suggestion in this thing. What good does saying Open Source user interfaces suck, if you cannot say "Doing X in program Y is too complicated for the average user, it should be done like A and B." And don't forget to just say, "Fix it."
2) Don't do research. Open source is for geeks, that's all you need to know. Everyone knows what a geek is, so draw upon that.
Ignore any email addresses, news groups, mail lists, web sites, icq numbers, etc in the documentation of a program. There is no way to get in contact with the software authors, just give up right now. It is a closed society. If you are not a geek and willing to watch X-Files all night long, you will have no impact on anything. They are all sitting in their darkened basements admiring Natalie Portman while writing these programs.
3) Honor Microsoft, they are the only ones who can do anything right.
What do they do right? Who knows, but it is correct, and open source programs will never be able to touch them. Why don't these programmers just go to work for Microsoft? Then we'll have usable programs with every feature in the world, but actually work, philosophies be damned.
4) Users are the be-all when it comes to designing programs.
Any feature not included is a snub to users everywhere. After all, what other reason to users upgrade to the latest Windows/Office/etc program than the myriad of features listed on the boxes that they will never use. Eat up more and more hard drive space, but include them, all of them, and more, there isn't enough in that program. What you ask needs adding? I don't know, but add it, and don't stop there. Add something else too! Dammit I want a program that's usable, can't you get that through your head?!
5) Why is this grass in my yard still green?
There is no flexibility in that, and I have written paper upon paper imploring God/Mother Nature/whoever to change it. If grass is to be accepted by the vast majority of users, it must be willing to bend a little.
Command-line software all but disappeared from the Windows world because the only available command-line interface, DOS, was such a limited system that it had to be pushed out of the way in order for the platform to evolve. As a result, most people do not know how to use it anymore. They never even learned to begin with.
It doesn't make sense to say that open source software is inherently hard to use. None of the graphical programs that came with my Mandrake 6.1 are hard to use even by Windows standards.
Are textmode tools hard to use? Maybe if you've never used them before. They're certainly not the paragon of interface design according to Tognazzini, but for many applications they're the only thing that makes sense. It may in fact be no harder to learn than Windows if you have never used a computer before; you don't approach the system with any preconceived notions about how the interface works.
Is vim hard to use? Maybe if you're used to Notepad or MS Word. It's all relative.
I was a bit frustrated with Linux at first because I had been a Windows user for a long time and had not used DOS for many moons. Administering your computer can be a little tough when all you have is a prompt and you have no idea where Linux puts everything. After you readjust, it all makes sense.
In fact, the only major real hurdle with open source software is having to compile it. Much software is available only in source format. I have had any number of compiles fail on me, and it's too much to ask of a typical user to have him poke around in the code or go out and grab some missing dependencies, even though I personally am capable of trying to fix the problem.
There should some sort of automated package tool that provides the both the performance benefits of compiling with the automation of a binary install. Rather than distributing a binary package, distribute a package containing a source tree and instructions for the package tool that allow it to automatically compile and install the program, without having a bunch of extra source files laying around if you don't want them.
JD
User Interfaces are the realm of ergonomics specialists and psychologists. Programmers can hash out a usable gui, but are not usually experts in human behavior. How do you convince an ergonomics specialist or a psychologists to help out? Maybe this is something that can be done in an educational facility with cooperation between CS and human usablity related fields.
There's nothing about the vaunted Windows or the Mac end-user UIs that can't run on Unix and those UIs will show up there eventually when the open unixes complete their takeover of programmer mindshare. They're not there yet because
Whether they will show up in an open sourced form or not depends on the economics of those markets, whether they
I hope they are open source and I hope there's no monopoly, but open source is the "programmers UI" and GUIs are the end-user's UIs and they are on orthogonal coordinates.
--------------
So, all that said, as two asides:
Well, if what sells software is the user interface, then the company that wants to sell software should make their own. Say, if RedHat or Corel, or whoever want a nicer user interface for application foo, then they should write a front end. Then, they can sell the front end, make money off of it, and give away the meat for free. That way, the end-user gets his easy-to-use-gui, the corporation gets their money, and the OSS program stays free. The user gets the choice (does he want 's interface, or 's interface, or does he want the default) so all freedoms are there. Freedom to make money, freedom of choice, and freedom of software. Make sense?
Like anyone with sendmail in their email address should be talking about interface issues! AHHAHA
Seriously, this is why GLADE was designed.
With glade, the interface can be completely seperate, in a seperate XML file. Even a non-programmer can make pretty complex UI changes without learning to code.
Skins and themes are solely for preetyness, not to solve UI issues.
It would be nice if they learned how to reasearch and if slashdot stopped posting every bit of trash that hit their doorstep.
If the submission system was via email, we'd be seeing articles on "MAKE MONEY FAST"
What I find more ironic is that Mr. Kuniavsky did research on UIs at Wired of all places. Ach, my poor eyes!
(What, articles written in pink fonts spinning back and forth are easy to read?)
--
how to invest, a novice's guide
Actually, I'm sorry if I came off arguing that other things weren't consistent, I really don't have much experience in lots of different things. I was just saying that having consistency is very important to me (it makes a lot of things easier, just less thinking/finding things). It's good to know that they are consistent, it means it will be easier when I can finally switch over completely.
Consistency is more appreciated by the masses.
Ever seen it? It's got a nice GUI, and it's open source.
I have been experementing with Linux for over a month. I have RH 5.2 running XFree86 and as a person who designs interfaces for a living, a lot of work still has to be done to improve usability.
Face it, I'm a busy guy. I work a full timer and do side projects. What little time I have for learining linux, I want to make the best of. My typical mode of learning is to grok the basic workings then delve into the details.
That would be nice, but here's the reality:
* Things are scattered. It's difficult to find what you need.
* Basic adminstration from X is not logically laid out. There are multiple utilities located in different places. Often the choices are confusing.
* Installation of RPM's is not intuitive.
* Lacks a coherent file manager.
Before you flame me and waist your karma points, please remember that most of my linux experience is with systems that have already been set up.
But the usability issues still remain. Corel is putting an enormous amount of effort into making Linux more usable wether you are a newbie or a overworked professional with a severe time shortage. But in the process we are losing control to a comercial interest.
The best way to address this shortcoming of Linux is to approach it in the same manner as the OS itself: community involvement.
Perhaps we should form a usability group. We did the same thing to address the concerns with documentation (Linux Documentation Project).
Get the best people out there together and show as a community we can solve real problems. Linux has proven itself to be worthy to Very Important Things. But why hold its potential back? Usability is the next phase in achieving our collective vision. Lets bust this thing wide open!
I'm willing to contribute my insight as a beta tester...
At best that was a 2-Insightful<.Insightfull-3, Redundant-1, Flaimbait-1>.
:/
I can't believe this is passed off as even interesting drivel. Its rehashed opinions from an apparent "expert" which have absolutely no impact on the code that is being written now.
Look, there are some fundamental truths to the limitations of open-source design/implementation in terms of traditional software design. He's right, I don't do feasability studies, or form focus groups before I write a utility, but this is something _we_all_understand_, and since the problem is one of degree rather than one of distinction, it amounts to so much hand waving.
Whatever, I have work to do.
Pax -- Ob
I think Open source authors are in fact more reponsive to their users. It just so happens that initially most users where other programmers.
No increasingly users are no longer programmers and the open source guys have responded and seem to be now sucessfully creating interfaces for these people. KDE, Gnome, even the Gimp seem well targetted to non programmer types immediatly come to mind.
The best ideas are been taken from the Mac, Windows and X, at the same timel retaining a well hidden flexibilty for programmer types. Its the best of both worlds.
I think Open Source programmers are so closely tied to their users that I feel within the year the year we will see the arguement might be totally reversed. That in fact all the marketing types companies have, making decisions for their own political and business reasons, that it is they who frequently ignore their users desires.
Personally I believe Windows to be not that intuitive
, with the Mac probably representing the best out there currently, but that KDE (especially) and Gnome not to far behind.
One of Mike's key theories seems to be that there is no sense of feedback between the end-user and the coder in Open Source development. I would refute this fairly strongly - often the people I know using Open Source tools have fairly widespread experience of other User Interfaces, ranging often both across multiple platforms and going way, way back to before the days when the Graphical User Interface first raised it's head above the primordial digital soup. Now this experience does not make any of these people a UI expert, nor does it necessarily mean that the programs they write have well designed User Interfaces. It does however give us the possibility of recognising good UI design when we get to experience it, and also the possibility of influencing the design of the User Interface in later releases.
In these days of expanding user-base for Linux, and the push to provide a more newbie-friendly environment to work in (which, by the way, I totally support), good User Interface design is getting to be much more important. There are various resources appearing, from the Gnome UI Improvement project and its mailing list, along with the work that the KDE people are putting together with KDE 2.0, which are testament to the need to try and learn from the many graphical interfaces out there and to innovate as well. Having a well designed UI need not reduce the speed at which the experienced user uses their machine, while allowing the novice some hope of making progress.
Innovation is often overlooked in designing a new UI. As soon as you stray from, say, the way MS Windows does something, people jump up and down worrying that new users will be confused by a different method. I'd disagree - just because it has been done that way before is not, in itself, reason to continue doing it. A good UI *must* be intuitive and logical at some level - simply copying the existing behaviour of other window managers will not end up with a coherent project. At the moment, the graphical user interface is a mess of conflicting ideologies. We all have experienced the frustration of 'Drag-and-drop' when it isn't a universal quality - for example in Windows, you can (sometimes...!) drag a file into a program to load it, but you can't drag that file out to save it or pass it to another application to work on it in a different way. And I don't mean using the clip board either, although that may be the route that would be used to effect such a transfer, it shouldn't be obvious to the user that that is how it happened.
Taking the best paradigms for working with a graphical user interface and making it all stick together in a cohesive fashion is a task of iteration, experience and reiteration between the end-user and the coder. Since in the Open Source world the user may also wear the coders hat, this should be the ideal environment in which to create and refine the most useable graphical interface on any platform, as long as we keep our sights on some central game plan of Useability and not merely on creating a feature-rich tick list of things our programs can do.
Cheers,
Toby Haynes
Anything I post is strictly my own thoughts and doesn't necessarily have anything to do with the opinions of IBM.
from my experience of with using computers for (~13 years) i've found that a user interface is an excellent way for me to learn what something does quickly but once that learning curb is over it then begins to hinder me.
for instance if someone was to pick up a copy of autocad say version 9 or so. that person would probably be in hell if he just wanted to play with 3d objects but for someone that uses autocad every day on there job version 12 would probably do them no more good than 9.
point being that the perfessional only wants to plot his point and build his model as fast as his interface and knowledge of allows and a mouse just doesn't cut it.
jkg you can't be a newbie all of your life.
How do you define good:
Good: Morons can learn to use the software in little time.
Good: Expirenced users can work a high speeds.
Which is right? I think they are opposing goals.
Take GIMP for instance. All the time I hear new users (who are used to pshop, psp, etc) complain that it's interface is tought.
A few weeks later they complain that Photoshop's interface is inefficent.
I like the way OSS optimizes for the expirenced users. You learn once, you use forever.
I agree 100% with this article. The user feedback system is what made microsoft the software giant it is today . I've read several books on how microsoft got started, and the feedback system was always important. If we're ever going to get these opensource products to go anywhere (and this isn't just X, this is all open source GUIS), we need some way of getting it into the REAL public domain, and having "mom" look at it and say "this sucks" or "this rocks"
Don't forget Microsoft has a huge usability lab, and it does them well. Perhaps someone like Ret Hat could set something like that up. I really don't have a solution, but this is definitely an important problem.
-------- "All I want in life's a little bit of love to take the pain away" --Spiritualized
The argument is flawed, but not because the Linux {GNOME/KDE/etc.} UI's are inferior. The flaw is thinking the Windows/MAC UI's are superior. He thinks that just because a system has more/neater widgets it's better. More widgets means more tools we can use to build a bad interface.
We don't consider the way people want to interact with our applications - we just build code to support all the features, UI and all. This is where we could get a big win over the Windows world.
(I do a lot of PalmOS programming. They talk about the "Zen of Palm" enough to want to make me puke, but whenever I get a stupid "Are you sure you want to do this?" pop-up dialog I consider the widsom of this. I've really taken Jeff Hawkin's statement about the "30-second Experience" to heart. Also, read the book The Inmates are Running the Asylum for a good thesis on what is wrong with UI's today.)
I wish I had moderator points left for you. I hope you comment makes it towards the top.
That which does not kill me only makes me whinier
Most of our interfaces *do* suck to some degree, let's not deny that. To deny it would mean denying the need to keep making them better. The fact that our interfaces tend to suck much less than a lot of the competition, well, hehe, that's no reason at all to get complacent.
He's bang on the money about the user feedback loop - it's crucially important. But he's wrong to say The Open Source movement has no feedback loop to end-users. What's this? We need more stuff like this, better stuff like this. The only thing is, I'm not sure the devlopers in question are using this excellent facility to the extent it should be - there are many out-of-date user comments on there, mainly because the wanted features have already been added. In time, if the list isn't kept current users will stop posting to it, in the mistaken belief that it isn't doing any good. But that's just another glitch to work out.
The thing is, making good interfaces is just another interesting problem for geeks to solve. Define the problem, and we'll solve it. First we'll start with poor solutions, then we'll keep making improving them until they're good solutions, then make them better and better until... well, it never stops. Need to talk to users? Ok, sure, voice chat is kinda fun sometimes, anyway. Need to try it this way instead of that bad old way? Ok, that makes sense. Need to read a about it? Just give me the URL!. Need to give prizes for the best user interface designs? Come on, somebody with more money than geekness please step forward to sponsor the contest. The only hard part of this is recognizing the need. Achille's heel? Far from it, it's just another hill to climb.
The fact is that it's much harder to make good end-user software than it is to make good infrastructure software
No, that's just wrong. Speaking as someone who does both, has been doing both for 25 years, and doing it well IMNSHO, I can say with considerable confidence that creating good infrastructure is much harder than creating good user interfaces, and the stakes are much higher. Without good infrastructure you get a monstrosity like Windows (pick your flavor) or Dos - something pathetically non-functional. Glitzy user interfaces are the hare, and good infrastructure is the tortoise - it takes a lot longer to do the job if you build sturdy infrastructure first, but you can then build your stucture much higher without having it collapse (apologies for the mixed metaphor). In the end, the tortoise wins. Is winning.
Life's a bitch but somebody's gotta do it.
This is the big, big difference folks. This is what makes Windows different than everything else. Sure, better performance in T operating system and more stability in operating system Q, but none of that matters if it takes three or four times as long to do even the simplest of administrative tasks. People won't start using Linux in mass numbers and especially not as their main desktop OS until they can configure absolutely everything they could want to by simply going into into the control panel. Linuxconf and the others are a good start, but their interfaces suck compared to windows. If nothing else, you've got to give MS credit when it comes down to the GUI.
A big problem with the service-selling idea, is the usability of your programs MUST be pitiful for you to make a killing in the market (ie, why make the program inheriently easy to use when it would just diminish your profits from selling services down the road?). This is contrary to the noble idea of bring supercomputing power to the masses. Tom
Funny:
"It's faster for me"
Haha, you confirm the article in every respect. You rant a bit about speed and efficiency and you completely ignore usability.
Of course it is faster if you know what to type and you happen to be able to type fast. I saw my grandfather use a PC a few weeks back and I assure you, this wouldn't be as fast for him as it is for you.
The article's point was that OSS developers are brilliant programmers but are also completely clueless about providing a usable GUI.
Look at linux. It took until the late nineties before people were starting to realize that the traditional userinterface (X + really crappy windowmanager) sucked for somebody unwilling to deal with a commandline. What did they do? After years of complaining about MS windows and it's user interface the best they can do is cloning it. We have to wait for Steve Jobs to see some actual innovation (about which a certain GNOME hacker manages to say that he can do the same since he can do transparency).
Interesting sidenote: this also applies to mozilla. If you read the newsgroups people are complaining about the user interface. A common reply to these complaints (you guessed it!): write a skin for it. Mozilla is brilliant except for it's userinterface. Little thought has been put in it so far. At best it is netscape 4 with skins + some features of internet explorer. Where's the innovation?
Jilles
Since one of the tenets of Open Source development is to 'scratch an itch', we should be looking for ways to allow non-programmers in on game by giving them non-code based GUI tools. If successful, this should lead to a much larger population of computer users scratching that usability itch and to much better GUI's. Ideally, implimenting a GUI shouldn't be that much harder than playing with Lego. Just click a few components together (with a mouse) and you're done. Sort of like the interactive design of Delphi/VB but without the underlying generated code.
BTW, I think his very goal was almost realized when HTML burst onto the scene this past decade but it wasn't flexible enough to create full blown GUI's and has actually become less of a document layout format and more of a programming environment over the years.
Many people argue (correctly in some cases) that Linux and Unix are more difficult to use than other systems such as Windows and Mac OS. They argue (again, correctly in some cases) that Linux requires more technical ability.
It's also true that 15 years of Mac OS and Windows have spawned a generation of users for whom the definition of computer literacy is being able to click a mouse and use a word processor.
My 11 year old son was part of that generation. Since starting to use Linux, he can now program in Tcl/Tk and C, and knows how to use the command line to solve problems. So, maybe we have cause and effect reversed here - these are techincal skills that he most likely would have never learned had he continued using only Windows and Mac. One benefit of having an operating system that requires more techinal ability to use is that you will generate more users who are technically competent. In the end, this will benefit everyone.
It's also great to have new UI's that make Linux more useable by people who either just can't or don't have the time to become techically proficient; what's good about Linux is that you have (or will soon have) the choice - the tools are readily available and users are encouraged to become technically proficient, whereas with Windows and Mac, users are specifically discouraged from doing so.