At this point in time I decided to join the fray and see if I could do anything to help accelerate the SVG effort. Through combining the Bluesphere and Crystal SVG icons, I created a GNOME metatheme called Spheres and Crystals, which gave librsvg a substantial testbed. Dom and I did a tag-team effort in order to get librsvg to render all the icons. Dom and Matthias Clasen created a GdkPixbuf loader on top of librsvg which made SVG graphics available everywhere in the GNOME desktop, but the loader and themes exposed bugs and needed features throughout the GNOME desktop. A lot of time was spent filing bug reports and talking with maintainers to get them to fix their applications and libraries. Eventually most major issues are fixed both in librsvg, Sodipodi and in GNOME and in February 2003 we released the first version of Spheres and Crystals, which recieved a positive reception.
We continued working on Spheres and Crystals and used it as our main vehicle for exposing scalablilty issues in GNOME. At the same time Jakub Steiner rejuvenated his Gorilla SVG theme (screenshot) and it becomes the first theme in a new module called gnome-themes-extras. At this point in time more vector graphics based icon sets starts seeing the light of day and I decided to try and create more GNOME metathemes using them. I also decided to kill off Spheres and Crystal feeling it had outlived its usefulness. It was, after all, a mismatch of icons from various packages and felt rather inconsistent. The availability of the new iconsets made me want to try making something that felt more integrated and polished. To pool efforts and facilitate the creation of these metathemes, I contacted Jakub Steiner and became co-maintainer of the gnome-themes-extras package. Combining the beautiful icon work of David Vignoni's Lush (screenshot) and Nuvola (screenshot) icons and Mathew McClintock's BeOS style icons (screenshot) with new Gtk and Metacity themes using Andrew Johnson's slick new GTK+ theme engine Smooth we shiped the first release of gnome-themes-extras on June 12, 2003. Later, we added a metatheme based on Michael Doches Amaranth (screenshot) iconset to the package.
After this things really started to pick up for using SVG on the desktop. We made many new releases of gnome-themes-extras with many fixes and new icons. The iconsets became quite popular, and to this day are showing up in screenshots all over the place. Things were not standing still in the KDE camp either, and thanks to the relentless effort of Rob Buis, KDE announced that it will start shipping the KSVG rendering engine with KDE 3.2. While not as fast as librsvg, KSVG supports parts of the SVG specification that librsvg still does not. These traits make KSVG the perfect tool to provide SVG rendering for KDE's web browser, Konqueror, but not so good for on-demand rendering of SVG icon themes.Chapter 4: Beyond icons
With the basics starting to fall into place, more and more people become aware of SVG and begin to the possibilities this format offers for desktop computing. The game Monkey-bubble (screenshot) was relased in October 2003 and helps open people's eyes to the possibility of using SVG graphics in games and other types of graphic-intensive software.
That same month, I conspired with Lauris Kaplinski and Bryce Harrington to bring SVG to the forefront of the GNOME desktop. For a long time, the Sodipodi website had hosted a small collection of flags. We decided it would be great to have a more complete collection as a resource for people in a lot of different situations and settings. So during October 2003 we launch the Sodipodi-flag collection and send out a call for people to contribute flags under the Creative Commons Public domain dedication. Within a few months the collection grew from its initial 20-30 flags to over 330 thanks to the effort of artists like Tobias Jakobs, Caleb Moore, Patricia Fidi and many others. This flag project helps both to increase interest in SVG graphics and bring in more developers to the related projects. The flag collection got quite wide coverage due to its usefulness beyond free software development, including garnishing a nice endorsement from Lawrence Lessig.
All is not well in the house of roses though and later that month the Sodipodi development team splits into two groups, and the Inkscape project is born. This gives us two SVG editors/Vector drawing applications. Long running disagreements on topics ranging from GUI design, use of external libraries, project goal and direction, programming language used, and more resulted in the developers feeling that they would be happier and more productive if they worked on two separate projects.
Sodipodi and Inkscape aren't the only players in town. In November the Gimp gets some SVG import support using via librsvg, starting with a basic SVG plugin by Dom Lachowicz. Sven Neumann later rewrote this plugin, which now also imports SVG paths as Gimp paths (screenshot). This leads up to to a flurry of activity from Gimp developer Sven Neuman with many new SVG related functions getting added to the Gimp allowing it to be used to create some basic SVG drawings. The news of Gimp's SVG support gets coverage on most linux art sites and on Slashdot.
November 2003 also turns out to be the month when another important project gets started. Iago Rubio starts a project called cssed which is a CSS2 editor. Rapid development follows and cssed is already a useful application. This application will probably prove very handy for us moving forward with the plans I will outline in chapter 5.Based on the example set by Monkey-Bubble and the general excitement around SVG, the GNOME-games team starts migrating the games to SVG with Richard Hoelscher as the main artistic force behind the SVG'ification effort with Callum McKenzie taking care of the coding. Three games have SVG support in the GNOME-games version to be shipped with GNOME 2.6 - namely Lines (screenshot), GNOME mines (screenshot) and Mahjong (screenshot). The plan is to SVG'ify all the games after GNOME 2.6 and also make sure the games' GUIs take advantage of the flexibility of this new graphics format.