ExitStrategy

Revision 1 as of 2007-10-30 22:07:31

Clear message

Exit strategy

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

  • Launchpad entry: logout

  • Packages affected: ??

Summary

The current Ubuntu logout dialog is confusing. It gives too many options, with insufficient advice as to which is best. And worse, once users have used it a few times, they're so used to clicking a particular button that they click it even when they didn't mean to. Review logout dialogs from other products and redesign taking the best features of all of them.

What does upstream Gnome do?

It has three menu items:

  • "Lock Screen" locks the screen immediately.
  • "Log Out" leads to an alert: Switch User, Cancel, Log Out. Automatically logs out after one minute.
  • "Shut Down" leads to an alert: "Suspend", "Hibernate", "Restart", "Cancel", "Shut Down". Automatically shuts

You can try these options with the gconf key /apps/panel/global/upstream_session (after either restarting the panel or adding a new menu bar).

Fedora

Fedora varies the Gnome design splits Suspend and Hibernate off into their own alert.ships the Gnome default.

What does OpenSUSE do?

[http://calvinrg.blogspot.com/2007/08/gnome-logout.html A single dialog], with "Log Out", "Lock Screen", "Shutdown" [sic], and "Restart", all explained inline.

What does Windows Vista do?

The Start menu has two buttons (a power icon, and a lock icon) and one menu with seven choices: "Switch User", "Log Off", "Lock", "Restart", "Sleep", "Hibernate", and "Shut Down".

http://joelonsoftware.com/items/2006/11/21.html

[http://moishelettvin.blogspot.com/2006/11/windows-shutdown-crapfest.html Moishe Lettvin]: "I would like to try to explain how this happened."

What does Mac OS X do?

[http://en.wikipedia.org/wiki/Apple_menu The Apple menu has four relevant items]:

  • "Sleep" suspends to RAM. On newer machines, it ([http://www.macosxhints.com/article.php?story=20070302210328928 slowly]) does "Safe Sleep", which suspends to disk and then to RAM in one go.

  • "Restart..." leads to an alert asking if you're sure. It automatically restarts after 120 seconds.
  • "Shut Down..." leads to an alert asking if you're sure. It automatically shuts down after 120 seconds.
  • "Log Out" (with a system-wide keyboard equivalent of Shift+Command+Q) leads to an alert asking if you're sure. It automatically logs out after 120 seconds.

(All these processes cancel if any application failed to quit by itself.)

[http://arno.org/blog/2006/11/design-of-mac-os-x-shutdown-feature.html Arno Gourdol]: "I actually think that the result could have been even better than what we ended up with. I argued against including Restart, Shut Down and Sleep in the Apple menu."

What could we do?

  • If we have a single user, don't offer "Switch User".
  • Make Fusa a compulsory panel applet if you have user-switching available, and impossible if you don't.
  • Split out one or more commands into their own menu items.
  • Make GDM the giant logout dialog?
    • Would require an obvious indication in facebrowser that the person is still logged in (and default to them for easy returning to their session).

      • Maybe rename "Log In" to "Continue" in that case.
    • Would require GDM to be accessible if any account on the computer requires it.

    • Would still require you to return to your session to deal with save-changes alerts, etc.
  • Most PCs have a wakeup timer in Bios. We could use this to merge suspend and hibernate: hibernate if suspended for X minutes/hours. (Perhaps a slider on power management prefs: Immediately - 1 hour - 2 -hours ... - Never. "[i] The computer may hibernate sooner if the battery is nearly exhausted.")
  • We could get rid of "Restart". If updates need restarting, they can have a specific Restart button.
  • If the shutdown process is slow enough, we could make restarting a command available during the shutdown process.
  • Or we could make restarting something that happens if you hold down a key during the shutdown.
  • Have a "Restart Into..." option for other OSes? (Is this relevant to this spec?)
  • Two/three options:
    • "Suspend" suspends, and then hibernates after delay/flat battery.
    • "Shut Down" hibernates.
    • "Restart Into Windows" if Windows is installed.
  • .. Not practical, says mjg.
  • Merge "Switch User" into "Lock Screen"?
  • Merge "Switch User" into "Log Out"?
  • Hibernate just the user session, and shut down the rest?
  • Kill the logout and shutdown sounds! (or make it an accessibility option)
    • No use case except for blind wanting a clue as to when shutdown is occurring
  • "Pause" and "Stop"?
  • "Restart" appears in the big dialog only if:
    • you chose "Restart Later" earlier
    • you have other OSes installed.

What would the Big Red Button In The Corner do?

We keep trying to work around the problem of poor session management. Could we at least start a fix to this?

Release note

Rationale

Use cases

Assumptions

Design

Implementation

Migration

Test/demo plan

Unresolved issues