Making free software mainstream
by
mikedavis44
·
· Score: 3, Insightful
Right from the start I think that the free software movement was geared by geeks toward geeks, and it's become a game of catch up developing quality gui's and moving away from traditional cli's.
Added focus in this area will surely see a boost in gaining mainstream desktop users and subsequently enthusing them with the free software ideal.
Of course a pretty interface is excess baggage and can lead to bloatware, but surely it's imperative to the future of open source?!
Now, that is finally a good article on OSS UIs. In a lot of places, UIs are misunderstood as fancy graphics shell with lots of features and options. Unfortunately, this is the direction I see KDE running.
A lot of people do not understand how themes and options do decrease the usability of the UI. If you are able to improve the UI significantly by changing a few options or applying a skin, then there was something wrong with the whole thing in the first place. People should not waste their energy on themeing engines or messy options dialogs (my favourite horror is the KDE control center) but focus on one UI style and make that the best. Rather one perfect UI than a dozen so-so ones.
Re:Worth reading
by
stew77
·
· Score: 2, Insightful
Also, you appear to be confused about what themeing/skinning is. [...] It DOES NOT, I repeat DOES NOT change the layout of the interface or how it works. It only affects what it looks like. Even worse. If it looks like MacOS, it should behave like MacOS. If it looks like Windows, it should behave like Windows. Unfortunately, this is not the case and confuses users even more.
Yes, I do have specific complatins about the KDE UI and I have expressed them in various places, but they will never be addressed, because they apply to the general concept of KDE: Not making any decisions. Wether the menu bar is global or inside the application window should never be optional - this is a fundamental decision that should be made by the developers once for all. The same goes for button placements and the terminology used in programs.
If you write an application, you want to know what the user's system looks like. Does it use 3D or 2D icons? How does the system use bevels and mouseovers? Is there a per-window or a per-application menu? Where am I supposed to put OK and Cancel buttons in dialogs? What colors am I supposed to use for which meaning? Making all of this a user option makes it impossible for developers to write applications that fit into the user's system. For example: Neither KDevelop nor Opera are able to deal with a global menu bar. Opera retains a per-window menu bar and KDevelop places some dialogs behind the menu bar, making their title bars inaccessable. And if you want real fun, activate global menu bars and focus-follows-mouse in KDE.
These posts highlight the problem
by
saphena
·
· Score: 4, Insightful
The attitude of free software nerds towards useability is often the defining limitation of the spread of free software.
The fact that it's free should not mean that you should have to be a nerd to use it. Good useability is probably more important than correct functionality.
Re:These posts highlight the problem
by
justsomebody
·
· Score: 2, Insightful
Like first I agree with the post about usability with you. Especially for newcomers and weekend users. What I don't agree with is your performance description and configuration troubles. You've expressed (and showed your knowledge) that with divx playing sketchy and other comments about UI.
Like first divx. Works like hell for me and for all of my converted friends. Way better than windoze. My best result is watching divx, formating floppy, burning cd, listening to mp3, and meanwhile opening staroffice. All that on Celeron 400 (wanted to test low end machine). About picture being sketchy, mplayer set with correct parameters has best picture based on my testing.
I guess that the main thing you've done wrong, was testing gnome. Anyone reading your comment would say, that UI that you want is KDE and not GNOME.
KDE is not for tweakers like me, but usefull for Windowze users, that want to become Linux users on a fast lane. I personally wanna tweak every bit of my desktop and make additional lower underlaying scripts, to get job done as fast as it gets. For that I really don't consider waste of time. Every new distro takes me about a day to adapt my changes to it, but hey, I don't need to install software/home/$user (and other partitions that I expect to work immidietly) works great.
So in conclusion I give you few tips to better usage so you wouldn't need to complain about settings anymore. Tips for a first install: a. Hardway 1. Reconsider install partitions well (make/home this one will not be formated anymore, also by your choices partitions you would like automatically to preserve) 2. Install 3. Make some/home/System> bin etc lib sbin fonts startup usr 3.1. If you're geeky enough put some your rc.d inside of that etc and execute as a deamon from original/etc/rc.d when starting system, personally I don't restart machine when is set up my redhat 7.2 has uptime from 4 days after release 3.2. Be carefull about security 4. add bin and sbin and others to your $HOME/bash_profile 5. decide which configurations you'd like to preserve but not/etc/fstab or/etc/rc.d and few others and make links to/home/System/etc/ 6. Install additional system software by making chroot or specifiying/home/System as default root for install so software wouldn't get erased when you'd install new version of OS 7. Add some deamon of your choice that tracks changed files in fonts folder and here is your font manager best there is 8. After that start tweaking your desktop manager 8.1. Set file type owners 8.2. Browsing 8.3. etc 9. Enjoy until new release 10. Install new release (don't format home) 11. start your etc configuration replacment script to restore links to your configuration 12. Tweak new things in new version 13. Enjoy this version until new release
b. Have some friend that knows how to tweak system like that do tweaking
c. Stick with what you were doing, nobody will force you
Don't wanna start flame war about KDE and GNOME, same tweak applies for KDE also. What I was reffering is that KDE is preset for user, GNOME not (allows us to choose our tools, but it wouldn't do bad if preset would be an option too for newcomers, as in my case I wanna do it my self).
-- Signature Pro version 1.13.2-3 release 83.5 beta3try7 after-breakfast edition
User Interface Design principle
by
prankster
·
· Score: 4, Insightful
Good user interface designers follow a more prudent policy. They make as limited assumptions about their users as they can. When you design an interactive system, you may expect that users are members of the human race and that they can read, move a mouse, click a button, and type (slowly): not much more. If the software addresses a specialized area, you may perhaps assume that your users are familier with its basic concepts. But even that is risky.
Which lead to the following design principle:
User Interface Design principle Do not pretend that you know the user; you don't
As obvious as these sound, here are my rules for a good user interface on the work I do, whether it's a web page or a GUI app:
1) Keep It Simple Stupid 2) Think Like a User (the dumber the user, the better the UI) 3) Make it LOOK better than it WORKS
The last rule is true because if the app looks like crap, no one will be happy, but if it looks GREAT and works so-so people (users, your boss) will be excited and give you more time to get the bugs worked out. This is my main problem with someone like Jakob Nielson's whiny biatching... the app has to be simple, but it's got to have good design too. Colors, buttons, subtle eye-candy, well balanced spaces, etc. Usability is key, but design is always first.
Anyways, many of the people who work on open source software seem like the people who CAN'T STAND USERS. And by users, I mean the stupid, stupid people who might use their software. It seems pretty weird, but it's true... Maybe a little less antipathy for the newbies would go a long way to helping OSS GUI design.
the generally snobby 'RTFM, dumbass' attitude that is ingrained in many OSS programmers.
Every time you hear someone tell a user to 'RTFM', note the question down as an area of your app that you think is good but probably needs to have a UI redesign. The more the question is asked the more it needs a UI redesign.
Nice to see
by
MisterBlister
·
· Score: 2, Insightful
Nice to see someone of Havoc's 'cred' in the OSS movement knocking on the ridiculousness of most graphical OSS project's preferences.
Though geeks like to tinker, there's something to be said about every application being consistent and keeping preferences, as much as possible, to a minimum and also to put them at the system level so they can easily be changed in a way that will modify all applications.
Its nice to be able to sit down to a Windows or MacOS system and be able to start working right away, not worrying what crazy menu is bound to your middle mouse button in application XYZ vs application ABC or where the person who configured this PC hid some other menu you need just because the preference system allows him/her to move it whereever.
I realize one size doesn't fit all and that geeks will always want to tinker, but I think if anyone is to take Linux/UNIX seriously on the desktop, there needs to be one clear Linux UI standard that is followed, and the rest must be relegated to 'alternatives'. This is similar to how Windows has its UI, but you can (if you really want) go swap it out with litestep or windowblinds or whatever.. The option is there, if you really really want it, but there's also a clear default UI system that companies and groups can standarize on.
My GUI is not your GUI
by
bockman
·
· Score: 3, Insightful
It could be that there exists in the world of ideas a 'Perfect GUI', the same as there could be a 'Perfect Car' or a 'Perfect OS'. And I understand that GNome developers wants to go after it.
However, the Man-Machine Interface (MMI=GUI+CLI) is the front-ent between me and the computer. Better yet, is _the_ computer as I see it. And what I like about Gnome is that it is a reasonable good platform with a lot of components (panels, menus, applets) with which I can build _my own_ GUI. Which is surely not the best GUI. But is it the GUI which best fits my needs.
I whish good luck to Gnome developers in their quest. I just hope they don't loose the component approach they had up to now. And don't lock users in _their_ idea iof the best GUI (while I agree that too many preferences are evil).
-- Ciao
----
FB
Re:Make it look like MS Windows and move on?
by
rbeattie
·
· Score: 3, Insightful
I 100% agree with this. The QWERTY example is a perfect analogy. We all need something similar to what we work with right now.
I say EMBRACE and EXTEND. Copy Window's UI down to the pixel, get everyone to use *nix and then when M$ changes their UI again, everyone will say "why doesn't Windows work like my Unix box?"
Think about the hardware equivalent of this: Compaq started creating IBM clones which was great, but eventually IBM tried to move to the PS/2 and Microchannel, yet everyone by that time was used to the open architecture and balked at IBMs proprietary play. The same could be done for software, but first you have to make a perfect copy.
I Code, Therefore I Am
by
gramlord
·
· Score: 2, Insightful
People submitting code into the general OSS
code-base are recognised for the code they
produce, not the code they leave out.
This is one of the reasons why preferences are as
common as dirt - you have to write code to make them work.
It is also the same reason
why we have dozens of sendmail/ftp/irc etc...
replacements out there. We don't need them,
there are plenty already, but
coders feel they have the need to code
rather than feeling the need to think about
what they code.
A Great UI Without Graphics
by
guttentag
·
· Score: 3, Insightful
I've been using graphical FTP clients on the Macintosh for years, starting with good old Fetch. As the number of files I transfer has gone up and my bandwidth has gone up, I've begun to realize that the clients I've been using (Fetch, Transmit, version tracker's flavor of the week) are just slow, crash-prone, money-grubbing, feature-weak PoS. So I put the running dog to sleep and resolved to deal with command-line FTP.
In the last few weeks, my hosting co's ftp software has been randomly giving me errors that suggest it doesn't know how to list a directory, put or get a file. Not that I need any of those features anyway, so I did some research and ended up installing ncftp (Mac OS X installer pkg). I realize ncftp's not a new program, but I am amazed.
It has everything I've ever wanted in an FTP client: speed, easy-to-use "bookmarks" (no more dumping passwords into clear.netrc files or entrusting them to Apple's security-hole-prone Keychain), status reports on transfers, and I can even use wildcards to up/download a whole mess of files at once without having to sift through ftp's man pages. Everything works intuitively, and I suspect there is much more I will discover just by using the tool.
I guess that's what a great UI is -- one that you can use and learn without having to RTFM.
(Before you reply in defense of the RTFM concept, I agree that there are types of software that should not be used until one has RTFM, but it doesn't hurt to give the FM a great UI.)
I love how this comment is less trollish than it may sound at first: The MacOS UI guidelines are a classic example on how strict and consistent guidelines can help providing a good user experience. Microsoft has never been as strict and consistent in their guidelines (MDI: one day it's in, one day it's out) and that carries through to the applications. Different key bindings, different menu order, different metaphors and icon styles.
It is strange how many OSS fans relate to such things: On the one hand, they do not accept strict guidelines that tell you how an application has too look or behave - for them it is taking away their "freedom". OTOH, at the same time they're very strict and disciplined when it comes to following technical guidelines like RFCs, IEEE and W3C standards. No, I did not say hippocrats. But I did think it.
misunderstanding of UI
by
Anonymous Coward
·
· Score: 1, Insightful
one of the common mistakes, is the thinking of a UI as the way your window-manager, desktop, and toolkit look. but one of the most common problems, like setting up hardware, and peripherals, basic system-configuration should be the place where linux-developers should get their ass up. and develop standards please, no one has thought, apart of gnu-step about how applications that users-install should be handled.
most importantly system-configuration has to be made much easier.
and someone should develop a GUI and interface for cd-burners, that has NOT to be run as root.
as one could say its time we make nails with heads.
Average user vs. power user UIs
by
Anonymous+Brave+Guy
·
· Score: 3, Insightful
While I agree with much of what you write, I think the distinction between "average" users and "power" users is an important one. (I dislike "beginner" and "experienced" because that's not really the issue; often, some beginners will immediately want to learn all the tricks, while some experienced users will never need them.)
To take a prime example, and one of my pet peeves, consider the interface for your file system. On many systems, you can have a CLI with commands to do things like copying or renaming files, creating directories, etc., and you can have a GUI interface with folder windows and so on. Most users are happy using the folder windows most of the time, experienced or not. I'd much rather browse my file system with something like a tree view and file list combination than with a CLI and constant use of ls or dir commands, and I doubt I'm alone here.
OTOH, suppose you want to create a new folder at me/one/two/three/four/new, and currently all you've got is me. It's faster to open up the CLI and use a command that can make five directories in one go than to create one in the GUI, open it, create two under it, open that, and so on. Anyone who's tried to rename "*.doc" to "*.bak" using a windowing GUI is probably familiar with the problem, too: a few seconds at the CLI, a few minutes in the windowing system. And hey, when's the last time you saw regular expressions being used in a GUI?;-)
So I think it's fair to say that some applications are universally required in some form, and that sometimes, different perspectives on the same functionality are more useful to different people (or to be more correct, are more under different circumstances, and it just happens that some people encounter those circumstances more than others). They key thing, though, is not so much the functionality -- you can rename a file in either a CLI or a GUI -- but the way(s) you provide that functionality to the user.
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Re:Copying the Microsoft/MacOS route ?
by
Anonymous+Brave+Guy
·
· Score: 4, Insightful
Much time is spent on the idea that 'total customisation' should be the end goal - is this flawed thinking ?
Yes.
The goal should be the exact opposite: the have a system so intuitive and powerful that customising it is entirely unnecessary. Of course, you'll never reach that goal, but it should always be the target.
Your post was right on the mark.
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
unbounded growth of useless features
by
Anonymous Coward
·
· Score: 1, Insightful
Good article. Take for example KDE, nice desktop but too many features. I posted before a comment to the KDE guys that to they should focus on deleting features and just choose good defaults. I am not using KDE anymore, went back to WindowMaker.
In any case, the general problem with OSS is that anyone can add patches/features, but no one dares to _delete_ useless ones. So in the end, a program just grows bloated with useless features. Delete is the key. I'd rather re-learn a few new well chosen key combinations, rather than having the option to make my 100 own ones.
The same argument also counts for the (Linux) distributions, they grow beyond proportions and expect the end-user to plough through the jungle of available features/programs.
Hello? "Know Your User"?
by
Speare
·
· Score: 5, Insightful
The article lists these issues as why Free Software UI sucks.
Not enough software designers to get the work done.
Too many cooks spoil the code's architecture.
Free software doesn't innovate, just copies.
Volunteers only want to do cool stuff.
Volunteers don't do boring details.
Maintainers cave in and add misguided features or code rather than endure flamewars.
People want their own features to point at.
Workarounds are introduced during the devel process and never removed.
Hello? Where is the #1 reason?
FREE SOFTWARE DESIGNERS DON'T UNDERSTAND THEIR USERS' GOALS.
Sure, developers write things for themselves. Developers write things for their co-workers. But do developers of Free Software really go out and research the goals of their users?
In looking at Linux user interfaces, I see that most tools merely tie some toolkit strings onto the underlying code so that it can be manipulated. The current thinking seems to be that if the underlying driver can do something, expose that ability directly on the command line or in a preferences dialog box.
A great case-in-point is cd-burning software. Type (cdrecord --help). The typical GUI wrapper is just the Gtk equivalent of (cdrecord --help). A massive soup of options with little help for people who don't know what a leadin is, don't care what a TOC is, don't understand how the lovers Romeo and Joliet got into CD-burning, and don't understand whether they want to fixate the disc or not.
Instead, turn it over.
Who are the intended users?
What are their goals?
How would they like to get their tasks done?
Make some archetypical example users of your application. Nate the newbie. Seth the secretary. Judy the junior admin. Devin the developer. Whoever it is that needs your help to accomplish their goals, get to know these people.
A useful CD burning tool doesn't need to expose everything the driver can do. Add music files here. Add data files or folders here. Might you want to add more files at a later date? Burn the disc.
In Alan Cooper's words, "don't make the user feel stupid."
A user interface needs to start with the user, and proceed to the interface.
Hmm. Do the Apple UI guidelines say anything about:
Using a stack based window manager?
Using consistent window switching keys
Designing GUIs to use right-mouse buttons, yet not providing a right mouse button, so hopelessly confusing new users as they struggle to remember which key to press?
Making enter rename a file, and Apple-O open it?
Having a consistent application closing policy
Don't get me wrong, Apple do some good work with UI design, but to pretend that they have the most intuitive UIs is naive. When I first started using my friends Mac, he had to sit next to me and constantly remind me to close the app manually, which button means right click, and so on.
People waay overrate the Mac as GUI perfection. Open software shouldn't just copy it mindlessly.
Guidelines are guidelines. They are not hard and fast rules.
Standards are standards. You screw with the implementation of a standard and your application is worthless.
You screw with the UI and it may be ugly or less user friendly, but it still works.
Most developers follow the basics regardless of OS - File, Edit, View, Help is always the last menu item on the menu bar. "File|Open", "File|Save", "File|Print"... need more examples?
IIRC, the last time someone emulated MS and followed guidelines (Ximian's evolution) there was an outcry from/.ers about copying MS and how "wrong' it was.
Dammit, make up your minds!
And we won't even discuss the "Look and Feel" lawsuits in the early 90's when people emulated other UIs.
-- I don't have a solution, but I certainly admire the problem.
Single Menubar = Simpler
by
johnrpenner
·
· Score: 3, Insightful
'Perfection is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.'
(Antoine de Saint-Exupery)
You can increase the apparent simplicity and focus of an OS simply by consolidating five menubars into one.
--| INTERFACE DESIGN > A SINGLE MENUBAR |-----
>> WHAT? Give me the summary.
A SINGLE MENUBAR AT THE TOP OF THE SCREEN that changes according to the current context (window) instead of a menubar for every window.
Setting this as a User Default will improve Linux's ease-of-use. Placing a single Menubar along the top of the screen:
1 - Makes it faster and easier to hit.
(no mouse overshoot to slow things down)
2 - Eliminates clutter in the interface.
3 - Reduces ambiguity (and hence - user error).
--| DISCUSSION |---
>> LINUX MENUS WORK GREAT NOW. >> WHY SHOULD WE DO SO MUCH WORK TO CHANGE THE ACCEPTED DEFAULT?
In programming, if you compute a static variable within a loop - it is highly innefficient - it slows down the loop. You optimize code by pulling all the computes you can out of the loop and processing externally.
Interface design is the same. If a user has to click: A, B, C three hundred times a day - it would make him 3 times as efficient to collapse those three steps into a macro and execute with one keystroke. Making things less steps for users optimizes the UI just like computing static variables outside the loop optimizes code.
Since Menus are one of the most frequently used items in an operating system, optimizing something small in this frequent behaviour equates to a Big savings for the user over time. Therefore getting the menus right is one of the most crucial and fundamental UI decisions that must be made by those implementing the OS.
Linux currently imitates Windows' menubar implementation of putting a menubar in every window. UI studies show this is not the optimal way of implementing menus in an operating system. Linux can beat Windows in menubar GUI by providing the option of a single context-sensitive menubar. There are several good reasons for doing this:
1 - TARGETING CONSTRAINT
How easy it is to hit a target - virtual size.
2 - CONSISTENT PLACEMENT
How easy it is to remember "where" a target is.
3 - SIMPLICITY KEEPING FOCUS
Elimination of extraneous controls that are not
relevant to the current task at hand.
Hands together for the pat-your-own-back article for Gnome, thinly disguised as a discussion on User Interfaces.
We see this kind of crap all the time, seems that it's usually Gnome, but KDE tends to do it too.. A developer on (name your window manager here) posts a big ditribe about how (this or that) should be written, and behold, (our window manager here) does it perfectly!
Sheesh.
-- Remember, don't feed the trolls.
A Perfect Example
by
DCMonkey
·
· Score: 2, Insightful
A perfect example of the problem with Linux for the average desktop user. Thank you.
FYI,
MOST people just want to get in a car and get from point A to point B. They don't want to deal with a manual transmission.
MOST people don't want to fly a 747. They want to get in one and get from point A to point B.
MOST people don't want to jump from a perfectly functioning aircraft.
As long as average people have to deal with that extraneous arcana to get simple (or even complex) things done, they will not use Linux on the desktop.
And when hardware and software support for desktop oriented technologies starts or continues to lag or fade because other platform providers do cater to the average user's needs, I will have no sympathy for you.
The installer is always the first part of your UI that the user sees. Unfortunately, it may also be the last.
In many cases the question of "why should the end user be installing anything in the first place?" is totally ignored. No-one demmands that cars must be end user servicable. Or expects the typicall office worker to install their own network, telephone and power sockets, let alone assemble their own office using bricks, wood and plasterboard. But suddenly when it comes to computers it's vital that everything be end user installable (even if it results in making the job of real sysadmins considerably harder.)
Right from the start I think that the free software movement was geared by geeks toward geeks, and it's become a game of catch up developing quality gui's and moving away from traditional cli's. Added focus in this area will surely see a boost in gaining mainstream desktop users and subsequently enthusing them with the free software ideal. Of course a pretty interface is excess baggage and can lead to bloatware, but surely it's imperative to the future of open source?!
A lot of people do not understand how themes and options do decrease the usability of the UI. If you are able to improve the UI significantly by changing a few options or applying a skin, then there was something wrong with the whole thing in the first place. People should not waste their energy on themeing engines or messy options dialogs (my favourite horror is the KDE control center) but focus on one UI style and make that the best. Rather one perfect UI than a dozen so-so ones.
The attitude of free software nerds towards useability is often the defining limitation of the spread of free software.
The fact that it's free should not mean that you should have to be a nerd to use it. Good useability is probably more important than correct functionality.
To quote Bertrand Meyer from his monumental book Object Oriented Software Construction:
Good user interface designers follow a more prudent policy. They make as limited assumptions about their users as they can. When you design an interactive system, you may expect that users are members of the human race and that they can read, move a mouse, click a button, and type (slowly): not much more. If the software addresses a specialized area, you may perhaps assume that your users are familier with its basic concepts. But even that is risky.
Which lead to the following design principle:
User Interface Design principle
Do not pretend that you know the user; you don't
As obvious as these sound, here are my rules for a good user interface on the work I do, whether it's a web page or a GUI app:
1) Keep It Simple Stupid
2) Think Like a User (the dumber the user, the better the UI)
3) Make it LOOK better than it WORKS
The last rule is true because if the app looks like crap, no one will be happy, but if it looks GREAT and works so-so people (users, your boss) will be excited and give you more time to get the bugs worked out. This is my main problem with someone like Jakob Nielson's whiny biatching... the app has to be simple, but it's got to have good design too. Colors, buttons, subtle eye-candy, well balanced spaces, etc. Usability is key, but design is always first.
Anyways, many of the people who work on open source software seem like the people who CAN'T STAND USERS. And by users, I mean the stupid, stupid people who might use their software. It seems pretty weird, but it's true... Maybe a little less antipathy for the newbies would go a long way to helping OSS GUI design.
-Russ
Me
Though geeks like to tinker, there's something to be said about every application being consistent and keeping preferences, as much as possible, to a minimum and also to put them at the system level so they can easily be changed in a way that will modify all applications.
Its nice to be able to sit down to a Windows or MacOS system and be able to start working right away, not worrying what crazy menu is bound to your middle mouse button in application XYZ vs application ABC or where the person who configured this PC hid some other menu you need just because the preference system allows him/her to move it whereever.
I realize one size doesn't fit all and that geeks will always want to tinker, but I think if anyone is to take Linux/UNIX seriously on the desktop, there needs to be one clear Linux UI standard that is followed, and the rest must be relegated to 'alternatives'. This is similar to how Windows has its UI, but you can (if you really want) go swap it out with litestep or windowblinds or whatever.. The option is there, if you really really want it, but there's also a clear default UI system that companies and groups can standarize on.
However, the Man-Machine Interface (MMI=GUI+CLI) is the front-ent between me and the computer. Better yet, is _the_ computer as I see it. And what I like about Gnome is that it is a reasonable good platform with a lot of components (panels, menus, applets) with which I can build _my own_ GUI. Which is surely not the best GUI. But is it the GUI which best fits my needs.
I whish good luck to Gnome developers in their quest. I just hope they don't loose the component approach they had up to now. And don't lock users in _their_ idea iof the best GUI (while I agree that too many preferences are evil).
Ciao
----
FB
I 100% agree with this. The QWERTY example is a perfect analogy. We all need something similar to what we work with right now.
I say EMBRACE and EXTEND. Copy Window's UI down to the pixel, get everyone to use *nix and then when M$ changes their UI again, everyone will say "why doesn't Windows work like my Unix box?"
Think about the hardware equivalent of this: Compaq started creating IBM clones which was great, but eventually IBM tried to move to the PS/2 and Microchannel, yet everyone by that time was used to the open architecture and balked at IBMs proprietary play. The same could be done for software, but first you have to make a perfect copy.
-Russ
Me
This is one of the reasons why preferences are as common as dirt - you have to write code to make them work.
It is also the same reason why we have dozens of sendmail/ftp/irc etc... replacements out there. We don't need them, there are plenty already, but coders feel they have the need to code rather than feeling the need to think about what they code.
In the last few weeks, my hosting co's ftp software has been randomly giving me errors that suggest it doesn't know how to list a directory, put or get a file. Not that I need any of those features anyway, so I did some research and ended up installing ncftp (Mac OS X installer pkg). I realize ncftp's not a new program, but I am amazed.
It has everything I've ever wanted in an FTP client: speed, easy-to-use "bookmarks" (no more dumping passwords into clear .netrc files or entrusting them to Apple's security-hole-prone Keychain), status reports on transfers, and I can even use wildcards to up/download a whole mess of files at once without having to sift through ftp's man pages. Everything works intuitively, and I suspect there is much more I will discover just by using the tool.
I guess that's what a great UI is -- one that you can use and learn without having to RTFM.
(Before you reply in defense of the RTFM concept, I agree that there are types of software that should not be used until one has RTFM, but it doesn't hurt to give the FM a great UI.)
It is strange how many OSS fans relate to such things: On the one hand, they do not accept strict guidelines that tell you how an application has too look or behave - for them it is taking away their "freedom". OTOH, at the same time they're very strict and disciplined when it comes to following technical guidelines like RFCs, IEEE and W3C standards. No, I did not say hippocrats. But I did think it.
one of the common mistakes, is the thinking of a UI as the way your window-manager, desktop, and toolkit look. but one of the most common problems, like setting up hardware, and peripherals, basic system-configuration should be the place where linux-developers should get their ass up. and develop standards please, no one has thought, apart of gnu-step about how applications that users-install should be handled.
.
most importantly system-configuration has to be made much easier.
and someone should develop a GUI and interface for cd-burners, that has NOT to be run as root
as one could say its time we make nails with heads.
While I agree with much of what you write, I think the distinction between "average" users and "power" users is an important one. (I dislike "beginner" and "experienced" because that's not really the issue; often, some beginners will immediately want to learn all the tricks, while some experienced users will never need them.)
To take a prime example, and one of my pet peeves, consider the interface for your file system. On many systems, you can have a CLI with commands to do things like copying or renaming files, creating directories, etc., and you can have a GUI interface with folder windows and so on. Most users are happy using the folder windows most of the time, experienced or not. I'd much rather browse my file system with something like a tree view and file list combination than with a CLI and constant use of ls or dir commands, and I doubt I'm alone here.
OTOH, suppose you want to create a new folder at me/one/two/three/four/new, and currently all you've got is me. It's faster to open up the CLI and use a command that can make five directories in one go than to create one in the GUI, open it, create two under it, open that, and so on. Anyone who's tried to rename "*.doc" to "*.bak" using a windowing GUI is probably familiar with the problem, too: a few seconds at the CLI, a few minutes in the windowing system. And hey, when's the last time you saw regular expressions being used in a GUI? ;-)
So I think it's fair to say that some applications are universally required in some form, and that sometimes, different perspectives on the same functionality are more useful to different people (or to be more correct, are more under different circumstances, and it just happens that some people encounter those circumstances more than others). They key thing, though, is not so much the functionality -- you can rename a file in either a CLI or a GUI -- but the way(s) you provide that functionality to the user.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Yes.
The goal should be the exact opposite: the have a system so intuitive and powerful that customising it is entirely unnecessary. Of course, you'll never reach that goal, but it should always be the target.
Your post was right on the mark.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Good article. Take for example KDE, nice desktop but too many features. I posted before a comment to the KDE guys that to they should focus on deleting features and just choose good defaults. I am not using KDE anymore, went back to WindowMaker.
In any case, the general problem with OSS is that anyone can add patches/features, but no one dares to _delete_ useless ones. So in the end, a program just grows bloated with useless features. Delete is the key. I'd rather re-learn a few new well chosen key combinations, rather than having the option to make my 100 own ones.
The same argument also counts for the (Linux) distributions, they grow beyond proportions and expect the end-user to plough through the jungle of available features/programs.
The article lists these issues as why Free Software UI sucks.
Hello? Where is the #1 reason?
Sure, developers write things for themselves. Developers write things for their co-workers. But do developers of Free Software really go out and research the goals of their users?
In looking at Linux user interfaces, I see that most tools merely tie some toolkit strings onto the underlying code so that it can be manipulated. The current thinking seems to be that if the underlying driver can do something, expose that ability directly on the command line or in a preferences dialog box.
A great case-in-point is cd-burning software. Type (cdrecord --help). The typical GUI wrapper is just the Gtk equivalent of (cdrecord --help). A massive soup of options with little help for people who don't know what a leadin is, don't care what a TOC is, don't understand how the lovers Romeo and Joliet got into CD-burning, and don't understand whether they want to fixate the disc or not.
Instead, turn it over.
Make some archetypical example users of your application. Nate the newbie. Seth the secretary. Judy the junior admin. Devin the developer. Whoever it is that needs your help to accomplish their goals, get to know these people.
A useful CD burning tool doesn't need to expose everything the driver can do. Add music files here. Add data files or folders here. Might you want to add more files at a later date? Burn the disc.
In Alan Cooper's words, "don't make the user feel stupid."
A user interface needs to start with the user, and proceed to the interface.
[
Don't get me wrong, Apple do some good work with UI design, but to pretend that they have the most intuitive UIs is naive. When I first started using my friends Mac, he had to sit next to me and constantly remind me to close the app manually, which button means right click, and so on.
People waay overrate the Mac as GUI perfection. Open software shouldn't just copy it mindlessly.
Guidelines are guidelines. They are not hard and fast rules.
... need more examples?
/.ers about copying MS and how "wrong' it was.
Standards are standards. You screw with the implementation of a standard and your application is worthless.
You screw with the UI and it may be ugly or less user friendly, but it still works.
Most developers follow the basics regardless of OS - File, Edit, View, Help is always the last menu item on the menu bar. "File|Open", "File|Save", "File|Print"
IIRC, the last time someone emulated MS and followed guidelines (Ximian's evolution) there was an outcry from
Dammit, make up your minds!
And we won't even discuss the "Look and Feel" lawsuits in the early 90's when people emulated other UIs.
I don't have a solution, but I certainly admire the problem.
'Perfection is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.'
(Antoine de Saint-Exupery)
You can increase the apparent simplicity and focus of an OS
simply by consolidating five menubars into one.
--| INTERFACE DESIGN > A SINGLE MENUBAR |-----
>> WHAT? Give me the summary.
A SINGLE MENUBAR AT THE TOP OF THE SCREEN that changes according to
the current context (window) instead of a menubar for every window.
Setting this as a User Default will improve Linux's ease-of-use.
Placing a single Menubar along the top of the screen:
1 - Makes it faster and easier to hit.
(no mouse overshoot to slow things down)
2 - Eliminates clutter in the interface.
3 - Reduces ambiguity (and hence - user error).
--| DISCUSSION |---
>> LINUX MENUS WORK GREAT NOW.
>> WHY SHOULD WE DO SO MUCH WORK TO CHANGE THE ACCEPTED DEFAULT?
In programming, if you compute a static variable within a loop - it is
highly innefficient - it slows down the loop. You optimize code by pulling
all the computes you can out of the loop and processing externally.
Interface design is the same. If a user has to click: A, B, C three hundred
times a day - it would make him 3 times as efficient to collapse those three
steps into a macro and execute with one keystroke. Making things less steps
for users optimizes the UI just like computing static variables outside the
loop optimizes code.
Since Menus are one of the most frequently used items in an operating system,
optimizing something small in this frequent behaviour equates to a Big savings
for the user over time. Therefore getting the menus right is one of the most
crucial and fundamental UI decisions that must be made by those implementing
the OS.
Linux currently imitates Windows' menubar implementation of putting a menubar
in every window. UI studies show this is not the optimal way of implementing
menus in an operating system. Linux can beat Windows in menubar GUI by providing
the option of a single context-sensitive menubar. There are several good reasons
for doing this:
1 - TARGETING CONSTRAINT
How easy it is to hit a target - virtual size.
2 - CONSISTENT PLACEMENT
How easy it is to remember "where" a target is.
3 - SIMPLICITY KEEPING FOCUS
Elimination of extraneous controls that are not
relevant to the current task at hand.
>> See the rest of this posting - Why Single Menubar
best regads,
john.
Hands together for the pat-your-own-back article for Gnome, thinly disguised as a discussion on User Interfaces.
We see this kind of crap all the time, seems that it's usually Gnome, but KDE tends to do it too.. A developer on (name your window manager here) posts a big ditribe about how (this or that) should be written, and behold, (our window manager here) does it perfectly!
Sheesh.
Remember, don't feed the trolls.
A perfect example of the problem with Linux for the average desktop user. Thank you.
FYI,
MOST people just want to get in a car and get from point A to point B. They don't want to deal with a manual transmission.
MOST people don't want to fly a 747. They want to get in one and get from point A to point B.
MOST people don't want to jump from a perfectly functioning aircraft.
As long as average people have to deal with that extraneous arcana to get simple (or even complex) things done, they will not use Linux on the desktop.
And when hardware and software support for desktop oriented technologies starts or continues to lag or fade because other platform providers do cater to the average user's needs, I will have no sympathy for you.
DCMonkey
The installer is always the first part of your UI that the user sees. Unfortunately, it may also be the last.
In many cases the question of "why should the end user be installing anything in the first place?" is totally ignored. No-one demmands that cars must be end user servicable. Or expects the typicall office worker to install their own network, telephone and power sockets, let alone assemble their own office using bricks, wood and plasterboard.
But suddenly when it comes to computers it's vital that everything be end user installable (even if it results in making the job of real sysadmins considerably harder.)