Shortcuts love

Keyboard shortcuts can be a powerful feature, particularly for actions that are repeated often and are consistently available. In GNOME 2, shortcuts could be learned through menu bars, but we moved away from these with GNOME 3. There were a number of reasons why we did this, and it was a good thing, but it did leave users without an easy way to learn keyboard shortcuts. This is something that we’ve wanted to address for some time, and are now finally resolving.

Builder Shortcuts

Thanks to Christian Hergert and Matthias Clasen, GTK+ master now includes GtkShortcutsWindow: a window which, unsurprisingly, shows the shortcuts for an app. They have some nice features, like search and animated paging. They also provide ways to show shortcuts that belong to different views or modes, and they can provide information on touch gestures as well as keyboard shortcuts.

Files Shortcuts

For GNOME 3.20, we’ve set ourselves the target of adding shortcuts windows to as many key GNOME applications as possible, so they are consistently available. We’re making good progress: 13 apps already have them.

The new shortcuts windows are a really convenient way to find and explore application shortcuts. You’ll be able to access them through application menus, or by using one of the two dedicated shortcuts: Ctrl+? and Ctrl+F1.

Photos Screenshots

This effort is prompting us to review the keyboard shortcuts for each of the applications, and in some cases we’re adding a lot more of them. So if you use shortcuts a lot, 3.20 should be a good release for you.

The new shortcuts windows need review and refinement: if you are interested in this feature, please give them a try and provide feedback. And, if you are responsible for a GNOME application and would like to add a shortcuts window of your own, guidelines and more information can be found on the GNOME goal page.

Content apps hackfest

Last week I attended the Content Apps Hackfest in Madrid. A group of about 12 us met for three days to work on GNOME’s content apps: Documents, Files, Music, Photos and Videos. The goal for the hackfest was to make as much progress with these apps as possible, although we also ended up talking about other apps, due to who was in attendance.

I mostly helped to review the state of some of the apps, and worked on designs for new features. This included helping to work out a roadmap for Photos, working on designs for series grouping and properties pages in Videos and reviewing our plans for Files (as well as discussing various bugs we have there). I also ended up reviewing some design work for Polari and for Web.

In all it was an extremely productive trip. It always amazes me how much quicker and easier it is to work on design face-to-face. The other really nice thing about the event was that it gave application authors the opportunity to get together and work more as a team. This is really motivating, and is something we’d like to promote more in the future.

Madrid was a great location for the hackfest. I’d like to extend a big thank you to Medialab Prado for being excellent hosts: it’s a fantastic facility that does a lot of interesting things.

Finally, I’d like to thank the GNOME Foundation for helping with the cost of attending the event.

The next big thing

GNOME 3 has come a long way since 3.0. When you compare what we have now to that initial 3.0 release, the difference is quite huge. Though it might look similar, the experience of using it has improved dramatically. This improvement is a major achievement, and has only happened thanks to the tireless efforts of the GNOME community.

With each release we’ve achieved a significant improvement to the overall experience. We’ve filled out the experience with major new features like system-wide search, the lock screen, online accounts, and a raft of new apps. Also, when necessary we’ve made major design changes, such as with notifications.

Much of this work has been a hard slog: reviewing every little bit of UI, and improving it one step at a time. We had round after round of Every Detail Matters to get the shell up to scratch, just as we’ve refined the apps with each subsequent release.

Not all of this work has been glamorous or exciting. Gradual refinement, release after release, isn’t something that makes the heart race. However, this kind of dedication has been absolutely essential, and it’s essential that it carries on: that we keep up the pace of improvement, so every version is better than the one before.

It’s important to remember the progress that we have made, because it is easy to forget how far we’ve come.

At the same time, when you are in the routine of making iterative improvements on a time-based schedule, it is easy to lose sight of the bigger changes that are happening around you. It is here that I want to draw attention to two significant developments that are currently happening in the GNOME project.

Application sandboxing

Alex’s incredible work with xdg-app is a subject that gets talked about a lot, but it really can’t be emphasised how significant it is for GNOME as a project.

The cross-platform and security aspects of application sandboxing are important, but there’s a lot more to it than that. It will enable us to improve the whole user experience, by enabling the OS to be more robust and stable, and by improving performance. It will also allow more flexible release cycles for applications, without having to wait for the next version of a specific distro, and it promises to transform the application developer experience.

This could have significant implications. Perhaps it will be the end of the six month release cycle for many GNOME applications?

GTK+ Scene Graph

Development of the GTK+ scene graph has been trundling along in the background for some time, thanks to Emmanuele. It is really starting to get somewhere now, and will allow interfaces that make greater use of animations.

There are some obvious uses for the GTK+ scene graph, but there are also many other possibilities and real scope for experimentation. The introduction of more widespread animations could have a revolutionary impact on how we design and create GNOME applications.

Putting it all together

Each of these initiatives has developed independently, and it’s easy to focus on them individually. However, I think that we should be viewing them as elements of something bigger: the next significant evolution of GNOME. We might just be on the verge of the next big thing, the next evolution of GNOME.

And since we are potentially at a major turning point for the platform, it is worth thinking about other changes that could form part of new vision for GNOME 3. For example, one thing I would particularly like to see is a greater emphasis on cloud integration, so it is possible to have a fully cloud-backed GNOME experience. I’m sure there are other changes that we should also be considering.

GNOME still needs to keep iterating: slowly and gradually improving every aspect of the user experience. At the same time, it is healthy to periodically think about the big picture and bigger changes. I think we have the basic ingredients for a new vision for GNOME 3: something new, exciting, and potentially revolutionary.

Content apps hackfest: Madrid, 2–4 December

LGM 2013

Medialab-Prado in 2013

I’m pleased to announce that there’s going to be a hackfest in Madrid, from 2–4 December. The subject is GNOME’s content apps: Documents, Files, Music, Photos and Videos. A group of us will be getting together to work on making them better, and to make plans for the future. There’s plenty of work to be done, from content sharing and photo import, to smart music playlists.

Everyone’s welcome; please sign up on the wiki page if you are interested in attending.

Many thanks to Medialab-Prado for hosting the event. I’ve been there once before, for LGM in 2013, and it is a really nice venue where a lot of interesting events take place. In their words:

“Medialab-Prado is a citizen laboratory of production, research and broadcasting of cultural projects that explores the forms of experimentation and collaborative learning that have emerged from digital networks.”

HIG updates

HIG Banner

The GNOME 3 Human Interface Guidelines were released just under a year ago. They incorporated material from the GNOME 2 HIG, but they were also a thorough rework: the GNOME 3 HIG has a radically different structure from the GNOME 2 one, and is largely based on a collection of design patterns. The hope was that this collection could grow and evolve over time, ensuring that the HIG is always up to date with the latest design practice.

I’ve recently been working on the first major update to the GNOME 3 HIG. This has enabled us to put the new structure to good use, and the number of patterns has increased. These new guidelines are the direct result of design work that has happened in the past year. They attempt to distill everything we’ve learned through our own process of trial and error.

There have been some other notable changes to the HIG. Navigation has been improved throughout: the introduction has been thinned down, so you can get straight to the interesting stuff. The front page gives a much better overview now, and the overview pages for design patterns and interface elements have been much improved.

Another nice addition is that the HIG now links to the relevant GTK+ API reference documentation for each design component. This is nice for knowing which widget does what; and makes the design guidelines a more effective accompaniment to the toolkit.

I’m hoping to continue fixing bugs in the HIG and expanding the collection of patterns for a little while, so let me know if there’s anything you’d like to see added.

[Edit: these improvements to the HIG are work in progress, and will be released with GNOME 3.18.]