Richard Hughes’s post about GNOME 3 power settings seems to have generated a good deal of interest and, dare I say it, a good deal of opinion too. I’ve been fairly involved in some of the design process behind these settings, and I’ve even had a go at designing the power panel, so I think I’m in a pretty good position to attempt (be forgiving!) to give a bit of commentary on the action-on-lid-close-settings debate.
To see how we got to this point, we need to take a step back. gnome-control-center has been almost completely redesigned for GNOME 3. That includes the so-called ‘shell’ (the settings window and navigation and search mechanisms), the categorisation and grouping of the settings, and the contents of each settings ‘panel’ itself. A great deal of work has gone into this, and we’ve been really stretched getting GNOME 3′s system settings designed. We could have definitely done with more designers on the team.
Nevertheless, thanks to the hard work and dedication of a small number of individuals, we are going to have vastly improved system settings for GNOME 3. They’ve been rationalised, reorganised and reconceptualised. They’re going to be easier to use and be more relevant to today’s users. They’ll work with touch screen devices (this is why we’re including status information in the panels) and with netbooks. You can see the details of this work on the wiki (this is the current design page and this is an older one); virtually all the discussion about this has been happening on #gnome-design, and there have been mockups bouncing around the GNOME design git repository for months.
Which brings us to the matter at hand: how do we handle power settings for when someone shuts their laptop lid? The issue has already been discussed many times on #gnome-design, and we obviously we want a solution that works for everybody. Yesterday, Richard wrote about what I’d describe as the most popular position amongst those doing design work on this particular issue: default to suspend on lid closing, and don’t provide an option to change that setting. I could write at length about why suspend-on-lid-close is A Good Thing but won’t for sake of brevity. It seems to be the second part of that proposal that people are most concerned about, so that’s what I’m going to focus on.
To some people, removing a preference might seem like a cruel or irrational thing to do. There are some pretty good reasons for this approach, however. First, it increases integration between software and hardware. GNOME becomes identified with the behaviour of the device in question, not just the software that runs on it. It’s about designing the behaviour of the whole product. Second, for many users, a setting isn’t that helpful: if you are a user who likes their laptop to suspend-on-lid-close some of the time, but don’t want it to suspend-on-lid-close at other times, a preference is decidedly suboptimal. What we don’t want is for our users to be constantly fiddling with their settings. For the most part, they should be able to go there once, configure the system, and forget about it. Having a setting there could entice users into that constant fiddling behaviour, and that would degrade the user experience.
The other reason not to include this setting is, of course, that it is another setting and, as we all know, settings kill kittens. The vast majority of people do not like lots of settings: they find them difficult to use, and it makes them think that GNOME isn’t intended for them. (We do want GNOME to have mass appeal, don’t we?!) ‘It’s just one setting!’, you might say, and that is a fair comment. The question is: when is one more setting a setting too far? Where do we draw the line?
What makes this issue so difficult is that many applications and services simply do not do the right thing when it comes to suspend/resume, and some of those services are used particularly heavily by the user communities that are close to GNOME. IRC is a particular issue here, but there are others that have been rightly identified by those who are concerned about this issue. We want GNOME to do The Right Thing, but that is difficult when so many other pieces of software are doing The Wrong Thing. It’s a question of responsibility as much as it is proper behaviour, and it’s a question of what we want to aim for in the future.
So where does this leave us? The power settings are still being worked on, and we are yet to see a final design for the power panel. The people that are working on it are acutely aware of the difficulties users face with suspend on lid close. They also (believe it or not) really care about GNOME users, and are trying to do the best thing for GNOME. If you want to follow this issue, you can watch the wiki, design repositories and IRC channels. I’m sure it will be discussed again soon, and everyone is welcome to participate in those discussions, provided that their contribution is a constructive one.
Edit: thanks for all the responses. It’s been a great discussion and a lot of useful points have been raised. As of now, I’m effectively closing the comments on this post, however. I simply don’t have the time to properly moderate them. Don’t worry though, we’re not ignoring what has been said here, and we’re working on this issue. And if your post is still in the queue, I will make an effort to get to it soon.