GDM Enhancements for Breezy
Created: 23/04/05 by MarkShuttleworth
UduSessions: 5 (2 meetings and 3 drafting)
This specification is out of date, and has been obsoleted by the information in DapperDesktopPlan.
This specification identifies additional "bling" that we would like to add to the GNOME Display Manager (GDM) for the Breezy release (Gnome 2.12). Initial suggestions from MarkShuttleworth include:
- state transition fades for smoother mouseovers
- animated gif / mng / some motion format support
- classier looking menus and dialogs
GDM is the user's first introduction to Ubuntu, so it should be beautiful, exciting and also easy to use.
Scope and Use Cases
- Jeff looks on his GDM login screen and doesn't find it shiny enough.
- Lucie doesn't know what this "session" in the middle of the screen is, she just wants to get her German desktop.
- Lucie is not working on the computer for a moment, Daniel wants to use his English desktop without closing Lucie's one.
- Sophie thinks that clicking on a photo is much nicer than entering an username.
- Daniel's workstation is connected to a large network with many users, so he would be confused by a long list of usernames and icons.
We may use an alternative GTK+ theme for GDM, so that the widgets blend in better with the GDM theme. Wouldn't it be cool if you could define the GTK+ theme in the GDM .theme file? That way, we could let theme authors choose better widgets for their GDM themes.
Smooth Transitions and Sparkle
Pre-lit and activated elements should be displayed with smooth fades between states. Animated images may be used to enhance this effect, if we can get better animated image support into gdk-pixbuf. An APNG loader will need to be added to gdk-pixbuf, and we must ensure that GDM correctly animates these images when displayed in gdmgreeter.
We need to determine optimal fade times between states. normal->prelight (and reverse) would be fairly long, while prelight->active and other transitions should be much shorter.
Animated images with long loop states, and short animated "bling" can be used to make elements such as the Ubuntu logo "sparkle", without being overwhelming.
To enhance image animation, colorization and scaling, we should use SVG icons and images throughout the GDM theme.
The language "button" should display the currently selected language by default. It may have a "Language:" label, but we will try it without a label for the first revision.
Rather than being a button defined by a gdm theme image/label combo, it should appear to be a faded option menu shape which will fade/appear on mouse over (or mouse down - we should try both). When on mouse down, a standard option menu should appear, rather than the current language list dialogue.
We would like to find a way of changing the language display on the GDM screen dynamically. This would be *such* a radical feature, that it would be acceptable to hack this specifically for GDM. It may involve restarting gdmgreeter, but that would be slow and ugly ...
Unfortunately, the list of languages gets pretty long once you've installed a few language packs. We may have to deal with this UI scalability issue, and will rely on system changes to make this saner in the future.
We will remove the session button, but still provide access to the session list dialogue from the F10 menu. Given that it is hidden, and we are using a special GTK+ theme, we probably won't change the dialogue significantly. We will change the session names to be clearer.
A small hint about using the F10 menu should appear at gdmgreeter startup (probably in the corner of the screen), but fade out slightly after 30s or so.
Where there are five users known to the system (or other heuristics, perhaps related to network authentication), or any users logged in to the local terminal (see next section), the face browser should be displayed. We will need to include enhanced default icons for users who have not selected a special icon for themselves.
User Switching and Xscreensaver Integration
gdmgreeter could be used as a replacement for the ugly (albeit beautifully enhanced by OliverGrawert) xscreensaver lock dialogue. It would provide users an interface to switch between users currently logged in to the local terminal, or starting an entirely new session. The Windows XP user switching works in a very similar way. Also, we would have rid ourselves of the horrifyingly bad xscreensaver lock dialogue for good. Hurrah.
Perhaps the fast-user-switch applet should be included on gnome-panel by default? It is a very nice interface to gdmflexiserver and makes the true "fast user switching" a reality for the gnome desktop.
Screensaver While GDM is Active
We should work out a sane way of running xscreensaver while GDM is active, so that we benefit from power saving and screensaving functions. We should probably select a screensaver that still indicates that GDM is running and a user may log in, or we could create a screensaver that knew about GDM status and displayed logged in user icons, or something like that.
Data Preservation and Migration
The change concerns the default theme; it won't override any user change and there is no migration to do.
I've installed Ubuntu on 30 student computers in a High School at Spain.
After several months, I've realized that newbies are confused the first time they try to login using GDM.
When they type their login name, they erroneous believe they must to click on a button. They don't think they must simply press the Enter key after typing their login name. Therefore, after typing their name, they click (for instance) on the Sessions button to log in.
Maybe the problem appears because they are accustomed to click on a right arrow when they login in a Windows XP system.
I think there are two solutions:
1. To put an "Enter" button near the login text field.
2. To put a help message saying something like "Type your login name, then Enter".
What can you think?
(comment by CurtisBrown) You make a good point, perhaps some sort of button is in order, along with a config-file and gui tool as options to disable it. *NOTE: You can also use TAB after username to enter password.
New use Case
John boots up his computer and is presented with usplash bling, but then suddenly it goes black. Soon enough the mouse cursor appears in a black background and he starts to think: "OMG, i can only see the cursor.." but then abruptly the gdm login gets painted on screen. The transition usplash->Gdm should be smoother:
- usplash should last longer.. atleast until gdm is ready. Maybe replace the image with the progressbar on uspash with something saying "Loading..."
- the black screen should be avoided, but the cursor appearing is more disturbing.
a fade-in effect (from black->Normal Gamma) should be put in place. see bugzilla 16710.
On Gnome 2.12's default GDM theme, has anyone noticed that there are now OK and Cancel buttons on the login screen? The Dapper GDM theme should be rebuilt atop the new Gnome 2.12 GDM theme, therefore adding "Ok" and "Cancel" buttons to the login screen.