Forgot your password?
typodupeerror
GUI Software

How To Fix the Poor Usability of Free Software 690

Posted by kdawson
from the design-early-and-often dept.
flosofl writes "Matthew Paul Thomas has an entry on his blog called Why Free Software Has Poor Usability, And How To Improve It. While this advice is helpful and may indeed lead to improvements in many open source programs, the guidelines may be much more difficult for smaller projects. From the entry, 'Free Software has a long and healthy tradition of "show me the code." But when someone points out a usability issue, this tradition turns into "patches welcome," which is unhelpful since most designers aren't programmers. And it's not obvious how else usability specialists should help out.'" Thomas has been developing the ideas in this essay for years. The critique is comprehensive, listing 15 challenges in the way software projects, and in particular free software projects, are structured, with suggestions for improving each one.
This discussion has been archived. No new comments can be posted.

How To Fix the Poor Usability of Free Software

Comments Filter:
  • by dturk (1267098) on Sunday August 03, 2008 @02:36PM (#24458227)
    Usability is mostly a function of what the user is used to (no puns intended). I find working from a command line to be the most efficient way to get things done, which is in opposition to most of the world. I don't really think it's possible to quantify "usability" when to most people it's best rendered as "similarity to Microsoft products."
    • by gilgongo (57446) on Sunday August 03, 2008 @03:14PM (#24458575) Homepage Journal

      I don't really think it's possible to quantify "usability" when to most people it's best rendered as "similarity to Microsoft products."

      We designers have a mantra for that, usually attributed to Henry Ford:

      "If I'd asked my customers what they wanted, they would have said a faster horse."

      You may like to ponder that in the light of that statement you made.

      • Re: (Score:3, Funny)

        by st0rmshad0w (412661)

        We designers have a mantra for that, usually attributed to Henry Ford:

        "If I'd asked my customers what they wanted, they would have said a faster horse."

        You may like to ponder that in the light of that statement you made.

        Didn't Henry Ford also say: "They can have any color they want as long as its black"?

        • Re: (Score:3, Insightful)

          by BlackCreek (1004083)

          "If I'd asked my customers what they wanted, they would have said a faster horse."

          You may like to ponder that in the light of that statement you made.

          Didn't Henry Ford also say: "They can have any color they want as long as its black"?

          Henry Ford also said: "Excuse me, I need to use the bathroom".

          Neither of these two quotes, however, alter the value of the reasoning behind the original quote on "faster horses".

    • Re: (Score:3, Interesting)

      by grahamd0 (1129971)

      I don't really think it's possible to quantify "usability" ...

      Which is one of the reasons we're discussing an article about the poor usability of OSS right now.

      You've obviously never worked with a good UI designer. Just because you don't understand something doesn't mean it isn't real.

    • by asc99c (938635) on Sunday August 03, 2008 @03:25PM (#24458707) Homepage

      I'm not sure I agree with this, but there is a definite confusion in most people's minds between easy to use and easy to learn.

      Vim is incredibly difficult to learn, but is actually very easy to use if you can learn it. A lot of programmers using an editor for extended amounts of time have found this to be the case.

      The problem with Microsoft stuff is that it's pretty easy to pick up and use. But once you've learnt how to do it, you often want command line tools to start scripting and batching work. Generally with MS, and to a lesser extent Apple, you find you can't do that.

      Excel is the only Microsoft software I've used where I found it did everything I wanted as a power user. I think it's one of the very few examples of something both easy to learn and easy to use.

    • by tknd (979052) on Sunday August 03, 2008 @10:38PM (#24462085)

      Usability is mostly a function of what the user is used to (no puns intended).

      Yes, consistency is one of the things that affects usability.

      I find working from a command line to be the most efficient way to get things done, which is in opposition to most of the world.

      Which says that there is an aspect about the command line that says it is usable, not necessarily unusable otherwise nobody would ever use it.

      I don't really think it's possible to quantify "usability" when to most people it's best rendered as "similarity to Microsoft products."

      This is where you're wrong. Usability is quantifiable based on certain metrics you want to measure against. When an interface is designed, there are different users of the interface therefore different needs arise.

      For example the command line is one interface that has been successful for a particular purpose but requires a steep learning curve before it can be used correctly. This is okay because what is important is that one has an interface that can be used to probe or maintain a complex system for which designing "easy to use" interfaces would be a gargantuan task. So when one is working from the command line, they expect a high degree of power (do almost anything) that comes with it. The cost is that some of those functions may not be intuitive or may require more steps than necessary had a complete interface been designed. But that is ok because the operations needed on the command line are often unique and covers a huge number of possibilities. So in this case the learning curve is warranted because the knowledge required to perform the task must be learned anyway.

      Meanwhile if a user wants to compose a simple email, would the command line interface suffice? Probably not because the details of the command line interface are not necessary in the process of composing and sending an email. What is important is the fact that they can write the email and send it with the fewest hassles. Furthermore if we expand this out to different types of users, we can have a home user and a business user. The home user may not care about integration into their calendar software and other things like easily sending attachments. Meanwhile to a business user, those two operations happen on a daily basis. So for the home user, a simple web mail interface might be sufficient and usable while for the business user it probably won't be. Meanwhile an outlook interface might be perfect for the business user while for the home user it might be a little too much.

      So the point here is to identify each user's needs in respect to the task they want to accomplish and in many cases that does not necessarily mean "Microsoft only". Interfaces are everywhere not just in hardware. For example cars with pedals and steering wheels. In almost every car the interface is probably mostly the same. Another example is stereos and music players. Or even your stove in your kitchen. The device I think that is often neglected but needs the biggest usability improvement is the remote control. But maybe soon that will get replaced with an on-screen-display and something like a wii-mote. Anyway the point is that as an interface designer, you can borrow from these other common interfaces (not just the Microsoft ones) to use as metaphors for your new interface. I wouldn't recommend it but that is one option.

      The easier route is to use R&D (rob and duplicate) and copy existing interfaces. The problem with this is that sometimes you inherit the faults of whatever you're trying to copy. A good example is OpenOffice. Some people like the interface because it is what they're used to. But for a word processor, I feel that the interface is poorly written such that it leads to poorly authored documents. I've seen countless word documents with foo-bar'ed formatting in the bullets, fonts, and everything. Even the table of contents was put together by hand rather than using th

  • by EggyToast (858951) on Sunday August 03, 2008 @02:36PM (#24458239) Homepage
    The kind of additional functionality added for usability reasons are usually looked down on because they can fall into scope creep, but I think they're quite the opposite. I think most coders look down on these kinds of suggestions because they don't affect how they use the program. And, truly, most people who work on open source code do so because they themselves want the functionality they're coding for.

    To them, if it does the job, great. And I think many of them have a similar response to usability problems as those asking for ports to different operating systems, or even a binary: "Not my problem, it works for me and that's enough."

    Not to mention that, in many cases, what increases usability to a larger audience is reducing efficiency to the programmer who designed it to suit how they work.
    • Re: (Score:3, Interesting)

      by Dan Ost (415913)

      I think you've got the development community all wrong. By the time a project has moved from the "useful to me" phase to the "useful to the community" phase, the developer has already acknowledged that the opinions of the users are valuable.

      As long as the requests from the community don't directly contradict something that the developer requires the project to have, the developer will usually attempt to make the community happy. The problem is the community doesn't often speak with one voice and so it's dif

  • by FlyingSquidStudios (1031284) on Sunday August 03, 2008 @02:36PM (#24458241) Homepage
    Mainly that people who are interested in coding free software and people who have a great understanding of ergonomics and aesthetics in software are usually just not the same people. I've known plenty of coders whose idea of usability is to configure it for their personal preferences and that's it, but on the other hand, I am sure most people who really understand what is needed for usability couldn't code "Hello World!" in BASIC.
    • Could be fixed (Score:4, Insightful)

      by Sycraft-fu (314770) on Sunday August 03, 2008 @03:14PM (#24458579)

      People just need to become willing to pay for free software. The problem is right now, most people, even the OSS heads on Slashdot, aren't as interested in free as in speech but more interested in free as in can I crash on your couch. There is this real resistance to paying for open source code. I don't mean things like enterprise support contracts, I mean paying for a copy of software as is done in the commercial software world. Even when it has been tried, it doesn't go well. Look at Sveasoft, for example. They wanted to modify the Linux based Linksys routers, and sell their modified software. However they didn't sell much, because people bought it, recompiled it, and then distributed it for free. This is all perfectly legal per the GPL, of course, but you can see how an attitude like that makes it very hard to sell free software.

      Well, if that attitude changed, I think perhaps more groups would be willing to work on it. You could hire designers, artists, etc to work on a project because it is something you could use to generate money. You'd still include the code so people could modify it to their heart's content, however you'd understand that most people were going to pay you if they used it.

      Unfortunately, I see a lot of resistance to that. It seems that most OSS people think software shouldn't cost anything every. Well, with an attitude like that, it is going to be more of a hobbyist pursuit.

    • Re: (Score:3, Interesting)

      by jeevesbond (1066726)

      The main problem is, I think, unsolvable

      This would be true if FOSS were solely developed by volunteers, only interested in their own preferences, but there are two other groups to take into consideration:

      1. power users who like the idea of FOSS, whom use it and want it to work for their friends and family;
      2. companies that market and sell support for FOSS desktops;

      We haven't seen good usability in FOSS products due to the reason you mentioned: the software developers have been the only stake-holders in the pro

    • by Morgaine (4316) on Sunday August 03, 2008 @05:09PM (#24459809)

      The main problem is, I think, unsolvable

      Sadly, you may be right about this, judging by the vast majority of responses from developers in this article thread so far.

      Almost as one, the FOSS developers here seem to have responded (paraphrasing): "Nobody is paying me for this work, so I'll be darned if they're going to tell me how the UI should be designed for usability." And even some non-developers have defended that stance.

      This suggests that, indeed, there may be no solution to the problem coming from the community of FOSS developers itself.

      But what if we were shamed into it?

      What if Microsoft, or Apple, came out with a public statement that "FOSS products have extremely poor usability, because their developers refuse to accept usability input." It would be hard to defend against such an accusation, since we have almost no cases of devs accepting input from non-devs.

      This would cause a huge uproar, I'm willing to bet. Maybe that would shake us out of this impasse.

  • A matter of time? (Score:5, Interesting)

    by The Ancients (626689) on Sunday August 03, 2008 @02:39PM (#24458265) Homepage

    Perhaps this article signifies the movement that has occurred with open source software. Whilst I'm sure it's been around a long while, there has been a huge increase in what's available in the last few years. Open Source software is maturing as most things do when they get older.

    I'm happy with the 'get it working first - then make it pretty' approach taken by most.

  • Not true anymore (Score:3, Interesting)

    by blind biker (1066130) on Sunday August 03, 2008 @02:41PM (#24458273) Journal

    I am a 100% satisfied user of free software, after years of negativism and complaining (I admit, my past sins...). I use: Xandros and SLAX distros, OpenOffice (EXCELLENT usability!), Firefox, the WLAN choosers that come with the aforementioned distros and a handful of console apps. I don't even know the name of the movie player that starts up when I doubleclick on a media file. What's not to like, what's not to be able to use?

  • by unity100 (970058) on Sunday August 03, 2008 @02:41PM (#24458283) Homepage Journal
    if you think free software has usability, you have problems identifying and finding good software. you need to fix yourself.

    i use a lot of free software that has very good usability. there is nothing different in selecting free software than selecting paid software - buyer beware.
  • by Anonymous Coward on Sunday August 03, 2008 @02:43PM (#24458303)

    UNIX programmers (the majority of FOSS developers) design software the way that they would want it to be used. It makes sense to other programmers and it is actually probably the simplest way to operate if you have the base knowledge. Users, on the other hand, focus less on the architecture of the software they are using than on the front end. Windows and Mac OS X systems and applications are easy to use because the front end has been designed to meet all usual purposes, even if it cuts back on the functionality. Linux and most UNIX systems and applications are harder to use because they are built with the architecture of the code in mind. A good UNIX program can easily work with other UNIX programs, and a good UNIX program is made as general as possible to maximize speed and reduce bloat as the program advances. A 'good' Windows program is made for only one cycle, not the entire development lifetime. Firefox is a good example of a program that meets both the UNIX and the Windows definitions of a good program. But Firefox is very rare, and there have been multiple revolts over de-generalizing the code for a single release.

    I think application programmers should keep the Firefox success in mind when they develop code, even though it will be much more expensive and time consuming than the UNIX mentality since they will have to keep stopping what they are doing to release and polish versions for users (essentially dead forking every couple of months).

    • Re: (Score:3, Insightful)

      by gilgongo (57446)

      Users, on the other hand, focus less on the architecture of the software they are using than on the front end.

      By "focus less" I assume you mean "neither know no care."

      To a user of something like a word processor, a web site, or an air conditioning control console, the UI IS the application. There is no architectural consideration of any kind.

  • First steps (Score:5, Interesting)

    by CBravo (35450) on Sunday August 03, 2008 @02:48PM (#24458341)

    My suggestions: start a Usability Level Group where one can see which level of usability the application has ( for platform X).

    Things to consider (remember: using starts with considering installation):
    -does it compile cleanly?
    -is it pre-packaged?
    -is it in the standard repositories?
    -is there a manual and man page
    -are there examples which can be followed
    -(if relevant) are there screenshots
    -are all options of the application available in the GUI
    -let people vote about the quality of the above

    First you have to obtain a means to measure usability (by the users is best, I guess).

  • by Twid (67847) on Sunday August 03, 2008 @02:48PM (#24458347) Homepage

    At the bottom the article links to John Gruber's "Ronco Spray-on Usability" [daringfireball.net] article, which also provides a lot of background on the challenges of good interface design.

    In the original article, I think the most important point is number 8 - "Scratching their own itch." I can see how programmers interested in, for example, having a stable and scalable web server would work on Apache. I don't see the same passion coming from a human interface designer to fix, for example, the horrible user interface for joining wireless networks on desktop linux.

    In my opinion the only way the user interface will get fixed is if Ubuntu or another distro pays for expert user interface folks to fix UI issues. I don't see the volunteer community being up to the task.

    • by Telvin_3d (855514) on Sunday August 03, 2008 @03:46PM (#24458925)

      I agree that the community is not up to the task. However, I suspect that we are not talking about the same community.
      Let's say that tomorrow I posted an improved layout design to the trac. Descriptions of the various elements, mockup images, UI icons and elements, new error messages, the works. What are the odds that it gets implemented? Seriously? I can't program, but I do decent layout and usability. From my own experience and that of others I suspect that I could post mockups and suggestions on the trac and forums until I am blue in the face.

      Even if an entire squadron of UI specialists descended on a linux distro, went through the whole thing and posted up a unified UI design for every level of the system do you really think it would get implemented?

      Let's be honest, there are always a million posts and bug reports floating around saying things along the lines of "I'm a regular user who tried to use X feature/menu. It didn't work well because it is missing A,B and C options, and D, E and F are in the wrong menu". If the linux/free software community had any track record of responding to those with 'well, I guess that needs to be fixed' instead of 'read the documentation/use commend line workaround with -r hfg blarg whatamidoing +7' linux would be a better experience than OS X by now.

      • by JohnFluxx (413620) on Sunday August 03, 2008 @07:05PM (#24460729)

        This post really annoyed me.

        Go to http://bugs.kde.org/ [kde.org] and have a look at the types of bug reports we get and look at the responses.

        I personally work on the task manager. I get around 1 bug report a day. Out of them, perhaps 1 in 20 is a suggestion for improving usability. And I have never received anything approaching a UI design document.

        I have registered my app on www.openusability.org as well as with the internal kde usability group, and I browse forums for suggestions. And despite all this, I _still_ have not found a usability expert who has time to work on this app.

        For the whole of the KDE project we have I think only 1 (maybe 2?) trained usability experts. There is far more demand than supply.

        The fact is that people are willing to bitch about some app not being usable, but they are far less likely to put the effort into trying to come up with a good alternative solution and work with developers to get it implemented.

    • Re: (Score:3, Insightful)

      by lysse (516445)

      The "scratching their own itch" point is good, but the article's author misses an important corollary. The person who has scratched their own itch will develop a program as far as they need to for it to be usable to them - unless another piece of software comes along and short-circuits the process. And arguably, if a piece of software is usable to the person who wrote it for the task they wrote it for, its primary usability criteria are satisfied.

      Anything after that - ie. everything this article is concerne

  • Few Good Designers (Score:4, Insightful)

    by Leading Stoker (1338003) on Sunday August 03, 2008 @02:54PM (#24458403)
    That article hit it on the head. There's 1001 programmers in the world, who are excellent coders and whip through the strings like a first chair, but there's very few project designers in freeware. They concentrate so much of function (which, yes, is critical!), but forget about ergonomics and userability (especially *how* end users can and will use their product, and ways to cut out excessive keystrokes or right clicks). The end users winds up getting a proggie that can function well, but such a chore to operate (or even painful, if it not ergonomically friendly). As we more and more get "connected" to computing, it's no longer just being on a keyboard or using a mouse an hour or two a day. Now it's more like 8+ hrs. Programmers need to consider the impact of their software, and beyond how it functions itself, but the whole project. That's where product design is so crucial, and something not just best left up to management to figure.
  • by gilgongo (57446) on Sunday August 03, 2008 @02:56PM (#24458423) Homepage Journal

    I am a UI designer by trade, and many is the time I have thought about wading in to a F/LOSS project in order to improve the usability of the interface (last one I considered was IPCop). While I agree with most of TFA, it doesn't seem to emphasise the real point for me, which is that UI design for free software requires radically different skills *from the designer* to that which are necessary in the commercial world.

    Because people are so tolerant of awful UI, good UI designers are all about persuasion, charm, leadership and inclusiveness without losing focus. To achieve this commercially is not easy, but at least somebody has hired you in an expectation that you will do this work. Grabbing a bunch of elite coders and trying to persuade them to change their stuff is a massive challenge, even if you have VoIP, virtual whiteboards, etc. I would not expect maintainers to understand, appreciate or tolerate my intervention, mainly down to the reasons the article cites, and I'm not sure I'd be able to persuade them otherwise. Usability is not obvious and often requires a leap of faith, an abandonment of the wrong kind of complexity, and very often a lot of pain.

    Still, the more we have these discussions, the better, and I hope the article gets read by a lot of Slashdotters for that reason.

  • by MadFarmAnimalz (460972) * on Sunday August 03, 2008 @03:03PM (#24458475) Homepage

    Just for the sake of being proactive (and on-topic, oh horror!), a colleague is a usability expert and has acquired a fascination with free software. I thought that jumping in and rolling up his sleeves would be a good induction, so here's asking: anyone sitting on an interesting project with a need for (and willingness to listen to) such a one?

  • Poor usability? (Score:5, Interesting)

    by FooBarWidget (556006) on Sunday August 03, 2008 @03:04PM (#24458485)

    Poor usability? Is there really anybody who thinks that Internet Explorer 7's user interface is better than Firefox 3's?

    I'm getting tired of hearing this over and over again. For example, in the past 7 years, GNOME has invested an insane amount of effort in usability. Go read about all those professional GNOME usability studies that Sun has funded. Also, go read Ubuntu and "desktop environments" [mpt.net.nz], written by the same author who wrote TFA. In that article, he criticizes people for wanting to include a configuration option in Ubuntu's installer which asks the user whether he wants GNOME, KDE or XCFE. He argues that such a choice is simply too confusing to most non-technical people. And indeed, people like my dad and mom don't know, or want to know, what GNOME is.

    In the past 7 years, GNOME has done its best to address exactly that kind of criticism. Almost every single feature is scrutinized with usability in mind. GNOME has been removing more and more configuration options from the user interface in order to make things easier for the average user. In fact, they've done so much their best that the technical audiance, i.e. Slashdot/OSNews/Reddit, is constantly flaming them for removing config options. Yet this same audience is flaming them for not being usable.

    KDE, too, has invested a lot of effort in usability. But what's the community doing? Instead of offering helpful feedback, perhaps mockups or even professional usability studies, they're flaming the developers. By flaming, instead of offering useful feedback, they're discouraging the very people who made the software from improving it. And you're wondering why they're having a hard time?

    Go figure.

    • Re:Poor usability? (Score:4, Interesting)

      by drew (2081) on Sunday August 03, 2008 @05:02PM (#24459753) Homepage

      In the past 7 years, GNOME has done its best to address exactly that kind of criticism. Almost every single feature is scrutinized with usability in mind. GNOME has been removing more and more configuration options from the user interface in order to make things easier for the average user. In fact, they've done so much their best that the technical audiance, i.e. Slashdot/OSNews/Reddit, is constantly flaming them for removing config options. Yet this same audience is flaming them for not being usable.

      I suspect that if you looked closer, you would find that those are not at all the same audiences. In any area, you will find extremes on either end. Look at home theater systems. My wife's ideal remote control would have four buttons- power, play, pause, and volume. On the other hand, there are people out there who actually care about adjusting the balance of the surround sound speakers, picking alternative menu settings on their DVD's, and a variety of other details that my wife never wants to be bothered with. "Usability experts", at least of the variety that work on the GNOME project, don't seem to understand that there is a range of users that they have to support (or at least, should want to support) and seem to aim cleanly for the software equivalent of my wife's remote control. For the most part I've been happy with the improvements that the GNOME developers have made over time, but there have been a number of times that the "more options == less usability" dogma has resulted in the removal of options making a certain program no longer useful to me. Note the distinction there. In those cases, it didn't matter to me whether the new version was more or less usable than the previous version. What mattered was that as a result of the change the new version could no longer acceptably perform the task that I had previously used it for.

      For my part, I think that this author has done a pretty good job of pointing out the problems with the current approach and potential solutions (with one exception- I see no difference between his supposedly conflicting mindsets of "show me the code" and "patches welcome"- to me they both say the same thing) but if the "progress" that we have seen so far is any indication, there is a part of me that would rather that developers ignore him and stick with "software by geeks for geeks" until somebody figures out a better way to balance usability and utility. I do think that there is room for a lot of improvement in usability yet, but I'd like to see it happen in a way that doesn't alienate the people who have already been using the software for years.

    • Re:Poor usability? (Score:4, Interesting)

      by westlake (615356) on Sunday August 03, 2008 @05:05PM (#24459773)
      Poor usability? Is there really anybody who thinks that Internet Explorer 7's user interface is better than Firefox 3's?
      .

      The problem is that the Moz Foundation began with a massive infusion of cash and has $70 million or so in new money coming in each year.

      Moz is a full time professionally staffed organization with broad resources.

      The problem is that funding and technical support from Big Daddy Warbucks - Google, Sun, IBM - all the usual suspects - is the exception. Sourceforge is the rule.

      The problem is that as a client OS Linux has a 0.8% market share. Operating System Market Share [hitslink.com] I hope you can forgive me for saying so, but that isn't much to show for seven years hard work.

      Vista should have a 20% share in the Net Applications stats before year's end.

      Given the weakness in the world economy, that is a number Microsoft can live with. God knows its returns are looking better than Sun's, with profits down 73% last quarter, and no good news in prospect.
      The Mac appears to be stagnating, and its reputation as the "high priced spread" may be to blame.

      But that just takes you back to the same old question.

      If the problem isn't with the UI and isn't with the installer and isn't with the apps why isn't Linux on the desktop gaining any traction?

  • by FooBarWidget (556006) on Sunday August 03, 2008 @03:14PM (#24458571)

    But when someone points out a usability issue, this tradition turns into "patches welcome," which is unhelpful since most designers aren't programmers. And it's not obvious how else usability specialists should help out.'"

    There seems to be a whole movement who's against the "patches welcome" statement. I fail to understand this.

    I'm an open source developer. Look at it from my point of view. I've written software that people find useful. It's not perfect, but it's useful. Then, one day, someone criticizes my software:

    Person X: [...] this and this sucks [...]
    Me: patches are welcome
    Person X: what? what an unhelpful response! no wonder open source sucks, and you suck too!

    Now, tell me. I have a job. I maintain this software in my free time. Why should I devote that time to you, for free, instead of, say, hanging out with friends or seeing a movie? You're not paying me for this software. You probably would go away if I ask you to hire me. What exactly do I owe you? I already made the source code available. Why do you criticize me for not working for you for free? Why don't you do it yourself, or hire someone to do it for you? If you can't do either of those, why don't you contribute documentation, mockups, or something else that's not technical but is still useful? Do you expect a baker to give bread to you for free when you criticize his breads for not being tasty enough?

    • Re: (Score:3, Insightful)

      by Quasar Sera (838279)
      Much of that, I think, comes down to poor communication skills. Saying 'this and this sucks' is almost never useful, and from your perspective must be very annoying; you are, as you say, essentially a volunteer! Criticism should be polite and constructive. Users who find that something irritates them should, at the very least, suggest an alternative (e.g. 'I would find this application even more useful if I could configure which icons appear in the toolbar').
    • by SanityInAnarchy (655584) <ninja@slaphack.com> on Sunday August 03, 2008 @06:40PM (#24460551) Journal

      With my first major contribution to an open source project, the author essentially said "patches welcome", but he said it differently:

      "I would definitely consider a patch that did that."

      And, as I kept talking about it, but not actually sending it in -- my monkeypatch was pretty low-quality, and it'd take a weekend to polish it:

      "I'm really starting to like this syntax of yours."

      So, I was actually encouraged -- it wasn't confrontational, it was encouraging.

      So, just as I would tell Person X not to simply say "This sucks!", but to offer a helpful suggestion, I would also tell anyone who would respond to think about how to help them get it implemented.

      So, for example, if someone's a designer, but not a programmer, and you've got a programmer who you know wants to contribute, but he's not really sure what to work on, hook the two up. Or, with your example:

      Why don't you do it yourself, or hire someone to do it for you? If you can't do either of those, why don't you contribute documentation, mockups, or something else that's not technical but is still useful?

      Why don't you offer these up in a FAQ or guidelines somewhere, and mention them in your stock response? Simply saying "patches are welcome" is actually unhelpful, unless you can write a patch -- and even then, it simply comes across as standoffish.

      It's the difference between "I can't bake that for you, but here's a recipe, and I can sell you some of the ingredients," and simply saying "Do it yourself."

  • by John Allsup (987) <s,chalisque&gmail,com> on Sunday August 03, 2008 @03:21PM (#24458649) Homepage Journal

    I'll point out an example from the world of software synthesisers. Take a look at Rob Papen's Blue, Albino or Predator. They are excellent synthesisers. The point is, Papen is the sound designer and the synthesisers are designed so as to facilitate his designing of the vast collection of factory patches for them (based on what's possible of course.)

    In the world of Free Software, things are very different -- those who can design the user interface are not strongly listened to when designing how the user interface libraries should work. Basically, a programmer writes what he/she thinks is good enough, other programmers join in, but when the designer's requirements run contrary to the original direction of the code, resistance is met. This is a major problem, since those most capable of designing effective user interfaces don't get to do so, and those more suited to the coding side of things have to do make-shift user interface designing according to their ideas of how a user interface should work or what is easy to code.

    Free software companies should take time to stand back from the process, ask the question: what are we trying to do? and what is the most effective way to accomplish those goals? The problem is that it is effectively beyond the power of an individual person in the free software world to influence things unless they have sufficient time and expertise to code examples of what they want.

  • by Comatose51 (687974) on Sunday August 03, 2008 @03:21PM (#24458661) Homepage

    Agree with this point: "Coding before design".

    As an UI developer (at least part of the time) at a major software company, I see this pitfall even in my own work. A lot of us are more concerned about coding up the UI to expose the new features but that's where we stop. OK new features is exposed, on to the next one! Then the UI designers come in and suggests all these changes and we end up undoing a lot of the work we did before. It's such a waste of time. This is a mistake we've learned and look to correct in our next version's development cycle. Sometimes it makes sense to develop software from UI on down because at the end of the day, it's the user's experience that matters, not necessarily how clever or elegant the inner workings of our software is (this does matter in the long run -- a good foundation allows us to make changes and add things quickly).

    Another pet-peeve of mine is explaining to the UI designer that we can't do something because of engineering problems when what the designer is suggesting is simple. A rule of thumb of mine is that if the suggested UI interaction/function is simple then the amount of effort to make it happen should also be simple. If it is not, then something is wrong with the UI framework.

    Good UI is in some ways a lot harder than what people might expect. It's really a multi-discipline field that takes more than just a good engineer. It requires a good psychologist (one of our UI designers was a cognitive science major) and a good writer. We learned so much about our UI design from filming people using our product and watching their frustration. This was an expensive process in both time and money. I can see a company being able to do this but it's considerably harder for an open source project, especially a small one without a lot of resources. Bad UI design happens everywhere but it seems only software companies and major open source projects have the dedicated resources to fix it. Like the article said, it's a high bandwidth process; people need to be together at the same place to discuss these things and it takes hours as you can tell from my own submission to Ask Slashdot [slashdot.org].

  • by dpbsmith (263124) on Sunday August 03, 2008 @03:30PM (#24458771) Homepage

    This software for the XO laptop is an open source project that is intended to be used by elementary school kids.

    Usability by its target audience is absolutely of the essence. It is not a project in which the developers can get away with saying "it works for me," nor can they tell their eight-year-old audience "if you don't like it, patch it."

    The XO laptop is thus an example of a situation where there are strong "incentives for usability." In fact, the entire enterprise fails if the device is not highly usable by elementary school kids in third world countries with no previous computer experience.

    Time will show us how usable the XO software is. It will either be a data point that demonstrates that, indeed, the open source process produces highly usable software provided only that there is an incentive for usability... or that it really has a systemic problem that incentives cannot overcome.

  • by btempleton (149110) on Sunday August 03, 2008 @03:44PM (#24458893) Homepage

    I just wrote a detailed comment and previewed. I noted at the end that it was saying I was not logged in, so I could log in or post as anonymous coward. So I clicked the login link, logged in and boom -- the long comment was erased.

    The pre-javascript interface probably would not have done that.

    Short summary of longer post:

    1) He dances around but misses one other scenario. The designer knows the right UI, but it's harder to code, and so chooses to do a lesser but workable UI to have more time to code other things. The problem is the coder is also the "funder" and makes decisions based on how hard things are to code, rather than what's best for the users.

    2) It's a false economy sometimes. Why do we write free software? I would hope part of the goal is to make code that lots of people will use. Yet sometimes we choose to work on a feature that will please 10% of our 10,000 users rather than a UI that will make us accessible to 100,000 users.

  • Wait a minute (Score:3, Interesting)

    by AceofSpades19 (1107875) on Sunday August 03, 2008 @03:44PM (#24458905)
    " Chasing tail-lights. In the absence of a definite design of their own, many developers assume that whatever Microsoft or Apple have done is good design. Sometimes it is, but sometimes it isnâ(TM)t. In imitating their designs, Free Software developers repeat their mistakes, and ensure that they can never have a better design than the proprietary alternatives. Solution: Encourage innovative design through awards and other publicity. Update design guidelines, where appropriate, to reflect the results of successful design experiments. "
    Most people complain if it doesn't act exactly like the proprietary counter part, eg. The GIMP. I bet most the "usability" problems of free software is that it doesn't look and act exactly like the closed-source counter part
  • It's one simple concept:
    There are two ways in which software is built. The business way, and the open source way.

    The business way is driven by the target of making money. So they try to appeal to everyone. This usually (wrongly) leads to making it as easy as possible, so everyone can use it.

    Then there's the open source way. This one has no interest in money, so the creators add, what they like to have in the software. Now usually these are computer professionals, and because they built it, of course it's perfectly usable for them. Unfortunately this means it's very hard to use for non-professionals.

    Both ways have their flaws for those that are not in the target group. But they emerged naturally.

    The solution is, to let everyone grow to his own level of expertise in the program. We need a program that starts out being as easy as it gets, but grows with your involvement. (=if you work more with it.) Something like difficulty modes in games. Just it's not the difficulty. It's the shortcuts, the special view modes, the application layout, the shown controls, the wizards, and so on.
    Of course you can always set that level yourself.

    Think of vi, in notepad mode, then gradually growing to emacs if you like. ;) (o boy, i'll get killed for this... hint: i like none of those 3 editors because of the problems mentioned in this post. ;)

    The best thing about it: You can make the Gnome people AND the KDE people happy. Oh, and the console/magnet/butterfly people too :)

    • Re: (Score:3, Funny)

      by SnowZero (92219)

      I can't wait to be greeted by a dialog like this:
      Level up! You have unlocked the spelling checker.

  • There's always... (Score:5, Informative)

    by JackassJedi (1263412) on Sunday August 03, 2008 @03:56PM (#24459035)
    OpenUsability [openusability.org]

    I used to work at the company which started it. It's a platform for free software developers to meet usability specialists, and so far it's coming quite good. The KDE 4 HIG was designed by us ("us" as i still used to work there at the time this was done), and the people working there are certainly bright minded people, but there's always friction at the implementation front. In my experience it's not neccessarily easy to convince a developer that a given usability decision is the right one, even if someone with a background in usability makes the proposal.
  • by vlm (69642) on Sunday August 03, 2008 @04:07PM (#24459167)

    Here is an explanation of why "Usability" doesn't matter.

    People forget the other SDLC, the software DEPLOYMENT life cycle.

    People also forget that "Usability" means something totally different to novice and experienced users.

    The only people whom have a 30 minute SDLC (software deployment lifecycle) is

    1) Magazine/Blog Reviewers

    2) Usability guinea pigs

    3) Usability critics

    Completely absent in this list is the actual software users.

    Not surprisingly the 30 minute wonders are not going to get along with long term users, and the developers are usually long term users.

    Besides, there is a dumb hidden assumption in the computing world that no one wants to discuss is that there should only be one level of user sophistication that all tools should aspire to.

    Other fields do not have that problem... For example a CNC milling machine, at least for the first 30 minutes, is much less usable than a blacksmiths forge. Oddly enough we don't have to suffer thru pompous claims about the superior user interface of hammer, tongs, and forge.

    Basically the marketing folks are becoming irrelevant and they are pissed about that, hence ridiculous claims against the enemy, etc.

  • by Kjella (173770) on Sunday August 03, 2008 @04:09PM (#24459189) Homepage

    ...but I find most of the "ugly" usability problems I find aren't fixed by rearranging some buttons. I think there's plenty competition (Ubuntu, Red Hat, Suse, Mandriva etc etc) on adding those last bits of paint and polish. For example I've struggled endlessly with x11/xorg.conf in the past to get the resolutions right. I don't really care how you implement the resolution/refresh dialog, 99% of the hard work is making something that works so easily. Oh yeah and my dual screen setup still doesn't work right, had to give up on that. Getting Linux to recognize and map all the buttons on my mouse was another one, it's not the UI it's the core system behind it. One funny case I had now with another computer with two soundcards (built-in that doesn't work in Linux + audigy) is that the cards will randomly swap id on boot so I have to fix the sound setup 50% of the time. Very very fun. Taking a solid product and making it usable for a big audience = $$$. So I'm not worried, just get the base in place.

  • by the_olo (160789) on Sunday August 03, 2008 @04:23PM (#24459351) Homepage

    One doesn't have to look far to find small but serious usability issues in open source software.

    For example, did you hear about Fitt's Law [asktog.com] and "mile high menu bar [joelonsoftware.com]"/ "infinite size widget" effect?

    For detailed description, see e.g. this Ubuntu bug [launchpad.net].

    It turns out that while the Windows and Mac software got this right (at least with respect to scrollbars), massive amounts of OpenSource software (even high profile projects for Gtk/Gnome and Qt/KDE, like Gnumeric, Gnucash, OpenOffice, Konqueror or Kword) add an idiotic small border to their document area that seems to serve only one purpose - prevent this usability effect and make all users' lifes harder.

    BTW, I highly recommend Joel Spolsky's "User interface design for programmers" - that's the very least a coder could do to educate himself in the area of usability. The book is very interesting, easy to read and quite short.

    • Re: (Score:3, Interesting)

      by the_olo (160789)

      BTW if someone says that I should have filed proper bug reports, note that the bug reports concerning this problem have been reported a long time ago to relevant [kde.org] bugzillas [gnome.org].

      What those issues need is a dedicated and experienced Gnome/KDE programmer to step in and solve them (I am not one).

  • Motivation (Score:3, Interesting)

    by RAMMS+EIN (578166) on Sunday August 03, 2008 @05:09PM (#24459811) Homepage Journal

    I think one important aspect is motivation. And this is wider than just open source software. I think everybody would like their software to have better usability. But, in the end, your resources are limited. So you are going to do the things you are most motivated to do. Improving software usability apparently simply doesn't rank that high.

    On the other hand, I have to agree with other posters that usability depends on your users (give me programmable interfaces over GUIs any day, but I know others have the opposite preference) and that a lot of open source software actually does very well as far as usability is concerned.

Nothing happens.

Working...