Barriers

GNOME 3.8 just entered hard code freeze, and this is a release I’m very optimistic about. A little while ago, we all went to some place in Brussels to talk about GNOME, the GNOME Developer Experience, and where GNOME would be going forward. This release sets the stage for everything exciting to come in the near future, like new developer tools (some of which I hacked on), a newer and better Glade, etc. If you’ve tried writing a GNOME application before and was frustrated, we want your feedback. File bugs in Bugzilla, talk to people on IRC, and email the GNOME mailing lists. Please believe me when I say I sympathize with every one of you.

Anyway. I’m also excited because GNOME 3.8 is great for users, too. There’s lots of exciting new features. Mattias Clasen already blogged about some of them over there, but there’s one specifically that I want to mention, well, because I wrote it, and I’m proud of it.

If you’ve used GNOME 3.6, you may have been annoyed by the message tray behavior: it doesn’t pop up when you want it to, and pops up when you don’t want it to. I always felt that this hurt GNOME 3.6 more than it helped, and there are a large number of bugs related to changing the timeout, or disabling it altogether. The truth is, this was never the plan. It was a last-minute compromise that came about because we couldn’t implement the design we wanted, because it required changes to the X server.

In GNOME 3.8, we’ve implemented those changes, upstream, in the X server, so any other desktop environment and program can use them as well. Now, to open the message tray, you simply need to press against the bottom of the screen for a bit of time to open the message tray. The Android ripoff visualizer bar is something I added for the screenshot, but I’m looking into packaging it as a GNOME Shell Extension — it’s a fair bit noisy, so we’re not going to include it by default.

It was a fun project, and I learned a lot in the process writing code for the X server. Peter Hutterer has a blog post about the technical details over here. Big thanks to Peter for helping me out every step of the way, along with Christopher Halse Rogers of Canonical for doing a set of prototype patches used in Unity.

For those of you who read this blog for tech articles like The Linux Graphics Stack, I’m sorry for a boring GNOME update. I do have a giant article planned, though. I don’t want to reveal my entire hand yet, though.

Oh, and thanks to Red Hat and the GNOME Foundation for sponsoring me to go to the DX hackfest. You’re all pretty awesome people.

Update: Made the visualizer into an extension over here.

18 thoughts on “Barriers

  1. Thanks for the great work! I’m really excited for 3.8.
    Having some animation (though not necessarily bright blue) really helps for discoverability.

    I’m curious more on the technical aspect of things. What needed changing in X? Unity has, for a while, had pressure-activation for its dash.

    • Unity’s barriers were developed by Christopher Halse Rogers, and were a downstream patch to Ubuntu’s X server. Peter Hutterer and I scooped up his patches, and embarked on the task of cleaning them and the protocol up until it became something that we felt was upstream-worthy. It took six months or so, and I think everybody, including Christopher, is a lot happier with the end result.

    • There’s a set of designs for swiping from the bottom, but no implementation yet. Bastien Nocera is going to work on tablet and touch support next cycle.

  2. Hey Jasper, with regards to improving the Developers Experience on Gnome do you not think that getting *all* gnome developers to use the tools like DevHelp, Anjuta and Glade exclusively for development. If it turns out there’s something that’s lacking in those tools that a developer needs – there’s a high chance that someone else would want/need it too and effort should go into getting that functionality in.

    Ideally Anjuta would evolve towards hergertmes gnome-builder design and we’d have a kickass IDE and a kickass platform to develop for but as a stopgap measure, the way to improve the SDK is to get you core guys to buy into it.

    • This is sort of a difficult thing for me. I really appreciate the idea of dogfooding, and I’d love for us to do that at some point, but having used Glade and Anjuta for my own projects, it’s not there yet. I file crasher bugs when they can, and I file feature requests for things that would help improve my workflow, but what am I supposed to do? At the end of the day, I have work to do, and I’ll simply edit the UI files in my text editor, because it works.

  3. I have deactivated the message tray with a Gnome Shell Extension because it was so annoying. Why not just simply display the message tray when in the Overview Screen only?

  4. Great work! I can wait for 3.8 release to install it and hack it :) Gnome dev enviroment is very needed in my opinion, to attract more people to gnome dev. Idealy it would be great if it would support python, javascript and creating UI files (maybe a visual builder also – glade kinda sucks), but I also know that would be a major project to build. Well we can hope some day somebody will hop on that train and build gnome dev IDE to make it easier for all of us.

    Anwayz, great work!

  5. Pingback: Barriers, Smooth Scrolling, OSDs in GNOME 3.8 | woGue

  6. I can’t for the life of me trigger the message tray other than using super+m. I’m using a laptop with this new click touchpad.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>