Opened 8 years ago

Last modified 6 years ago

#692 new enhancement

Shutdown Design

Reported by: marco Owned by: erikos
Priority: normal Milestone: Opportunity
Component: sugar Version:
Keywords: 9.1.0:? Cc: jg, simon, dcbw, tomeu
Blocked By: Blocking:
Deployments affected: Action Needed:
Verified: yes

Description (last modified by marco)

Right now, when you press the shutdown button, the system appear to be idle for a few seconds, then we switch to text mode and actually shutdown after some time. There are a few ideas about it, but we should settle them down. We need to implement something for btest-2.

Possible approaches:

  • Chris was proposing a dialog with the shutdown symbols (I guess something like the OS X one?)
  • Dan was proposing to take a screenshot of the screen, grey it out (not sure about the exact effect) and put a shutdown symbol on it.
  • Another idea might be to switch back to the Home view, grey it out, and show a shutdown symbol instead of the donut.

Regardless of the exact effect I think these should probably apply:

  • We should never switch to text mode (I'm not really sure if this is possible at all, but from an user point of view...)
  • There should ideally be some sort of animation to indicate that the system is not stalled (currently the system takes a while to shutdown)

Eben, what do you think?

Change History (19)

comment:1 Changed 8 years ago by marco

  • Description modified (diff)

comment:2 Changed 8 years ago by Eben

I had heard that we would rely on suspend, and that shutdown would only occur when the OS requires it (such as for a new version). At the moment, we don't even have a location in the UI for a shutdown command to sit, let alone a way to handle the actual process visually. If this is something we need, then there is more work involved. Can someone let me know exactly what the plan is?

Regarding the look itself, I think it should mimic the look of the startup process, which also isn't designed. It will most likely be a gray screen with some kind of icon (animated, in some form, to indicate activity) in the middle.

comment:3 Changed 8 years ago by marco

Thanks for the feedback, Eben.

On the short term shutdown is the only way we have to turn off the machine. Suspend is really *far* from working. The shutdown action is hooked up to the physical power button. It's important to get a fix for this in BTest-2 because otherwise people will press the button and not understand if the action has been taken or not.

On the long term, I think shutdown will not be the norm. Most of the time users will just suspend. Still, even if not high priority I guess we want to have a nice graphical shutdown, for the long term.

The gray screen with something in the middle is what I had in mind too. Do you have time to hash up a quick shutdown icon I can put there? I think we can do without an animation for BTest-2.

comment:4 Changed 8 years ago by Eben

OK. I can try to come up with simple static screens for both startup and shutdown. Eventually we'll want some kind of basic animation.

comment:5 Changed 8 years ago by jg

  • Milestone changed from Untriaged to BTest-3

comment:6 Changed 8 years ago by Eben

  • Resolution set to fixed
  • Status changed from new to closed

Here is a basic spec for both startup and shutdown. They follow the same visual style used to indicate inactive vs. active activities/objects within the rest of the interface, for consistency.

Startup: We want to avoid the slideshow effect that we see now. Instead, we're going to create a seamless transition between the startup screen and the home screen by way of the visual cues that will exist throughout the interface. The first image that appears should be a gray background (the same as the home screen), and a large XO icon centered within it. The XO should match the size and the position of the home screen XO. To indicate that the laptop isn't active yet, the XO will be rendered as inactive, as a white stroke with no fill. When we have the opportunity to add an animation to indicate boot activity, we can use the same pulsing of the colors that will also indicate activity startup. Once boot completes, the XO will become full color, and the activity ring will appear around it.

The point at which the cursor appears is arbitrary. It doesn't serve any purpose until the ring appears, but at the same time it provides feedback for interaction with the system before there is anything else on screen, and while a moving cursor isn't exactly fun to play with, it could be positive reinforcement that the machine is working fine during boot.

Shutdown: Here, we really just want to continue the metaphor by showing the above in reverse. This of course means that we need to transition to the home screen before shutdown. This makes sense anyway, since the processes for any open activities will need to be terminated anyway, and visually representing this is straightforward from Home, where the shutdown process can be seen step by step as each activity turns to outline and disappears from the ring. Once all activities have left the ring, the ring itself will disappear and the XO will fade to an outline. For clarification, we won't use pulsing color here. That will be reserved for startup. It should simply fade immediately to an outline and remain there until the screen goes dark.

Once a shutdown has been initiated, we really don't want any more user interaction. On a traditional machine, a user may be prompted by various applications which may have unsaved documents, or be connected to a network, etc, thus requiring a cursor until they have all quit. We can just create a new journal entry automatically, so the saving problem is solved, and I don't really think any other issues should be large enough to interrupt a hard shutdown. As such, I think we should remove the cursor once we are at the Home screen. If this isn't liked by all, we could also keep it around until the ring disappears, but beyond that it should not be present.

comment:7 Changed 8 years ago by Eben

  • Cc jg added
  • Resolution fixed deleted
  • Status changed from closed to reopened
  • Summary changed from Shutdown notification to Startup and Shutdown Design
  • Type changed from defect to task

The design is done, but this needs to be implemented. jg, could you assign as appropriate and change the component accordingly? Also, this goes hand in hand with bug #534, which has the splash screen image attached, and should probably be reassigned (or consolidated).

comment:8 Changed 8 years ago by kimquirk

  • Milestone changed from BTest-3 to Trial-2
  • Priority changed from normal to high

Moved to next SW release, Trial-2. Also moving it to 'high' priority because it really needs to be available for Trial-2.

comment:9 Changed 7 years ago by jg

  • Owner changed from Eben to wmb@…
  • Status changed from reopened to new

comment:10 Changed 7 years ago by wmb@…

  • Resolution set to duplicate
  • Status changed from new to closed

Subordinating this to #1328, which is already on my plate, and already refers to the visual design articulated herein.

comment:11 Changed 7 years ago by cscott

  • Milestone changed from Trial-2 to Trial-3
  • Priority changed from high to normal
  • Resolution duplicate deleted
  • Status changed from closed to reopened
  • Summary changed from Startup and Shutdown Design to Shutdown Design (was startup design)
  • Type changed from task to enhancement

Re-opening. The startup portion is #1328, but the shutdown design is separate. I would suggest that a sugar hacker implement the 'fade to inactive' portion, then freeze the dcon and invoke normal shutdown.

Reassigning to jg, so that he can pick an appropriate sugar hacker.

comment:12 Changed 7 years ago by cscott

  • Owner changed from wmb@… to jg
  • Status changed from reopened to new

comment:13 Changed 7 years ago by jg

  • Cc simon dcbw added
  • Milestone changed from Trial-3 to First Deployment, V1.0
  • Owner changed from jg to marco

Heh. I am no better than the rest of us: I didn't check my own bug list, but let it moulder. I'm much better if you mark bugs untriaged.

Marco, Dan, is this something to hand off to Simon?

comment:14 Changed 7 years ago by marco

  • Owner changed from marco to erikos

comment:15 Changed 7 years ago by erikos

  • Milestone changed from First Deployment, V1.0 to Untriaged

Since this is an enhancement. Sure we want this to go in?

comment:16 Changed 7 years ago by walter

  • Milestone changed from Untriaged to Opportunity (please help!)

comment:17 follow-up: Changed 7 years ago by FGrose

Could someone point me to the source for the shutdown procedures.

comment:18 in reply to: ↑ 17 Changed 7 years ago by tomeu

  • Cc tomeu added

Replying to FGrose:

Could someone point me to the source for the shutdown procedures.

The shell calls HAL's SystemPowerManagement.Shutdown()

http://dev.laptop.org/git?p=sugar;a=blob;f=src/view/home/HomeBox.py#l161

http://people.freedesktop.org/~david/hal-spec/hal-spec.html#interface-device-systempower

comment:19 Changed 6 years ago by Eben

  • Component changed from interface-design to sugar
  • Keywords 9.1.0:? added
  • Summary changed from Shutdown Design (was startup design) to Shutdown Design

I know I'm being picky, but it would be nice to finish cleaning this up at some point. At present, we have the UL warning screen on shutdown (and we must keep that). However, There is an ugly step beforehand which drops to the console and spits out a bunch of text.

Both to make this pretty, and to properly continue the metaphor for active vs. inactive XOs, I'd really like to replace that ugly section with a transition (just a cut...nothing fancy) to a a blank white screen with the XO rendered as a gray outline (just like during startup) It's just a still image....can someone figure out how to make a still appear instead of that junk?

I assigned this to Sugar, but it might take the help of someone at a lower level...

Note: See TracTickets for help on using tickets.