Wednesday, February 22, 2012

Plasma Active lock screen

Plasma Active lock screen - Larger version
One thing that was never really great in Plasma Active was the interaction with power and lock capabilities. We had a power button widget in the panel despite all devices having a power button. The lock screen looked pretty, but it only did locking. A new QML UI for the log out dialog was provided but it never felt quite right to me, though it looks so much nicer on Plasma Desktop compared to what we had previously. (This is a nice example of how the different Plasma workspaces help each other improve.)

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.

22 comments:

Tom said...

Looks great.
But Apple has a patent on s2u. Maybe you might get problems getting this into Debian, because of their new patent policy. (And I know software patents are insane, just like patents on genes etc.)

nowardev said...

i have to say it looks good for the first time i can say this is good

but....

clock is not readable

rememeber everything must be well readable

humans have always used white paper and blck ink .... i have read this stuff on jerome become a genius of eran katz

i was not very happy to read this book but i have to say many things are true

erszho said...

@nowardev You're grasping at straws, there's higlight under clock for a reason, it's basically dark gray on white, and it's perfectly readable to anyone with normall sight.
Looks very pretty overall, and is very cohesive, which makes me really happy, even thought I'm not fond of grays on grays on grays.

Shmerl said...

@Tom: Debian policy advises as well not to discuss it publicly, in order not to feed the corresponding trolls who sniff around ;)

I'd say - ignore Apple and other trolls, and always produce natural designs as needed, unless there really is a very pressing reason to avoid it

nowardev said...

@erszho

my opinion is my opinion it should not be like yours....

Aaron J. Seigo said...

@nowardev: i agree that it is hard to see ... until you actually use it on a tablet device.

on such devices it actually makes sense to introduce noise into a background image.

less so on a desktop app.

why?

screen quality and resolution.

this will change over time, but right now .. it's how it is. making judgements on how art optimized for mobile looks on a desktop is just not valid. sorry :)

Rino said...

Congrats! This is really beautiful. :)
Are you plannig to add other infos on the lock screen? Something like:
- unread messages (mail, sms, ...);
- battery charge level;
- infos on the download status of a file (web, torrent,...)
- etc?

nowardev said...

@aseigo

oh well i have not thought to resolution, you are right

anyway the true message is the book! and it is for you, i found it very funny but even very informative in some aspects that i have never thought before

Kjetil Kilhavn said...

Nice! I am looking forward to trying the Spark.

However, in my opinion the sleep/standby icon should be replaced by the rather universal moon symbol you will find on laptop keyboards.
There's even a standard for it I discovered just now, see http://en.wikipedia.org/wiki/Power_symbol

Aaron J. Seigo said...

@Tom: this actually isn't slide to unlock. it's slide to sleep and shutdown. maybe i should defensively publish this approach to prevent apple from patenting that too ;)

@Rino: i would love to add simple notifications integration. i don't want this screen to become toooo busy, but i do really rather like the "puzzle piece" on the lock screen of Samsung phones that shows up when you have a new message or event. selecting the piece (and sliding it to where it "fits") taking you directly to the message or event is really brilliant.

but that's a fair amount of work to do right and we don't have resources or the time to do it for this iteration.

and of course, others can join in and work on such improvements too!

@Kjetil Kilhavn: i didn't know that had actually been made into a proper standard. nice! we'll have to migrate to that, as i agree that the current sleep icon is totally non-obvious.

Jos Poortvliet said...

@aaron - the N9 also has these notifications which you slide to the side to open the corresponding app. Very useful indeed... And I guess not hard to do in QML so let's see if somebody steps up D:

Aaron J. Seigo said...

@Jos: the QML part is indeed very easy; it's the integration with the other bits of the system where there is more work to be done.

the lock screen needs to communicate with whatever generates the event to show the appropriate interface with the correct message in it.

not rocket science, but work that would need doing.

Ravi said...

Looking at this piece of beauty I just want to leab QML.

Alliance said...

I really wish this design went throughout all the interface on the tablet.

Mim said...

No news in over a week? How is the spark coming along? In waiting ever so impatiently for the US to be able to complete their preorders.

Alliance said...

I have an armv7l(software floating point...) tablet with Mali-400 MP(OpenGL ES-CM 1.1). On wiki it says that you should have an armv7hl(hardware floating point...) and KDE has support for OpenGL ES 2.0.
It won't work on my tablet, am I getting this right?

Sidicas said...

Just as LCDs became so cheap as to replace CRTs, touchscreen displays are going to be replacing regular LCD displays within 4 years. In the near future when Windows 8 is mainstream, you won't even be able to find an LCD without touchscreen capability on the market.

Your work on Plasma Active is very important to keep up with technology, keep up the great work!

Hounddog said...

Any way to have a password (or password-like) protection on unlock?

Shmerl said...

Can you please answer a question about Peregrine Communicator on Spark Mer/Plasma Active?

eoinnialltierney said...

Why not just have one button that could be dragged in different directions?

We're smart and lazy.

Love your work.

Ryan McCann said...

I know this is a year old, but will the screen shut off when it's locked without the device actually going to sleep?

Aaron Seigo said...

@Ryan McCann: depends on the device, but the ones I have here do exactly that, yes.