= Karmic Boot Experience as of 2009-08-03 = This is the current experience. This is not the target experience, but represents the state between the Jaunty and Karmic boot experiences. || '''UI''' || '''Transition''' || || BIOS || Blinking Cursor on black screen || || GRUB 2.0 || Blinking Cursor on black screen, perceptible mode switch/flicker || || Usplash throbber || Real Black, Mouse cursor spins || || GDM: <
>Fades in desktop Background <
>Paints Frame<
>Fills in Users<
>User Interacts || GDM Vanishes, leaves black blocks || || Desktop: <
>Spinning Cursor<
>Panel paints<
>flips to wallpaper || || = Target Karmic Boot Experience = There are three target experiences in scope for Karmic: 1. A typical boot, that includes the user logging in 1. Automatic login 1. Karmic boot with an exception (encrypted directory or time out) The following related experiences are not in scope for Karmic: 1. Boot with OS switching 1. Enhanced user switching experience 1. Enhanced suspend/resume experience - already improved by recent kernel improvements 1. Enhanced hibernate/resume experience; reason: requires further kernel cleanups + issue with switching resolution between the boot and the resumed kernel 1. Shutdown experience - will keep on using usplash 1. Restart experience when switching OSs; reason: depends on the shutdown experience being improved == Work Item Priorities == || '''Priority''' || '''Definition''' || || P0 || Essential || || P1 || Very Important - will do || || P2 || Important - Will do || || P3 || Desirable - Want to do || == Work Item Summary == The following work items that remain in Karmic have been identified: || '''Priority''' || '''Work Item''' || '''Team''' || '''Difficulty''' || '''Description ''' || || P0 || Clean up grub || Foundations || Easy || Done || || P1 || Disable blinking cursor in grub || Foundations || Easy || Done || || P0 || Disable grub menu || Foundations || Easy || Done || || P0 || Design XSplash || Design || Easy || Note: need to send example assets to Cody || || P0 || Xsplash boot throbber || DX || Medium || || || P1 || Xorg patch for leaving the frame buffer in place || Desktop || Medium || || || P1 || Disable mouse cursor on x start || Desktop || Easy || || || P1 || Recommend xinit hook for xsplash || Desktop || Easy || || || P2 || GDM Done Painting Signal || DX || Hard || send a dbus-signal when gdm is done loading, ie widgets mapped on screen || || P1 || Desktop Done Painting Signal || Desktop || Medium || send a dbus-signal when gnome-session has finished loading the user desktop || || P3 || GDM Perf || Desktop || Hard || || || P0 || Designing GDM skinning || Design || || Done || || P1 || Skinning GDM || DX || Medium || || || P3 || GDM UI Layout || DX || Medium || || || P0 || Xsplash desktop curtain (autologin case) || DX || Medium || || || P2 || Xsplash gdm greeter curtain - throbber while logging, especially for login || DX || Medium || || || P3 || Compiz perf || Desktop || Medium || || || P0 || Usplash Design || Design || Easy || || || P0 || Implement New Usplash Theme || Design || Medium || || == Typical Boot == This assume the user is booting into Ubuntu, and will log in with GDM. || '''UI''' || '''Transition''' || Work Items ((Team) priority/difficulty) || || BIOS || Flip to Black<
>Mode switch || Cleanup Grub(Foundations)P0/Easy <
> Disable blinking cursor in grub(Foundations)P1/Easy <
> Disable grub menu(Foundations)P0/Easy || || XSplash (Fade in) || Fades into Login Screen || Design XSplash (Design)P0/Easy <
> Write Xsplash(DXE)P0/Medium <
> Write OS Switcher(DXE)P3/Hard <
> Write OS Switcher library(DXE)P3/Hard<
> Disable mouse cursor on x start(Desktop)P1/Easy || || GDM: Fades in <
> User interacts || Fades to Xsplash progress indicator || GDM Curtain (Desktop)P2/Hard <
> GDM Perf (Desktop)P2/Hard <
> GDM Skinning (Design)P1/Medum <
> GDM UI Layout (DXE)P3/Medium <
> GDM Fade Out (Desktop)P2/Hard <
> XSplash Curtain (DXE) P2/Medium || || Xsplash progress || || Xsplash Curtain (DXE)P2/Medium || || Desktop (Fades in) || || Compiz Curtain (Desktop)P1/Hard || == Karmic Boot with Auto Login == This scenario is the same as the typical Karmic boot with Login, but lacks the GDM row. No new work items result from this, though there is a dependency on xsplash to transition directly to logon progress. ## This is no longer in scope for Karmic ##== Karmic Boot with OS Switching == ##This is the same as the typical Karmic boot up until Xsplash. The user hits escape in the Xsplash screen. Then the sequence is as follows: ## ##|| '''UI''' || '''Transition''' || '''Work Items''' || ##|| Xsplash || Fades to Os Selector Screen || work items covered in typical boot section || ##|| OS Selector || Shutdown and restart into other OS || GRUB 2 Reboot Script(Foundations) P0/Hard || ## == Karmic Boot with Exceptions == This occurs when: 1. The user has an encrypted root file system 1. The user has an encrypted non-Root File System 1. An fsck is required 1. Something causes a timeout, such as a very slow USB device is attached In these cases usplash is used to provide user feedback instead of X. This is because while X is loaded, it more or less owns the hardware, and this handles the situation where X cannot load or cannot load quickly. This starts after the BIOS: || '''UI''' || '''Transition''' || '''Work Items''' || || usplash: <
>Fades in with appropriate UI <
>User interacts if necessary || Fade to XSplash || Usplash Design (Design) P0/Easy <
>Impliment New Usplash Theme(Design) P1/Medium <
> leave the frame buffer in place (Desktop)P1/Medium