|Plasma Active lock screen - Larger version|
Overall, this was something I personally wanted to see improved. So we did it the Plasma way: we started with use cases and worked towards beautiful design. We identified some interesting work flows with tablets used in work environments, such as wanting to lock but not sleep the tablet. Maybe there is a download or some other activity happening on the device which the user does not want to interrupt. Yes, the application can inhibit sleep, but this is not always the case.
Some want to be able to easily shutdown the device, while others just want to hit the hardware power button and have the device go to sleep in a few seconds on its own. (The latter is how most Android powered tablets work.) Each of the use cases was deemed valid. How to cater to them all elegantly?
The picture above is the solution we came to after a few iterations. You still slide the lock up to unlock, no surprise there. You may also notice there are both Sleep and Shutdown sliders. The arrows on the buttons show you which direction to move them. When the device is first locked, the sleep slider starts moving all on its own ... and when it reaches the end it sleeps automatically. To stop it, you just touch the slider.
The sliders prevent accidental triggering, they are self-documenting and it all looks rather nice. As with many of our efforts, this was a team effort. Fania and Thomas provided interface design insight, I worked on the ideas of automatic sleep (and prevention) and did the initial implementation, Marco cleaned it up a bit and provided the beautiful slider artwork, Thomas did user testing to ensure that our theory held up in the real world. Design, implement, improve, test .. it's that full cycle of development that produces great results such as the above.
Some additional notes of possible interest:
- The actual logic is found in the new lockscreen service which Martin spent a lot of time on. We will have this merged for Plasma Workspaces 4.9 into master.
- You can use this locker in Plasma Desktop or Netbook. Even more fantastic: you can design your own QML lockers! The lock screen QML is not hardcoded into the locker .. it's a runtime configuration item as to which QML to load.
- You can upload your lock screen designs to kde-look.org for others to download and use. Which in turn means we can hook in "Get New Stuff".
- All relevant kiosk controls are respected
- Hibernate (suspend to disk) and rebooting is also supported
- Spark will rely on this lock screen and not have the power button in the panel.