GdmFaceBrowser

Differences between revisions 3 and 16 (spanning 13 versions)
Revision 3 as of 2007-11-06 20:21:45
Size: 3223
Editor: 75-144-175-202-NewEngland
Comment:
Revision 16 as of 2007-11-20 17:39:21
Size: 9385
Editor: dslb-084-063-107-216
Comment:
Deletions are marked like this. Additions are marked like this.
Line 28: Line 28:
This section should include a paragraph describing the end-user impact of this change. It is meant to be included in the release notes of the first release in which it is implemented. (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.)

It is mandatory.
The default layout of the gdm-greeter uses an OpenGL-based face-browser, if the underlying graphics-hardware and driver provide the needed support, in order to provide a more pleasing login-experience. User-selection happens either by clicking on a users image/photo/face or via text-entry.
Line 34: Line 32:
This should cover the _why_: why is this change being proposed, what justifies it, where we see this justified. These days, with composited desktop-environments becoming more and more a standard feature, people expect their whole computing experience to be visually attractive and consistent across all parts of the system. Furthermore do we want to close the gap of visual attractiveness in the different parts of the overall desktop-experience (booting, login, desktop-usage, logout). Ideally the user should not recognize any kind of "gap" when using the computer. This attention to detail in terms of consistent look and behaviour helps give the user a more enjoyable desktop-system and improves a users confidence in the platform s/he is using.
Line 38: Line 36:
The general advantage of a face-browser for login is the avoidance of superfluous typing. This helps speed up the login-procedure of all people, who are no touch-typists or experienced keyboard users. But even experienced users can enjoy the convenience of being lazy occasionally. It is still possible to login successfully without selecting an image at all just by typing in the login-name and password.

only one user on system: Although an automatic login would streamline the bootup-to-desktop cycle for a single-user system (single in terms of one real person, not "user" in terms of unix-privileges), security-concerns strongly advice against this. The single user will see only her/his photo in the face-browser.

multiple users on system (<=100): In this case a user can either just select her/his image to tell the computer their login-name or start typing the first few characters from her/his login-name and watch the face-browser filter the set of displayed images to fewer images in order to simplify locating their own image in the visible set of images.

multiple users on system (>100): Scalability-issues regarding texture-usage (especially on low-end graphics hardware) and network-latency (setups with that many users are hardly run of local harddisks) demand a fallback to a non-face-browser mode of the gdm-greeter. In that case plain text-entry widgets for login-name and password are used.

idle: When the computer is left running unattended without any user loggeded in, the gdm-greeter should switch to a screensaver-like display without locking input. Any motion of the mouse or pressed key should exit this mode. The screensaver-mode should use e.g. the user photos and make them fly round on the screen, but the user should always be able to identify that it is still the login-screen that is being displayed and not a normal screensaver from another users-session.

The threshold of a 100 users for automatic disabling the face-browser is something that needs to be properly tested during the beta-phase.
Line 39: Line 49:

For the face-browser the following OpenGL-extensions will be required:
 * rectangluar textures (GL_TEXTURE_RECTANGLE_ARB)
 * fragment-shaders (GL_FRAGMENT_PROGRAM_ARB)

We currently assume that the newly rewritten gdm will be in a shippable state by the time HardyHeron enters beta. Should we forsee that this will not be the case, we will fallback to the old gdm and add the face-browser to the old version.
Line 42: Line 58:
You can have subsections that better describe specific parts of the issue. Some mockups...

[http://people.ubuntu.com/~mmueller/face-browser-2.png http://people.ubuntu.com/~mmueller/small_face-browser-2.png]

Please note that these mockups are only meant to give a general idea of the look we are aiming at and to provide a basis for discussion with the artwork-team. I (MacSlow) am not part of the artwork-team itself, therefore colors, gradients, hues, drop-shadows, "roundness" etc. are just my best guesses and do not reflect the final look of the artwork. Please do not write any article about this stating something else!

The main workload for this spec will come from the OpenGL-based face-browser. There are currently two potential candidates for becoming the rendering library of choice, [https://code.fluendo.com/pigment/trac pigment] and [http://clutter-project.org clutter]. At the time of this writing both lack direct support for implicit-animations and shaders. These two features will have to be added to the API of choice, once that choice has been made. Going down that path will involve a lot of additional design-discussions and work not directly related to this spec.

There is another option for providing the needed OpenGL-boilerplate. That would be to use libgtkglext as windowing-system glue and implement all needed animation- and effects-features from scratch directly via OpenGL.

Theme-support was based on a XML-file in the old gdm. This should be taken over to the new gdm.

=== Suggestions ===
I'd simply like to state that the user names should appear in the white space below the images. This way people can better associate with the picture in case they forget that their icon is the astronaut flying in space (as an example). Looks great otherwise! -- This shouldn't be done as it is a security problem. You'll be giving one of the "unknowns" to a potential attacker. Seems unlikely that someone would attack through the face browser, but it should definitely be optional. -- I second this request. A least on the local browser, there's no security issue: what would a local user do with your name ?! The current facebrowser already does that, and this can be disabled if needed. Milan71
Line 48: Line 77:
=== UI Changes ===

Should cover changes required to the UI, or specific UI that is required to implement this

=== Code Changes ===

Code changes should include an overview of what needs to change, and in some cases even the specific details.
Line 58: Line 79:
Include:
 * data migration, if any
 * redirects from old URLs to new ones, if any
 * how users will be pointed to the new way of doing things, if necessary.
Any theme and gdm-setup setting should just work with the new gdm.

During the installation of Ubuntu on a computer the user should be asked for a photo upon creation of the first account. This can either happen by offering the user a set of stock images, allow loading an image-file from an external data-source e.g. an usb-stick or web-page, take a picture with an application like [http://www.gnome.org/projects/cheese cheese] (if a supported webcam is found) or allow the user to create an abstract avatar-photo using a program like [https://edge.launchpad.net/memaker MeMaker]. All this of course requires a lot of additional integration work that easily exceeds the scope of this spec. It would require ubiquity, Ubuntu's installer tool, to be extended with support for cheese and MeMaker.

Whenever a new user is created it has to be guaranteed, that this new user account gets a unique photo to be displayed in the face-browser. At least the fallback images need to be uniquely assigned. If the user provides her/his own photo (via webcam/cheese, avatar-maker/MeMaker or from self-provided image) we assume it to be a unique photo. To further ensure a user is able to pick the correct photo from the set of images displayed in the face-browser, their real name needs to be displayed with their photo (the login-name is used as a fallback, if no real name was provided upon user-account creation).
Line 71: Line 93:
This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved. It is not clear yet how to provide accessibility for the face-browser.
Line 75: Line 97:
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected. Suggestions:
Line 77: Line 99:
Suggestion: add an option in GDM to disable the login sound (very useful when working in libraries)  * Add an option in GDM to disable the login sound (very useful when working in libraries)

 * Enable '''password-less connexions''' (i.e. users have a password but allow GDM to connect locally without using it)? Another feature we really need for home computers.KDM already has it, I opened a bug on GDM but it is really not active: http://bugzilla.gnome.org/show_bug.cgi?id=414862 Could there be a discussion about that? IMHO, it is essential. - Milan71

 * Support pulling faces from LDAP jpegPhoto attribute

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

  • Launchpad Entry: hardy-gdm

  • Packages affected: gdm

Summary

  • Discuss and agree changes to our default greeter.
  • Input from hardy-theme discussion
  • Default should be a Face Browser, allowing users to click on
    • their name
  • Show face and/or name?
  • Threshold for falling back to non-face greeter
  • Implementation of face browser
  • OK button on gdm non-face greeter (people don't think they can
    • just hit ENTER)
  • Username field alternative (hidden maybe?) on face browser,
    • start typing and it appears
  • "About Me" (eds) information?
  • Session information (number of apps running, mails, etc.)
  • remember "screensaver-mode" of face-browser after x minutes of inactivity

Release Note

The default layout of the gdm-greeter uses an OpenGL-based face-browser, if the underlying graphics-hardware and driver provide the needed support, in order to provide a more pleasing login-experience. User-selection happens either by clicking on a users image/photo/face or via text-entry.

Rationale

These days, with composited desktop-environments becoming more and more a standard feature, people expect their whole computing experience to be visually attractive and consistent across all parts of the system. Furthermore do we want to close the gap of visual attractiveness in the different parts of the overall desktop-experience (booting, login, desktop-usage, logout). Ideally the user should not recognize any kind of "gap" when using the computer. This attention to detail in terms of consistent look and behaviour helps give the user a more enjoyable desktop-system and improves a users confidence in the platform s/he is using.

Use Cases

The general advantage of a face-browser for login is the avoidance of superfluous typing. This helps speed up the login-procedure of all people, who are no touch-typists or experienced keyboard users. But even experienced users can enjoy the convenience of being lazy occasionally. It is still possible to login successfully without selecting an image at all just by typing in the login-name and password.

only one user on system: Although an automatic login would streamline the bootup-to-desktop cycle for a single-user system (single in terms of one real person, not "user" in terms of unix-privileges), security-concerns strongly advice against this. The single user will see only her/his photo in the face-browser.

multiple users on system (<=100): In this case a user can either just select her/his image to tell the computer their login-name or start typing the first few characters from her/his login-name and watch the face-browser filter the set of displayed images to fewer images in order to simplify locating their own image in the visible set of images.

multiple users on system (>100): Scalability-issues regarding texture-usage (especially on low-end graphics hardware) and network-latency (setups with that many users are hardly run of local harddisks) demand a fallback to a non-face-browser mode of the gdm-greeter. In that case plain text-entry widgets for login-name and password are used.

idle: When the computer is left running unattended without any user loggeded in, the gdm-greeter should switch to a screensaver-like display without locking input. Any motion of the mouse or pressed key should exit this mode. The screensaver-mode should use e.g. the user photos and make them fly round on the screen, but the user should always be able to identify that it is still the login-screen that is being displayed and not a normal screensaver from another users-session.

The threshold of a 100 users for automatic disabling the face-browser is something that needs to be properly tested during the beta-phase.

Assumptions

For the face-browser the following OpenGL-extensions will be required:

  • rectangluar textures (GL_TEXTURE_RECTANGLE_ARB)
  • fragment-shaders (GL_FRAGMENT_PROGRAM_ARB)

We currently assume that the newly rewritten gdm will be in a shippable state by the time HardyHeron enters beta. Should we forsee that this will not be the case, we will fallback to the old gdm and add the face-browser to the old version.

Design

Some mockups...

[http://people.ubuntu.com/~mmueller/face-browser-2.png http://people.ubuntu.com/~mmueller/small_face-browser-2.png]

Please note that these mockups are only meant to give a general idea of the look we are aiming at and to provide a basis for discussion with the artwork-team. I (MacSlow) am not part of the artwork-team itself, therefore colors, gradients, hues, drop-shadows, "roundness" etc. are just my best guesses and do not reflect the final look of the artwork. Please do not write any article about this stating something else!

The main workload for this spec will come from the OpenGL-based face-browser. There are currently two potential candidates for becoming the rendering library of choice, [https://code.fluendo.com/pigment/trac pigment] and [http://clutter-project.org clutter]. At the time of this writing both lack direct support for implicit-animations and shaders. These two features will have to be added to the API of choice, once that choice has been made. Going down that path will involve a lot of additional design-discussions and work not directly related to this spec.

There is another option for providing the needed OpenGL-boilerplate. That would be to use libgtkglext as windowing-system glue and implement all needed animation- and effects-features from scratch directly via OpenGL.

Theme-support was based on a XML-file in the old gdm. This should be taken over to the new gdm.

Suggestions

I'd simply like to state that the user names should appear in the white space below the images. This way people can better associate with the picture in case they forget that their icon is the astronaut flying in space (as an example). Looks great otherwise! -- This shouldn't be done as it is a security problem. You'll be giving one of the "unknowns" to a potential attacker. Seems unlikely that someone would attack through the face browser, but it should definitely be optional. -- I second this request. A least on the local browser, there's no security issue: what would a local user do with your name ?! The current facebrowser already does that, and this can be disabled if needed. Milan71

Implementation

This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:

Migration

Any theme and gdm-setup setting should just work with the new gdm.

During the installation of Ubuntu on a computer the user should be asked for a photo upon creation of the first account. This can either happen by offering the user a set of stock images, allow loading an image-file from an external data-source e.g. an usb-stick or web-page, take a picture with an application like [http://www.gnome.org/projects/cheese cheese] (if a supported webcam is found) or allow the user to create an abstract avatar-photo using a program like [https://edge.launchpad.net/memaker MeMaker]. All this of course requires a lot of additional integration work that easily exceeds the scope of this spec. It would require ubiquity, Ubuntu's installer tool, to be extended with support for cheese and MeMaker.

Whenever a new user is created it has to be guaranteed, that this new user account gets a unique photo to be displayed in the face-browser. At least the fallback images need to be uniquely assigned. If the user provides her/his own photo (via webcam/cheese, avatar-maker/MeMaker or from self-provided image) we assume it to be a unique photo. To further ensure a user is able to pick the correct photo from the set of images displayed in the face-browser, their real name needs to be displayed with their photo (the login-name is used as a fallback, if no real name was provided upon user-account creation).

Test/Demo Plan

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during CD testing, and to show off after release.

This need not be added or completed until the specification is nearing beta.

Outstanding Issues

It is not clear yet how to provide accessibility for the face-browser.

BoF agenda and discussion

Suggestions:

  • Add an option in GDM to disable the login sound (very useful when working in libraries)
  • Enable password-less connexions (i.e. users have a password but allow GDM to connect locally without using it)? Another feature we really need for home computers.KDM already has it, I opened a bug on GDM but it is really not active: http://bugzilla.gnome.org/show_bug.cgi?id=414862 Could there be a discussion about that? IMHO, it is essential. - Milan71

  • Support pulling faces from LDAP jpegPhoto attribute


CategorySpec

DesktopTeam/Specs/GdmFaceBrowser (last edited 2009-05-29 18:29:22 by static-96-227-186-11)