Features follow function - design-driven development of GNOME Shell
Florian Müllner is a developer, who used the GNOME platform on his job since 2005, but did not start contributing to the project until 2009. He quickly became one of the most active contributors to the GNOME Shell project and joined Red Hat shortly after Guadec 2010.
Jakub Steiner is a visual designer at Red Hat. Besides GNOME, his contributions to Free software include projects such as GIMP, Firefox, Evolution, OpenOffice and F-Spot. Having spent more than 10 years in the Free software community he shares his insights on the open development process from the designer perspective.
Without a doubt, GNOME Shell is the defining technology of GNOME 3. While much has been said and written about changes to the user experience, the developer experience of GNOME Shell deserves more coverage than it has been given - from the first sketch-ups at the 2008 UX hackfest to the first stable release in April 2011, mockups always preceded code.
Design-driven development like this is still rare in FOSS projects, and provides challenges to all involved - designers exploring how to do design in the open, developers having to give up some of their "code first" mentality.
So how do designers and developers cooperate on GNOME Shell? What worked for designers? What worked for developers? What didn't, and how can we improve the process?