Written by volanin the 18 Nov 08 at 19:23.
Category: Look and Feel.
Related project:
Nothing/Others.
Status: New
Rationale
Currently, the progressbar in usplash is updated by the initialization scripts.
Although this works ok, the progress effect is very ugly because the bar moves in huge increments and then stops for an undetermined time until it moves again. Besides not being beautiful, this provides no information to the user about the time remaining for the boot or shutdown process.
I suggest that the usplash progressbar be time-based, pretty much like the progressbar in MacOSX.
Since the booting and shutdown times do not change drastically from session to session, we could save the time the computer spent to boot and to shutdown, and use it to guide the progressbar the next time. This would provide a beautiful and smooth animation of the progressbar, and an accurate remaining time, increasing the usability.
This can be already implemented using the current usplash code without modifications whatsoever, and a working solution is already available.
> It works great and until Plymouth gets implemented
> I see no reason why not to make it like this.
Sure thing!
This is absolutely no competition for Plymouth.
I, for one, really want to see Plymouth in Jaunty!
This is just a small improvement step for the technology we already use right now!
> Does it work with any Usplash Theme?
Yes, but not directly.
The themes would need small modifications.
There is a very good documentation on how to do this in the package.
Just ask your theme maintainer to release a smooth version!
"If Ubuntu decides to check for errors, the progress bar will fill up in 30 seconds and stay filled until Gnome starts."
In other words this gives the user less info about delays to the boot process. Personally I prefer the progress bar the way it is. A possible compromise is to time each individual step and stop the progress bar moving if a step takes to long. Really if fsck occurs we should inform the user that the bootup will take longer than usual, and show progress of the fsck. Fortunately the fsck time is going to be greatly less under ext4 thought.
> In other words this gives the user less info about delays to the boot process.
> Personally I prefer the progress bar the way it is.
In the current implementation, the progressbar stays still while
the filesystem check is being performed. This is also not ideal.
I plan to fix this in the next version.
Stay tuned!
> I use Kubuntu, how can i make it work with it?
This works in kubuntu as well.
But the kubuntu usplash theme has not been adapted yet.
This is a good suggestion, I will also include this in the next version!
-1
The purpose of a progress bar is to see, if progress is made or if something is stuck. Something that just moves from left to right in 30 seconds does not provide any information.
But i think, the bar could be replaced by two or three lines of text output at the bottom of the screen, so if it stands still, you get an idea, why.
An absolutely horrible idea. Even worse than the default -quiet option while booting. A time based movement does not indicate progress in any way, shape or form as it simply indicates that interrupts are funtioning and the time based update is working. A machine with a real problem might well sit for 24 hours looking like it was doing something but not doing anything real.
On the other hand, making it time based and removing the quiet option is acceptable. Since I always remove the quiet option and get actual information, I don't really care. But for those people who do not, the time based option is no more useful than simply putting up a static graphic. In other words, it can do actual harm by keeping the user from having ANY idea something is wrong.
> The purpose of a progress bar is to see, if progress is
> made or if something is stuck. Something that just moves
> from left to right in 30 seconds does not provide any
> information.
> A machine with a real problem might well sit for 24 hours
> looking like it was doing something but not doing anything
> real.
Usplash already has a timeout mechanism in place, pretty
much like a watchdog. If the initialization scripts do
not reset this mechanism from time to time, usplash
finishes itself and the command line is displayed,
so you can check the status of the boot process.
The default timeout is 15 seconds.
In the majority of the cases, the boot is without problems.
For the cases where we have a problem, the mechanism above
kicks in.
> But i think, the bar could be replaced by two or three
> lines of text output at the bottom of the screen,
> so if it stands still, you get an idea, why.
> On the other hand, making it time based and removing the
> quiet option is acceptable. Since I always remove the
> quiet option and get actual information.
The text output is STILL AVAILABLE.
You can remove the quiet option to see the initialization
status, and programs like fsck can still report the progress
to the user. A time-based progressbar won't do all this harm!
In version 0.4 (real soon now), the time-based progressbar
ALREADY WAITS FOR FSCK TO FINISH, while the progress text
is displayed as usual.
And in future versions, the progressbar will wait for user
input also, like encryption passwords, and continue as
normal after that.
Things are progressing fast.
Please keep telling me your thoughts.
And let's see where this whole thing will end!
That's...
That's an interesting idea!
This is completely theme-based, and depends solely on the theme artist.
I am planning on creating a uplash-smooth themes pack.
Be sure that I'll look into this idea!
Hmm... I think the jumping progress bar and the time dependence could be seen as different issues. The jumpiness could be smoothed out by staying one step behind in the progress bar, and smoothly moving to the current step.
Instead of timing the bootup and providing a total progress based on that, it should be possible to time each process (using something like bootchart) and dividing the progress bar up into differently sized chunks to represent the time they take. It still wouldn't be ideal, since handling the last process would take a few experiments to determine the most natural progression, but it would be an improvement at least.
Volanin,
you're definitely right.
I think that the current progress, with its glitches and breaks and steps inspires doubt and incertainty.
We have to remember that this is not a certified measure tool. So I think that the progress bar should be smoothed out so the user gets more calm, and happy.
I'd love to see this as an option at the very least... unfortunately it hasnt worked on either of the computers i've installed it on... just get text output instead. so...
+0 for now!
You guys forget the man said they're workin' on bootup time for Jaunty. It's gonna boot in 6 seconds, do you need a progress bar? http://www.youtube.com/watch?v=s7NxCM8ryF8 :-) I wish...
I'd much rather get a little more information on what's going on than a timed splash. The current way lets me know things are in fact happening (or not).