logout needs confirmation

Bug #283095 reported by Björn Torkelsson
34
This bug affects 2 people
Affects Status Importance Assigned to Milestone
fast-user-switch-applet (Ubuntu)
Fix Released
High
Ted Gould

Bug Description

When choosing the logout action from FUSA you are logged out directly without any confirmation. This makes it very easy to be logged out by accident.

Alert mockups: <https://wiki.ubuntu.com/SessionTerminationConfirmation>

Revision history for this message
Björn Torkelsson (torkel) wrote :
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

With the old gnome-session dialog, clicking on the icon in the panel made the session dialog appear, and then clicking 'Log Out' or 'Shut Down' immediately performed the action with no further confirmation. However, it could be argued that the session dialog itself was confirmation, and the user always had to click twice in order to end their session (once on the icon in the panel, and then once more to perform the desired action). With the old session dialog, it was quite difficult to accidentally choose the wrong option (IMO).

With the fast-user-switch-applet, the situation is not that dissimilar. The user clicks once on the applet (which raises the menu), and then once more to select their desired action. However, the fast-user-switch-applet menu mixes session management, user switching and instant-messaging status functionality all in the same menu. As the menu items are much closer together than the session dialog, it is very easy to select the wrong option (I have done this several times now since upgrading to Intrepid). I think that the lack of visual icons for session management actions also makes it easier to select the wrong option.

So, I agree that this is a bug (and not Wishlist).

Changed in fast-user-switch-applet:
importance: Undecided → Low
status: New → Triaged
Revision history for this message
David Barth (dbarth) wrote :

There may be a consistency issue here:
- the System menu offers 2 options to either "Logout" or "Shutdown"; the 2 options are protected by a confirmation dialog
- the FUSA menu offers 5 options, including the two "Logout" and "Shutdown"; none of these options are protected by a confirmation dialog

It means that a user who exits his session from the System menu gets used to having to confirm, while he will be rather surprised when he does the same using the FUSA menu.

Changing the behaviour of the System menu is not a good idea at that stage in the release. So we have to deal with 2 exit paths.

I think we should just update the FUSA interface to mirror the entries present in the System menu and adopt exactly the same behaviour. Whatever we can think of dubious and cluttered exit dialogs, that would be the least surprising interface for the user.

Revision history for this message
Mark Shuttleworth (sabdfl) wrote : Re: [Bug 283095] [NEW] logout needs confirmation

I agree this is a problem, and agree it's low priority, from my
perspective it makes sense to solve in Jaunty and then only to consider
the value of a backport and SRU.

Mark

Revision history for this message
ChrisD (chris-dawson) wrote :

I just fell victim to this bug: went to "Lock screen" and got "Log off". With multiple applications open and in the middle of editing a config file on a server. So the option to prompt would be very very much appreciated.

Revision history for this message
David Barth (dbarth) wrote :

Re-prioritizing as FUSA should now be the only exit path for Jaunty.

Not sure exactly how to interpret https://wiki.ubuntu.com/DesktopTeam/Specs/ExitStrategy#Quit However, the absence of a confirmation dialog is now considered a bug.

As the spec is still in flux, I recommend connecting the existing menu entries to the standard Gnome exit path, to start from a safe base.

Ted: please advise if there are entries that do not match a standard/accessible entry point. Please also raise the bug importance to HIGH and target Jaunty (i don't have the required access to do it). Thanks.

Changed in fast-user-switch-applet:
assignee: nobody → ted-gould
Ted Gould (ted)
Changed in fast-user-switch-applet:
importance: Low → High
status: Triaged → In Progress
milestone: none → ubuntu-9.04-beta
Revision history for this message
Matthew Paul Thomas (mpt) wrote :

The ExitStrategy spec requires kernel work (specifically, merging suspend and hibernate) and session work (better session saving and restoring), and is not scheduled for implementation.

I've mocked up individual confirmation alerts for the Log Out, Shut Down, and Restart commands at <https://wiki.ubuntu.com/SessionConfirmation>.

Revision history for this message
Mark Shuttleworth (sabdfl) wrote : Re: [Bug 283095] Re: logout needs confirmation

Matthew Paul Thomas wrote:
> The ExitStrategy spec requires kernel work (specifically, merging
> suspend and hibernate) and session work (better session saving and
> restoring), and is not scheduled for implementation.
>
> I've mocked up individual confirmation alerts for the Log Out, Shut
> Down, and Restart commands at
> <https://wiki.ubuntu.com/SessionConfirmation>.
>
Can you call that SessionTerminationConfirmation if there aren't too
many links to it yet?

Mark

Revision history for this message
Matthew Paul Thomas (mpt) wrote :

Done.

description: updated
Revision history for this message
Mark Shuttleworth (sabdfl) wrote :

I think we need to tweak these a little. Primarily, we are mixing up two different use cases: one where updates that require a restart HAVE BEEN installed, and one where there are updates AVAILABLE to install. We said that, for 9.04, we could only hope to address the former. For 9.10, we could also address the case where updates are available for install and we want to give the user the option to do that on session termination.

I'll just address the first use case (the 9.04 one) below.

Log out:
Let's start with the reassuring statement that you are going to get what you want, THEN offer the opportunity to "apply updates and restart instead". So, I would say:

=========== Log out ====================

Unless you cancel, you will be logged out in 60 seconds.

You recently installed updates which will only take effect after a restart. Consider restarting the computer instead.

[Restart] [Cancel] [Log out]

====================================

In the simpler case, where no restart-required updates have been installed, I would just leave off the sentence about restarting, and of course the restart button as well. Note that I've deliberately left out the "Are you sure..." sentence. After thinking about it, it seemed only to make the dialog longer and less likely to be read. We'll do what they said in 60 seconds any way, the obvious point of the dialog is as a confirmation, we don't need to ask it.

Restart, Shut down:
I'm tempted to ask that we remove the "Are you sure..." sentences here as well. MPT?

Mark

Revision history for this message
Richard Laager (rlaager) wrote :

FWIW, in general I am against "Are you sure..." in dialogs. On top of what's already been mentioned... The HIG specifies that buttons are action verbs, but "Are you sure..." lends itself to a button labeled "Yes". There's just no point for that text.

Revision history for this message
Björn Torkelsson (torkel) wrote :

Should it really be "Log out" in the dialog? Shouldn't it be something like "Force log out"? You have already selected log out and hitting the button will log you out directly without waiting 60 seconds.

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Richard,

I generally agree that we don't need extra dialogs. But this case is an exception. It is so easy to hit the wrong option in the FUSA menu and loose work, that it absolutely needs a confirmation dialog.

Revision history for this message
Matthew Paul Thomas (mpt) wrote :

The reason I used the phrase "Are you sure" is that asking you if you're sure is the sole reason these alerts need to exist, except for the corner case of inviting you to restart instead of logging out. They're there to get confirmation to prevent accidents. (Someday I'd like to figure out how to make accidents similarly difficult using some mechanism that isn't an are-you-sure alert box. ExitStrategy solves this for Shut Down and Restart, but not for Log Out.)

I'd be happy with switching from "restart to install software updates" to "restart to apply software updates" if that's more technically accurate. (It's shorter, too!) But I don't think it's useful to use both "installed" and "take effect" within the message itself. If updates still require a restart to take effect, they haven't been "installed" in the sense most people will understand that word.

I think explicitly confirming or cancelling will be hundreds of times more common than waiting for the timeout, which is why I think the sentence about the timeout shouldn't even use a font as large as the rest of the text, let alone come before the rest of the text.

Revision history for this message
Mark Shuttleworth (sabdfl) wrote :

Matthew Paul Thomas wrote:
> The reason I used the phrase "Are you sure" is that asking you if you're
> sure is the sole reason these alerts need to exist, except for the
> corner case of inviting you to restart instead of logging out. They're
> there to get confirmation to prevent accidents. (Someday I'd like to
> figure out how to make accidents similarly difficult using some
> mechanism that isn't an are-you-sure alert box. ExitStrategy solves this
> for Shut Down and Restart, but not for Log Out.)
>
If I click on something and a box comes up, it's natural to me to assume
that it's to make sure I'm sure. I think asking the question just adds
words which are perceived to be of low value, and reduces the likelihood
of OTHER words being read. So please leave out the question.

> I'd be happy with switching from "restart to install software updates"
> to "restart to apply software updates" if that's more technically
> accurate. (It's shorter, too!) But I don't think it's useful to use both
> "installed" and "take effect" within the message itself. If updates
> still require a restart to take effect, they haven't been "installed" in
> the sense most people will understand that word.
>
+1
> I think explicitly confirming or cancelling will be hundreds of times
> more common than waiting for the timeout, which is why I think the
> sentence about the timeout shouldn't even use a font as large as the
> rest of the text, let alone come before the rest of the text.
>
Two font sizes will be hard to make attractive. Please leave that at the
top so I and others can see it in action, if it doesn't work in practice
we can revisit with a patch or in 9.10.

Mark

Revision history for this message
Ted Gould (ted) wrote :

Okay, here is the debdiff to do everything discussed above (I hope). The debdiff is a little bit large for two reasons. The first is the rebuilding of all the autotools files. The second is the addition of a set of default icons as many of the required icons are missing in several themes. These are taken from the GNOME theme and are installed in the private area for the app (same as the status icons).

Testing these changes are rather tricky as there are a few different usecases. The biggest one is that, if you have default system you need to have multiple users installed. If you are using multiple users then a password prompt is required to shutdown or reboot. This means that the confirmation dialog should NOT appear but instead a standard PolicyKit dialog should be there. Also, when looking for updates the restart button should be "..." instead of just text.

To test the restart required for updates you can create a file in your /var/run directory like this:

  $ sudo touch /var/run/reboot-required

In that case when you logout you should get additional text describing the situation and a button on the button of the dialog to restart.

Also, in this debdiff is Chris Coulson's fix to 298811.

If you'd like to see these changes in an easier to read form they are in the following Bazaar branches:

lp:~ted-gould/fast-user-switch-applet/session_management
lp:~ted-gould/fast-user-switch-applet/status_icons
lp:~ted-gould/fast-user-switch-applet/ubuntu-packaging-jaunty

To regenerate the patches you can use the 'bzr-patch-build' tool in the packaging branch.

Lastly, the package is built in my PPA if you'd like to test it:

http://launchpad.net/~ted-gould/+archive/ppa

Whew.

Revision history for this message
Ted Gould (ted) wrote :

Changed the width of the text as requested by the design team. Single constant value changed. Also added logout-dialog.c to POTFILES.in for translation.

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

I've given the new applet a good testing (with single user/multiple users and with/without reboot-required), and haven't noticed any problems yet. Your patch rocks :)

Revision history for this message
Sebastien Bacher (seb128) wrote :

thank you for your bug report

Changed in fast-user-switch-applet:
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package fast-user-switch-applet - 2.24.0-0ubuntu9

---------------
fast-user-switch-applet (2.24.0-0ubuntu9) jaunty; urgency=low

  [ Chris Coulson ]
  * 84_session_management.patch:
    - Really don't hide shutdown and restart options when
      gnome-power-manager is not available (LP: #298811).

  [ Ted Gould ]
  * 84_session_management.patch:
    * Show dialogs when loging out, shutting down or restarting the
      system to confirm that's what the user wants to do.
      (LP: #283095)
  * 88_status_icons.patch:
    * Adding icons for the dialogs (above). Some themes do not have
      all of the icons required, so these are backup. Taken from the
      GNOME icon theme.
  * Update other patches for line nums, etc.
  * 92_autotools.patch: Regen for changes.

 -- Ted Gould <email address hidden> Wed, 04 Mar 2009 21:01:24 -0600

Changed in fast-user-switch-applet:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.