Improving Free Software Usability

mpt wrote an essay last year, “Why Free Software has poor usability, and how to improve it“, which is a follow-up to his original, “Why Free Software usability tends to suck“. The more diplomatic title is perhaps a reflection in microcosm of mpt’s own personal journey ;-)

We are already doing some of the stuff he suggests, such as (by example) “establish[ing] a culture of simplicity” and using distributed version control. Is there more we can do? Some ideas:

  • Establish more and stronger incentives. For example, annual Free Software design awards“. Could we run these, perhaps in collaboration with openusability.org (although it seems to have gone a bit quiet)? We are at the forefront of pulling together volunteer designers to work on free software with the Mozilla Creative Collective. Graphic design isn’t usability, but it does show we are reaching out to non-traditional communities. Disadvantage: we wouldn’t be able to win. ;-)
  • Develop and promote screen capture, video recording, and other software that makes tests easier to run“. We have to figure out how to do user testing remotely. Is there any recording software out there that will record a user’s desktop, and audio, and video from their webcam? All three are IMO necessary if you want to be able to review a usability test remotely. I can find software, like RecordMyDesktop, which will do desktop and audio, but no-one has added in webcam support yet. I guess this it outside the expertise of the Mozilla project, but hopefully someone else will read this and take the task on.
  • Develop and promote VoIP, video chat, virtual whiteboard, sketching, and animation software that allows easier communication of design ideas over the Internet. There seems to be no web-standards-based virtual whiteboard software, and yet with <canvas> it should be easy. Anyone fancy knocking up a demo? You wouldn’t even need to do conflict resolution – lines just overlay each other. Add the ability to import images (screenshots), join a phone conference, and you have a ready-made design space.

7 thoughts on “Improving Free Software Usability

  1. There’s another big problem. People want to be compensated for a lot of hard work, but it’s pretty hard to get compensated for giving away software. I really have to wonder about the usual business model for free software.

  2. Lots of interesting stuff in the mpt article, thanks for bringing it up.

    I think it missed the first item that should be on the list:
    0. Usable software is extremely difficult to create.

    This causes many of the problems on the list and makes many of the solutions impractical. For example, in my opinion, it is clear that there is no formula or procedure for usable designs: user testing is no more successful than random chance (yes folks will yell, but look around and you know it is true).

    Another example is the confusion of design and usability. Colors, layout, iconography all help usability, but interaction design is much more important.

    If you want to look for technology enhancements, I think the key is tools for designers and developers to collaborate in a non-superficial way. That is a bridge between the Photoshop/Email/portfolio world and the compiler/bugzilla/version control world. It’s not about meetings, it’s about everyday work.

  3. I don’t know how active OpenUsability’s project directory is, but at Canonical we’re mentoring two students for the 2009 Season of Usability.

    For most software, I think it’s neither necessary nor desirable to “do user testing remotely”. Rather, I think we need a culture of distributed user testing — still with the test subject and moderator in the same room or street, but with many small tests in many more places.

    johnjbarton provided no evidence whatsoever that “user testing is no more successful than random chance”, and that assertion is contradicted by the useful results we’re getting from our testing at Canonical.

  4. Perhaps it’s less about doing user testing remotely (although that may be necessity for small projects whose developers only have a limited supply of mothers, friends etc.), and more about making the raw materials available to multiple people. If I do a user test, sitting over the shoulder of my mother, it would be useful for others to be able to see what she did, hear what she said and see where she was looking during the test, so they can assess whether the conclusions I draw are valid or not. For that, we need a way of capturing and transporting all that data.

    Gerv

  5. User testing allows you to compare a limited set of implementations. If one of the choices is effective, then the developers, being users, almost always know which one it is. If none of the choices is effective, then one will be selected anyway. This does not seem to me to be a procedure for creating a usable design, especially since it requires substantially more implementation time. And here is the kicker: the quality of the implementation is often the critical factor in usable designs, so energy put in to creating alternatives for testing dilutes the usability of the end result. Nevertheless, user testing can have a valuable impact on design because it puts designers and sometimes developers in direct contact with users and that can be very effective at inspiring new usability ideas.

    jjb