I am happy to say that every GUADEC that I attended so far was absolutely fantastic. The 2019 edition of the conference, however, will have a special place in my heart for several reasons.

Let’s start with the fact that it happened in Greece. Being a Greek descendant myself, I was particularly excited with the idea of visiting the country of half of my family tree. I then decided to use this chance to travel all over the country with my father, and visit the places where my grandparents came from.

It was a fantastic and emotional journey.

The social aspect of GUADEC is also a big reason for the enjoyment. Over the years, the social aspect of the event is growing in importance to me. Being part of the GNOME community, seeing old friends, sitting down and enjoying some time with great people, this is what makes GUADEC valuable to me. I think part of the reason is that, after finishing masters and starting work full time from home, my daily human interaction is very limited, and I value these interactions much more now.

This GUADEC, I felt we are managing to make our community more diverse and well represented. I was happy to see members of System76, elementary OS, Endless, Collabora, Centricular, and independent contributors deeply engaged with the community.

In addition to all of that, I feel like this GUADEC was extremely productive. Orders of magnitude more than the previous ones.

Talks

This is the first GUADEC that I gave talks, and in fact I gave two of them:

State of the Shell

After getting involved with GNOME Shell and Mutter for some time, I was happy to be part of this talk. Even though it’s a deeply technical talk, with many details being hard to understand for those not initiated in the art of compositors and display servers, there was a fair share of public attending it!

As Jonathan Blandford said, these State of the Shell talks are “[…] an acquired taste, but delicious once acquired.” Being on the presenting side of the equation, I can only agree with that!

As I said multiple times in this space, working on Mutter and GNOME Shell is exciting. Exciting to learn about the underlying technologies, exciting to contribute to, exciting to see how every improvement impacts my very own daily usage of it. Naturally, the future of those modules is exciting as well!

About Maintainer and Contributors

This was a non-technical talk about the current state of maintainership in the GNOME community. I wasn’t expecting more than ~10 people in the room, but to my surprise, the room was filled.

When I had the idea for this talk, I wasn’t thinking of a lecture-like talk, with answers to common problems. Instead, I idealized a quicker time of me speaking, and an open discussion after that.

Fortunately, many members of the Engagement team were there and contributed with interesting ideas to this discussion. Some of these ideas, such as a Maintainership Guidelines document, are absolutely feasible in the short term, and I want to try and coordinate some efforts to get them done and see the results.

BoF days

The BoF days were busy. Between Endless ad hoc meetings, corridor hacking, and actually finding the allocated rooms, a lot has happened. I’d like to start mentioning the achievement that makes me proud the most.

Vendor Styles

Vendor Styles is essentially the ability of downstream vendors to change the platform stylesheet without breaking applications. The stance of many GNOME contributors is that this is not at all supported, and there is some truth in that. However, I feel like saying that there’s no support to that and turning our backs to the people that distribute GNOME is not a productive approach.

Distributors likely want to make their brand recognizable, just like we at GNOME want. There is an ongoing tension between these parts.

However, I also feel like this is not an us vs them situation. What we all want is a great desktop experience, and we can (and should) work together to achieve that. Vendor styling is a discussion that’s been carried out for the past few years, and yet without actionable ways to tackle it. Being the maintainer of Settings, I felt like any actions in this topic would eventually reach me; so I concluded that getting involved early in the process would avoid later headaches. This is indeed a complicated problem. My impression was that past attempts of solving it weren’t properly actionable.

I am happy to say that we managed to come up with well scoped and oriented proposal for how to achieve better styling across desktop applications. You can find more details about it here. The general idea is to (1) document the public CSS variables we already have, (2) ensure that the core applications of the platform adhere to the best practices, and (3) improve the guidelines so that developers can find and use the right CSS variables.

Settings BoF

Together with Robert Ancell, we managed to review every single open GNOME Settings merge request. While doing that, we also decided which merge requests are ready to land when the 3.36 development cycle starts, the ones that are feature-accepted but need more reviews, and the ones that are still not ready to land.

All of that, the addition of the new Background panel, and the remarkable polishments that happened during this cycle, make me very happy with the 3.34 release of Settings. I think it will be a fantastic release.

Thanks Robert for being a great co-maintainer and friend!

Mutter & Shell

The time spend on those modules was not limited to the talk. During the BoF days, we managed to sit down and discuss which merge requests should be part of 3.34, and review them. Of course, much more bandwidth will be available during the Mutter Hackfest later this year, but the GUADEC time was still important due to the release cycle.

Thanks to the many reviews of Jonas Ådahl, Robert Mader, and Carlos Garnacho, we landed a pet peeve of mine: “Make MetaShapedTexture a ClutterContent implementation (mutter!409).” This is an exciting merge request, since it’s the first big step towards a pure render node rendering in GNOME Shell. Many follow-ups will come, stay tuned.

We also reviewed and started to get the geometric picking branch in shape for landing. Sadly, that merge request is not particularly in a mergeable state right now, and it feels like it is half of what it should be. However, since a few downstream vendors are shipping the patches for some time, we at least have a minimal guarantee that it’s not going to blow anyone’s GNOME session away. We then decided to work on getting it into a minimally mergeable state for now, and create additional merge requests making the geometric picking be what it was supposed to be in the first place.

Sprints

For those who are following the Sprint series, you may have noticed that I skipped last spring. Furthermore, I will also skip this one. The reason for that is that the vacation time before GUADEC, and GUADEC itself, didn’t allow me to work on this project.

To my surprise, Allan mentioned this Sprint project in their talk as a successful case of design / development coordination. It was a much welcomed validation of the project! You can watch the talk below:

I’m looking forward improving the sprint process and make it produce even more results with even less efforts. If with only 4 iterations we managed to improve so much, it won’t be a surprise if we can improve even more over time.

Starting next week, I will return with the Sprint series again, hopefully with a fresh new set of ideas to implement, polishments to land, and bugs to fix. Let’s see how it goes.

I could only attend this GUADEC thanks to the sponsorship of the GNOME Foundation.