Improving the Open Source user experience

Feb 2011

Draft

I absolutely love open source, I contribute myself and I use tons of open source software every day. I am attached to the idea that what I use is completely open, I can change everything about it if I want, I can figure out how it works, learn from it, contribute to it. Open source is many things: browsers, databases, operating systems and what not.

However, there’s one thing I always thought could be drastically improved in many open source projects: The User Experience. When I ask a not-so-techinal friend why they don’t use some open source project instead of commercial one many say that “it’s because ugly”. What they mean by ugly is that it’s hard to find what you are looking for in the interface, and yeah, it’s usually not eye candy either.

Most open source projects have no designers attached. However, some do, for instance Ubuntu, most people, again non-techinal people, I know like Ubuntu because it’s pretty and easy to use:

For every % in sales invested in product design, a company’s sales and profits rise 3-4% on average. From A Whole New Mind, p. 78

This is relevant for open source too; good product design attract users.

People tend to design for themselves, and generally it just doesn’t work when developers create software for non-developers. Even so, developers are taking care of designing and implementing the user interface in the majority of open source projects. Leaving us with an unconsistent, probably not well thought through, interface that is very much hacked together and is something the developers just want to get over with. Most importantly: An interface which may confuse users. Designing interfaces usually is not what developers enjoy doing the most, very much reflected in the finished interface.

This is where the designers come in; we need designers to help the developers to create amazing frontends for the open source applications.

There are a couple of problems dragging designers into open source projects, and we can start addressing the reason why it hasn’t happened a lot in the past. To put it briefly: Designers are scared of developers. Developers speak a foreign language, they are like aliens. Developers don’t package their source code in .zip files, instead we use some scary thing called version control. The frontends typically presuposes a pretty extensive knowledge of the backend, a knowledge the designers simply don’t have and will have a pretty tough time getting. Designers don’t know how to modify a QT GUI, although they may have a daunting idea on how the interface could be so much better.

How do we solve this? Communication. Developers need to get in touch with the designers and talk with them about how they can get the designers started contributing. For a web application, a skilled web designer might have an easier time than with a GUI, but communication is still required to understand the interface’s needs as well as implementation details in terms of communicating with the back end.

The designers I have talked to would love to get involved, the motivation is there they get to put this on their portfolio and they enjoy designing – the crucial thing is communication and getting started. Designers want to have easy access to developers of the project they can ask all kinds of questions, developers that might also help the designer implement the interface change itself. IRC is probably not the designer’s favorite communication channel, but it’s the only one developers know and it’s a great way to perform a group chat, involving the entire community around the project.

You should follow me on Twitter here.