PDA

View Full Version : [Under consideration] UI wait indicator


qgil
10-26-2009, 09:10 AM
This is the discussion thread of the Brainstorm proposal UI wait indicator (http://maemo.org/community/brainstorm/view/ui_wait_indicator/)

TA-t3
10-26-2009, 09:31 AM
On my trusty N800 I get all the feedback I need from the CPU meter of the load-applet-run applet. In addition networked applications show a 'loading..' message.

MrGrim
10-26-2009, 09:43 AM
On windows xp, if you bring up the shutdown/logout/restart dialog and wait some 30 seconds, the background fades to black&white. I think it would be great if the UI would fade out like this under heavy load. This may be too resource consuming (it would imply repainting the desktop, and i have no idea how easy/hard that is) but it would be at the same time obvious to the user, and it would not annoy as much as a fullscreen throbber. It does not impede usage under load the way a throbber overlay would

equim
10-26-2009, 01:16 PM
I think it's important to have an interactive throbber that will show a task manager when "clicked". The task manager should show which applications / processes are taking up all the CPU and allow them to be killed.

Just showing a big throbber in the middle of the screen would quickly get annoying to me - unless it was only displayed when the UI had completely frozen. Even in that case I would want a quick way to recover (manually or automatically).

pelago
10-26-2009, 01:25 PM
On windows xp, if you bring up the shutdown/logout/restart dialog and wait some 30 seconds, the background fades to black&white. I think it would be great if the UI would fade out like this under heavy load. This may be too resource consuming (it would imply repainting the desktop, and i have no idea how easy/hard that is) but it would be at the same time obvious to the user, and it would not annoy as much as a fullscreen throbber. It does not impede usage under load the way a throbber overlay would

For interest, both Vista and recent Ubuntu will fade individual app windows if they fail to respond, which sounds like what you're suggesting.

qole
10-26-2009, 02:32 PM
I posted the brainstorm idea because I want it to be clear across the whole system that the CPU is under heavy load and that's why the UI isn't "working". Fading the app causing the problem isn't good enough; it may be hidden in the background.

I agree that the throbber isn't ideal, but I couldn't think of something better.

A "Brainstorm" is supposed to be about people throwing out all sorts of ideas, so keep 'em coming!

How would you show to a user that they need to be patient for a minute, no matter what app they were in?

zerojay
10-26-2009, 02:44 PM
Can someone explain this throbber to me? I haven't a clue what you're talking about.

qole
10-26-2009, 02:58 PM
The little spinny thing that goes around and around when an app is waiting for something to happen. I thought something like that, but big and transparent, over the whole UI, so that the user is aware that there are "responsiveness issues", so they don't just keep whacking away at all the buttons on the screen wondering why things aren't working.

zerojay
10-26-2009, 03:00 PM
I hate that for one main reason. If the system goes unresponsive when I'm trying to read something off my screen, I won't be able to do it.

mykenyc
10-26-2009, 03:12 PM
when something like that happens can't we do something like a shortcut key to bring up processes of running apps so with one click can diminish them. Or like on the desktop a bubble window appear saying "App Skype is unresponsive end now or wait" type event to occur?

sjgadsby
10-26-2009, 03:21 PM
If the system goes unresponsive when I'm trying to read something off my screen, I won't be able to do it.

I'm not fond of throbbers, but I see the reasoning behind the idea here. Something that may be worth considering is moving the visual, "I'm busy" feedback off the screen. After all, the N900 also has a programmable LED.

A "busy" color & blink pattern using the LED may not be as recognizable to new users as an hourglass or whatnot on screen, but users would likely come to recognize a particular LED light show as "busy" without too much trouble. Also, there would no obscuring of on-screen elements, and as I understand it, there would be no additional load on the CPU once it pushes the proper NJoy string across I2C to the LED controller.

qole
10-26-2009, 03:26 PM
... Neat, sjgadsby. Go add that to the brainstorm as a solution!

lcuk
10-26-2009, 03:30 PM
i agree with sjgadsby here, refreshing the screen multiple times to show the throbber will require cpu and gpu power that is currently being used (the whole screen needs compositing)

cycling a disco light maybe a better way of handling the update.

even more so if it was flashing like computer hard drive lights, a quickly flashing light indicates something is happening (its what I watch when shutting down old pc)

zerojay
10-26-2009, 03:42 PM
when something like that happens can't we do something like a shortcut key to bring up processes of running apps so with one click can diminish them. Or like on the desktop a bubble window appear saying "App Skype is unresponsive end now or wait" type event to occur?

There already is something like that which pops up every so often, most often for the web browser... a dialog box pops up asking if you want to kill the window.

sjgadsby
10-26-2009, 03:43 PM
Go add that to the brainstorm as a solution!

*grumble* *grumble* Okay, done.

MrGrim
10-27-2009, 06:46 AM
Fading the app causing the problem isn't good enough; it may be hidden in the background.

The idea wasn't to fade just the offending app (which would also require monitoring individual CPU usage and continuous fading/unfading => big consumption), but to fade the whole desktop when there's too much to handle. This would have the same function as the fullscreen throbber (showing the system won't respond too soon), but would leave the screen readable and would allow giving some more commands (like pressing already visible buttons on screen) for the system to process when it can

MrGrim
10-27-2009, 06:48 AM
Also, the LED idea is pretty good. Maybe it can be made to blink with speed proportional to processing load?

TA-t3
10-27-2009, 07:23 AM
I don't like something that covers what I'm trying to read (ref. zerojay's posting, which I agree with), and I wouldn't like the screen to dim, for the same reason. Even if the device is busy there might be something I'm trying to read there. This is even a problem with the older devices, with those little pop-ups (loading, searching, etc) which covers something I'm currently reading.

So, whatever solution anyone comes up with, please don't let it interfer with/cover up other useful stuff/info on the screen.

pelago
10-27-2009, 07:25 AM
I agree with zerojay that a fullscreen throbber would be annoying if you wanted to read the screen. The problem with fading is that it might be confused with just the backlight level changing.

Maybe the OS could put a throbber in the title bar? I know that individual apps can do this at the moment, but if an app isn't responding, then I imagine the OS could also draw up in that area. I realise that this would then be ambiguous between whether it's just the individual app that is busy or the whole OS.

Maybe put the busy throbber in the task button area in the top-left, to show that this is a systemwide thing. Clicking on it could cause more information to pop up.

jalladin
10-27-2009, 07:31 AM
I was also thinking along with the LED light maybe some sort of icon indicator could pop up on the icon tray that blinks ( much like the indicator on the n810 letting you know of an available update) but maybe instead of a exclamation point in it, a question mark could be in it or something. then once you click on it it "simply tells you whats slowing the device down" as far as which app and even gives you choices to close those apps or wait. I guess in a lot of ways it would be like the cpu/load icon for maemo 4 but this one would be a more new user friendly way to know how to identify and handle issues before it slows to much or crashes. it would only complement the LED letting the user know what that certain color pattern indicates, that is flashing.

Suurorca
10-27-2009, 07:38 AM
I personally hate the concept of entire UI fading. That just makes me feel like the entire OS crashed, or kernel froze, and I bet I'm not alone with this.

I suggest the following:

1) Minimize unresponsive app to the dashboard with a throbber

2) If the app will not respond within, say 30 secs, bring up above suggested "kill this?" dialogue.

3) If the app hogs all resources, terminate automatically in one minute

4) Add notification area to the desktop, which tells you what happened. Windowsy "Your app just crashed, click OK" popups are just silly and should never be used.

EDIT: I guess the tray would do that better :o

MrGrim
10-27-2009, 07:58 AM
You know, i don't like my idea so much that i have to keep pushing it, it just kind of annoys me i can't seem to make it well understood. So here it is again, for the last time (i promise!): when cpu usage goes above, say, 90%, the screen becomes black and white. There is no light fading (maybe even making it 5% brighter to compensate for lack of colors). There is no overlay and nothing to keep you from trying to interact with it, it just carries on as usual, but looks a bit different to let you know it's busy


3) If the app hogs all resources, terminate automatically in one minute

Some apps are right to use lots of resources. When i decompress a .zip, i prefer a 10 second inactivity period and then back to idle rather than 2 minutes using 10% CPU. Apps should not be killed just because of resource use, and deciding which ones are not responding and which simply have high demands is hard

TA-t3
10-27-2009, 08:06 AM
3) If the app hogs all resources, terminate automatically in one minute
This is dangerous if not done right. It's a mobile computer, right, so I might try to run my hypothetical number crunching tool on it - at 100% CPU.

JosefA
10-27-2009, 08:32 AM
You know, i don't like my idea so much that i have to keep pushing it, it just kind of annoys me i can't seem to make it well understood. So here it is again, for the last time (i promise!): when cpu usage goes above, say, 90%, the screen becomes black and white. There is no light fading (maybe even making it 5% brighter to compensate for lack of colors). There is no overlay and nothing to keep you from trying to interact with it, it just carries on as usual, but looks a bit different to let you know it's busy

I see the logic and it's non-intrusive, but loss of color is loss of functionality. For text it might not interfere with ability to get information off the screen for the current task, but it might for other use cases. Image editing?

I like the LED idea, but I'd also like some form of visual indicator on-screen. It will boil down to implementation, but I think a discreet transparent overlay is less obtrusive.

Is it maybe an idea to make the indicator pluggable so people can write their own screen-dimming code later if they don't like the overlay?

Some apps are right to use lots of resources. When i decompress a .zip, i prefer a 10 second inactivity period and then back to idle rather than 2 minutes using 10% CPU. Apps should not be killed just because of resource use, and deciding which ones are not responding and which simply have high demands is hard

Completely agree. It's my ARM processor to tax, dammit! :)

pelago
10-27-2009, 09:17 AM
I think the problem of fading out the colour to black and white is that a lot of the interface is black and white already, so it won't be very obvious, especially to people will partial colour blindness. I don't like the idea of minimising the app either, for the same reason that you might at least want to be able to read the frozen screen. I still vote for an indicator either in the status area, or overlaid on/replacing the top-left task button.

Mandibela
10-30-2009, 04:14 AM
I suggested that the display background light should be dimmed under heavy load. Not too power needy, plus as a added bonus, more juice available for processing!?

allnameswereout
10-30-2009, 04:24 AM
How about making the 'AE' swirl in a cube form. So rotating 360 degrees in 3D. The middle always stays same, so this can be used as pointer target.

allnameswereout
10-30-2009, 04:26 AM
This is dangerous if not done right. It's a mobile computer, right, so I might try to run my hypothetical number crunching tool on it - at 100% CPU.

Or kill it yourself:

N800/OS2007
-- Metalayer-crawler delenda est.(How ironic. :D)

The point is, to still be able to murder the damn thing in case it hogs.

mail_e36
02-15-2010, 09:49 PM
Hello,

I am wondering if anyone has thought of adding a 'System Busy' indicator to the N900? Perhaps whenever the system usage level is above 20% the LED on the N900 could light up a certain color to show that the system is busy doing something. It would function similar to the hard drive busy light on many computers, but for CPU usage instead.

This would be super cool and add to it's "computer-like" functionality.

Any thoughts? Thanks

b666m
02-15-2010, 10:40 PM
why don't you use cpuload or cpumem applet? ^^

the led would be quite irritating and would suck up the battery faster as it is the case at the moment - and that's already bad enough xD

mail_e36
02-15-2010, 10:58 PM
I will look into the cpumem applet, however it seems the indicator from that applet would not ALWAYS be visible when using the N900 (like if the camera is on, or watching a full screen video, or when the N900 is in standby mode with the screen off).

Do you think that single LED really uses that much power, enough to impact battery life?

F2thaK
02-15-2010, 11:02 PM
mmmmmmmmmmmm, no

mail_e36
02-15-2010, 11:04 PM
'no' meaning the LED should not impact battery life too much in your opinion?

b666m
02-15-2010, 11:13 PM
the battery has 1.320mAh and a normal rgb-led needs 20mA per color. so i guess it would be recognizeable but of course not compareable to cpu or display consumption.
(but i'm one of these people who fight for every single mA because i don't want to reload my phone every single night ^^)

mail_e36
02-21-2010, 10:05 PM
You bring up very good points, I think though that power consumption would not be drastically impacted.

We should try this project out! Does anyone know how to compile a standard linux program for the N900?

sjgadsby
02-21-2010, 10:16 PM
The thread "System Busy Indicator (LED?)" with seven posts has been merged into this thread.

mail_e36
02-23-2010, 02:57 PM
Can anyone think of a way to flash or turn on the LED using the command line on the N900?

sjgadsby
02-23-2010, 03:01 PM
Can anyone think of a way to flash or turn on the LED using the command line on the N900?

Yes, it's possible to activate the LED from the command line (http://talk.maemo.org/showthread.php?p=131575#post131575).

mail_e36
02-23-2010, 04:26 PM
Thanks, the problem is the instructions all seem to discuss devices prior to the N900. Based on the links in this thread I cannot figure out how to manually have the LED on the front of the device light up.

Does anyone have any thoughts?