Slashdot Mirror


Software Usability As A Technical Problem

An anonymous reader writes "Let's face it. Poor user interface design is a big problem in software today, particularly in the Open Source world. A recent article on NewsForge addresses this problem from the perspective that software usability is a technical issue that Open Source developers can and should face and conquer, just as we have conquered other technical problems that have stood in our way." (Slashdot and NewsForge are both part of OSDN.)

139 of 551 comments (clear)

  1. not really by Anonymous Coward · · Score: 2, Insightful

    Windows has a rather counter intuitive interface, and I'm sure it is rather well funded. The menu is very slow to navigate, and can't really be customized. The desktop is clutter waiting to happen.

    1. Re:not really by hostyle · · Score: 2, Insightful

      I've always wondered about that "desktop is clutter waiting to happen" metaphor. I personally never use it in any OS. The desktop is always covered by applications I am currently using. I've never actually got the whole desktop background / image thing either for the same reason. Am I alone here?

      --
      Caesar si viveret, ad remum dareris.
    2. Re:not really by StateOfTheUnion · · Score: 4, Insightful
      But the windows interface is familiar . . . and that makes it useful to stay with the same conventions.

      Open Source stuff could leverage that familiarity by create exactly the same sort of interface with all the advantages and disadvantages it provides because that would at least be familiar to the Joe Average user.

    3. Re:not really by noname3 · · Score: 2, Interesting

      Nope, not alone at all. I've always got windows tiled over my desktop on my windows machine. Eventually, I replaced Explorer with Litestep and shut off the desktop.

      However, on my freebsd machine, ion is very nifty. It lets me keep the windows tiled but makes it much easier to swap between windows too. Plus, it's designed to be used entirely with a keyboard, as opposed to most window managers where mousing with the odd keyboard shortcut is expected.

    4. Re:not really by E-Lad · · Score: 5, Insightful

      So what you're saying is that because the Windows UI sucks, it is O.K. for anything else to suck as much, too?

      Why is it that the first reaction of some people here is to make an excuse?

      A UI that is intuitive to navigate is getting more and more important. The reason why Windows is and has been the way it has been since its conception is tha commercial companies don't like to rock the boat. I'm sure MS has come up with tons of ways to improve the Windows UI, but implementing these changes may in their eyes, upset too many customers who are used to it. I still remember certain people getting upitty when the taskbar and Start button were added in Windows 95.

      Free software, OTOH, has quite a bit more maneuvering room in this area.

      For GUI applications, the UI layout is can no-longer be considered by programmers as the sole kindom of the {Photoshop|GIMP} guy sitting over there and pass all worry of it on to him or her. Just as programmers want good APIs in their code, the Human -> Computer "API" is just as critical to good and satisfactory program and user function. /dale

    5. Re:not really by mastergoon · · Score: 5, Interesting

      No sir, I am not making an excuse. I am just pointing out, UI design is difficult for everyone, not just for OSS.

      Finding an interface that will make all your users happy, is next to impossible. I would guess that SOMEONE likes the way each app looks, but not everyone. Linux actually is a step ahead of Microsoft in this regard, due to the fact that a lot of window managers (Kahakai is nice, and we are hard at work on Aegis) are now scriptable, not to mention the basic customizations that have been around forever. While average joe doesn't know how to script up a sweet desktop, distrobution makers can whip out several different setups, and let the user switch between them, rather than the windows way of forcing their interface down your throat.

      A lot of times when I first lead people to Linux, I figure I might as well give them Gnome or KDE figuring it will be more intuitive for them. From what I've found though, people are actually much more excited about interfaces like *boxes, once I lead them in the direction of how they can edit the settings and etc. While the big windows-like interfaces may make the transition easier for some, I think a lot of people are very happy with the ability to set up their own, "new and different," UIs.

    6. Re:not really by ZZeta · · Score: 5, Insightful

      No matter how shity Windows is, one thing you can't argue is it's ease of use.

      Anyone from a five-year-old to a WWI veteran can sit behing a Windows PC and be browsing the Internet and checking mails in no-time. (mind you, i'm not arguing the risks of this)

      That is what OSS should try to learn: simplicity. Average users like it simple and straight-forward, and IMHO that's *one* of the reasons for windows success.

      --Just as important, the average user is by now used to the Windows interface, and it wouldn't be that bad of an idea to give them the power and strength of OSS with a windows-like interface which they are more comfortable with.

    7. Re:not really by SpectralOne · · Score: 3, Interesting

      I love slashdot. The first response to anything on this site is "Microsoft is to blame for everything". Has anyone considered that the reason OSS interfaces suck is because there is no incentive to do better? This stuff is free, stop complaining. If you want quality, then pay someone for a better version where the financial gain is an incentive to meet your requirements. Capitalism is evolution; the consumer plays mother nature and chooses the best product. I believe this is true, even if monopolies form (there are monopolies in nature too, they all end eventually) People didn't start using Windows 3.0 just because; it was the best choice for a consumer at the time. The reasons for "best" have now changed (ie. interoperatibility).

    8. Re:not really by Walt+Dismal · · Score: 5, Insightful
      The problem basically is a failure of vision by management.

      Most companies I work for as a contractor consider the UI design as an afterthought, an unwanted burden, or a mere exercise for the programmer who was assigned the interface screen. The development managers have been hardnosed pragmatic guys who see no sense in spending their budget on any 'needless' items like psychology and design of a proper UI. These clowns also see no sense in developing state diagrams for the control flow on interfaces. The result is often interfaces that have unlearnably convoluted navigation. This is just unforgivably bad design practice. Sometimes I have to state chart the UI to prove that the interface is broken and bad. I often see interfaces that dynamically change their functionality - same screen, but buttons and selectors come and go depending on the state, new navigational connectivities invisibly appear and disappear - all of which confuses the hell out of users.

      See, a user first encountering an interface has to build a mental model of meanings of objects, control flow/states, and navigation. Your goal as a designer or programmer is make the UI design easily learnable and usable. That's both a science and an art.

      I've also seen far too many UIs employing flashy objects that interfere with the readability. I don't care if a button looks like a 3D gem, if I can't read the friggin text label quickly and easily under the gloss, it's a failure. Yet I've seen $6 million corporate software with unreadable browser-based interfaces apparently designed by a 16 year old Web designer with attention-deficit disorder.

      Visual readability, learnability, ease of understanding navigation, three major rules.

    9. Re:not really by Prof.+Pi · · Score: 5, Insightful
      So what you're saying is that because the Windows UI sucks, it is O.K. for anything else to suck as much, too?

      No, I assume what he means is that if MS, with all its resources, has a hard time in the only area where they seem to make a serious effort, then it must be a difficult task.

      Another issue I think needs to be discussed is the way people's biases influence UI design. Some people, especially younger users, seem to think GUI==good automatically, and thus, the more eye candy a UI has, the better it must be. Conversely, they think that a less graphical interface is automatically primitive, and that anyone who criticizes excessively flashy interfaces must be an old fart pining for the days of punch cards. Such people will see lots of eye candy and get a warm fuzzy feeling, and will think that UI is "easier to use." Even though all the stuff just gets in the way, and he has to go down through 4 or 5 levels of menus and/or screens to do the simplest thing.

      Unfortunately, such people seem to dominate UI surveys, and UI designers get the message. The result, for me, is endless frustration as the UI keeps trying to "do things for me" and I keep having to hunt some setting down in the dungeons of the preferences editor somewhere to turn off yet another annoying feature.

      Speaking of which, does anyone know how to tell XP to stop rearranging menus and/or hiding half of the options? That's such a PITA -- who the hell thought of such a moronic thing?

    10. Re:not really by Oligonicella · · Score: 3, Interesting

      "Windows has a rather counter intuitive interface"

      Well, well. A rather pompous statement with no supporting argument. Not to mention that I disagree with you.

      I don't find it slow, and it can be customized.

      I have my desktop organized the way I organize my wooden desktop. Who are you to "guide" me?

    11. Re:not really by AntiOrganic · · Score: 2, Insightful

      At the very least, it sure explains why I get so many calls from clients who are confused by how simple it is to load their systems with spyware and viruses through Internet Explorer exploits.

      Unfortunately, it seems that Microsoft put way too much stock in "simplicity" and not nearly enough in "good operating system design," so the time spent on the learning curve they would save by sticking with Windows is utterly negated by the amount of time their system is incapacitated and in the possession of someone whose job it is to fix it.

      While simplicity is important, it's not the most important thing, and a learning curve isn't the biggest dent in TCO of a system.

    12. Re:not really by moexu · · Score: 5, Informative

      I have to use XP at work, and what I found made it much more usable is TweakUI from the Windows XP Power Toys. It exposes a lot of interface options that are hard to adjust otherwise.

      http://www.microsoft.com/windowsxp/downloads/power toys/xppowertoys.mspx/

      [OT:] I also really, really like the desktop manager. Virtual desktops are one of my favorite features of Linux and it's really nice to have at work.

      --
      "Seek first to understand." - Socrates
    13. Re:not really by Thing+1 · · Score: 5, Informative
      Speaking of which, does anyone know how to tell XP to stop rearranging menus and/or hiding half of the options? That's such a PITA -- who the hell thought of such a moronic thing?

      Most likely a flawed "usability study" which said people want less complexity. But taking something complex and leaving it complex while hiding the options to be "discovered" at some random future time is not really reducing the complexity: it's increasing it.

      To speak practically, here's what I do every time I install XP (I'll be thorough since I've already done it, so I'll just list the options the way I like them which shows the most information):

      Right-click on taskbar, Properties.

      Taskbar tab: uncheck "Auto-hide the taskbar" and "Hide inactive icons"; everything else checked. Start Menu tab: radio button "Classic Start menu", then click "Customize...", and check "Display Administrative Tools", "Display Log Off", "Display Run", "Enable dragging and dropping"; everything else unchecked (including the one you wanted to get rid of, "Use Personalized Menus").

      Right-click on background, Properties.

      Desktop tab: background select "(None)" (for RDPing in over a modem). Screen Saver tab: Blank, wait 2 minutes, check "On resume, password protect", and for Power have it turn the monitor off after 3 minutes (and never turn off the hard drives). This is so if I forget to lock it when I leave my workstation, there'll be a very small window where I can be "rooted" by my coworkers (it happens, best protect yourself from it). Appearance tab: click "Effects..." and then uncheck "Use the following transition effect for menus and tooltips:" (again for RDP sessions), "Use large icons", and "Hide underlined letters for keyboard navigation until I press the Alt key" (God damn who thought of that one?); everything else checked (and use ClearType).

      Hit WindowsKey+E (to start Windows Explorer).

      Select menu item View, Status Bar. Then select menu item View, Details. Then select menu item View, Arrange Icons by, Name. Then select menu item View, Arrange Icons by, and uncheck Show in Groups. Then select menu item Tools, Folder Options.
      General tab: "Use Windows classic folders", "Open each folder in the same window", and "Double-click to open an item (single-click to select)". View tab: uncheck "Display simple folder view in Explorer's Folders list" (this is the one that expands a folder when you click on the folder in the left pane; I only want it to expand when I click the plus, and of course I don't want it to un-epand the other folders I had expanded), "Do not cache thumbnails", "Hide extensions for known file types" (this opened the door email attachment viruses), "Hide protected operating system files (Recommended)" (I know what I'm doing); all others checked. Also, select the radio button "Show hidden files and folders". Then click "Apply", then click "Apply to All Folders". This will not only apply the settings you made in here, but also the View settings in the previous few bullets.

      That's all I can remember, but then there are also settings within applications that you'll want to remove, such as in Outlook XP, select menu item Tools, Customize, Options tab: check "Always show full menus". Other applications will have similar settings.

      I hope this helps. I would bet that these are all Registry entries somewhere; perhaps if I have some downtime (ha!) I'll make a .REG file out of these so the next time I set up a machine or VM I can just double-click the .REG file and be done with it. Enjoy!

      --
      I feel fantastic, and I'm still alive.
    14. Re:not really by blix5 · · Score: 2, Insightful

      You can sit the same 5 year old kid in front of a modern Linux or Mac machine, and they can just as easily surf the web and play games.
      Windows didn't sell millions of copies because of simplicity and good software development; it sold because MS has always had a stronghold on PC hardware.

    15. Re:not really by Seven001 · · Score: 2, Interesting

      I never use my desktop either. I do keep a nice background image on it most of the time though. Why not? It's nice to see when I do have to go to the desktop for whatever reason. Oddly, I use mIRC as my desktop. I've just been using IRC for a long time, and eventually it got to the point where I just left it open 24/7. I hardly even chat on IRC anymore, but mIRC's scripting language is so flexible, and a hell of a lot more customizable than Windows as a whole. It's pretty much infinitely customizable. Quick launch toolbar is also really helpful. I keep my most common used programs linked on it.

      I guess it could be said that I'm a PC neat freak. I try to keep clutter to a minimum. I can't stand too many things in the system tray. Theres usually never more than 3 icons in it - Asus Probe, Winamp, and ICQ (which I never leave open too long, only use it when I have to.)

    16. Re:not really by mattkinabrewmindspri · · Score: 4, Interesting
      Most Mac users are forced to use Windows at work. I am a college student going for a degree in Networking, and I use Windows every day.

      It's not that Macs are more effective; Windows users can probably be very effective after enough repetition. The difference is that Apple tries to take out the need for additional movement and memorization.

      For instance, Microsoft puts icons on the left, directly behind where most Windows open, so you have to minimize or hide those windows to access your icons. Apple puts icons on the right and in the dock, so when you have a window open, you can still double-click on your icons.

      Microsoft maximizes windows to full-screen. Apple maximizes windows just large enough so that you can see everything in the window, so that you can still get to things behind the window.

      Microsoft doesn't have a standard for keyboard shortcuts(alt-f4/tab to quit/switch apps, ctrl-x/c/v/z for cut/copy/paste).
      Apple does have a standard for keyboard shortcuts(apple-q/x/c/v/z/,/h/tab for quit/cut/copy/paste/undo/preferences/hide/switch apps).

      Microsoft has application preferences in some weird menu generally named "Options" somewhere off to the right, and Preferences isn't generally named anything. Apple has application preferences in the exact same place on the screen regardless of application:

      1. Mouse to 1 inch right from the upper left corner.
      2. Click and mouse one inch down.
      3. Click on "Preferences".

      You're probably very effective on Windows, but(and I know I'll get flamed for this), Using a Mac requires less thinking. With the Mac OS, Apple has always tried to make an operating system that gets out of your way and lets you do your work, and they've done a pretty good job.

    17. Re:not really by bit01 · · Score: 2, Insightful

      Agreed, way too many programmers make excuses.

      A good, basic GUI interface is not hard, it is easy. Too many programmers won't even spend the hour it takes to design. They incrementally add cruft for months and then wonder why the hell everybody complains about their program. It is a real shame the number of freeware programs out there where the programmer spends months on the code and seconds on the user interface. What a waste.

      All they need to do is keep in mind one simple fact:

      Will the naive, lowest common denominator user operating the program for the first time immediately know what to do next at every stage or do they have to be a mind reader or a detective?

      Way too many programmers do not follow that simple principle. All they need to do is storyboard the common uses of the program (starting from before installation!), see where the roadblocks are and reorganise each part of the user interface causing a problem until their are no roadblocks left. Easy. If the programmer can't imagine what a naive user would be like just pick a naive friend or relative and (mentally) run them through the program assuming they will have no prompting or help at all.

      Stop making excuses. If you want your program to be used, make it useable.

      ---

      It's wrong that an intellectual property creator should not be rewarded for their work.
      It's equally wrong that an IP creator should be rewarded too many times for the one piece of work, for exactly the same reasons.
      Reform IP law and stop the M$/RIAA abuse.

    18. Re:not really by t1m0r4n · · Score: 3, Interesting

      Has anyone considered that the reason OSS interfaces suck is because there is no incentive to do better? This stuff is free, stop complaining. If you want quality, then pay someone for a better version

      I would agree with this concept 99% of the time. Guess UI isn't one of them (for the most part). Yes, in a corporate environment for a specialized app, customization is good. However, for basic apps and those that reside primarily is userland, needing to modifying UI is a bad thing.

      The problem for me is understanding what users want. (I don't write the code, but I do chose or modify as needed.) Best meaningless example I can think of is a friend of mine. He wanted the cheapest possible computer to read e-mail and write simple papers for some classes he was taking. Set him up on a $50 box with Linux. Linux was no problem. The mozilla e-mail thing he loved (as it was way better than the LotusNotes mess he had to go through at work). He played with every word processor type thing I could find, and he hated them all. While he rarely used WinWord at work, and definitely didn't need any of the features it offered, it was what he wanted. He settled on AbiWord, used it for a while, then forked over the cash for Dell with MS Office. (And MS compatibility wasn't even an issue for these classes.) Used the thing for all of six months, wrote his handful of basic papers, and hasn't touched the computer since.

      Now, tell me, how can usability studies help?
      "Copy what they already know":
      A) doesn't improve use for future users
      B) near immitation isn't good enough

      UI is a strange monster. People like different things, and a general purpose PCs make things all the worse, as different environments have different "bests" e.g. the person writing the novel, the person writing the newspaper article, the person writing the magazine article, the business person writing the memo, and the student writing the term paper should, in theory, have different needs.

      Now, open this concept up to all the different apps and work place settings and home situations. Getting the "best" is basically the same as merging hundreds of images of pretty girls to form the perfect woman.

      I am a jerk on the topic of UI. Find the best app for the job, and tell the user to suffer if they don't like the UI. Just like finding a wife -- you may not want to look at her every day after day after day after day, but that doesn't mean you should get a divorce just 'cause you think she should be better looking.

      And that's all I have to say about that...

    19. Re:not really by canavan · · Score: 2, Interesting

      # Screen Saver tab: Blank, wait 2 minutes, check "On resume, password protect", and for Power have it turn the monitor off after 3 minutes (and never turn off the hard drives). This is so if I forget to lock it when I leave my workstation, there'll be a very small window where I can be "rooted" by my coworkers (it happens, best protect yourself from it).

      You're probably not doing your monitor a favor by turning it off and back on frequently. It doesn't matter if it's a CRT or an LCD, it's probably better not to turn them off while you're away for 4 minutes taking a leak.

      Also, if you have IDE harddisks, most of them are designed to be turned on and off at times - If you compare the specs for SCSI server disks and IDE disks, you'll find that the number of startup/shutdown cycles they are specified for is an order of magnitude larger for IDE drives (and even more for notebook drives), while the run time is usually smaller. In some cases, you actually do them a favor by turning them off at times as some clean the gunk off the heads in a special area where the heads rest - some IBM SCSI harddisks had a firmware patch to spin down and back up every few days for a similar reason if I am not mistaken. So unless cron and syslog turn it on after a few seconds anyway, you can just as well let it spin down during lunch.

    20. Re:not really by FryGuy1013 · · Score: 2, Informative

      One of the features of RDP is that you can automagically not have it show the remote desktop image. So I suggest you allow yourself to have something pretty on the background of your monitor when no applications are running.

      --
      bananas like monkeys.
    21. Re:not really by value_added · · Score: 4, Interesting

      It exposes a lot of interface options that are hard to adjust otherwise.

      This reminds of a critique I read in a recent Slashdot story a day or so ago. The argument went that editing "arcane config files" (not my quotes) is somehow less superior than neato dialog boxes with checkboxes. Your comment illustrates the often overlooked fact that even an average Windows user has probably discovered that most Windows settings (or name-your-favourite-program's settings) are deliberately obscured from view or otherwise inaccessible, and short of spending inordinate amounts of time burying one's nose in the registry and rebooting, or depending on a utility/shareware program to offer bits and pieces of what's missing, there's not much one can do.

      Yes, plain ascii is accessible as the nose on your face, and is as easy to edit as a letter to grandma, but more to the point, when considering "usability" I think it's entirely fair to factor in how much effort is expended by a user trying to figure WTF the program is doing (or worrying about what was done or wasn't done to that user's system) given that the source isn't available, the developer is definitely not available, and the "nice looking" documentation was written by committee so as to not confuse the user with too much information. Equally fair, are questions along the line of "Isn't there something I can type on a command-line that will allow me to skip this Start Menu and multiple property sheet click-throughs so I can get on with it?"

      Most of would have trouble using up all our fingers trying to count those applications we consider to be "slick" or "professional". That said, trading borked or confused menus and odd aesthetic choices on a program we downloaded for something more slick but strips the user of control is a false economy. It's also a royal pain in the ass. Considering that Microsoft is often viewed as the standard bearer, I wonder what the usability experts hired by them to come up with the endless procession of such winners as "personalised menus" would say if confronted in person with the unwashed masses shouting cries of "How do I turn this sh*t off?!!"

      Adobe, I've always believed, can do no wrong when designing their apps. Yet at the same time, I find myself turning to ImageMagick where possible to accomplish what I need and saying "No, but thanks!" to their emininently usable interface. Goes to show you can't please everybody all the time. Myself included, if that's not obvious enough.

    22. Re:not really by IamTheRealMike · · Score: 2, Interesting
      The main problem with the "make it like Windows" approach is that it doesn't work. It was tried and usability studies showed that the approach was fatally flawed - people expected that because it looked like Windows it would act like Windows and of course it did not, how could it without duplicating Windows down to the last detail?

      No, it was found (again through usability studies) that a better way was to make it look unique enough that people recognised it was new, but intuitive and obvious enough that people were able to use it easily anyway. This is the approach Gnome is taking - whether you think they've been succesful or not is a different argument for a different time ;)

    23. Re:not really by hdparm · · Score: 2, Interesting
      Oh, what a bullshit.

      In KDE, you have Control Center in |Preferences| menu, which you use to control almost all of your desktop manager settings. Most of those settings come with auto-preview, which lets you check the appearance before you hit the 'Apply' button.

      Gnome does the same and does it on the fly, as you click through different options.

      As we all know, both managers are fully user configurable, unlike Windows one.

      However, the whole usability issue cannot be looked at through 'look&feel' of the user's GUI. In all three managers mentioned above (and this applies to Mac OS X too), the problem is basic paradigm on which they were all built - windowing environment designed by (arguably) Xerox for immensly less complicated systems, where you could see almost entire system tree in a single window. Today's babies are a bit different and I think that somebody needs to come up with entirely different approach to how we do actual work using certain apps (search for and edit documents, attach them to emails, retrieve useful info from the Internet, catalogue and play multimedia and so on). What different way? Well, I have no idea, that's what we use geniuses for, isn't it?

    24. Re:not really by autophile · · Score: 3, Interesting
      This, from an Anonymous Coward. No credentials given. No "I've studied user interfaces for X years." No "I've designed user applications that didn't need manuals." Just, "Windows sucks, the menus are slow, and you can't config 'em".

      See, that's one problem. Dumbass developers who think that either the way it's done is crappy, or that WhizBang NewWay is the way to go.

      The user interface is NOT the same as code. There are often better and better techniques to do things in code. However, people themselves don't think differently (Apple slogan aside). They haven't thought differently for a few thousand years. So stop inventing new ways to display the same stupid thing, and start admitting that what's been written about UI design is valid!

      It actually applies somewhat to code as well. I can't count the times these crazy, out-of-control developers I work with come up with some insanely complicated mechanism using EJB's, databases, and discovery protocols to do something simple, like read a config file. It's like some kind of chest-beating session -- "My code-fu is better than yours!" High-schooler crap. And then when it breaks as it always does, it takes weeks to find out why. Asshats!

      Another problem. Developers are coders. They know how things work. Users are not coders. They do not know how things work. This is a fundamental disconnect between the back end and the front end. For a back end developer to design the front end requires the developer to achieve a kind of quiet zen state where they forget what they know. And despite what you may think, forgetting something is difficult to do, as difficult as asking your average WalMart WageSlave to do some calculus.

      So the idea that most developers can create a decent user interface is laughable, especially when the answer they give to most questions are pithy, asinine comments such as "Use the Source!" and "RTFM, luser!" That there is a question at all should be a clue.

      I know, I'm not giving any answers. Somehow we do need to attract UI-savvy people to Open Source. I don't know how.

      But if any developer wants to try, and at least temporarily to shut down their arrogance for the user interface as mere eye-candy, maybe they can buy (yes, BUY, don't give me crap about how open source developers can barely afford to eat; maybe they should concentrate on living instead of coding) a very nice book on user interface principles: The Essential Guide to User Interface Design: An Introduction to Gui Design Principles and Techniques. It's a good read, and it teaches you what UI elements serve what purpose, when you should use them, how UI elements should relate to each other, and how to design the overall UI.

      It's USD 55. Deal with it, or go back to high school and get a job.

      --Rob

      --
      Towards the Singularity.
    25. Re:not really by ShieldW0lf · · Score: 2, Interesting

      Most likely a flawed "usability study" which said people want less complexity. But taking something complex and leaving it complex while hiding the options to be "discovered" at some random future time is not really reducing the complexity: it's increasing it.

      I've had lots of conflicts with one of my former managers over this issue. And both of us were very good interface designers in our ways.

      As a developer, I always think of my users, and I try to develop a package that will be easy to use the third time you use it. A little challenging to get the hang of, but accomplishing any task is both fast and easy once you get the hang of it. Generally, things I build are things that will be used daily by those that will be using it, so I think this is the most appropriate thing to do.

      However, the managers have a different priority, and it's dollar driven not quality driven: They want the person that's going to sign the cheque to find it easy to use and follow during a board meeting demonstration. This means hiding all the power of the app and holding the users hand, because most of the time, the one using the app doesn't do any of the nitty gritty work in the business and doesn't know what's going on in the day to day lives of those that do.

      It all boils down to knowing your user. If you've gotten "authority figure" status in the minds of the person paying, use my approach and let them find out later how much more productive it makes their workers. Otherwise, shut up, use my former managers approach and get paid.

      This is assuming that you're the sort that cares about your users, of course.

      --
      -1 Uncomfortable Truth
    26. Re:not really by Altrag · · Score: 2, Interesting

      I'm afraid I must disagree almost entirely with your post. The "average" (ie: tie jockey in a closet working for a big company who pays MS big $$$ for many thousand copies of Windows and Word) user could care less what his or her program is doing in the background -- its the system admin's job to worry about such things. All this person cares about is being able to use Word and look at websites when they think the boss isn't watching. Most home users aren't a whole lot further ahead either (although this is changing as those of us who grew up with computers in school and everywhere else start growing up and get our own purchasing power).

      As for your examples.. I agree that personalised menus are about the worst idea seen in years. NO one likes to have their stuff randomly disappearing on them no matter how infrequently they use it.
      The command line/start menu one -- only if you find one of the folk who are actually still migrating to a GUI these days.. I've never heard of anyone who doesn't use Linux or similar 99% of their lives asking how to type a command line. While click-through "Wizards" are often much longer than they really should be, they're still far preferable to most people than having to memorize/lookup and (correctly) type a 100+ character command line.
      As for Adobe, I don't know much about their other products but Acrobat reader is (in my opinion) just terrible. It defaults to page-at-a-time so that it jumps an entire screen if you scroll one line too far. It won't let you close a standalone window if there are any PDFs open in a browser. It refuses to load half the time (has a frozen copy stuck in memory that you have to ctrl-alt-del to kill). Randomly decides to zoom in to usually 150-200% for no good reason, even when you're using the hand (scrolling) tool.
      And I've recently found that the search within a browser window at 800x600 (what I'm stuck with at work due to crappy monitors) cuts off the results box with no scrollbar to get to it. I'm sure I could go on if I felt like it. I really hope their non-free programs are better designed.

      Oh and lets not forget the documentation. Actually lets do so. Almost all software documentation (OSS included) is pretty much entirely useless except as a reference for someone who's done it before and just needs a refresh.

    27. Re:not really by drsmithy · · Score: 2, Insightful
      For instance, Microsoft puts icons on the left, directly behind where most Windows open, so you have to minimize or hide those windows to access your icons. Apple puts icons on the right and in the dock, so when you have a window open, you can still double-click on your icons.

      That's what the Start Menu is for. Not to mention apps don't "open on the left" any more than they "open on the right".

      Microsoft maximizes windows to full-screen. Apple maximizes windows just large enough so that you can see everything in the window, so that you can still get to things behind the window.

      Again, this is simply a matter of "different". Personally I *hate* the way OS X's "maximise" isn't "maximise".

      Microsoft doesn't have a standard for keyboard shortcuts(alt-f4/tab to quit/switch apps, ctrl-x/c/v/z for cut/copy/paste).

      Yes, it does (and always has). If developers don't use those keys, there's nothing Microsoft can do about it - but they _do_ exist.

      Microsoft has application preferences in some weird menu generally named "Options" somewhere off to the right, and Preferences isn't generally named anything.

      Tools -> Options. If it's anywhere else, it's a developer mistake.

      Microsoft has the same UI standards as Apple. The difference is Windows has so much more software there's bound to be more that doesn't follow those standards.

  2. Expanding market? by LeahofRivendell · · Score: 5, Insightful

    Isn't this synonymous for saying that the market for computer software has grown so much that all sorts of people are using it?

    1. Re:Expanding market? by MasterVidBoi · · Score: 4, Insightful

      No. This was a problem even when only geeks used linux. Just because you are a 1337 h4x0r doesn't mean the interface doesn't matter.

      My most recent example? I decided on the advice of a friend to try Fluxbox a few days ago. In fluxbox, pretty much all configuration of happens inside a context menu. Fluxbox was definitly designed for technical users, but that doesn't change the fact that this is *terrible* UI design. Why? let me count the ways:

      - Error prone: if you move the mouse the wrong way, you have to drill through several levels of submenu to get back to where you want to be. Similarly, when you activate a menu item with a submenu, you have to drag the mouse straight across the current menu horizontally until it enters the submenu, then drag up or down to the item you want. If you do the natural motion (drag diagonally directly to the desired item), the mouse will almost invariably cross another submenu first, forcing you to go back and re-activate the menu you wanted.

      - Bad choice of widget for the type of action necessary: Incrementing or derementing transparency levels as a menu item!? It takes ~20 clicks to go all the way from opaque to fully transparent.

      - Slow: In keeping with the previous comments, actually making this menu system work takes time and concentration. Fluxbox devs and users may think they're cool for having 'every option at your fingertips', but actually getting to those fingertips takes longer than if they had brought up a conventional window with sliders and buttons.

      There are a set of utilities that provide conventional GUIs for configuring these things, but they are quite incomplete feature-wise, and suffer from their own ugly interface problems. In addition, you have to restart fluxbox to see the changes. Things done in a preferences panel should take effect instantly, which gives the user the ability to experement easily, giving them, in effect, more control.

      There's been a lot of research done on how menus should work, and submenus really slow users down. A lot. For this reason, Apple's UI guides recommend that under no circumstances should you ever have a submenu inside another submenu, to eliminate this nasty nesting.

      Just because you or I are technical users doesn't change the fact that there are other interfaces for this functionality that are faster and more forgiving.

    2. Re:Expanding market? by bcrowell · · Score: 2, Informative

      I use fluxbox, and I hardly ever use submenus. If you don't want submenus, just edit your menu so it doesn't have them.

    3. Re:Expanding market? by GCP · · Score: 2, Insightful

      From the article:

      One of the advantages of open source is its ability to put the consumer ahead of profit.

      This is bordering on nonsense because, though OSS has that "ability", strictly speaking, it certainly doesn't have that *tendency*.

      On the contrary, companies that pursue *profits* are more likely to be interested in consumer usability because all profits come from the consumer.

      What OSS does is put the developer's needs ahead of those of consumers. If there is no profit to be had, then it has to meet the developer's needs or it won't get written. (This is personally advantageous to me because, as a developer, my preferences tend to resemble that of other developers, but that doesn't mean that their first priority is *me*.)

      A system that tends to answer complaints from its consumers with "if you don't like it, write it yourself!" is not one that I would call responsive to consumers, and the fact that they are not after profits doesn't seem to me to make them *more* responsive to consumers. It makes them *less* responsive.

      I think the best thing for usability is the entry of corporations (anyone from little Red Hat to giant IBM) into the game. These guys *are* looking for profits, and they are the big drivers behind consumer usability in OSS, for the most part.

      --
      "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
    4. Re:Expanding market? by Erik+Hensema · · Score: 2, Insightful

      In my experience, this is exacly the problem in the usability discussion. Most people completely miss the point, saying that after countless tweaks which are very hard to implement for a novice user, the system works just fine.

      IMHO, they take the easy way out. Making a system usable by default is hard. Very hard.

      --

      This is your sig. There are thousands more, but this one is yours.

  3. FC2 by matgorb · · Score: 2, Interesting

    Well i think it is true but companies like red hat did some pretty good stuff like their blue curve theme for Gnome, I mean I love Gnome, I love the spatial nautilus (in term of usability it is just a dream for me) but the default theme for Gnome that i got in Slackware was a drawback in comparaison.. I love bluecurve

  4. Duplicate? by stevenvi · · Score: 2, Informative

    How is this much different from this article posted just four days ago?

  5. Arthur Dent: Have you got a solution? by Threni · · Score: 3, Funny

    Ford Prefect: No, but I've got a different name for the problem.

    - The Hitck-Hikers Guide To The Galaxy.

  6. yeah, look at xcdroast... by Chuck+Bucket · · Score: 2

    I had to walk a newbie through it's UI the other day to burn an ISO - damn, talk about a UI that needs an overhaul. don't get me wrong, it's all I use when I need a GUI burner, and I'm responsible for burning all of our code and apps for distribution, so I like it, bu tit could use some...useability.

    But don't get me started on the apps we produce...blech!

    BFCB@$

    1. Re:yeah, look at xcdroast... by Junta · · Score: 4, Funny

      .... tit could use some useability...

      If there is one thing in this world that doesn't need useability improvements, that would be it...

      As the quote goes:
      "The only intuitive interface is the nipple, after that, it's all learned."

      --
      XML is like violence. If it doesn't solve the problem, use more.
    2. Re:yeah, look at xcdroast... by swillden · · Score: 2, Informative

      It's not actually true - some babies have to be taught to suckle.

      Pretty much all of them need some training, in fact. The rooting response, which is what causes them to seek the nipple when something touches their cheek, is instinctive, as is the sucking action once they're in place, but they have to learn how to latch on to the nipple effectively. They actually have a much easier time with the longer artificial nipples, a real breast requires them to open their mouth very wide and to place their lips well to get a good seal.

      Most new mothers also don't know how to do it, simply because they've never really seen the process, in detail, for real. Hospitals have a nurse come in and teach both mother and baby how to make it work.

      So, no, the nipple isn't very intuitive. There's actually very little that humans can do instinctively, and if you're ever around premature babies you quickly learn that they can do even less. They can't manage stuff like breathing, regulating their own temperature and body chemistry, etc.

      Face it: Outside of the stuff that's run by the autonomic nervous system, everything people do is learned.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  7. Moo by Chacham · · Score: 5, Insightful

    Software should be designed, not just coded. And interface must be part of the design.

    Personally, i like to ask the users what they want to see. Let *them* draw the screens, then merely implement it. A three-tiered approach is best, where called for. The backend should be design and implemented according toi a decent set of guidelines and rules, and the frontend should be completely designed by the user. The middle teir is where the magic should happen, even using a nasty hack here and there.

    Ultimately the disparity between those who code software, and those who use software is a big problem. Perhaps a recognition of the separate group will go a long way.

    1. Re:Moo by skraps · · Score: 2, Insightful
      Let *them* draw the screens, then merely implement it.
      Bzzzt. Wrong. Users have no idea what they want.
      The average developer knows zero about good ui design. The average user knows less than that.
      --
      Karma: -2147483648 (Mostly affected by integer overflow)
    2. Re:Moo by skraps · · Score: 2, Insightful

      At best, this tactic means that you pre-empt the user from arguing that you gave them something they didn't want. It does *not* mean you gave them a usable interface.
      The goal is to make something the user can actually use, not to eliminate a valid avenue for them to ask for improvement, or to make them feel guilty about being shitty ui designers.

      --
      Karma: -2147483648 (Mostly affected by integer overflow)
    3. Re:Moo by Jerf · · Score: 4, Insightful

      Let *them* draw the screens, then merely implement it.

      You think developers know nothing about usability? That is nothing compared to users ignorance.

      Your suggestion, while noble sounding, is a recipe for a design where every whim a user ever had is encoded as a button that does just that, nothing more, resulting in a Million Buttons design.

      Users are moderately competent at designing an expert interface but utterly incompetent at designing a beginner interface. (So are most developers, so that's not a horribly user-hostile thing to say.) And note I mean moderately literally.

      The problem is, first and foremost, that people need to understand what usability is. Here you are with a +5 comment on Slashdot and you seem to think its just a matter of drawing screens. You evidently have no clue. It goes way beyond that. It is a matter of making software easy to use.

      What is Usability? "We Don't Need Usability, We Already Listen to Customer Feedback" (at the bottom).

  8. Not just "technical" by Alex711 · · Score: 2, Insightful

    All of the technical skills in the world are useless if the programmer doesn't understand what people want (or at least would like).
    However, it is very expensive and difficult to really understand how people use things. The solution, I think, starts with taking user-friendly interfaces from other products (and not just software ... machines that people use everyday, such as TV remotes and their "Recall" button (kinda like alt-tab), can teach us things).

  9. A good book by Chairboy · · Score: 5, Informative
    A great book on the subject of the importance of software usability is Set Phasers on Stun: And Other True Tales of Design, Technology, and Human Error . The title sounds funny until you read that it comes from a story about the infamous Therac-25 where a victim (who was killed by the device) was quoted as saying 'Captain Kirk forgot to set his phaser to stun'.

    It's a collection of 20 or so stories about where human factors problems caused injuries and, in many cases, death. Poor documentation, unclear designs, and poor handling of expected user situations (for instance, the reactor technician being pinned to the ceiling by a control rod because there wasn't a safety stop to prevent supercriticallity) is serious business.

    There's more to usabillity and human factors then just 'that guy is too stupid to use linux', it can literally be the difference between life and death.

    1. Re:A good book by Anonymous Coward · · Score: 2, Funny

      a victim (who was killed by the device) was quoted as saying

      He came back from the dead? Cool.

    2. Re:A good book by hawkeyeMI · · Score: 2, Informative

      No, he had a long, miserable fight with radiation poisoning before kicking the bucket due to his massive overexposure. At least he had a sense of humor about it. We studied this case in my design/safety class.

      --
      Error 404 - Sig Not Found
  10. Yes a technical problem, but of different nature by StateOfTheUnion · · Score: 4, Interesting
    I'm not an active open source community person (just a user) . . . but I have to wonder if the open source community attracts the kind of people typically needed to create excellent interfaces. I'm talking about people that are into ergonomics, spatial perceptions and relationships for desingning interfaces e.g. psychologists, product designers and the like. These are the kind of folks that come up with familiar and intuitive interfaces and design button layouts for consumer products.

  11. Artists aren't necessarily usability experts... by Anonymous Coward · · Score: 5, Insightful

    See KJofol/Winamp3, and Trillian among others. You've got dozens of very beautiful skins for your apps that are a bitch to actually use. Visual beauty while nice does not a usable app make.

    What is needed is a consistent, predictable interface across all of a desktop's apps. In practice, this is a lot harder than just making it look pretty.

    1. Re:Artists aren't necessarily usability experts... by sparcnut · · Score: 2, Funny
      Visual beauty while nice does not a usable app make.


      Like Yoda you speak. But, agreeing with you I am.
      --
      perl -e 'print $i=pack(c5, (41*2), sqrt(7056), (unpack(c,H)-2), oct(115), 10);'
  12. usability problems aren't just technical problems by Anonymous Coward · · Score: 4, Insightful

    The author alludes to the real problem with usability and open source when he comment about egotistical mailings on the newsgroups.

    Too many open source developpers think of themselves as GUI experts. Until developpers are prepared to give up their egos and admit that while they may be shit-hot kernel coders, they know jack-shit about GUI development, open source will be stuck with poor usability. Unfortunately everyone seems to have their opinion on GUI development, and somehow believe that their opinion is right, despite having no training whatsoever in usuability engineering (does this remind you of how everyone is a 'pop psychologist', and a 'pop computer language expert'? -- it should).

    Until developpers understand that GUI development is hard, and that it's also a science with reputable metrics, and until GUI developpers are put on the same footing as other developpers in projects, open source will continue to have poor usability.

    Apologies for being so harsh on the open source world, but that's the reality of it, and we need to face that fact.

  13. Usability by Jim_Hawkins · · Score: 5, Interesting

    I like this quote from the article:

    Here's an example: Konqueror, KDE's file and web browser, has a menu entry called "smbUmount." I don't need a laboratory with video gear to figure out that this is nearly impossible for non-hacker users to understand.

    Exactly. Submit it as a bug. This is the first thing. Many of the people who work on OSS projects realize that there is a usability problem. However, nobody wants to do anything about it. It seems that many developers do not consider usability issues to be a defect in the software. As a person who is *very* interested in usability of software (part of my degree), I have to disagree -- issues with usability is a MAJOR defect. It's the reason that many people will not turn to Linux/OSS options. They are scared by the command line. They don't like it when menus in one program do not match up with menus in others. I can't say I blame 'em! (Well, I like the command line, but that's a byproduct of me being a nerd.)

    As a backup to my previous statement, I am constantly submitting usability bugs to projects when I find them. However, I am constantly ignored. WHY? There are so many things that could be improved upon and made easier so it's more appealing to the users. Why do you think Microsoft products do so well? People recognize them. They know where stuff is. There's no guesswork needed.

    And, yes, some OSS projects do this very well. Mozilla products (Firefox, etc.) are very well designed. There are minor usability flaws, but nothing that isn't easy to figure out.

    Personally, I would love to sit down with a team and work through usability issues. I would love to have someone actually show some interest in fixing these problems. However, it seems that, too many times, these issues are discarded for ones that are more technical. And, of course, the usability issues will come up again later. It's a pretty vicious cycle that needs to be stopped. If only someone were willing to do it.

    (BTW - I realize I could code these changes myself, but I do not have the necessary skills to do this. Otherwise, I would.)

    1. Re:Usability by Quasar1999 · · Score: 4, Insightful

      I'm a software developer, I work on commerical software. What you propose is great, lets fix the usability problems, and then worry about the technical 'behind the scenes' problems.

      The problem is, that there are many cases where a seemingly minor UI change to the program would downright destroy the backend. For example (and it's a crappy one, I know, trying not to overcomplicate it...) Take a look at how the clipboard works. You can copy one item of infromation on it at once, and take one item off at once. As an end user, I don't understand why I can't copy text from notepad on it, then copy an image from paint, and then paste the text I had into Word, and paste the image I have back into paint. Obviously all the changes needed would be to know what I want to paste. Problem comes when as a programmer I now have to figure out what to paste where. Text into notepad, that's easy... but what about Word... now what, image or text? Okay, lets ask the user... oh wait, I can't, because I'm not able to do any UI in another program (hypothetically here...)

      Yes it can be solved, but from a user point of view, it's minor, and from a programmers point of view it is damned complex and not worth the trouble. Let the user do two copy operations, instead of me having to write and debug thousands of lines of code that is trying to assume what the user wants (and the user will bitch about if I get it wrong anyways). Add to that most OSS developers are doing this for free, and are not going to want to rewrite their backend just for a seemingly minor UI change, which isn't going to make everyone happy, just a few people who complained.

      What some people find intuitive is complex for others... there is no happy median... there will always be UI's that are not liked by some... there is no perfect UI design out there... and very few people willing to try and find it, especially for free.

      --

      ---
      Programming is like sex... Make one mistake and support it the rest of your life.
    2. Re:Usability by swillden · · Score: 2, Interesting

      OK, the problem is that your bug is probably going to land on the desk of the dork who thought that "smbUmount" was a good idea to begin with.

      No, it's going to land in the bug database, where many people will see it, including not only that original "dork", but also plenty of other people who are able to fix it, at least some of whom won't agree with the "dork". Further, even if the "dork" marks the bug as "wontfix", it will stay in the database, and additional reports opened about the same issue will pile up. Eventually, someone will realize that something needs to be done.

      The reason I mention this is because the parent post is basically discouraging people from submitting the bug report because it may not do any good. But it certainly will do some good, even if it doesn't directly result in a fix. So please, report bugs!

      And, if you really want your reports to be effective, provide a patch, as well. Or, in this case, it would be almost as good to simply provide a better name, along with an explanation of why it's better.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    3. Re:Usability by Planesdragon · · Score: 2, Insightful

      You DO realize that the whole "clipboard problem" was solved, and solved in a very elegant and clever fashion?

      When there are subsequent copy operations without pasting, move the buffer to a new file and display a UI to select items from it.

      It's actually a great example. You don't give users what they want--you figure out their problem, and then come up with the best solution for it.

    4. Re:Usability by Ilan+Volow · · Score: 3, Insightful

      The problem is, that there are many cases where a seemingly minor UI change to the program would downright destroy the backend.

      And that's precisely why we usability folks advocate designing the UI at the *start* of the development process, so usability is there from the get go and programmers won't have to re-write zillions of lines of code.

      Unfortunately, designing UI before writing code is seen as heresy by the Unix Culture that dominates Open Source, often being referred to as a "proprietary" development methodology. And this is one of the big reasons why Open Source usability sucks.

      --
      Ergonomica Auctorita Illico!
  14. Re:Evolve by Anonymous Coward · · Score: 2, Insightful

    one of the first things they teach you in usability classes: complete customization and skinning does not equal good usability and can confuse normal users. It's best to stay with the default look-and-feel of other common programs. "normal" users want a clear interface that works and looks as expected. (Note: you and your friends are not "normal" users).

  15. The desktop is not the problem.... by Anonymous Coward · · Score: 2, Insightful

    Let's talk about applications. One glamourous example is GIMP.
    In my job I do a lot of technical documentation and I like when my work is pretty and easy understood.
    I know I can get almost any task done with Gimp, but I also know that if I use Gimp I dont get my work done - simply because the interface is too difficult.
    There's nothing wrong with advanced interfaces but rocket scientists should not have to have the skills and experience of Technical witers in order to document their project.

  16. Re:Evolve by ZZeta · · Score: 2, Interesting
    I think the problem isn't about the appearence of the interface, but rather the intuitivity of it.

    I mean: right now most OSS has lots of skins and different possible interfaces, but most newbies don't even know how to switch them on. And that's because the software isn't intuitive.

    Say you want to add a new remote printer: it's no use that the menus were designed by an artist, have several combining colors and so on, if you don't even know were to start from.

    What the community needs to start paying more attention to, is the non-geek user who would rather have it simple and straight-forward than full of options he/she doesn't even know what they mean, and how to set them.

    OSS is counter-intuitive, and even though it is making great progress, it still has a long way to go.

  17. Okay... by CosmeticLobotamy · · Score: 2, Insightful

    Maybe I missed the point, but this seems to be an article that says, "This is the problem we all know about. The solution is to fix the problem."

  18. Until people start taking human factors seriously by Anton+Anatopopov · · Score: 4, Insightful
    We will never get usable software. Very few CS courses make their students study cognitive psychology, or design, or anything else in the 'creative' area of science.

    Your average linux-using developer thinks that everyone else is as smart as he is, and that command line interfaces are a good thing. The GUI is seen as a fisher-price interface for retards.

    We need to get rid of this way of thinking. Software should be like a vending machine. You press a button, and it does exactly what its supposed to.

    Linix and Windoze have set back the cause of usable software about 20 years!

  19. Re:Evolve by dracvl · · Score: 4, Insightful

    Bollocks.

    Skinning has done more to ruin usability of applications than anything else the last 10 years. Skinning has absolutely nothing to do with usability, it's purely visual customization.

    Throwing out the menu/window paradigm is a very bad idea, as you get rid of the only thing the user will be able to re-use from other applications in yours.

    I haven't read the article yet (on my way there now), but the parent poster has no idea what constitutes good UI, and shouldn't be modded up. I assume the article has more sane advice.

    And yes, IAAID (I am an interaction designer).

  20. good graphic designers by stonebeat.org · · Score: 2, Insightful

    i speak this from experience: there are 2 kinds of good graphics designers: 1) those who have a real job; and 2) those who work a starbuck (or other coffee shops) Those who have a real job, make way too much money to care about OpenSource stuff. And those who work at coffee shops don't have enough time/money to spend on OpenSource stuff. Both of these types don't have time to write HOWTOs on good User Interface design.

  21. Recommend-a-newbie by tezza · · Score: 4, Interesting
    I think that people on the project need to volunteer friends, wives, parent to accomplish the user tests.

    This is the secret to open source stuff: drawing on the community skill. This method is just in a non 'programming-skill' oriented fashion

    If you get a Chilean developer to have his grandpa, who has no stereo vision, have half a look at it, then there'll be lots more important feedback, at least after Babelfish has done its work.

    --
    [% slash_sig_val.text %]
  22. We use the users in designing by StateOfTheUnion · · Score: 5, Insightful
    When we design systems for plants we typically involve the users . . . like for a compactor, the users demanded that two separate buttons be pressed to engage the machine and the buttons must be held down and must be located about 1 yard apart.

    Why? Because then to operate the machine, each of the users hands had to hold down a separate button making it nearly impossible for the user to inadvertently reach into the machine while it was running.

    At first I thought it was a silly thing to do that would insult the operator's intelligence (who would be stupid enough to reach into a compactor while it was running?) But one of the operators confided that it was a great idea because after being burned out from working a couple of double shift days in a row, he didn't want to loose his hand from a simple operational oversight.

    The operational interface was well recieved because we gave the users ownership in the design process. I think that the same should apply in designing software UIs.

    1. Re:We use the users in designing by Finuvir · · Score: 2, Funny

      So what we need is two buttons for every function, on opposite sides of the screen, which need to be clicked on simultaneously.

      What, that wasn't the point of your post? I see.

      --
      Why is anything anything?
    2. Re:We use the users in designing by moonbender · · Score: 2

      Actually, with software there a nice alternative to confirmation dialogues is offering an undo function. I think mostly everything should be undoable - and if possible, there should be multiple undo's in most applications. An example is the Opera browser which since version 7 at least tries to have undo available for every program function - including, for instance, closing browser windows. I can't undo sending already sent emails, though - shame! =) I'd love to see an undo function for the Unix console - of course I realize that's not exactly viable. Filesystem-internal version control would be a start. :)

      Ho-humm.

      --
      Switch back to Slashdot's D1 system.
  23. Re:Evolve by Cid+Highwind · · Score: 5, Insightful

    No no no!

    Artists give us interfaces like ATI's TV recording software. All flash and no function. The more artistic freedom an app gives to skin designers, the more time I have to spend squinting at the cryptic emblems and trying to click on the 3-pixel-wide "play" button. Look at an old version of Windows media player (before v6), and marvel at how much easier it is to use than WMP 9 or Winamp 5. It uses the same widgets as the rest of the desktop, so you don't have to spend any time at all trying to decide where to click to activate each button. Artists understand what looks good, but very few of them have a grasp of what's easy to use.

    It's better to write everything for a standard set of GUI widgets, and provide a mechanism for theming those standard widgets to look cool. That way, all your apps look consistent, and you can change the look-and-feel without having to re-learn all the interfaces.

    --
    0 1 - just my two bits
  24. KDE, Gnome, Linux... by halo1982 · · Score: 3, Insightful

    I've tried to switch over several times, and I just can't do it. KDE and Gnome get better and better, but they are still so different from the Windows I've been using for the past 14 years. I always have the same problems: I can't find things, wizards don't work properly forcing me to go to HOWTOs and the command line/conf files, and theres not enough integration between the window managers and X. I'm quite technically competent and I get better and better with Linux everytime I try it, but for the average user or your mother/grandmother there is still so much work to be done.

    1. Re:KDE, Gnome, Linux... by Anonymous Coward · · Score: 2, Interesting

      Switch from windows to mac os, and you will find yourself in the same predicament of "having to read documentation". Why does people equate resorting to the manual to "unforgivable, completely unusable" is something i don't get. Not to sound offensive but you make it sound like when you first used windows 14 years ago you didn't require to read any manuals.
      Same thing happens if you rent a car, the controls might be positioned diffrently with the sole exception of what you use to drive (steering, pedals, shifter).
      Design to emulate old behaviours is good for products that want to remain decidedly outdated. Usuability is not the same as backwards behaviour compatible. While providing some sort of emulation is good it deprives you of developing something with it's own soul. Apple seems to understand this, OSS im not really sure.

    2. Re:KDE, Gnome, Linux... by theCoder · · Score: 3, Insightful

      What you're talking about isn't a usability problem per se, but an interface difference. And you're right -- Linux and Linux programs are different from Windows. KDE is similar, but it's not the same. And it will never be. Some things will always be different -- either because of design differences or because Windows just does the wrong thing. And that's not a bad thing either.

      For me, the best way to really learn Linux is two get a second computer and put Linux on it (if you're really adventerous, put it on your only computer, but I wouldn't recommend that). Don't dual (or as I call it "duel") boot, because you'll always fall into the trap of "I know how to do this in Windows, so I'll just use that". There's still that temptation with two computers, but IMO, it's not as bad since you still have the Linux one up to use. Gradually, you'll learn more and more about Linux and how it operates (it actually is fairly logical and intuitive -- just not the same as Windows).

      You may want to use something like Putty to ssh to the Linux computer from Windows and use both at the same time. You'll learn about Linux while using the more comfortable (for you) Windows GUI.

      One other thing to remember -- you can't hurt the Linux computer while you're not root (unless, as root, you give your user account permission to hurt it). So don't be afraid to poke around (especially in places like /proc) to learn more.

      Personally, I don't think Linux has as many usability problems (at least not in general) as people claim. After all, most Linux softare is OSS, and most OSS developers actually use the software they're developing. So, the developers are the users. In that case there is tremendous user feedback and interaction in the development of OSS. It may not be usable for everyone (it may not even be usable for most people), but it is usable for someone. For example, gcc is a very difficult to use program. In fact, most developers rarely execute it directly, except for very simple compilations. Usually, the gcc command line is built by make through a Makefile (at work, we use imake to make exceedingly complex Makefiles from Imakefiles). Some compile command lines can be dozens of terminal lines long, and would be difficult to type in by hand. But gcc (and other compilers) are powerful tools intended only for experts. They really aren't intended for average users, and thus don't need to be usable for them. But they are usable (or usable enough) for developers, and work exactly as developers want.

      I think most of the perceived usability problems with Linux (and KDE/Gnome/etc) are because of different expectations by the users. KDE and Gnome are certainly very usable (I only run Linux at home now). But different expectations lead to this perceived "crisis" in usability that can apparently be fixed (I'm not sure it can ever be completely addressed). While some tools could use improvement (especially integrating with hardware), there are a lot of tools that do have good (or at least usable) interfaces.

      Anyway, sorry for the rant :)

      --
      "Save the whales, feed the hungry, free the mallocs" -- author unknown
  25. Its because developers are running the show by fishlet · · Score: 4, Interesting

    I am a developer myself, so this post is in no way meant to offend developers. However it's true that developers (generally) do not see things the same way that most users do.

    When i ponder what makes Microsoft so successful (aside from the questionably legal business practices) is that their company is not ruled by the developers but by the PHB's of this world. Microsoft invest considerable effort into researching what people are actually doing with their computers. Say what you want about them, they are actually pretty good about listening to their customers when it comes to features. By contrast, Linux developers often concentrate on scratching thier own itches which ultimately only appeal to like minded individuals. I could list several things right now that are not easily possible in Linux right now.

    I write software for a small company, and we are very blessed to have a very technically less-literate person on our staff. He is our functional expert and he gives us a lot of great feedback on our UI's. Open source projects should never underestimate the value of such a person.

    1. Re:Its because developers are running the show by bit01 · · Score: 2, Interesting

      you need a team of professionals

      I disagree in part. I've seen a number of large projects with dedicated, trained UI groups that managed to totally stuff up the user interface. User interfaces designed by committee can be just as bad as user interfaces designed by developers. I'm not sure what the silver bullet is but it's not throwing a horde of UI designers at it. Possibly the best thing to do is is to get a small number of gifted people and leverage/replicate their work massively, as Apple has done. That's the nice thing about software; somebody needs to do it once and then it can be easily copied a million times.

      ---

      It's wrong that an intellectual property creator should not be rewarded for their work.
      It's equally wrong that an IP creator should be rewarded too many times for the one piece of work, for exactly the same reasons.
      Reform IP law and stop the M$/RIAA abuse.

  26. Maybe we should be taking hints from games. by Gldm · · Score: 4, Insightful

    Is it just me or are video games way ahead of other apps on user interface? These days most people can pick up a game and given the general type (fps, driving, rts, rpg) have a pretty damn good guess at the interface. It's not that the game authors have agreed on a standard interface for each genre, it's that they've figured out the things that frustrate new gamers the least so they enjoy the game more with less manual reading. When was the last time you had to read a game's manual to actually jump in and play it? I mean just the basic playing around, not the detailed stuff.

    Why haven't desktops and apps incorporated advances from here? Let's take an old RTS, say Command and Conquer. The designers figured out how to make a USEABLE virual desktop that DOESN'T SUCK! You can navigate around this huge screenspace and the radar keeps track of where you are. Also, how do they handle things similar to launching apps? Well there's a sidebar full of big easy to distinguish one click icons, and a set of tabs at the top that switches what set of icons is displayed by type (units, buildings, etc). Seems pretty easy to figure out to me. Want to quickly get back to the thing you were last working on? You can designate hotkeys with ctrl+number an then pressing the number jumps back to it. Some RTS's have seperate select and change focus but all seem to use a similar hotkey system.

    One of the things that keeps me happier with windows than linux is the at least moderate effort at standardized interfaces. Most apps of simlar types have similar interfaces and I don't have to relearn all the terms that someone decided to use THEIR names for. Every time I see a custom media player or something with this horrible neo-future interface on windows I cringe, because it's such a bad idea. I don't want to spend time relearning how to use a media player just so it can look cool, I want to watch media with it. On linux it seems every app suffers from this "I want to look unique" urge, or a complete lack of asthetic design whatsoever. So your choices are pretty and confusing or ugly and confusing.

    --

    Introducing the new Occam Fusion! Now with sqrt(-1) fewer blades!

    1. Re:Maybe we should be taking hints from games. by 0x0d0a · · Score: 2, Informative

      Is it just me or are video games way ahead of other apps on user interface.

      I think it's just you, but let's take a look.

      Let's take an old RTS, say Command and Conquer. The designers figured out how to make a USEABLE virual desktop that DOESN'T SUCK! You can navigate around this huge screenspace and the radar keeps track of where you are.

      The goals of C&C are not that of a desktop. You can do C&C-style virtual desktop stuff by just having an enormous virtual desktop under xorg -- move your mouse to the side of the screen and it scrolls. It's not that popular -- people usually use multiple viewports. Among other things:

      C&C has a very simple imaging model -- just the locations of some static sprites. It doesn't have any sub-processes running. To try to scroll a pixel at a time in xorg or Windows (assuming you aren't using the abovementioned large virtual desktop), and you'll have a ton of different processes having to redraw windows. You could use the Mac OS X approach of buffering everything, but that consumes huge amounts of memory.

      C&C users are always using their mouse. They never need to type for a while, and thus have no reason to "throw their mouse to the side of the screen", as many windowing environment users like to do.

      The tasks windowing environment users are doing are frequently more complex than C&C users (such as working on data in both a web brower and a word processor). Certain configurability is provided to help deal with this, like the ability to layer windows and place them spatially close to each other, so that no edge flipping is required. In C&C, if one is working with two things on different parts of the map, there is no dragging -- one must scroll.

      You can navigate around this huge screenspace and the radar keeps track of where you are.

      Almost every virtual desktop environment that I've seen has a pager.

      Also, how do they handle things similar to launching apps? Well there's a sidebar full of big easy to distinguish one click icons, and a set of tabs at the top that switches what set of icons is displayed by type (units, buildings, etc). Seems pretty easy to figure out to me.

      People have added docks to windowing environments. Basically, the main problem is that unlike C&C, one doesn't require very-low-latency access to start apps (one doesn't start apps as frequently as one queues up more units in C&C). One does use the additional screen space effectively, though. Also, even in C&C, scrolling the dock could become a problem, and I have vastly more applications than C&C does buttons.

      Want to quickly get back to the thing you were last working on? You can designate hotkeys with ctrl+number an then pressing the number jumps back to it.

      Not a bad idea. A few window managers can do this.

      One of the things that keeps me happier with windows than linux is the at least moderate effort at standardized interfaces. Most apps of simlar types have similar interfaces and I don't have to relearn all the terms that someone decided to use THEIR names for.

      Ironically enough, Microsoft makes up quite a bit of unnecessary terminology for their own software.

      Every time I see a custom media player or something with this horrible neo-future interface on windows I cringe, because it's such a bad idea.

      That's ironic -- I would have said that Linux is ahead here. Of the media players that I know of for Linux, there is xmms (pretty much identically bad to Winamp 2, and Winamp 3 is much worse from a consistency standpoint, much like Sonique). Other than that, most people use a *single* other application under linux (mplayer or VLC or xine) that plays all their media with the same interface. Under Windows, users need to learn QuickTime (bad interface), Windows Media Player 9 (bad interface), RealPlayer (really bad interface), and whatever their DVD players is (thus far, all the DVD p

  27. Re:Evolve by FosterKanig · · Score: 2, Insightful

    Sort of responding to all the responses, not necessarily this post.
    Usability is having the majority of features that normal (not programmers) use easily accessible. And then a layer below, have all of the power/complexity you want. Think of what the majority or normal users use the majority of the time. It's not that hard to do if you can just step back from yourself. Adding cool geek functions on the top level does not make the program better. It makes it more confusing.

  28. Re:Evolve by AchilleTalon · · Score: 3, Insightful
    Do you really mean you'd like to see and use a GUI designed by Picasso?

    When contemplating a paint or sculpture from Picasso, you may be there and think for minutes trying to understand what Picasso was thinking while doing this paint/sculpture.

    So, I don't really think you really mean artists, but rather than designers. That's not quite the same.

    --
    Achille Talon
    Hop!
  29. Re:Yes a technical problem, but of different natur by Cerebus · · Score: 5, Informative

    Apple's Human Interface Guidelines is a good place to start, and is online for free.

    It represents many years' worth of HID research. It's not the end-all, be all of HID, but it's one helluvalot better than nothing.

    --
    -- Cerebus
  30. Re:Evolve by stickb0y · · Score: 5, Insightful
    Attract artists.

    Usable doesn't mean pretty. Pretty doesn't mean usable. Artists can add aesthetic polish, but if they don't know anything about usability, they'll just make the problem worse. Look at Kai's Power Tools or the various other applications that try to look happy or fun but end up being totally non-standard and difficult to use.

    Write your software so that it can be expanded with skins

    Skins are not a solution to usability. Skins are a punt. To me, skins represent everything that's wrong: the software developers doesn't feel like spending the effort to time on design and doing usability testing, so they throw on a skin system and let the user deal with it.

    How many users actually go create their own customized skins? And most skins out there usually cater more to aesthetics than utility.

    Plus, there's the perpetual problem where every application has its own skin, and nothing is consistent with anything else. If necessary, global themes should be used for personalization; per-application skins are a mess.

    Write your own GUI widgets instead of dragging and dropping something from your existing library.

    Good lord, no. Please, please don't reinvent GUI widgets. Lack of consistency is one of the problems, especially in the OSS world where there are a zillion and one widget toolkits. Do you want a dozen different textboxes where some of them allow copy/paste and some of them inexplicably don't? Or maybe some of them can't handle Unicode, or maybe some of them don't have keyboard shortcuts to select text, or who knows what else.

    Standardize. Stop bickering, stop wasting time reinventing things, and then everyone can focus on real usability issues.

  31. Consistency vs. Flexibility by graiz · · Score: 4, Insightful
    There is no UI that will ever satisfy 100% of the people who use it. In a closed source OS you sacrifice UI flexibility for consistency. Not everyone is happy but the UI can be built consistently to satisfy novice users and intermediate users.

    In an open source world everyone can customize the software to suite their needs so you sacrifice Consistency and Usability for Flexibility. Advanced users are happy but novices loose out.

    If you want to improve usability in Linux or other open source projects you need to put someone in charge of the UI. Linus is the de-facto gatekeeper of the kernel but the UI seems to be fair game for just about anyone.

    (A Former MS UI Guy)

  32. Re:OSS has no user interface problems (for me) by damm0 · · Score: 2, Interesting

    I am sick of hearing "I'm not a normal user." It is true that most users are not software developers, however there is a very wide range of users, with a very diverse range of needs.

    What this means is that people who call for "similar applications" and "uniform experience" are just kidding themselves. The software I use and write works *very* well for me. Is pandering to a specific audience a problem? Or am I obliged to write software that I can't use?

  33. The Simpsons by BiggerIsBetter · · Score: 4, Funny

    Remember Homer's car?

    --
    Forget thrust, drag, lift and weight. Airplanes fly because of money.
    1. Re:The Simpsons by geekoid · · Score: 2, Interesting

      the problem with that, wes they let him engineer it.
      Some of his idea were good.
      Bigger drink holder.
      Better viewability.
      That's Useability stuff.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  34. Re:Yes a technical problem, but of different natur by Speare · · Score: 2, Insightful

    The OSS community is fragmented, and values "do it yourself" too highly. Developers don't ASK for designs (other than skins and icons), and they ignore any interaction designs you offer them. I'd like to see that change, but honestly, I see little hope. There are very few people who can both design for the user AND implement the design.

    --
    [ .sig file not found ]
  35. Consistency by zaphod_bee4 · · Score: 3, Insightful

    The real key to Good UI design is consistency. Many open source projects have unfinished features, differing UI conventions and throw the user curve balls. This can be expected for testing and non stable releases. However any release labled stable build or 1.0 and so on should have a clear consistent UI and NO I repeat NO unfinished features.

    This alone would help greatly. When a user downloads a stable build binary he should never see a menu that doesn't work or a radically different approach to a task that doesn't fit with the rest of the app. CVS snapshot builds and testing builds are a different ballgame.

    Also Stable builds need to be clearly marked as such and stressed as the "polished" version.

    1. Re:Consistency by 0x0d0a · · Score: 2, Insightful

      Many open source projects have unfinished features, differing UI conventions and throw the user curve balls. This can be expected for testing and non stable releases. However any release labled stable build or 1.0 and so on should have a clear consistent UI and NO I repeat NO unfinished features.

      Frankly, I've found commercial software to generally be worse off with v1.0 releases. There are lots of pieces of OSS that slowly climb the ladder towards version 1 for a *long* time.

  36. Re:Until people start taking human factors serious by kin_korn_karn · · Score: 2, Insightful
    Open source is full of people that are completely out of touch with reality.

    The people who are involved in OSS have outright contempt for those who 'merely' use the software and think that everyone should want to type things like
    ls -la |grep foo > foo.txt
    to do their job - and that if they don't they're mindless idiots that aren't worth considering the opinion of.
  37. Open Source still has a long way ahead... by NotAHappyCoder · · Score: 2, Insightful

    ...before it can compete in usability with commercial software.

    The company I work for, generally sees Open Source as a good thing. But very often we choose commercial solutions just because they offer as a far better usability than those available for free.

    Few months ago we tested OpenOffice.org against MS Office. We found out that OO.org was significantly slower than MSO, when running on not-so-modern hardware. Our users also found many problems in normal day-to-day usage. For example creating a document with a working table of contents was quite difficult for many of our users. With only a few clicks they usually managed to totally screw up their document.

    Also OO.org sucked really bad in compatibility with MS Office. Almost all Word and Excel-documents our clients sent to us during that testing period, were displayed wrong. Only those with no embedded objects, pictures and tables, were displayed correctly.

    I'm not trying to bash OO.org here. I'm merely trying to point out that it still needs a lot of work to become as good as MS Office is.

  38. Re:Evolve by santiag0 · · Score: 2, Funny

    I was going to mod you insightful, but this slashdot interface is too complicated to figure out.

  39. Developers: It's all about the freakin' Users! by MooseByte · · Score: 5, Interesting

    "Personally, i like to ask the users what they want to see."

    EXACTLY! Sometimes the users don't see the Big Picture and have old habits they want to keep around, but more often in my experience it's some boneheaded developer's choice to squander resources to "improve" an interface without ever actually investigating whether the users will get any improvement at all.

    On my latest project (in-house application) I've actually had to go head-to-head with our senior developer (not a software engineer) over how the interface should look and work, me going to bat for the users.

    The users of the new application want it to look and function in a manner that suits the way in which they need to operate day in/day out. Simple, straightforward. I prototyped it for them and they loved it.

    Our senior developer then told me no, we're going to do it using MegaSuperKewl WizBang crap, something the users were fundamentally opposed to (it would actually tangibly interfere with the way they use the data in production).

    I'm hardly junior myself - 11 years fulltime S.E. - and figured screw it, I'm not going to watch this abomination progress unchallenged. I arranged a meeting between the users, the senior developer and myself. The conversation was hilarious. I asked him to explain to the users how his design would improve their productivity. Let your imagination run wild and you'll come close. The users won in the end, but it was hard fought

    But then the same week I had to argue, yes ARGUE, to store constants to be shared across applications in a common header file. The same fellow argued it would be much easier to hardcode it in each application separately. A heated 20-minute meeting later, I get to store the constants in a common header file.

    I *WISH* I was making this stuff up. My life is a Dilbert strip.

  40. Re:Common User Access by Lispy · · Score: 2, Informative

    IBM had some interface nightmares of it's own. Good to see they learned their lessons.

  41. Re:Yes a technical problem, but of different natur by digitect · · Score: 4, Insightful
    I'm not an active open source community person (just a user) . . . but I have to wonder if the open source community attracts the kind of people typically needed to create excellent interfaces.

    It doesn't. I'm an architect and I regularly observe UIs that have no sense to them whatsoever. Open Source acts usually as a meritocracy and I've never found a coder who was willing to redesign his entire application because the UI sucked. It's not a chicken and egg problem (as other posts around seem to indicate) since the UI always comes last.

    I once considered starting a project that designed application interfaces for tasks that were needed in hopes that some coder would come along behind and actually write them. (I had a great idea for a clock that doubled as a date/location/world time zone applet.) But we have no influence. UI is considered like the body molding tacked on to American cars half way through a model's life to re-energize sales. It's never considered as an integral part of the design the way someone Porsche does.

    --
    There is no need to use a SlashDot sig for SEO...
  42. It's funny but... by Gldm · · Score: 2, Funny

    A friend of mine went through alot of effort to get his racing wheel to be able to control his mp3 player, so he could just spin the wheel with his foot from his bed and not have to get up to change tracks.

    Someone once told me "The two required qualities of a successful programmer are laziness, and hubris." :P

    --

    Introducing the new Occam Fusion! Now with sqrt(-1) fewer blades!

  43. Re:Evolve by Prof.+Pi · · Score: 3, Insightful
    Artists give us interfaces like ATI's TV recording software. All flash and no function.

    Presentations went through a similar trend. Thanks to Powerpoint (mostly), the emphasis shifted from conveying the essence of your ideas simply and succinctly to making things pretty. It really was due to the laziness of audiences: if your slide had lots of colors, then it must be good -- they weren't really paying attention to it anyway.

    My advisor got into that trend. It started when he told one of the grad students to add some color to the slide, which was a block diagram. "What color should I add?" was the somewhat sarcastic response. It didn't matter; any color would do, as long as it was exciting. (No, there were no differences between the blocks that could be expressed by color.) Then he had some of our undergrads do some presentations. One guy went wild, throwing in pointless animations and sound effects that did nothing except show off his Powerpoint skills. But then the advisor started encouraging this from everyone.

    Fortunately, most people didn't go for the over-the-top stuff, but they still would do things like put shadows on boxes in block diagrams, even if that meant using smaller boxes, and therefore smaller fonts for the text. So who cares if the people in the back can't read your slide -- it's pretty!

    Some of the best presentations I saw, BTW, were by someone who was giving an extemporaneous talk, and was drawing diagrams with a single marker on a clear sheet.

  44. We Need Scalable UIs by G4from128k · · Score: 5, Insightful

    What apps and OSes need is scalable UIs - UIs that scale as the knowledge level of the user grows. A total novice, non-technical, casual users should be just as comfortable and productive as a hard-core, 80-hour-per-week developer. This has not happened yet because there are two distinct camps in UI development. Profits in the mass market drove closed source, mass-market software to create useability on the low-end. The natural interests and abilities of its contributors drove open-source to create useability at the high end.

    The biggest challenge to scalability is creating inuitive metaphors or abstractions between the human interface (i/o modalities) and underlying digital constructs that does not get in the way of the power-user. Apple's early OS effort were great for the novice, but derided by more experienced users - the UI was not scalable in the upward direction. In contrast, Unix/DOS/CPM was fine for power-users, but it arcane command interface made it not scalable in the downward direction.

    I suspect that the answer will be concepts like Mac OS X that combine GUI and CLI elements. But even OS X is not as scalable as one might like because it is really an intuitive Apple GUI grafted on to a separate powerful *nix CLI core. Although novice Mac users can "graduate" to the command line, the transition is not smooth -- using Finder does not teach one how to use ls, cd, mv, cp, rm, etc. Rather than being scalable in a continuous sense, Mac OS X offers interfaces at two different scales - the intuitive GUI and a separate power-user CLI.

    Perhaps future OS/app UIs will be truely scalable -- early GUI use will seamlessly teach the user and help them slowly become more powerful users. Developign scalable UIs will require contributions from both novice-oriented usability experts and power-oriented developers. It will require forethought and coordination so that the disparate elements of the system are "consistent" without being inflexible.

    --
    Two wrongs don't make a right, but three lefts do.
  45. Usability 101 by k.ovaska · · Score: 2, Insightful
    On our "Usability 101" course at university, we were taught this process: figure out a set of goals that users have with the software; prioritize them and desing the application to make it as easy as possible to meet the goals. The whole visible structure and workflow is based on the goals. The set of goals must be complete enough to cover all uses, but should not have repetition. There might be different kinds of users who have different goals.

    Details such as good menu labels are just that, details. They have to be worked out, but first the structure of the program must support the goals.

    Usability testing is a fairly good way to spot errors in desing, but tends to bring up problems in learning the program. It doesn't need to be fancy, get a user and ask him/her to accomplish some goals. We practived it with videotaped paper simulation. No large numbers of test users are needed. After 5-10 users (even less for small applications), the problems that are brought up start looking the same.

    The are design patterns such as "give user an idea of the whole when looking at a part of a document (or whatever)", an example being the scrollbar that hints about the current position and the length of a document. A good book would cover these.

    Designing good UI is not something that can be learned in 5 hours. I agree some good free (as in beer) book would be good. I think usability is a problem for open source, because even if an "expert" would give usability comments on a project, there is no guarantee anything significant will happen (and restructuring a program is significant). OSS people generally don't like to be told, "look, you have to code like this". I think the expert should be prepared to code himself, or better, that leading OSS developers would themselves be educated on usability and able to desing good software from the beginning.

  46. D'oh - dumb article, solveable problem by Animats · · Score: 5, Insightful
    That's not an approach, that's a pep talk that says nothing. "Usability is a relatively new matter for us". Like, hello, Mac programmers have been doing this for two decades. We need to hit the "I am l33t because I can use a command line" people with a clue stick.

    Ten things you can do to make your program at least tolerable for end users:

    • No funny key combinations. Repeat, no funny key combinations. Everything must be accessable through the menus. Yeah, I know you want to be able to bind any control key combination to any function. Don't. It doesn't really speed up use anyway. Read Apple's old studies on this. People blank out on the 500ms they're thinking about the control key combo. And never, ever use keyboard toggles that don't have a permanently visible state on screen.
    • If it's undoable, you don't need a confirmation dialog. If it's not undoable, you need a confirmation dialog. Make it undoable if at all possible.
    • Distinguish clearly between severe and non-severe errors. "You are about to change your font to sans-serif" should look very different than "You are about to permanently delete all your files".
    • The user should never have to tell the computer something it already knows. This is basic, and routinely violated in the Open Source world. The user should never have to fill in a blank when the computer can find out what goes in that blank. Offer a choice if necessary. Yes, much of this comes from UNIX's crappy approach to system administration. Work on that.
    • If you need a database, use a real database. Flat files are so 1970s. Databases work today. The most troublesome apps in computing, BIND and Sendmail, are both database apps with a bad homebrew database. Provide for database validation and recovery.
    • Anything that can get itself into a bad state must be able to get itself out of that state. No more having to delete "XUL.mfl" every time Mozilla screws up. Anything with cached data must get this right.
    • If you try to be smart, make sure you're not being stupid. Try entering data into an OpenOffice spreadsheet. If you have something like "12 VDC" somewhere in your spreadsheet, and you type "1", it fills in "12 VDC". Which you have to erase. Every time. Now go try that in Microsoft Excel. Microsoft's wizards will fight you once, but if you override them, they give up.
    • Modal dialogs should be short and clear. They consist of a statement of the problem and a suggested corrective action.
    • Get the subtle stuff right. Grey out the options you can't use now. Show in the menus whether something is off or on.
    • Be rigorously consistent about how things appear to work, even when it's more work for some cases.
    1. Re:D'oh - dumb article, solveable problem by Animats · · Score: 2, Interesting
      You lose about half a second when the window bar is part of the window. With the Mac's single menu bar, the target is aligned with the top of the screen and easier to hit. If the menu isn't at an edge of the screen, there's a substantial performance penalty.

      Microsoft's "Start" button is particularly bad, because it's not quite at the screen corner. If it were, you could click it without looking.

    2. Re:D'oh - dumb article, solveable problem by wirelessbuzzers · · Score: 2, Insightful

      No funny key combinations. Repeat, no funny key combinations. Everything must be accessable through the menus. Yeah, I know you want to be able to bind any control key combination to any function. Don't. It doesn't really speed up use anyway. Read Apple's old studies on this. People blank out on the 500ms they're thinking about the control key combo.

      As a person who is (mildly, for now) affected by RSI, I must disagree with this, at least for power users. I do most of my work (at least, when I'm on an operating system which allows it) without the mouse, and generally learn the keyboard interface for a new tool as quickly as possible. This is because I find it both faster and easier on the wrists to use the keyboard for most of my work (programming). Unless I'm designing a human interface myself, I have very little use for the mouse because programming requires lots of text input and no mouse input.

      For the occasional thing that the novice would use a menu for, I probaly have my hands on the keyboard already, and so even if there were half a second delay to think up the key combo, it would still be more convenient than the mouse. (Usually, I bind intuitive key combos so that this isn't an issue.)

      For a window manager, I use Ion, which entirely violates your usability thesis: most of its features cannot be accessed using the mouse without a good deal of scripting, but on the other hand, almost all of its features can be accessed extremely quickly from the keyboard. While its model is not so intuitive as the one pushed by Windows, and it takes some getting used to, it is much easier and much more comfortable to use once one is used to it (and in my case, has customized the settings).

      As a result of its terrible practices of hiding mouse interfaces and indicators, and its preferred model leaving out things like overlapping windows, Ion wastes very little screen space, and one can navigate to a given window with only one keystroke (two if it's hidden or on a different desktop), which once you've been using it for a month or so is much faster than one mouse click.

      Thanks to Firefox's interactive searching and generally good keyboard navigation capabilities, I don't even have to use mouse there (although I often do anyway; for web browsing, it's just as fast as the keyboard).

      I must say that I'm an Apple user also, and that I like their (mostly, see rant elsewhere) transparent metaphors and simple configuration, and I often find Open Source Software to be lacking in these categories. But you must remember that in general it is written by programmers, for programmers, and not for novices. If you're going to be using a tool fairly often, the most obvious interface might not be the best one.

      --
      I hereby place the above post in the public domain.
    3. Re:D'oh - dumb article, solveable problem by wirelessbuzzers · · Score: 3, Insightful

      I actually would like to add one more bullet point to this list, which Microsoft in particular seems to get wrong a lot.

      Have command buttons that describe an action, whenever possible! "Save" and "Don't Save" is one hell of a lot better than "OK" and "Cancel"! If you name the buttons after actions, the user doesn't even have to read the dialog most of the time.

      --
      I hereby place the above post in the public domain.
    4. Re:D'oh - dumb article, solveable problem by anynameleft · · Score: 2, Informative
      No funny key combinations. Repeat, no funny key combinations. Everything must be accessable through the menus. Yeah, I know you want to be able to bind any control key combination to any function. Don't. It doesn't really speed up use anyway. Read Apple's old studies on this. People blank out on the 500ms they're thinking about the control key combo. And never, ever use keyboard toggles that don't have a permanently visible state on screen.

      Keyboard shortcuts are useful. The Delphi IDE is a good example. For me, it is routine to press Ctrl-S (save) before I press F9 (run). You know, during debugging the IDE can crash, and you don't want to loose your changes with that, do you?

      One could do the same thing by clicking the Save button and then the Run button, but it simply takes more time, even if the buttons weren't as small as they are now. So if one would throw away the keyboard shortcuts from Delphi, I would probably never save anymore before running (takes too much time). And we all know that isn't a very good idea.

      On the other hand, for keyboard shortcuts to work, they should be consistent, very consistent. For example, take Windows 98. In almost all applications you can use Control-S to save your document. There is one exception to this, and it is called Notepad. If you press Ctrl-S in it, nothing happens. And this is very bad, because I have often been editing webpages with Notepad and asked myself why Internet Explorer wouldn't show me the things I changed.

      The user should never have to tell the computer something it already knows. This is basic, and routinely violated in the Open Source world. The user should never have to fill in a blank when the computer can find out what goes in that blank. Offer a choice if necessary. Yes, much of this comes from UNIX's crappy approach to system administration. Work on that.

      This point is a very true one. If you use Windows and want a good example of this, look at the top two of these screenshots. On the left one, you configure the ports and IP addresses on which the server starts listening. Then, on the right you can map folders to these sockets. Now look at the right screenshot, and especially at "On IP address:". Does it make sense that there is an edit box after it?

      As I developed this UI, I thought it does make sense. You could either enter an IP address from the Ports tab to do real virtual hosting, or you could enter a domain name for HTTP header based virtual hosting (now that I look at the sources again, I removed the HTTP header based virtual hosting...) However, it is still bad usability. It is used for two kinds of entries, and what do we have for that: the radio button. So if this would be properly designed, you could choose the appropriate virtual hosting method with a radio button, and then you could either enter a domain name, or choose an IP address from a drop-down list. And of course the entry that you shouldn't use is grayed out.

      Great that I have now found out one more usability problem in my application, but I only did because of this article. Normally you, as a developer, code and make sure the UI works for you, and maybe you even make sure that it looks clean and simple. Yet looks can certainly be deceiving.

  47. Usability resources by darkpurpleblob · · Score: 3, Informative

    From the article:

    But If I want to learn how to write phrases understandable by users or what colors to use that still allow color-blind people to use my software or how to best name categories for efficient navigation, I can do nothing but listen to people's opinions in the matter. Where is the open source community's pool of facts and knowledge covering usability issues?

    Bulls***.

    There are numerous books and resources on usability. For example:

  48. Re:usability problems aren't just technical proble by cleverhandle · · Score: 2, Insightful

    Somebody mod this AC up, please. He is stating a simple fact, which most coders will admit - most coders can't design UI. Is there proof of this? Not exactly, I guess. But I know in my experience that I'm so into the architecture of most technology I use that I have very little idea anymore of what "hard" and "easy" are for a regular user. When a friend/coworker comes to me with a problem, I'm frequently surprised at the problem's existence at all. The solution to me seems intuitive. Yet at the same time, I'll see the same user perform other tasks that seem clunky to me without any issue. I'm happy to admit - I should not be designing a UI. I don't have the training, and the more I learn about everything else, the further I get from "normalcy".

    The NewsForge article flatly contradicts my opinion, yet offers no evidence whatsoever. It's nothing but cheerleading. "They say we need experts to design usable interfaces! I say we just need to try harder!! Rah! Rah! Rah!" Go on, write some HowTo's, file some more bug reports. But the whole point of the AC's comment (and mine) is that you have no point of reference for your solutions. The FOSS model is powerful, but it needs to face up to its limitations as well as celebrate its strengths.

  49. How boring! by tchernobog · · Score: 3, Interesting

    It has to be the tenth article about OSS and usability that I see in a couple of months (and at least two were mentioned here on ./).

    Listen, as someone pointed out: if there's a usability problem, fill in a bug report. This is OSS real force.
    We are all a bit lazy. If something don't fits your needs, fill in a bug: it is like black ink on your dress, you HAVE to have it fixed, or what sort of programmer are you?! :)

    Moreover, I think that's still the same old story: who says "command line is good enough for everyone, and if you don't like it, it's a problem of yours" versus "mouse is beautiful, why should I use that keyboard? It'll bite me, if I touch it!"

    Well, I'm for: keep them both. For example, I noticed that in Kdevelop you haven't key accelerators when debugging your code. This is a problem for me, so I'll fill in a bug report, and I'll point it out.

    See Emacs: you have menus, you have toolbars. Me, I spent some time learning the keyboard shortcut, and I never ever touch the mouse anymore! That's fine for me, and that's fine for the newbie, because the UI is there to help him.

    As always, FS is about freedom, expecially to choose. And since we are here to get better, if you want it "your way", speak with the right people (the devs), don't just complain! OSS is about community, take part in it, don't just sit on the bench criticizing.

    (Sorry for the awful english)

    --
    42.
  50. Re:Yes a technical problem, but of different natur by StateOfTheUnion · · Score: 4, Insightful
    This is what I was afraid of when I posted the original post . . . Personally I get the impression that a lot of open source folks create great applications for themselves or their peers . . . few seem to want or to know how to write applications for the average joe.

    Perhaps there is an unspoken rule in the community that "easy user interfaces" = "simplistic programming" and perhaps that causes one to lose points in the open source "meritocracy"?

    I really like your idea of designing interfaces for tasks and then developing the code to support the interface next. It implies that the user's need is defined first by the design of the interface. This locks the programmer into coding in a way that meets the user's need exactly as specified by the UI. It's a shame that didn't take off . . . But perhaps that doesn't leave enough creative freedom for the programmers to feel the project is "fun" enough to work on.

  51. Re:"simple" == unneccessary complexity? by Lord+Bitman · · Score: 2

    while a one-button system might work for a device, it does NOT make for good software. You have just demonstrated a very good reason why actual UI designers are an absolute requirement if OSS is going to move forward: even if you try to think of a good UI, and dont write any code at all, you wont know when to stop. You'll create crap.
    Good UI design doesnt come from the ass, it comes from working with things, talking to others who work with things, and improving apon them. OSS should be perfect for this, but we dont have any place for people to make UI suggestions, and we dont have UI designers who would be able to read, filter, and combine those ideas.

    Nobody can come up with a good user interface. Everybody, on the other hand, that's a different story. The trick is finding out how to get everybody.
    When you're talking about writing code, it's simple enough: It's open-source, send a patch.
    When you're talking about using the product of that code, it's an entirely different matter: people who send patches probably shouldnt be trusted with their UI suggestions in the first place ;)

    --
    -- 'The' Lord and Master Bitman On High, Master Of All
  52. What about common sense in UI design ? by master_p · · Score: 3, Insightful

    Everybody says how difficult it is to design the proper gui. I think that if a little common sense is applied, then guis can be functional and pretty at the same time. Here are some tips:

    1) don't clutter things closely together; provide the proper spacing between elements of the gui. KDE/Gnome severely violates this rule.

    2) use soft colors. Harsh colors make the user tired very soon.

    3) Use bitmaps and labels that have a clear meaning to the user, not to the developer.

    4) Be consistent with interfaces. The File menu should be there to open/close files; Ctrl+S must save the current document etc. There are lots of established conventions that work really well.

    5) group similar things together (similar by concept).

    There are really good sites with lots of examples of what or not what to do. But I don't think it is extremely difficult to make a GUI. All that is needed is plain common sense. I am a programmer, but people never complained about my GUIs.

  53. Microsoft gives fish, Apple taught to fish by 0x0d0a · · Score: 2, Interesting

    Switch from windows to mac os, and you will find yourself in the same predicament of "having to read documentation".

    Apple once held up the idea of the user never having to read a manual as a goal for their software.

    Apple's now-unfortunately-defunct help system (Apple Guide) was what I consider to be one of the best UI creations in the desktop world. Microsoft took a "wizards" approach, where they slap a basic interface up to allow the user to accomplish a simple task. Often, if this was what the user wanted to do, they could accomplish the task quickly. Unfortunately, they had no idea what was done in the "regular" interface to accomplish this task. Their knowledge did not transition to the regular interface, they did not learn how to do something very similar but different from what the wizard allowed, and sometimes they couldn't figure out how to accomplish the a particular element that they could manage through the wizard in the regular interface. In short, Microsoft gave the user a fish.

    Apple Guide was a much, much better design for the user in the long term, though it might be less immediately satisfying. Instead of popping up a wzard that hid the regular interface, Apple Guide walked the user through accomplishing a task *with the regular interface* so that they learned how to use the regular interface. This is much slower the first time or perhaps two times, but after that the user knows how to accomplish his task using the regular interface. It is much easier for him to become an "expert" with the software, and he requires less technical support in using the software.

  54. How Sourceforge/Bugzilla can help usability by 0x0d0a · · Score: 2, Insightful

    True.

    A way that software might support this behavior would be the ability to create "usability reports" and file them in Sourceforge or Bugzilla, and have bugs that simply refer to elements in them.

  55. Re:Until people start taking human factors serious by swillden · · Score: 4, Insightful

    Open source is full of people that are completely out of touch with reality. The people who are involved in OSS have outright contempt for those who 'merely' use the software

    This is insightful? It's pure crap. There are certainly people who wrote OSS who do have contempt for the "mere" users, just as there are plenty of people who write commercial software who have contempt for the users. In general, though, developers of end-user applications, whether OSS or commercial, feel no such thing. They want their apps to be usable, because it's really cool to have lots of people using your stuff. That doesn't mean they know how to make software usable, of course. Wanting to and knowing how are different things.

    ls -la |grep foo > foo.txt

    Very bad example, though. The above is fantastically usable... find me a GUI app that can accomplish the same purpose as quickly and easily. The above is an excellent demonstration of the difference between ease of learning and ease of use. The UNIX command shell is extremely powerful and easy to use, but it is not necessarily easy to learn.

    An easy to use interface is one which makes it possible to accomplish the desired tasks quickly and easily, without unnecessary steps or wasted motion.

    An easy to learn interface is one which allows the user to accomplish the desired tasks without training (or significant effort to figure out how). Note that this concept is fundamentally different from ease of use in that while ease of use is an absolute (for a given task set), ease of learning depends heavily upon the user's other experiences and is achieved mostly through similarity.

    These two axes of ease are nearly orthogonal, although they often seem to be somewhat opposed to one another. There are plenty of examples of apps (particularly in the Windows world) that are easy to learn but hard to use, and lots (particularly in the UNIX world) that are hard to learn but easy to use, but there are also a precious few that are both easy to learn and easy to use (many of them in the Mac world, actually). And there are an unfortunate number that are both hard to learn _and_ hard to use (Easily found on any platform). I'm sure if you think about it for a moment, you can come up with examples in all four categories.

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  56. Re:Yes a technical problem, but of different natur by iabervon · · Score: 2, Insightful

    I think there are plenty of people with those skills who would like to help out. The issue is that they would need to learn to code and become familiar with the internals of the project before they could actually change things as systems are done currently.

    My feeling is that the useability issue will be solved once UI implementation doesn't require any significant coding. At that point, users with ideas about how UIs should be done will work on projects.

  57. Graphic designer != user interface designer by 0x0d0a · · Score: 4, Insightful

    Graphic designers generally suck at user interface design.

    User interface design is wildly different from graphic design. As a matter of fact, there are probably more industrial designers that would do a better job of doing software user interface design than graphic designers.

    I'd say that a lot of awful websites out there were due to people with traditional publishing and graphic design experience trying to apply old knowledge to the Web and failing.

    1. Re:Graphic designer != user interface designer by Anonymous Coward · · Score: 2, Insightful

      " Graphic designers generally suck at user interface design."

      That's true. However, ultimately graphic design helps make an interface succeed or fail. At the very least, it clarifies the elements of a GUI and puts the user at ease. I feel much more relaxed in front of Aqua than in front of Win2K.

      Ultimately, I think it's easier for an artist to learn interface design, than for a programmer or interface designer to learn art and graphic design.

  58. Re:Until people start taking human factors serious by IntlHarvester · · Score: 3, Insightful

    Very bad example, though. The above is fantastically usable... find me a GUI app that can accomplish the same purpose as quickly and easily

    It's a good example, but not for the reasons you are thinking. GUIs don't do this because it's a completely uncommon task. (If anyone actually cared, it would be easy to add a "save as text" button somewhere in a filemanager.)

    However, the CLI Fanclub can't get past the the idea that a GUI is crippled because it can't do the stuff nobody really wants to do anyway. They are completely confused between the concept of a "user" interface (make everyday tasks easy) and a "programmatic" interface (be infinitely flexible).

    (Now someone's might come at me about how they use grep/find 300 times a day, but do they really do that more than simple directory browsing or copying random files from point A to point B?)

    I think the original poster was being a little extreme, but you do get the idea that Unix Filemanagers are developed for "other people" and not for "us" or "everyone".

    --
    Business. Numbers. Money. People. Computer World.
  59. Re:Until people start taking human factors serious by swillden · · Score: 2, Informative

    It's a good example, but not for the reasons you are thinking. GUIs don't do this because it's a completely uncommon task.

    I disagree that it's at all uncommon. I think it's very common. The reason end users don't demand it is because it's foreign to their way of thinking about computers and how to use them. I've seen people many times searching through a document, looking for some word and then writing something about each location. About the only thing unusual about the example is that it presumes that only a single line of context is required.

    Really, I think the way most end users think about how to use computers is a negative result of the document-centric model. They don't think of data as really manipulable, because they're used to looking at a document surrounded by icons and menus that define the totality of what can be done with it. I don't know that that's really correctable without an inordinate amount of education, but I think that it's fallacious to look at the features provided by common apps and assume that anything not in the list isn't something people do often. It may very well be something they don't realize they can do, or wouldn't understand how to use effectively if it were given to them. But something that would be useful if they had it and understood it.

    However, the CLI Fanclub can't get past the the idea that a GUI is crippled because it can't do the stuff nobody really wants to do anyway. They are completely confused between the concept of a "user" interface (make everyday tasks easy) and a "programmatic" interface (be infinitely flexible).

    I use both GUIs and the CLI, bouncing back and forth all day long, using each for the tasks for which it's best suited. I don't think either is inherently better for all common tasks (and, of course, the CLI excels at many uncommon tasks which aren't worth coding a GUI for).

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  60. system versus apps by bcrowell · · Score: 2, Insightful
    I think your example of the clipboard is an important one, because it touches on the interface between the system and apps. In my view, most of the most severe usability problems in OSS are system problems, not problems with applications.

    I just gave my father a Linux machine as a present. He is not a computer ignoramus. He's a lawyer, but he used CP/M for years, and is at least conversant with the idea of using a command line. The biggest problem he's running into is that I gave it to him configured for 8-bit color, and now he can't figure out how to get it to work with 16-bit color. I haven't been able to solve the problem for him over the phone, either. He doesn't need help using Mozilla; it's basically the same UI as IE. He doesn't need help with AbiWord; it's the same as every other word processor.

    For me as a Linux user, the big frustrations are all things that are the fault of the system, not the fault of the person who wrote the end-user GUI apps. Some programs (e.g., Pan) only fully support the control-C/control-V style of cut and paste, while others (e.g., Emacs) only support the traditional X-Windows version. The lack of standardization of the interface is a system-level problem.

    Another example is shared library hell. It's not the fault of the person who wrote a GUI app that the latest version of the Pango library wants its data files in a different place than the old one, and gives a misleading and worse-than-useless error message. Printing is another example. How many people do you know who boot into Windows every time they need to print, simply because setting up printing on Linux is too much of a hassle?

    There are many layers of software below the application level (libraries, X, the kernel), and the problems are almost all down there, not at the app level. That shouldn't surprise anyone, either. There is no centralized authority to tell people how to write Linux apps according to certain guidelines, and the people writing libraries don't have a boss to tell them, "No, goddamn it, you are not allowed to break binary compatibility twice in a month!"

  61. Horrible idea by 0x0d0a · · Score: 2, Insightful

    I subscribe to the tenant, "Your application should look like the standard applications in your environment." If you are in windows, make your application menus like Microsoft Word as much as possible.

    This sounds quite reasonable, and honestly, I probably would have tried something like this if I hadn't seen what it does.

    It's actually quite a horrible idea.

    The problem is that much of the time, very popular applications make interface mistakes that then get propagated.

    For example, Microsoft regularly "beta tests" new interface elements for the next version of Windows in Office or MSIE. People consider that "since something is in Office, it's okay", they promptly duplicate it. This has led to duplication of a lot of interface mistakes on Windows. These include "smart menus" that reorder themselves, progress bars that move in non-minimum increments, animated icons to indicate ongoing tasks, rollover-highlighted toolbar buttons, wizards, multi-row tab bars, etc.

    Also, many times behavior in one place is not appropriate in another. If you are using an interface guideline book instead of other software to help you choose what to do, at least the reasoning behind each decision can be included attached to the behavior to assist you in knowing when that behavior should *not* be used. For example, the classic MacOS flashes a menu item several times after it has been selected. This is not eye candy, but to help allow the user to determine which item has been selected, and to correct from errors in choosing the wrong item. If you simply saw this behavior, and were writing a game with custom widgets, you might think that *every* clickable item should flash several times after being clicked.

    There should be a set of interface guidelines in place desktop-environment-wide that are sufficient to usually determine how to do something. This has worked well for Apple (who used to be King of User Interface), and is currently being used for GNOME and KDE.

  62. no one has enough money for $oftware. by twitter · · Score: 2, Insightful
    [graphic designers] who work at coffee shops don't have enough time/money to spend on OpenSource stuff.

    Like they have enough money to keep up with Adobe and Apple? The designers I know are bummed out that they can't afford the software they were trained on in school. Introducing your favorite graphic designer to free software would be the biggest favor you could do for them.

    Oh yeah, doing a little free design work is one way for an up and coming designer to get exposure. They don't need to write howtos for anyone.

    --

    Friends don't help friends install M$ junk.

  63. We should be able to solve this by PotatoHead · · Score: 2, Insightful

    I would like to throw out a couple of observations here:

    I have found the very best programs are those built into two parts; namely, the command line part and the GUI wrapper part. Take a look at the SGI Indigo Magic desktop utilities and programs for very good examples of this. Of particular note is their software manager application. The command line is 'inst'. It is text based and can do everything from a terminal. The GUI portion is 'swmgr'. It simply wraps around 'inst' and presents a good interface.

    The nice thing about this is the choice the user has. Running remote on low bandwidth, or want to script something? Use the text only portion. Perhaps a number of advanced operations need to be performed, such as new installations, or upgrades that break the GUI. Also use the text version.

    Have a nicely running box and just want to organize and manage some software, perhaps install something new. Use the GUI and perform the task with ease.

    Don't like the GUI? Well, write another one that does what you want in ways you want it to. Nothing breaks as a result and you don't have to talk with the people who wrote 'inst' in the first place.

    Sure there are exceptions, like OpenOffice.org, so lets set those aside for a moment. I am not sure how well this approach would work for a large application like this.

    However, most of the little programs people want to use are easily done in two parts. Doing this splits the work in that the geek developers can get the technical part done. Nothing really gets in the way of their innovation because they can leave the equaly hard GUI development to others.

    Distributions, and corporations can build GUI interfaces that make sense without having to directly involve the core developers of the project.

    Seems to me this fits in with both UNIX and FS/OSS core ideals.

    1. Re:We should be able to solve this by grumbel · · Score: 2, Insightful

      The command-line + GUI part however won't work much good for anything more then rather trivial stuff. Command-line tools are just far to inflexible for this, making it hard, slow or even impossible to get correct data out of them (ps auxw output is outdated already as it gets printed, find ... | xargs ... won't work for filenames with newlines in them, many utils output 'ascii art' (statusbars and such) stuff that one has to filter away or even interpret, etc.).

      Sure for some of these things there are workarounds or even fixes, but in general the simple nature of command line tools makes them a rather bad choice as the basis for a GUI where one would need automatic updating of the displayed info as soon as it changed and such.

      IMHO a more correct way to solve this would be to seperate all functionality out into a library and consider the command line tool to be just what it is, another user interface to the libraries functionality, just like the GUI. That way pretty much all problems could be solved while still providing both GUI and console tools, while neither of them would be limited by the other. However for this to work, people would need to cleanly seperate the functionality and that always involves some more work than just crunching a UI directly into the 'functionality'. There also seems to be some kind of philosophical difference between GUI and console people, both of them almost completly ignore the other in their design, leading to quite a huge gap between GUI and console tools, instead of a smooth translation as it should be.

      KDE already has some support for calling its functions from command line, so there is hope, however pretty much all command line tools for daily use still lack a GUI counterpart or visa verse.

  64. Re:Yes a technical problem, but of different natur by IamTheRealMike · · Score: 3, Interesting
    Yes, I'd say it definitely does.

    There are already a lot of replies to this post saying "no definitely not, OSS developers are all elitest ignoramuses" because it's easy to sound insightful when criticising, but really what they're saying doesn't stack up. It might have been right 3 years ago but the improvements made since then have been staggering.

    A lot of software has been rewritten or redesigned with usability being core. Example: grip was deemed a lost cause as far as UI went, so Sound Juicer was written instead. XMMS was deemed fundamentally flawed so Muine and RhythmBox were written. Gnome has adopted a pervasive HIG and while it may have a few rough edges still it's arguably more consistent than both Windows (hands up if you read the Windows HIG - thought not) and even Apples (brushed metal or aqua - what mood is Steven in today?).

    Today, if you want, you can get software that's had well thought through usability. That doesn't mean everybody uses it, but it's certainly available to those who want it.

    Now, there are some big remaining usability issues in free software but these tend to be structural/architectural. For instance Linux software installation is frequently very difficult and it's not easy to solve without a great deal of engineering.

    On Windows the GIMP user interface isn't anywhere near as good as on Linux, despite the GIMP 2 itself making great strides over the 1.2 release in absolute terms, the different (arguably worse) Windows WM model and UI paradigms aren't accounted for and there aren't enough Win32 Gimp developers to give Gimp/Win32 an excellently integrated UI. Or at least, not rapidly.

    This is more a side-effect of the Gimp being most popular on Linux and the core developers all using Linux though, rather than any fundamental insight into the nature of open source. I've seen some pretty crap ports to Windows UI from commercial companies as well - for instance, the laughable QuickTime 4 which not only made zero effort to integrate with the host operating systems UI but also committed quite a few usability sins like the thumbwheel.

  65. Re:Until people start taking human factors serious by 6Yankee · · Score: 2, Insightful

    ls -la |grep foo > foo.txt

    [...] The above is fantastically usable... find me a GUI app that can accomplish the same purpose as quickly and easily

    Agreed, it's fantastically usable - if you know what the hell any of that means. Of course, that means that if you don't know the first thing about ls, it isn't particularly usable.

    I've ranted before about trying to print double-sided from a Linux/KDE machine, spending half an hour reading man pages, and finally booting up a Windows box and clicking a radio button marked "Double Sided". All because someone thought that sticking a command line in a pretty box with an OK button makes it usable. No, dammit, give me radio buttons.

    What I could never understand was why, for the love of $DEITY, couldn't we have both? You can go straight to a command line, and I can play with my pointy-clicky button things (and maybe watch the command change as I do it, and just maybe learn something about lpr...)

  66. Re:The real issue at stake here? The File System. by Neduz · · Score: 3, Insightful
    I think you're comments on the "file system" are wrong. First of all, you're not talking about what "file system" technically means. Strictly filesystems are OS independent. Out of all OSes Linux can probably handle most of them. Of course there are some "typical linux filesystems" such as ext2, ext3, reiserfs, xfs.

    What you're commenting on is the Unix vs Microsoft way of handling files/folders. And if your argument is intiutivity: take a look at Mac OS X, it's also based on the / structure. Some things are just more easy with this way of working. Especially mixing rw an ro partitions, network partitions, ... transparent to the user/applications. If you log in to a *nix box with home directories which are actually located on some nfs server, you'll find them under /home/youruserame. If you look for a program, you'll find it under /usr/bin. It doesn't matter if it is a rw partition on your local harddisc, or a nfs partition on some server, or even a ro cd, it's in /usr, where you expect it to be. With windows its a lot less intuitive to find My Documents on C: at box A, on D: at box B, and maybe on Y: at your work. Even worse if you want to install a program on a network disc. If you want to install it on M:\program files\, but the windows dll's are on E:\windows, you're really fucked. And nowadays most computers have more than 1 harddrive partition. In the old days A: was the floppy, C: the harddrive, D: the cdrom. But today I find computers with C, D and E are harddrive partitions. F and G are cdrom and dvd. J and I are shared music and movie drives, and M some online webspace. You call that intuitive? With the "everything is in /" structure you can have a /usr on the local disc, /usr/bin on a ro local disc, /usr/lib on a nfs share, it's just more flexible.

    And to find your files, just use common sense: most Linux user mount their cd's under /mnt/cdrom, or /mnt/dvd, a floppy is usually: /mnt/floppy. Install programs in /usr: the executable goes in /usr/bin, /usr/sbin if it's a static one. Shared objects go in /usr/lib. Files belonging to a particular user go in /home/username. In that directory you can create folders for you text documents, multimedia files, ... in whatever way you want. If you want to share those files with other users on the pc, create a directory like /public.

    I agree that at first the structure on a unix system looks like chaos, you seem unable to find anything in it. But when you understand some of it's basics, you see how logical and powerful it is.

    Manuals is another discussion, and for every project the documentation is different. But IMHO the Gimp documentation is good.

    --
    This is one lame signature, please read the message above instead.
  67. Maturity by BorgCopyeditor · · Score: 3, Funny
    From the article:
    Our backends have matured.

    They have a pill for that sort of thing now, you know. Technical problem indeed.

    --
    Shop as usual. And avoid panic buying.
  68. I feel for you. by geekoid · · Score: 4, Interesting

    I started working at a company a few years back. When I got there, the developer had written an application to replace the users 'green screen' interface.
    The user where data entry where they never looked at the screen, much less the keyboard. we're talking about 100's of pages a day of entry.

    This software engineer had created an application that was almost completly mouse driven. The tabbing wasn't in any order, you had to use the ouse to drop down to any option, to select were the document is sent to, etc...
    They went from 100's of docs a day to dozens.
    The software engineer always blamed the users, and said what he did was 'standard'.

    I went in, fixed the tab order, and assigned keystrokes to all the options. The same keystrokes that had been used on the previous app.
    It took me a week, when the engineer found out, he blew a gasket. Screamed at me, mostly at my back, since I don't tolorate that behaviour, then up to the Sr. Managment team.
    When I got thir, he had them all convinced that I had broke the app, made it unusable, and it would takes "years" to fix it.
    So there I am, looking at a Sr.VP, a Jr VP, and an HR person. I'm not stupid, I know what they had in mind.
    The converstaion went like this:
    VP: "Did you make all these changes to the application?"
    Me: "yes"
    VP: "did you consult the engineer?"
    Me: "yes, he said that the mothod they were using was a 'standard'"
    VP: "I think you may have stepped out of bounds"
    Me: "excuse me, I need to use your phone."
    [Calls the data entry manager]
    "hi brenda, I'm here with some VP's, can I put you on speaker phone?"-"Great"
    ME: "Brenda, what was the user average per day for document input before the new system"
    Brenda: "About 700"
    ME:"And what was it last month?"
    Brenda: "about 80"
    Me: "I see, and what was it last week after the new changes went in?"
    Brenda: "I haven't finished the report, but I'd guess about 700"
    Me: "Thanks Branda, that what I needed."

    The VP excused me. later i the week I got a promotion to fill the former engineers position.

    The point of this story? User interface is for the user. Give them what they need, to do what they want.

    You should hire me, we could fight the good fight together. ;)

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  69. KISS : Keep It Simple, Stupid by cjmnews · · Score: 2, Interesting

    We need to be developing software that has an interface that is initially simple, but can be more complex if needed.

    Slashdot is a pretty good example of this (no I'm not using it as a way to be moderated up). Initially you can simply use it for information gathering. Everything recent is one one page, the left hand column has the basic method of reducing the mount of information into simplified "Sections". As you may know, (or maybe not you may be a new reader here) you can reduce the amount of useless information by creating a login, and setting your preferences to see the information you want on the main page and limiting the comments you see on articles to those (for example) moderated level 3 and above. If you want to get more complex, try responding to articles and getting modded up. If you want more complex try getting submissions published!

    Another example I have seen recently is Adobe Photoshop Elements which is picture editing software. I use primarily the first 4 menus of this software for my photos. My brother, an artist and an owner of the full version of Photoshop, used the first 4 and remaining menus when building the graphics for his website that I maintain on my computer. The simple items are near the front (to the left) and the more complex items are to the back.

    A more embarassing example was when I had my Non-techie wife testing a new version of my brother's website I was building. I had put in some fancy Javascript tricks I found at Dynamic Drive to bring up larger pictures of the thumbnails within the same window to "simplify" the user experience. When she used these pages, she found them more complex and less useable because they were inconsistent within the realm of a web page. Needless to say I ended up ripping out all of the Javascript and creating 40 new pages to simplify the interface. My even less technical mother approved of the new site with the Javascript removed.

    --
    You can lose something that is loose, so tighten the loose item so you don't lose it.
  70. Speaking Heresey by coaxial · · Score: 3, Insightful

    Now you may want to call me a heretic, a troll, and a baiter of the flame, but listen my brothers and sisters to what I am about to speak none the less.

    Many have you say, "Linux isn't any harder to use than windows/mac." That my friends is a lie. Still many more of you say, "Linux is almost there!" Again, I say that is a lie. I know! I have been using Linux since 1994. It has suckethed in the past, and it sucketh today. Has it improved, yes, but it is still quite bad. While I can only speak for the state of GNOME, I can say that it is actually becoming harder to use in the name of useability. How you ask? Why the file chooser dialog has no filename entry. Support for typing filename or URIs, things that have been included in everyone of the filechoosers ever developed is hidden under arcane keystrokes and even then lack the support of 2.4. Abilites that distinguished the GNOME desktop from others have been removed in recent years inorder to make it "more intuitive", which is merely a synonym for "poorly cloned in the broken in the way of Redmond".

    The linux user experience is one of confusion and inconsistency. Applications don't look the same. Applications don't behave the same. Applications having improper interface criteria ("Edit|Preferences"? Why would I look for configuration details in the same menu that I use copy, paste, and search the text in?) Installing packages leaves them unconfigured, or configured with broken defaults. Too many times, the user is forced to enter commands at the terminal, or edit cryptic configuration files. Things that should be automatic aren't.

    I postulate that this situation could be be resolved with a two pronged approach. First, a distribution that doesn't try be the One True distribution with every conceivable package in it. It should have one desktop environment, one office package, one media player, one emailer, et cetra. In short, one and only one of every software type. This simplifies package configuration, and enables almost complete autoconfiguration.

    Secondly, all the user applications must be tightly integrated. There shouldn't be a mixture of say Gtk, GNOME, wxWindows, and Motif applications. All applications be of the same toolkit and of the same desktop enviroment. This will help make the user experience more cohessive. Unfortunately this isn't enough either. There has been developments in some of the required software that seem to be actually detremental to the user experience. Either a new enviroment will need to be developed (*bleh*) or perferably patches against an existing enviroment/applications developed. (Think Ximian, only not based on a cult personalities.)

  71. ** Users should not design UI ** by count0 · · Score: 2, Insightful
    Because they almost universally don't know what they really need. Asking them to draw screens is great - but don't take it as gospel.

    Instead you need to understand that Feature requests are symptoms of goals. If you follow up a particular feature request or screen widget with 'Why' you'll be able to design a UI that actually meets their needs, instead of something that they think will meet their needs.

    ps developers shouldn't design UI either. That's why we have user researchers, information architects, interaction designers, ui designers, etc. Even if someone is able to code and to design (very very rare) there is a significant conflict of interest between design and implementation.

  72. Re:Until people start taking human factors serious by swillden · · Score: 2, Insightful

    What I could never understand was why, for the love of $DEITY, couldn't we have both? You can go straight to a command line, and I can play with my pointy-clicky button things

    I think that's where we're headed. The trend with OSS stuff seems to be that every feature is provided at three levels: A CLI interface, for shell users, a GUI interface, for GUI users, and a library, for programmers (and, incidentally, used by both the CLI and the GUI interfaces).

    We may not be getting there fast enough, but I think that's where we're going.

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  73. Usability Problems: Why Linux can't win by i-Chaos · · Score: 2, Interesting

    The biggest reason why Windows has a definite edge over Linux in terms of adoption is because of its user interface for configuration. For example: In Windows, if I want to add something to my startup sequence, all I have to do is add it to my aptly-named Startup folder.

    Poor user-interface design was what kept me away from using Litestep as my Windows Shell replacement I couldn't just drag things where I wanted them, but instead had to go in and edit some configuration file. Expose users to settings in different graphical menu systems - that's what they were designed for.

    I myself know that I have a great sense of usability when it comes to wetware-software interaction (I, Robot reference ripped). It's unfortunate that I don't have all the necessary skills to help a project. Would love to do some free design/consulting work for a project, though, if I was taught how to do the whole design process.

    --
    ...I am proof that intelligent beings are not always intelligent...
  74. YOU can't solve the Problem by yawgnol · · Score: 2, Insightful


    You can't solve the problem, because you don't have the skills to do it.

    It's NOT a technical problem. It's a problem of DESIGN, which is different. So OSS programmers can make some kick-*ss software, but most people are not going to be able to use it unless someone gets humble fast and says, "Oh f*ck, I don't know how to design ANYTHING because... I'M A PROGRAMMER! I need a DESIGNER!"

    I know it's hard, and it takes a project leader with almost saint-like patience and humility to let his/her project be co-designed from conception to completion by someone who knows close to nothing about programming, but that's the only way. You're not a designer so just suck it up, and if you want your software to be popular, and useable by people, make sure a user interface designer is on your team and do what they tell you to do.

    Also understand that you are going to have to do almost double the amount of work you would normaly have to do to get a good interface. Don't get mad at your designer... It takes a lot of work. You will have to grit your teeth and do strenuous amounts of work to get something that satisfies your designers' requirements. Don't bitch about it, just do it. That's how it works. It's hard, and yes, most of the work is going to fall on the programmer(s).

    But in the end, the reason why Open Source hasn't taken over MS is because of the UI and the marketing. Linux? Most people can't use it. I mean, I've used *NIX, and I hate it. Most people do. In fact, most people don't even bother to learn it enough to hate it. What non-programmer is going to commit 300+ commands to memory just to search and type and use email. Uh, yeah.

    So don't be so full of yourself. You can't do everything well. Beg, borrow, or pay a designer, do the work, and watch people actually start using your sh*t.

    Then you can get an open source MARKETER and start REALLY doing some damage to MS.

  75. Getting rid of "configuration" by Animats · · Score: 2, Interesting
    One of the biggest problems with the Unix/Linux world is an obsession with "configuration". Most users could care less about "configuration". Most of the things you can "configure" should either be automatic or on-demand.

    Printing, for example. You should never have to "configure" a printer. When you try to print something, you should be offered a list of available printers. The system should find them. If the system doesn't have the tools to find printers, why should the user be expected to do it? Maybe you have buttons like "look for more printers", or "ask neighboring machines for help finding printers". But the user should not be typing in IP addresses or installing "drivers".

    Yeah, this takes some programming work. But it saves the user work. That's the idea.

  76. The Palm Pilot Example by dbIII · · Score: 2, Interesting
    I really like your idea of designing interfaces for tasks and then developing the code to support the interface next
    Not such a silly idea - the Palm Pilot design started off as a block of wood and a pencil, then the actual device was developed to fit the form factor of the handiest sized block of wood.
  77. Not all coders hate usability... by CreateWindowEx · · Score: 2, Interesting
    While I'm a not an OSS developer, I definitely find that as a software engineer I am as interested in interface usability as I am in software architecture. I think there is quite a bit of overlap there, because the design of a programs structure and internal APIs is another form of designing a system to be usable, although by other developers (or yourself, if you work at multiple levels within your projects as I do).

    Making a subsystem robust, flexible, and easy to use is a very similar challenge to making a good user interface. Both are hard but not unsolveable problems--you just have to spend some time thinking before you rush to start coding.

    While it's not good to design the UI last, it is possible to design applications with a hard wall between the "guts" of the application engine and the GUI--besides being a good software design principle, this allows multiple GUIs to be created, and would make it easier for people like you to contribute to OSS projects.

    Another point that has been already made but needs reinforcing--artists are not designers! (and most "web designers" are not designers either) The GUIs at work that I've seen that were dominated by an artist are often worse than the programmer-designed ones--lots of pretty borders that take up valuable screen real estate, hand-built art bits to make every screen different from every other one in slight ways, button schemes that only work with four-letter text labels, etc, etc.

    Anyways, if you want to perservere, and you have access to a Mac (as I think you might if you're an architect), is to install the developer tools that come with OS X (called Xcode in the current version). There is a tool called "Interface Builder" that lets you design user interfaces by dragging buttons around and making connections, that can actually form GUI prototypes that can even have limited functionality. If you made an awesome looking "dummy" application and put it up somewhere along with a well-thought out control flow diagram or other document, I bet some programmer might say "hey, that would be really cool if it worked" and add the neccesary code. Hell, I probably would! ;)

  78. FLOSS Can't Solve All Technical Issues by nathanh · · Score: 2, Interesting
    A recent article on NewsForge addresses this problem from the perspective that software usability is a technical issue that Open Source developers can and should face and conquer, just as we have conquered other technical problems that have stood in our way.

    FLOSS is a really good development model when the software can be incrementally written in a distributed manner. Linux works because the majority of work in the kernel is in maintaining the drivers; small and independent chunks of code. Debian works because of packages; without packaging, Ian says Debian would never have succeeded.

    Projects that require a big bang from a small group of people do sometimes occur with FLOSS but it's much rarer. And I think those projects are far less successful. The last example I can think of was the DRI; it took a small team of very dedicated people to invest a lot of effort before there was a result. The barrier to entry (the knowledge required to contribute) with the DRI is very high so progress is slow. It's not possible to just jump in and fix something small. You have to spend ages learning how it all fits together.

    In my mind, the way to solve the "UI problem" with KDE and GNOME is to figure out how to break the problem into smaller independent chunks. Then just sit back and allow the distributed model of development take over. 1000s of programmers each contributing 10 lines of code has the same coding power as 10 programmers contributing 1000 lines each but it's only possible if the problem can be broken up into 1000 independent chunks.

    Maybe UI design isn't one of the problems that can be broken up that way.

  79. There's no such thing as 'intuitive' by jandersen · · Score: 2, Insightful

    People keep talking about 'intuitive' as if they knew what it was; and most of the time it turns out that it is just another word for 'cool'. A lot of things would be a lot better if application designers would concentrate a little less on making the 'perfect' Fisher-Price look or implementing their own, private 'vision' of how the world ought to function. We have enough primadonnas as it is.

    To achieve usability, I find that it is much better to focus on a few things:

    1. Simplicity. It helps a lot if the application simply does what it says on the packet. Please note that simple is not the same as 'not advanced' - it just means that it does what you expect it to do. An electric drill is simple, even though it is a complex piece of mechanics - a Swiss Army knife with toothpicks, saw blades, compass and that pointy thing you can't figure out what is, is not simple, even though it is just some bits of metal stuck together.

    2. Extensibility. When you have learned the basics it should be possible to add things in one way or another. Again, the function of an electric drill can be extended little by little as the owner gets more competent and/or wants to do more.

    3. Discoverability. It shouldn't be necessary to learn-by-guessing a new ideographic script in the form of icons. This means there has to be documentation and a help system - and preferably one that isn't limited to some moronic context sensitive help. It's amazing so often you need to do something out of the immediate context.

    4. Configurability. Quite contrary to common belief, people actually want to be able to customize and configure far more than developers want to let them. Yes, in the first few hours too many options may be intimidating, but very soon people get over this and want to make changes. Some applications manage this by providing more than one configuration interface - one simple, where the system sets a lot of defaults, and another where you have full access.

    Some might think that these things conflict with each other. Like, how can it be simple, if the user can configure a million parameters? Well, provide sensible defaults, of course, so people are not forced to learn everything at once - but another thing to remember is, that a simple tool is also one that is adequate for the task - if you have to configure something that by nature is complicated, then the tool has to give you access to that complexity. As Windows so abundantly illustrates, it can get very complicated if the configuration tool is inadequate; and in Windows you often come across the sort of tool that is too simple, but at the same time cumbersome to use, where it would have been so much easier if only the configuration has been kept in a simple text file, and you could use a simple editor.

  80. It's the users, not the programmers at fault! by pandrijeczko · · Score: 2, Interesting
    Why do we have this same old argument raging yet again and why is the finger of "lack of usability" always pointed at Open Source?

    The perception that all software should be intuitive and 100% usable the moment you unwrap the shrink-wrap is an incorrect one & has been created as a result of heavy over-marketing by commercial software vendors in order to generate more sales.

    Sure, I accept that if Joe Bloke buys himself a digital camera, he wants to load some software from a CD on his Windows machine, plug his camera into the USB port and start downloading his images to his PC for editing.

    But the fact is that the majority of normal users still believe the hype that when you buy a PC, it's no different to buying, say, a TV where all you do is just switch it on and it works. There is no mention by the PC salesman of having to perform regular defrags, keep the OS updated, update virus checkers, install firewalls, etc.

    Just because a piece of software takes some time to familiarise oneself with, does not mean that it is unintuitive - if anything, results are far more rewarding when one has put in a little effort to achieve them.

    The UNIX/Linux command line philosophy, for example, is frequently targetted for "lack of usability" complaints. However, the fact is that taking the time to understand what programs are on a UNIX system and how to bolt them together in things like shell-scripts means that some very repetitive and boring tasks can be completely eliminated very quickly.

    The Open Source movement is not about trying to compete with, or displace, Microsoft - it is simply about doing the right thing which means sticking to open standards that all of us can enjoy (rather than closed standards that we pay a subscription for). Therefore, the creation of cohesive GUIs for software is not the prime concern of the OSS community, albeit that the same are receptive to feedback from users of their software.

    Commercial software vendors have to make profits which means listening to their users and rushing their software out to the marketplace - therefore, in the case of Windows software, those same vendors will use the Windows GUI libraries for their software, cutting down on development time and fitting in with the Windows "look & feel".

    I'm not denying that OSS software is viewed by some as "difficult to use" - but this should be taken into context that OSS demands a degree of responsibility and time commitment from each user to learn how the software works and to feed back into the developers what the user perceives to be problems with the functionality or layout of the software.

    --
    Gentoo Linux - another day, another USE flag.
  81. Re:Here's a crap ui design from KDE by FooBarWidget · · Score: 2, Insightful

    Because Ctrl+C/X/V may interfere with the console app inside the terminal. Come on, is it that hard to understand?

  82. Re:usability problems aren't just technical proble by Nurgled · · Score: 2, Informative

    I like to think I've got enough theory in my head to have a good whack at user-interface design, but of course I'm not going to claim to be an expert. There are two main skills we need for user interfaces in open source software:

    1. the ability to concieve, design and implement a usable user interface
    2. the ability to look at a user interface designed by someone else and critique it

    The second of these is the easier of the two, and I think most people can make some constructive comments about the pros and cons of a user interface designed by someone else. The first item, however, is the hardest part. To start from scratch like that requires quite a lot of background, and while some developers make a reasonable stab at it, usually by responding to how other developers handled a similar situation, that can't work for all cases.

    Until such a time when we have qualified UI engineers contributing to open source projects, I think it's useful to increase the feedback between the two tasks above. The original developer uses some simple UI background to design an initial interface, then throw it to other developers and interested users and invite feedback on the interface specifically. The developers, in their role as developers, will probably point out some inconsistancies with the simple rules they have learnt, but the developers can also take the role of users and see what they find hard to do in the software.

    Once that is fed back, the user interface can be refined just like the rest of the software until it's good to go. This refinement process works for the innards of the software, where perhaps the set of people able to make good comments is smaller, but everyone can have a point of view on a user interface because everyone knows what they are trying to do and what's obstructing them from doing it. Of course, we have to remember not to go overboard as some goals will be more "common" than others, but we make decisions like this in software design every day so applying similar priorities to the UI suggestions should come naturally to any seasoned open-source developer.