One of the things that I have been continuously wondering is whether or not open source projects will ever get awesome UIs similar to the Apple iPhone, OS X, Apple TV, etc… Right now I think that Ubuntu has made incredible strides toward getting a UI design that is anywhere near as awesome as Microsoft or Apple, but most other OSS projects just look ugly, or have no UI whatsoever.

Part of the reason, I think, is that most graphic designers make money off of their finished product, not necessarily the process by which they work. If a UI designer / graphic designer were to open up their materials and process, what they did would have a little less value. I worked for a while with a number of unbelievably talented designers, and they were very generous with their information. So much so that someone like me who is unabashedly a programmer, who had no design skill, can now make moderately acceptable UI decisions. The problem is that I am still far slower than they are at doing it, but one could see that if I were to have access to all of their psd files, etc… and their knowledge, I could just continuously duplicate what they had done. I would not grow, I would not get better, but I could continue at that level indefinitely. This would reduce the need for that designer long-term. But this is a very small part of the problem.

Another issue, I think, is the nature of Open Source Development. By necessity OSS is a community process, and design is not a community process. Design is a single individual, or a group of like minded individuals’ effort to produce the art that is their vision. If you open it up to the group, you will get 1 Million different approaches: We should animate transitions! We should not animate transitions! We should copy the OS X dock! We should copy the Windows start menu! These are things that can destroy a design process, what what you end up with is Windows Vista, or OS X 10.3 with lots of different interactions that don’t make sense to the end user. The amazing thing about art is that the finished product always reflects the process. If the creation process was disharmonious and quixotic, then the finished product will be that way, no matter how talented the designers. If the creation process was focused and driven then that is how the finished product will be.

Another reason is the inherent contempt developers seem to have for designers telling them what to do. So many developers think that they can design a series of forms, etc, and will challenge designers’ judgement. In a OSS project, where the developers do not have business overlords forcing them to bow to the designers “crazy, insane, hard, impossible” requirements, they will not do it. The reason Apple got where they are now is because Steve Jobs forced the developers to bow to the designers, and the result is arguably, the best working environment on a computer, technically as well as aesthetically.

I think this may be an intractable problem inherent to open source projects, barring an executive taking an open source project ( Free BSD ), and hiring a designer to draw up the UI + interactions ( Cordell Ratzlaff? ), and then forcing developers to do the impossible ( Bud Tribble ( NextStep Engineers ) ). Also, since it is art, hiring a designer to create assets and interactions for any software is incredibly expensive, relative to the low barrier to entry of just doing it yourself. I don’t actually have an answer for this, I am wondering how it will ultimately be resolved.