Georges Stavracas

Introducing Settings (or, the new Control Center)

Advertisements

Greetings my friends,

if you’re following the GNOME development closely, you’re now more than aware of this movement of reworking GNOME Control Center. It was a remarkably colossal work, specially because we used a bottom-up approach: fix the panels, then switch to the new shell.

With the release of GNOME 3.25.91, I’m proud to say: the new Settings layout is the official one now.

This is how it looks like:

The new Settings app

A Long Road

… It all began one year and a half ago. I wrote about it at the time, remember? 🙂

When Jon McCann and Allan Day expressed their vision of how a Settings application should work in the form of mockups, I was particularly excited with them. Specially because, with these mockups, we could easily make Settings work on low resolution displays, which is a very important feature for Endless. Since I adapted GNOME Control Center downstream for them, and we all agree that upstream would be better, it made sense for them to support me working on the new Settings layout.

Chronologically speaking, this is how the work unrolled:

Overall, it took 18 months of work from 15 different people (some more involved than others) and more than 30.000 lines of code changed. This work was massive. Thanks to all the contributors who gave their time and energy for free in order to make it happen.

The new Network panel

You read that right. The last big panel that required an update was Networks. This because it used the old 2-column layout, as you can see here:

The old, 2-column Network panel

While this layout worked well enough with the previous Control Center layout, it would be inconsistent with the new Control Center layout, since both the panel and the shell would have a sidebar. Thus, we could not set the new Control Center shell until we fixed these panels with 2 columns.

But fortunately, using my remaining energy and abusing the super awsome Rui Tiago Matos’ review capabilities, we managed to review this old mammoth panel and the result is actually nice! This is how it looks now:

The new, single column Network panel

This panel, however, is not final; we’ll do another UI review for the next cycle, and split the cellphone Bluetooth connections into a new panel called Mobile Broadband. The advanced connection editor dialog also received a very needed UI review as well:

The improved advanced connection editor dialog

This, as you can imagine, is also not final. The idea for the next cycle is to continue improving this dialog so that we can present the same (or even more) ammount of options in a much saner and simpler way, avoiding confusion and misconfigurations.

Introducing Settings, the new Control Center

Settings is the rebranded name of Control Center. I won’t be mouthful here when I can show you that, right? There you go:

 

Thanks to Jakub Steiner, the Details and Devices rows have dedicated icons that looks super great! Check this out:

The new symbolic icons in Devices and Details rows

Allan, Rui and I spent the past couple of weeks fine tuning tons of minor details and the overall behavior of the new Settings layout. More than 40 minor improvements landed in the mean time, and we can expect even more during the next week.

Next Steps

Improve the Sound panel, do another UI iteration over the Network and Wi-Fi panel, introduce the Mobile Broadband panel and fix all the countless bugs that appeared because of this work.

All in all, I’m personally loving how this work went; how many contributors appeared and gave their personal touch to this work; and also, how supportive and positive the community reception was.

(Pshh, only between us; the GNOME community – both users and contributors – is just awsome!)

Of course, as one can imagine, this work was not without flaws. Lots of them were caught early in the cycle, but some issues will only be found by users testing this new work. So, if you’re not sure about how to start contributing, let me reassure that testing the new Settings and filing bugs would be a tremendous contribution. Bonus points if you provide a patch fixing that issue!

Acknowledgements

Many contributors were involved in this colossal work, but I’d like to personally thank Felipe Borges, Bastien Nocera, Allan Day, Mohammed Sadiq and Rui Tiago (in no particular order) for their role on this work, ranging from UI review, panel porting and code review.

I’d also like to thank my employer, Endless, to support me work on this since the very beggining. While this was not my main focus of work, without the support, it wouldn’t be possible at all.

Because, if you still didn’t know…

Advertisements