Ubuntu Usplash Smooth (Jaunty Blueprint)

General Objectives

Status Summary (Intrepid)

Currently in Intrepid, the usplash progressbar 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 period of 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.

To improve the situation the usplash progressbar should 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 any modifications whatsoever, and a working solution is already available.

Please check it here:

Identified User Experience Issues

Proposed Solutions

Implementation Details

This solution is already implemented as a library in Intrepid. This library also comes with the original usplash theme already using the time-based progressbar.

To be able to behave properly and freeze the time-based progressbar in appropriate times (such as filesystem checks and user input), usplash and the corresponding initscripts needs to be lightly patched. It's a very simple, very few lines patch, that will add the command NOTIFY to usplash. With this command implemented, usplash themes can be notified of the current system status and behave accordingly. It's important to note that this will NOT modify the current implementation in any way, and the current usplash themes (with the default progressbar) will work as they always did.

You can test it right now. Just download the packages from the Ubuntu PPA.

Outstanding Issues / TODO

Comments

UsplashSmooth (last edited 2008-11-20 14:22:03 by 20158017123)