Open Source's Achilles Heel 476
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.
"
Perhaps we need an application UI markup language? (Score:3)
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?
Re:A list (Score:1)
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.
Re:UI in Open Source programs (Score:1)
I belive the expression is 'throwing the baby out with the bathwater', but I imagine there are countless regional variations.
Your friendly neighbourhood pedant.
Articles like these are tiring. (Score:2)
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?
Re:The author's fundamental mistake (Score:3)
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.
"the writer is wrong here, here and here.." (Score:4)
If we pretend that it isn't broken, no one will fix it.
Evolution of UI (Score:2)
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.
Article about 2 years out of date (Score:2)
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.
Re:A list (Score:2)
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
Re:keep it simple, stupid (Score:2)
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.
Shortcomings of the new Open Source UIs (Score:5)
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.
Re:A list (Score:2)
How about some examples of where Open Source is leading the field with it's GUI?
Re:UI in Open Source programs...UI!=GUI (Score:2)
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.
Re:Shortcomings of the new Open Source UIs (Score:2)
Re:UI in Open Source programs...UI!=GUI (Score:2)
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
Re:A list (Score:2)
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.
Re:UI in Open Source programs...UI!=GUI (Score:2)
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.
Re:Why not software by geeks for geeks? (Score:2)
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.
It will happen eventually (Score:2)
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.
Re:Shortcomings of the new Open Source UIs (Score:2)
Git the gun martha, it's another MacHead. Right. They're associated with the application they control. The interface is not modal. I'd really love to see the visual chaos that would result from focus-follows-mouse policies.
> The taskbar on the bottom of the screen has buttons that do not extend all the way to the edge of the screen
This is one of many reasons I despise the gnome panel and the new KDE one. Not only do they not extend to the bottom, they're now crammed into a grid you have to aim the mouse at. The others being that it's too damn big, and applications still maximize to cover it.
> In many window managers, nondestructive buttons such as Maximize are placed right next to destructive buttons such as Close
No argument there, though when using a Mac, I often wished for a maximize button of some sort. Minimize was easy enough (Hide) but it was a mouse operation or a chaotic-looking "unhide all" command to get it back.
> To proceed from a menu to a submenu, it is necessary to manuever the mouse rightward with surgical precision
Motif displays this annoying behavior of having zero delay before activating a submenu. Gtk+, Qt, and Win32 do not. In Windows, the delay is even configurable, using any number of "tweaker" control panels. As an indictment of Windows, as this was meant to be, it doesn't hold up.
Classic MacOS did many things right, but it wasn't without its awful warts too. A proliferation of popups that were modal. A chooser interface with a little bitty non-resizeable window for services. Dragging disks to the trash to eject them. Having only one corner to resize windows, often forcing you to move the window around to expose the drag handle first. Mysterious behavior when clicking a label of an icon, causing you to edit it instead of treat it as a normal click (bogus behavior nearly every interface since has slavishly emulated).
Duh! (Score:2)
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.
Re:Exactly!!!! (Score:2)
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:
Quake, Hack, Zork (Score:2)
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. #>"
Re:Exactly!!!! (Score:2)
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
He's right... let's not kid ourselves. (Score:2)
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 [uibk.ac.at]? 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.
UI != GUI, guys (Score:2)
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.
Heart in the right place (Score:2)
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.
Yes, the Linux UI sucks. (Score:2)
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.
My take (Score:2)
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?
We need a Microsoft Bob-esque interface for X (Score:2)
Re:Keystrokes (Score:2)
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 list (Score:4)
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.
Re:BS... (Score:2)
I've got nothing against *BSD personally, but I think that the 'its designed for hackers' complaint is much more true about the *BSD's than it is to mainstream Linux distros like Red Hat, Caldera and SuSE.
XF86 has a known bug with ATI Rage graphics cards, such as is present on-board on my current mobo. My hsync is completely out of whack, and I can't even start X with something vanilla like SVGA or even VGA16 servers (640x480: mode not defined. no valid modes found. exiting.)
It must not be a completely universal problem because I did an install of Red Hat 6.1 at work on a Compaq Deskpro EN series machine here with onboard ATI Rage video the other day and it not only came up with sync correctly, it even PnP detected by name the monitor (Compaq V75). I was quite favorably impressed when that happened, as were a couple of other people who had dealt with getting X running in the past.
The RH 6.1 CD directly booted up on the Compaq, came up to a GUI installer, it recognized the built in ethernet on the motherboard, recognized the video, monitor and mouse. About the only part of the install that I'd say was perhaps beyond what the average person could handle (without reading the book) is disk partitioning.
When I wanted to add a few additional packages, I found the GUI RPM tool actually worked pretty well. Again, I was favorably impressed.
I think that the article has its points, but I would disagree with the conclusion that improvements in usability will not happen or can not happen is off base. I've seen things come a long way since I first started using Linux back in 1993. Don't get me wrong, things aren't perfect yet, but the gap for point-and-click users is narrowing a lot more quickly than what the article would lead you to believe.
Re:Hard to use at first != Unintuitive (Score:2)
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--
Re:"the writer is wrong here, here and here.." (Score:4)
It's also difficult for someone who is working in one discipline (ie. the kernel) to understand/accept the rigors of working in another discipline (ie. UI design)
A good UI takes years of research and design. It's not a matter of making the windows look pretty. It's making them work pretty.
GUIs, MSVC++, etc (Score:3)
Credit (Score:2)
And besides, who'd want a Nova, when you can get a perfectly good Dart Swinger for the same price...?
Exactly!!!! (Score:3)
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
Re:BS... (Score:2)
You are entitled to your opinion., but I would disagree with that. I can't say much about MacOSX, but in the case of Windows 2000, unless it is really a giant step beyond NT 4, I can't say that I am all that impressed. It is flashier, and perhaps slightly more consistant than Red Hat, but I find NT frustrating. I don't necessarily equate fancy with advanced. The NT environment may be easier for people who don't like to learn anything to stumble their way through, but for people who know what they are doing, things just take too much click-click-clicking to do. There are a lot of things I'd rather do by command line or script, and those things just aren't that nice to do in the Wintel world.
"Failure"? (Score:2)
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.
Re:A list (Score:2)
I tell them that the standard UNIX text editor is ed. I get them to fire it up. I try to hide my laughter. Sometimes, I have a hidden camera. Nothing beats videotaping a newbie's first session with ed! Then I say, "A lot of people prefer vi to ed." Hey, it's true! They always say, "What's vi?" "I say, it's name comes from 'visual editor.'" As soon as the word "visual" escapes my lips, I can see their eyes light up. They fire it up. I say, "press i." And they're in heaven!
If I'm feeling really nice, I tell them about Emacs.
Re:Bingo! (Score:2)
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
Hold on a minute! (Score:2)
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.
Re:Rules for writing BS about OS (Score:5)
(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)
Resource sharing. (Score:2)
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.
so what? (Score:2)
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
Re:Perhaps we need an application UI markup langua (Score:2)
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.
So True (Score:2)
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:
Re:Rules for writing BS about OS (Score:2)
Re:BS... (Score:2)
If you got RedHat to install without problems on the first try, you are very lucky. Don't assume that just because RedHat installed fine on your particular system configuration, that it will install just as easily on someone else's machine.
I've installed (or tried to install) RedHat on dozens of systems, from antique 486's on up to brand-spanking-new Athalons, with all sorts of random periperals. From my experience, RedHat has maybe a 15% - 20% (tops) chance of installing correctly on the first go on some random collection of parts. (Compared to about 75% first-time success with Win95 or NT [havn't played with 98 or 2000 yet, thank Ghod!]) Now, if I build a system from scratch using only parts that are on RedHat's level-1 supported list, I almost always get a clean install. Unfortunatly, the list of RedHat's level-1 supported hardware is still miniscule compared to that of the Beast Of Redmond and it's evil spawn.
There's an old quote that goes: "Unix is user friendly; it's just very choosy about who it's friends are."
I think the article itself does a very good job at pointing out the weaknesses of open-source. Don't flame me; I think open-source is a great concept. But, in order for the open-source model to displace propriatary software, the open-source community has to be able to acknowledge it's weaknesses and limitations.
The open-source model has proven itself to be very good for developing infrastructure software like operating systems, programming tools, and servers. Linux, Apache, and gcc are examples of open-source at it's best. But remember, these are tools designed to be used by computer professionals, not end-users. The
The vast hoardes of double-digit IQ office workers and home users want software that automagically installs itself, has lots of eye candy, and holds their hand to do even basic tasks. The main reason Windoze has auto-play CD's is because so many people are just too stupid to be able to open the CD in Explorer and double-click on SETUP.EXE. Commercial software companies spend millions of dollars on usability studies and getting user feedback. If you want to pander to the mass market, you'd better give them what they want if you want to succede.
We geeks tend to forget that not everyone is as technology-oriented as we are. Just think for a minute about how many people can't even set the time on their VCR or program it to record a show. Look at VCR-Plus -- a whole system created to make programming a VCR idiot-proof -- and even THAT'S too complicated for a lot of people to handle!
Get non-programmers using development versions (Score:2)
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.
Not so. (Score:3)
Re:BS... (Score:4)
Most programs installed with an RPM/deb go to a place that IS in the path or that gets added to the path by the after-install script (at least in those RPMs that are correcty constructed)
myimage.png is in the current directory.
If it isn't, you type the whole path, easy.
both of which are very often untrue. Actually finding where the photoshop binary is located is not a newbie task.
Mmmmm...."whereis photoshop" is usually enough, very intuitive, even.
Neither is altering the path.
On this one I have to agree...altering the path is something a newbiew can't usually do by himself, unless he's had some DOS experience.
As far as that "open with" BS... You could just drag the icon for the myimage.png to the icon for the photoshop program. That's the proper way to use a gui. And probably even easier than typing your command line.
Mmmmm....two clicks to open My Computer (same if you want to use Windows Explorer), a bunch more to find the photoshop.exe program (unless you have a shortcut to it on your desktop, which ususally means having to do it yourself...let a newbie try to do that on NT Workstation 4,,,not as easy as you make it sound)...then open another My Computer/WExplorer window, find the silly graphic, drag it to the photoshop.exe icon....yes, very easy, I can see that.
And yes, I know what I'm talking about, I'm writing this on an NT box...and I, among other things, train people on both Windows and Linux at work.
Windows is easy, as somebody else already said, only for those that are used to it, and as an example I'll put my mom...she started using computers about a 18months ago or so...I gave her the choice between running linux and windows ("what do you like better, what I run on my computer (Mandrake 5.x at the time, with E as my wm),or what my brother runs on his (winNT workstation)?" She chose linux
After about 3 months, her computer gave up (very old box...damn HD died after only 8 years), so she started using my brother's box while I was buying parts for a new box for her...after a week, she threatened me with bodily harm if her box wasn't working in the next week, cause she couldn't get a thing done in my brother's NT box.
Two days later her box was ready...15 months later, she still thinks all the "windows is easy" people have no clue what 'easy' means.
And no, before you ask, she had never used a computer before I gave her that old box with linux in it...and no, she didn't set up a thing in it, I did it all...just like I did with NT for my brother, DOS for my father (he runs only one program in his computer, so...boot DOS, load program, do stuff, exit program, turn off puter)...what people still can't understand if that setting up an OS is NOT something for the average Joe...I don't care who makes the OS, my mom will NEVER be able to install it.
And yes, she does install programs in her box sometimes (only RPMs, and if she gets a dep error, she ICQs me and tells me what are the missing things and I find teh packages for her and then she just "rpm -Uvh *" in the dir where she placed them all)myimagemyimageVox, who is REALLY sick of this "this is easier than that"
Does he have a point? Maybe (Score:3)
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.
Completely Disagree (Score:3)
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.
Re:I think there is a point here, but ... (Score:2)
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.
You're not looking deep enough (Score:2)
Re:Exactly!!!! (Score:2)
Syntax is irrelevant. Hacker/Cracker, DLL/.so, they're all just names
Personally, I'd much prefer an ".so". That way one can make their own application. Applications can have preference boxes based on the linked object. Everything would be standard.
There's no way, imho, that a "universal" control panel would ever work. Apple originally had that pre-System 7. Sort of. And it sucked, lemme tell you. Linuxconf, e-conf, gnome-conf (or whatever that's called) all have similar problems. How do you deal with different sized windows, etc?
So yeah. Hope this helps explains that
Jezzball
ls:
UI in Open Source programs (Score:4)
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.
usability (Score:2)
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.
Perfect Example of Terrible Interface Design (Score:2)
( | ) 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?
For once... (Score:2)
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.
Re:Rules for writing BS about OS (Score:2)
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
Can't somebody do better? (Score:4)
I think there is a point here, but ... (Score:2)
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...
Re:Many geeks could make great gui's (Score:2)
Consistency, not Quality (Score:2)
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.
Ed - the pinnacle of UI design achievement (Score:2)
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--
Re:Two words for you (Score:2)
GTK+ apps also tend to use Ctrl-{X,C,V}, bless their soul (GTK+ itself uses them in its widgets).
The rationale for Netscape's choice may have been some noise about supporting Emacs keybindings, but it drives me nuts; I'll have to see if I can bludgeon it into going with ^X/^C/^V by tweaking my .Xdefaults file.
Then again, it also irritates me that Quicken 2000 appears not to use ^X/^C/^V either - and that's not an X app, it's a Windows app. At least the other Windows apps that I've used are better behaved than that.
...which isn't helped by Qt's apparent insistence on using the X primary selection, rather than the X clipboard selection, as its clipboard.
At least middle-mouse-button paste-current-selection tends to work most places, at least if you aren't trying to replace a selected chunk of text with another chunk of text (as doing the latter means you have to select something other than that which you're trying to copy...).
The author's fundamental mistake (Score:4)
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?
Re:Shortcomings of the new Open Source UIs (Score:2)
Let's take their most visible product, the imac. Now I haven't actually used an imac for an extended time so feel free to laugh off my criticisms.
HOWEVER, there are several ui issues that seem obvious without even turning on the machine.
A round, one button hockey puck. Come on! People have five fingers, at least use two or three of them. Also, Apple seems to have forgotten Fitt's Law. As in, "does the mouse fitt in my hand?"
A small screen. It looks like 15 inches. Isn't the norm 17 inches lately? I guess I can forgive them, they were trying to make the imac cheap.
A small cramped keyboard. 'Course windows machines seem to come with these too. Personally, I can't stand standard layout keyboards. The best keyboard I've ever used is the original microsoft natural; the one with the inverse T arrow pad. The current version sucks. Leave it to MS to upgrade the only product that was perfect at version 1.0
No expandability. Not a ui issue (or is it?) but it still pisses me off.
No floppy. C'mon, guys, cheap removable storage is useful! And don't tell me that the built in ethernet makes up for it. You can chain together as many imacs as you want and you still can't take your documents to work with you.
I guess those are the biggies that are very noticable WITHOUT TURNING IT ON.
I know you can buy external usb mice, keyboards, floppies, zips, etc. But do you think this strategy improves the user experience?
Seriously, if I wanted a small screen, cramped keyboard, hostile pointing device, and no expandability I'd buy a laptop. And even that comes with a floppy drive.
Ryan Salsbury -- Apple sucks just as hard as MS.
What is easy for you and me... (Score:5)
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.
Re:It's the Interaction Design, Stupid (Score:2)
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.
GUI != ease of use (Score:2)
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.
He's absolutely right. (Score:2)
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" [slashdot.org]. 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 [asktog.com] 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 [quailwood.com], 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...
Re:BS... (Score:2)
Even under Linux at home, I use Wine with my Forte Agent to cruise the newsgroups. The Linux application community is getting there, but still has a ways to go.
Re:Bingo! (Score:2)
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...
Bingo! (Score:2)
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
Case in Point (Score:2)
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.
Things the UI makes me use commercial software for (Score:2)
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
Your fundamental mistake (Score:5)
Re:Flawed premise (Score:2)
"Easy to use" is not the same as "good". It certainly does *not* follow that one implies the other for all cases. After all, if I went for the easy option all the time, I'd be running MacOS X or '95 on a notebook in BED.
Approach it wondering what it is; if you don't like it, so be it. Don't approach it with an agenda that "it's not easy, I don't understand therefore it's ITS fault not mine". This kind of thing gets right up my snout.
I knew there was a reason I persist in using Debian - I can cope with the breaks of living at the cutting edge of 'unstable' all the time, for the benefits I get. "If you don't get the benefits, or you don't want to put in the effort, go away and don't moan."
Re:BS... (Score:2)
FreeBSD
The patch to let FreeBSD recognize my Ethernet card
The patch to enable DHCP so the box can talk to my router
And then see if I can get X up.
This is freaking light-years beyond what my mom can do. I wouldn't do it if I didn't have a business need to have a Unix system at my house. The effort/reward ratio from the user's perspective sucks, frankly, and I think the article is spot-on, point for point. Major improvements in usability and interface need to happen before any Unix can even begin to think of breaking out of the server ghetto.
gomi
Rules for writing BS about OS (Score:2)
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.
Well now (Score:2)
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
Re:It will happen eventually (Score:2)
For example, you could run programs like this using a strictly audio setup, or fold application menus into a dynamic system menu scheme (useful for cell phones, for example).
The point is you take the construction of the UI layout out of the hands of the developer and put them into the hands of a) the system and/or b) true UI designers.
I think we're aiming for the same thing, but I think that your idea of a "cross-platform UI" is one that looks exactly the same on every platform (something like Java). My idea of a cross-platform UI is one that's abstracted a lot further and can be rendered in a fashion that suits the goals of the operating environment.
Re:Completely Disagree (Score:2)
I think Open Source does a fine job with straight programming without elaborate user interfaces. For it to enter the popular realm, it needs to have user interface work done WITH it, not IN it. I think Microsoft realizes this and spends a lot of time with the user interface as a priority because they know it's important... and we get pissed at them just because the programming is crappy at times. (Part of the problem with bloatware is that fewer bugs cause more damage, so we see a bluescreen when Paintbrush has some awkward error... but we see the error, not every little step along the way that MS did perfect). I think MS has the right approach in terms of UI/GUI, and maybe a lesser quality but acceptable approach to the programming, and if you want to beat MS, then you can't take the right programming approach and the crummy UI approach (treat it as programming, not separate interface design). Do you think that the same guy who wrote the programming for an ATM machine was the same guy who put it together by hand? No. If that was the case, ATMs would suck.
wrong, it's actually economics... (Score:2)
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:
Re:The author's fundamental mistake (Score:3)
Check out the truckload of arguments dumped here as to why we really don't need GUIs, and then go ask that dumb secretary sitting next to you at the office what she'd think about a PC that gives here "# >" when booted. Yeah, maybe Gnome and KDE is listening to what their users' complaints are.. but the majority of the geeks definitely isn't. I think that's what he was saying.
Re:A list (Score:2)
But still, the OSS community have failed when it comes to GUIs. Because there is not single rule of thumb how to use X programs, except copy/paste (Which works fairly well for text, but while it is possible to, no one has implemented it for pictures and other data). It is totally impossible to use X without a mouse - there is no way, that works in all programs, to switch focus from one button to another, or press a button, with the keyboard, like it is in Windows. But GTK and QT is on their way, they only have to team up together to form a uniform user environment build up by heterogeneous programming tools.
--The knowledge that you are an idiot, is what distinguishes you from one.
Re:Rules for writing BS about OS (Score:2)
I believe it's exactly the sarcasm about users that the author was trying to illustrate. The traditional view of developers is that users suck, and rightly so. Users should simply get it, or they're too stupid to use the program anyway.
Now I think that's a pretty healthy attitude for developers to have, which is why there should also be specialized UI/useability analysts/designers involved whenever you create a system or a tool for a widely distributed (skill, experience) user-base, rather than depending on the developers creating the underlying functionality.
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.
Re:keep it simple, stupid (Score:3)
Yes, efficiency in a UI is good. Flexibility, consistency, clarity and information density are also good. There are lots of qualities that make a particular UI implementation useful. The trick is to include as many of those as possible into the product.
The interface for Cisco routers, as anyone who's ever seen it can tell you, is quite simple. Efficient. Able to be used via a low-bandwidth text interface, which is perfect. But is it easy to use? Not for most people. Microsoft Bob, at the other end of the spectrum, was incredibly inefficient, but useable by most people above age 5.
I think the main point is not whether XF86 or a particular WM has a good interface, since those programs are mainly MAKING the interface for the rest of the system. Does Sendmail have a good interface? Does vi? Only when considered seperately and by somebody who is very familiar with them.
For the VAST majority of OSS projects there are no common use models. That makes learning the software more difficult. On the MacOS, most software conforms to several systemwide standards. CMD-Q is quit, CMD-O is open, etc. Windows is almost as good. These types of things make a system AS A WHOLE easier to use. That is the challenge for OSS project leaders - find a way to make their learning curve work for them.
Re:Bingo! (Score:2)
This much is true, and not a problem. Just don't expect those of us who know our shells from our eggwhisks to pander to the sheer pathetic attitude of "don't want to learn".
> nor should they have to. For Linux to succeed as a desktop OS,
Disagree from here on, though. People *should* both have to, and want to, learn how to use something for what it's worth in the first place, otherwise get lost by all means. Open-Source hasn't got where it is today by getting a committee-load of morons together saying "we can't help, won't help, make it pretty pictures for us".
I suggest you also have a strange idea of linux either "succeeding" or (in general) "winning". It doesn't win by having more (l)users; it wins by being *better* than the alternatives (not "the competition"), and having a user-base giving out a *quality* signal, not a quantity one.
How can "power and flexibility of linux be the fatal flaw"? They're right up amongst its major strengths, apart from stability and all that.
Gnome UI, mailing lists and feedback (Score:2)
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 [gnome.org] 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
He's right... let's not kid ourselves. (Score:2)
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 [uibk.ac.at]? 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.
Re:Shortcomings of the new Open Source UIs (Score:2)
Re:keep it simple, stupid (Score:2)
What will happen is that these so called geeks will (have to) find another outlet for their programming creativity. The geeks and protestors of today will be the establishment of tomorrow. That's how it's always been, and that's how it always will be.
----------------------------------------------
congratulations you proved the articles main point (Score:3)
"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?
Re:The author's fundamental mistake (Score:2)
But that's the wrong question, isn't it? The important question (for this discussion) is how many users aren't the developers of the software?
OF COURSE the developers should be users of their software! That's obvious. But I keep reading comments from people who seem to think that only developers have a right to suggest features.
This is incredibly short-sighted if Open Source/Free Software is be the dominant product. For years I've been hearing people say that they just want their computer to "get out of their way" so they can do their job. Now it seems many people here want these people to become programmers instead.
Of course, programming is a wonderful and usefull thing to learn, but not everybody wants to do that. Should Open Source/Free Software be limited to just geeks? I didn't think so.
Re:The author's fundamental mistake (Score:4)
I think this was the best point the author made. For an experienced administrator, typing in a quick and dirty text command is the quickest way to do things. For someone who is keeping her life as non-computer oriented as possible, though, text interfaces, key combinations, and scripts/rc files are all hopelessly arcane and arbitrary.
That's why windowing metaphors are so powerful-- you are hijacking training that people already have in the Real World and using it to ease the adjustment. That's why complex procedures are laid out in wizards: to guide people through it without having to remember an algorithm.
If you are trying to let someone do something complex, you want to make them learn as little as possible in order to do it. That doesn't mean they are ignorant, it means that we are imposing on them to spare as little brainspace as possible. A doctor doesn't make us learn medicine-- we shouldn't force him to learn software engineering.
This is all pretty obvious, IMO. But it is easy to forget. As coders, we know way more than the average person about computers. We don't need metaphors-- we can handle the raw abstractions. So in the name of flexibility and consistency, we get straight into what often amounts to minor coding in its own right.
This is compounded by feature creep. People are paying for features they won't use on their Office apps, and then wonder why their desktop is so crowded, and why everything has to be filed away in menus.
Finally, since abstraction is our living, we are using it too much where we shouldn't-- the user's experience. Making something universal, making it systematic, often good things. But sometimes you have to hide the underlying elegance in favor of being usable by people who don't know code.
emacs is not what we want. Enlightenment isn't, either, though it is ridiculously great. Nor is Word, really. MS's interface advantage isn't that they're particularly good, they are just what people are used to now. What we have to start thinking about is what is making Linux suddenly so popular to the Rest of the World: What do users want? Linux addresses security, stability, standardization and upgrade issues that the business world probably assumed were inevitable.
What we have to do is what PARC did years ago. Say "What are these computers for?" "What can they let people do which they couldn't do before?" and "How can computers help people do what they're doing now more efficiently?".
Answer those-- and don't think that companies like Apple aren't asking those questions every day-- and people will wonder why MS and others can't make an operating system which doesn't need to be unravelled by a PhD in CS. Rather than saying that about us, which is what they're doing. In almost every other area, Open Source has proved to be better. I think that, if people really start focusing on it, we can take the lead on it.