As a theme creator it is very important for me (and other designers) to fully understand what I’m doing by designing themes. Is creation related more to art or to science and engineering? First of let’s see what is User Interface (UI):

“The user interface (also known as human computer interface or man-machine interface (MMI)) is the aggregate of means by which people—the users—interact with the system—a particular machine, device, computer program or other complex tool. The user interface provides means of:

* Input, allowing the users to manipulate a system
* Output, allowing the system to indicate the effects of the users’ manipulation.”

Source: Wikipedia

Usual desktop today. Preview of the theme New Wave 0.8.2

Thus a good interface is the one that accepts a wide range of data and presents the output results in the best possible (usable, discoverable) way. Let’s focus on one of the types of the UI – the Graphical UI or GUI, because it is most popular one. Just for reference you could check out the ZUI – Zooming interface of AHEAD (use mouse scroll and pressed left button to navigate).

Back on topic: If the GUIs were designed entirely by engineers (a.k.a programmers) then the results would be super logical, looking complicated and described by technical terms, that no one else would understand. A good example is GUIs for GNU/ Linux at their birth in the early 1990 to 2000 because GNU/ Linux is mainly a OS developed by engineers in their free time and working for powerful companies on the other hand. Things started to change, when GNU/ Linux had become mature enough for some designers to join the community of FOSS. Then they started to make good backgrounds, decent looking themes and most importantly – got in touch with the developers and started making requests for a better,  more understandable words and UI layouts. This is the time to say that without the programmer the designer can do nothing more than mock-ups (only imagine a tool like Peridot is widely adopted – then the designer can do it almost on its own).

Still, developers are not always capable of fixing everything in the current GUIs like Gnome 2.xx series. I found this when I started making my theme. There were a lot of places where everything is hardcoded, (written in the code of the program) and could not be changed externally by a theme for example. What I mean is that if you want to theme (skin) the text boxes with transparent areas, you can’t because it is drawn in such a way by the system. That could be only fixed by major overhaul, such as entirely rewritten system to allow this – that would be the all new Gnome 3.xx I hope.

That said I think GUIs could not be made by designers nor programmers alone. Interfaces should be a combined effort of both to achieve usable, aesthetic and fast interaction between the man and the machine. We are in the time when there are enough good programmers and good designers in the FOSS world, and the next generation UI should not be too far away. What do you think?