Introduction
Arguing about sleep nomenclature is often very emotional between people
With different views.
Windows and Mac OSX have decided on names for the actions and it's about
Time Linux did the same.
We are hurting the user experience with ad-hoc and confusing policies
About naming.
Developing gnome-power-Manager (and a chunk of the Power Management in Hal)
Gives me first-hand experience of the ways users, distros, packagers and
Developers canAnd doGet this wrong.
Notes from 'hotkey-setup ':
When the machine should be put to sleep in some fashion:
KEY_SLEEP signals Suspend to RAM (Suspend, technically called "standby")
KEY_SUSPEND signals Suspend to Disk (Hibernate, technically called "suspend"...)
I hope this spec can convert some of the wacky/zany/confusing/crazy
Software out there to stick to common names.
Standby
Standby is the action where the CPU is held in a low power state but no
Data is saved to Ram or hard disk.
It normally takes a split second to standby and resume.
You cannot remove the battery when on laptop power or work will be lost.
Recommended Nomenclature
Suspend
Suspend is the action where the computer freezes all activity, and copies
Working data to ram.
It then turns off the screen, and goes into a low-power mode.
It normally takes a few seconds to suspend and a few seconds to resume.
You cannot remove the battery when on laptop power or work will be lost.
Recommended Nomenclature
Forward action:Suspend
Reverse Action:Resume
Suspend is a good word as the computerIs not
Powered down but in a temporary sleep.
A user can understand that suspend 'ing the work is not the same
Hibernating.
You can boot other OS's, or change batteries when hibernated.
Resume is a good word as the user un-suspends the computer, and resumes
All work.
It is also previusly used by PM-tools, Hal and the kernel
And Microsoft Windows.
Bad Nomenclature
Sleep
Standby
Suspend-to-Ram
Sleep is a bad word as it does not convey time, and the name sleep has
Been used to mean standbyAndSuspend
AndHibernate over the years.
Standby is a name that does not convey what is actually about to happen-
"Standby for what? "And is used by the kernel in ACPI for a power saving
State that is rarely used. See abve...
Suspend-to-ram is a bad description as it forces the user to know about
Hardware when it shocould be abstract.
S-t-r may be great for programmers, but is not intuitive for new users.
Hibernate
Hibernate is the action where the computer freezes all activity and swaps
Data to disk, turns off the screen and powers down.
This takes over one minute for me to swap my Ram to disk, and nearly 40
Seconds to thaw.
Recommended Nomenclature
Hibernate is used by PM-tools, Hal, the kernel
And Microsoft WindowsAlready, and convey nicely
That hibernating is a long term thing, and takes longer than suspending.
The backwards action name isn' t as important for end users IMO.
The user will only ever click a "Suspend" button, not a "resume" button.
This, and the difficulty translatingThawInto
Non-English versions, I think it is permissable to add to user-visible
Parts of the stackHibernate and resumeAs a valid phrase.
The logic-a user doesn' t care-but weMustUse
Thaw as the programmatic name as the actions from return from standby and
Return from Hibernate may be very different.
Bad Nomenclature
Wake is bad as it is the opposite of sleep, not hibernate.
Wake has been used in the past for wakeup from standby, wakeup from
Hibernate and wakeup from suspend.
Suspend-to-disk is a bad description as it also forces the user to know
About hardware.
Why shoshould a new user be expected to know that writing to ram is quicker
Than writing to disk?
Conclusion
I really do think getting these 6 words correct will make a big
Difference to the bigger picture.
When people are using the correct words to describe problems, and users
Know that suspend does the same thing on gnome and on KDE.