GNOME Shell GUADEC wrap-up

Unless you’ve been hiding under a rock, if you are a GNOME contributor, you probably know the big news from GUADEC: we decided to push GNOME 3 back another six months. I obviously would prefer if this wasn’t necessary – it feels like we’ve been working on GNOME Shell for a long time now, and it would be good to get something into user’s hands. (It’s been 19 months or so since we announced the project and wrote the first code.) But it was definitely the right decision: it will give us the time to make GNOME 3 really solid, rather than pushing something not quite finished out the door.

The GNOME Shell team did 3 talks:

  • I gave a presentation where I looked at what we’ve done in the last year and where we are currently: The State of the GNOME 3 Shell.
  • Jon talked about the big ideas behind GNOME Shell design, then together with Jakub gave a peak at some of the work they’ve been doing recently: Shell Yes!.
  • Colin and Dan talked about how to make your application rock with GNOME 3: GNOME 3 and Your Application

Unfortunately, the videos for the talks aren’t yet posted anywhere. So, you’ll have to figure out what you can from slides. This may be pretty hard for my talk – a lot of the slides are just screenshots comparing where we were a year ago to where we are today. But Colin and Dan’s talk has notes in the slides, and Jon’s talk has a video mockup of upcoming shell design changes.

Some media coverage: You can hear me talking with Fabian Scherschel about the shell in the latest Linux Outlaws podcast, and if you read German there’s an article by Andreas Proschofsky at

We had a good crowd of shell people at the conference; there were 6 or so of us there from Red Hat, and beyond that I was really happy to meet Florian Muellner and Maxim Ermilov who have been responsible for much of the progress in the shell over the last year. (I’d tell you what they’ve done here, but it would make this post too long.) Our two summer of code students were also there: Christina Boumpouka who is working on adding CSS support to LookingGlass, and Matt Novenstern who is doing a bunch of improvements to the message tray.

I talked to the Tracker crowd a bit about integration of Tracker with the shell. I mentioned a couple of areas where we could use some help on the Tracker side: we need more notifications, so we don’t have to constantly requery to show the user all their files and no deleted files, and someone needs to take care of pushing files that the user actually uses into Tracker for indexing whether or not they are in the directories that Tracker automatically indexes. But basically it’s a question of finding someone with the time to sit down and do the work and implement the designs we have. The shell needs a way to search files and file metadata, and Tracker is obvious leader in this area for GNOME.

I also talked a bit about remerging St and Mx with Chris Lord and Emmanuelle Bassi, though somehow I missed catching up with Thomas Wood. We’re all really positive on the idea – there’s been a lot of complementary development on the two codebases. (The way I explained it in my talk is that St has powerful CSS support, which we need for the one-off shell UI, while Mx has far more widgets, which they need for the wider range of things they use Mx for in Meego..) There’s definitely some devil in the details – we’re definitely not done with every toolkit enhancement we need for the shell, for one thing – but hopefully we can make it happen soon.

Øyvind Kolås gave an awesome demo of ClutterSmith. This had the GNOME Shell designers jumping up and down to get it yesterday – enough with Inkscape and Blender. Ideally, we could have a live mockup of the shell in ClutterSmith, using the same images and CSS files as the real shell, and the designers could use that to experiment with new visual changes and motion design.

On the plane home, I started hacking on new shadow code for Mutter that can handle variable shadow radii and shaped shadows. It’s still a work in progress, but since every blog post needs a picture:

(This is a test program using images for windows; the ugly window borders are ugly because that’s what I could draw in the GIMP quickly. On the other hand, the shadow banding is a defect in my code that I’m still working on.)


  1. Matteo
    Posted August 2, 2010 at 3:33 pm | Permalink

    There is an interesting project called zeitgeist ( that could provide to the shell some useful data like recent files, recent files used by a given application, files sent to a contact, etc (I guess you have heard something about it).

    I think the zeitgeist guys would be more than happy to talk with you about how zeitgeist could be useful to the shell.

    • Owen
      Posted August 2, 2010 at 3:49 pm | Permalink

      We’ve been in communication with the Zeitgeist developers for a long time. (Zeitgeist and GNOME Shell both got their start at the same hackfest in 2008.) Some comments by me about how Zeitgeist fits in with the shell: – there are some things in our designs – like frequently used files – that Zeitgeist would be really useful for, but it really needs to integrate well with Tracker. Say I want to get a list of files matching the text “fishsoup” ordered by how frequently I’ve used them – if I ask for all matching files from Tracker and then have to query Zeitgeist one-by-one to find out how frequently they are used in order to sort, then that’s going to be really inefficient. Zeitgeist needs to actively push its data into Tracker. My understanding is that there is working code to do this, and the necessary changes to Tracker to enable it are queued up for inclusion, so hopefully it will be easy to take advantage of Zeitgeist without a lot of inefficient and cumbersome code to merge data inside the shell.

      • Posted August 3, 2010 at 4:52 am | Permalink

        Correct, we have a branch from the Zeitgeist team that introduces the ontology that they need. I’m not satisfied with how fast we handled this ontology request, so I’ll be talking with the other team members about this next few days.

        We also plan to accept patches with custom SPARQL functions and there are vague plans for some sort of post-processing infrastructure which might also be useful for Zeitgeist’s integration.

  2. michael
    Posted August 3, 2010 at 3:55 am | Permalink

    ClutterSmith demo looked amazing, and to imagine that Pippin had to recover from a hdd crash the day before …

    Also liked the CSS stuff from Christina.

  3. nona
    Posted August 3, 2010 at 8:24 pm | Permalink

    I like the banding, looks like some penumbra. Not as boring as the usual drop shadows.

%d bloggers like this: