Andreas writes about some of the work going into the GTK CSS Engine.
“Back at GUADEC in Birmingham, when Garrett proposed using css-markup for widget themes, I thought it sounded a bit too cracky to be doable. Robâ€™s recent work, however, looks really sweet and since every designer and his mother out there knows css, this is a great way to lower the barriers of theme creation”.
The basic idea is that GTK (and as such GNOME) themes can be created using the well established Cascading Style Sheets technology that web designers the world over are familiar with. This is something I was blogging about back in 2005 after some discussion in the Tango project (unfortunately, the original link to the discussion seems to be dead).
What excites me about this is not the seemingly obvious technical coolness of the idea, but the fact that it breaks down the barrier to implementation and experimentation in an important, creatively fuelled part of the desktop experience – themes.
Themes are objects produced as a result of artistic creativity. Great themes are constructed by those with a strong eye for colour, interaction design, and aesthetics, and an understanding of the emotional and practical effect of this sandwich of visual considerations. The problem is that different brains work in different ways, and visually creative thinkers typically communicate their art via more direct means – painting, sculpting and drawing – they use their hands to produce the art directly. Abstraction and interface typically has no place in the traditional creative arts. Computers have made this kind of artistic expression insanely more complicated, with paint packages, 3D modeling software and other applications, all expecting the artist to understand the rules of interaction defined by the computer. We have since produced a generation of artists who have figured out how to squeeze their creativity into this computer shaped box.
What excites me about the CSS GTK engine is that it makes logical sense to build on a body of knowledge that the creative community has already worked hard to aquire. Artists and designers the world over have spent years learning CSS and figuring out how to represent their creative intentions via this language. The language and its structure has been refined over the years based on feedback, and is now an elegant and well understood means of visually depicting content for different types of media – screen, print, mobile and more.
I believe that a CSS driven theming engine is going to open up GNOME theming to a whole new demographic of potential contributors, and sites such as GNOME-Look are going to become the bubbling pot of exciting new visual potential in the desktop. I hope that our friends in the Qt and KDE world are going to do the same.
Even though I am not a part of the work going on in GTK CSS support, I would urge the developers of this support to focus their efforts on one key area though – soliciting feedback from artists. To make this a success, artists need to help drive the CSS support to be as flexible and complete as possible. Andreas talks about this intention already:
“Rob is in great need of designers to test these things out in the wild though, so if youâ€™re a designer with css knowledge who always wanted to create widget themes, donâ€™t hesitate to check it out from svn and give it a shot”.
The key here is going to be simplicity – artists need to be able to test the software easily and communicate their thoughts just as easily. I would urge you folks to produce distribution packages so you can bypass the expectation of using svn, and have a clearly defined process so artists can share what challenges they face and how support could be built in to improve this. This could be achieved by website forms, artist interviews, assessment of CSS themes and surveys.
There are so many areas in which we can make the many collaborative opportunities with Free Software easier, and I am excited that this important area is getting such quality focus. Great work folks.