Avec Intrepid qui est aujourd’hui en voie d’être distribué via Internet je pensais que je pourrais parler un peu de notre démarche dans la conception des nouvelles interfaces pour le changement d’utilisateur, le gestionnaire de présence et la gestion de session, et des leçons que nous en avons retiré. Ted a bloggué à propos du travail qu’il a réalisé et cela a été repris dans quelques forums (rapidement récompensé par le titre mémorable de « new hotness »), mais dans la mesure où il s’agit de la première contribution de Canonical dans le domaine de l’interaction avec l’utilisateur je pensais qu’il serait intéressant d’en parler.
Voici une copie d’écran du résultat de ce travail :

La nouvelle applet FUSA vous permet de gérer votre présence, ainsi que de passer la main à un invité ou de changer d’utilisateur, et de se déconnecter
Dans l’une des premières sessions d’interaction avec l’utilisateur, nous avons examiné plus en détail la façon dont les gens « arrêtaient de travailler ». Nous avons pensé intéressant d’essayer de regrouper ces actions de manière à ce qu’elles paraissent naturelles aux utilisateurs.
Nous avons déjà travaillé sur ce thème dans Ubuntu – pendant longtemps nous avons eu un bouton dans le coin supérieur droit du tableau de bord qui affichait une boîte de dialogue modale donnant accès aux options classiques pour « terminer votre session » telles que la déconnexion, le redémarrage, l’arrêt, l’hibernation, la suspension et le changement d’utilisateur. Ce patch a toujours été un peu controversé et n’a pas été accepté en amont, ce qui fait que nous avons cherché des moyens de résoudre le problème différemment.
Nous avons décidé d’utiliser l’emplacement en haut à droite, parce que c’est l’une des zones privilégiées de l’écran à laquelle il est rapide et facile d’accéder (vous pouvez déplacer votre souris vers un coin de l’écran très facilement et avec précision) et parce qu’il y avait une forte habitude du vieux bouton de déconnexion de Ubuntu.
Une idée clé est que nous voulions rendre le « changement d’utilisateur » moins complexe et plus direct – nous voulions permettre aux gens de passer directement à l’utilisateur spécifique qui les intéressait plutôt que d’avoir une étape intermédiaire où ils se connectaient sous cet autre utilisateur. Nous avons donc démarré avec l’Applet de changement rapide d’utilisateur (« Fast User Switcher Applet »), ou FUSA, comme point de départ de la conception. Une autre idée clé qui est apparue fut que nous voulions intégrer la « gestion de présence » dans le même menu, car « passer hors ligne » ou « Je suis occupé » sont des états ou des tâches similaires à « fermer la session » ou « éteindre ».
Ordre du menu
Nous avons longuement discuté de l’ordre idéal pour les éléments du menu. D’un côté, mettre les « autres utilisateurs » en haut du menu impliquait que tous les noms d’utilisateurs – les vôtres et ceux vers lesquels vous pouvez aller – seraient visibles « au même endroit » en haut du menu. De l’autre, nous avions vraiment le sentiment que les choses qui allaient être utilisées de manière banale et plus facilement devraient se trouver en haut. Au final nous avons décidé de placer les options de gestion de présence en haut (Disponible, Absent(e), Occupé(e), Hors ligne). Juste à côté d’elles (dans le même groupe) nous avons mis l’option « Verrouiller l’écran », car elle s’apparente plus à un réglage de présence qu’à un paramètre de gestion de session – vous affichez « Absent(e) » plus souvent que le reste.
Ted a beaucoup travaillé pour rendre les éléments du menu présence compatibles avec Pidgin et Empathy car il y avait quelques incertitudes concernant lequel serait utilisé par défaut dans la version. Dans la mesure où il D-Bus, cela devrait être simple de le faire fonctionner également avec les clients de messagerie instantanée de KDE.
Nous avons ensuite ajouté les options pour le changement d’utilisateur - dont la « Session d’invité » qui est une nouvelle fonctionnalité pratique de Intrepid au sujet de laquelle on a beaucoup bloggué (http://beginlinux.wordpress.com/2008/10/04/ubuntu-810-beta-video-using-guest-session/) (regardez la démo YouTube – http://www.youtube.com/watch?v=XutuGwcQ96g) et qui utilise AppArmor pour renforcer la sécurité.
Enfin, les options de clôture de session – Fermer la session, Suspendre, Hiberner, Redémarrer et Éteindre sont en bas du menu, parce que vous êtes sensé les utiliser une seule fois par session, par définition !
Création
La conception du menu est délibérément sobre. Nous utilisons des couleurs et des formes très simples pour les indicateurs de présence, et nous réutilisons ces couleurs et ces formes dans le tableau de bord de GNOME de sorte que vous puissiez voir d’un seul coup d’œil qu’elle est l’état de votre indicateur de présence. Je pense que Ted a rencontré quelques difficultés pour aligner les icônes de présence du menu avec l’indicateur de présence actuel qui est situé dans l’applet du tableau de bord, mais il s’en est bien sorti. Il reste encore du travail à faire pour finaliser la présentation mais il n’a pas pu être terminé a temps pour la version, cela devrait faire l’objet d’un mise à jour stable (SRU) ou se trouver dans Jaunty.
Nous avons décidé de ne pas mettre d’icônes dans le menu pour chacun des états. Notre méthode de conception à pour but de proposer des présentations plus sobres, moins chargées d’icônes et avec des textes mieux choisis. Deux ou trois personnes ont dit que le menu était « clairsemé » ou « dépouillé » mais je pense qu’il va dans le bon sens et nous continuerons dans cet esprit lorsque nous aborderons d’autres parties du systèmes.
En amont
Ce travail a été discuté lors de l’UDS à Prague avec un certain nombre de personnes de la communauté GNOME. J’ai également été très heureux de constater pendant la Hackfest de GNOME qu’il y avait une forte demande pour un tableau de bord plus réduit et plus simple, et l’idée que nous avons eu à beaucoup plu. L’applet FUSA elle-même est remontée en amont après quelques modifications car elle a été fusionnée dans le nouveau code de GDM et le vieux code – sur lequel notre travail s’appuie – est plus ou moins en fin de vie. Mais nous avons trouvé comment mettre à jour ce travail pour Jaunty et à partir de là il sera plus facile de le faire remonter.
Dans Jaunty, nous travaillerons probablement sur le tableau de bord de GNOME, en nous basant sur les discussions autour de l’utilisabilité de GNOME. Concernant le peaufinage du tableau de bord, il y a eu beaucoup de discussions que nous devrions poursuivre.
Intégration dans Ubuntu
Nous avons réalisé assez tard dans le cycle de Ubuntu que nous n’avions pas beaucoup pensé au paquet pour la distribution. L’équipe de Ubuntu a gentiment offert son aide pour concevoir le paquet et intégrer l’applet mais nous avons bien compris l’importance de préparer les paquets plus tôt que trop tard. Nous avons mis l’applet dans le PPA suffisamment tôt pour le test entre développeurs, mais nous avons sous-estimé la différence entre ça et l’intégration effective dans la version.
L’équipe de Ubuntu s’est ralliée à notre cause et nous a aidé à faciliter le processus de mise à jour pour les nouveaux utilisateurs, de sorte que nous puissions essayer d’avoir tout le monde sur un pied d’égalité lors du passage à Intrepid, que ce soit par le biais d’une nouvelle installation ou bien d’une mise à niveau. Il y a eu cependant quelques défis à relever, car le tableau de bord est tellement personnalisable, et nous devions beaucoup réfléchir sur la manière de procéder pour nous assurer que l’on conservait une utilisation consistante pour des choses aussi importantes que la fermeture d’une session ou l’arrêt du système tout en essayant de ne pas empiéter sur les préférences des personnes qui avaient personnalisé leur tableau de bord. De la même manière, nous étions préoccupés par le fait que des personnes utilisant différentes versions de Ubuntu, ou différentes distributions, avec le même répertoire utilisateur, puissent avoir des problèmes si ces systèmes d’exploitations ne disposaient pas de la même version de FUSA – nous n’étions pas vraiment capable de gérer cela de manière satisfaisante.
Nous avons aussi réalisé (D’oh! – http://fr.wikipedia.org/wiki/D%27oh!) que nous n’avions pas vu le processus d’intégration dans son ensemble, car nous n’avions pas trouvé ce qu’il fallait faire avec les options du vieux menu Système. Il s’est avéré qu’elles étaient en passe d’évoluer, avec les gens de Ubuntu qui avaient à choisir entre le GNOME par défaut actuel que chacun disait vouloir changer, les correctifs pour l’approche probable du PROCHAIN GNOME, et la vieille approche de Ubuntu. Ted a préparé en vitesse des correctifs pour rendre le tableau de bord de GNOME plus souple avec ses menus, de sorte que nous puissions supprimer les vieilles options de fermeture de session du menu Système lorsque les gens avaient le même menu dans l’applet FUSA, mais c’est arrivé trop tard pour être inclus dans la version finale de Intrepid.
Somme toute, je pense que c’est un beau travail et j’espère que d’autres distributions le trouveront utile. C’est juste une babiole en rapport avec le travail que nous prévoyons de réaliser dans le cadre de l’utilisation du bureau. J’ai hâte de retrouver tout le monde à l’UDS de Jaunty à Mountain View (https://wiki.ubuntu.com/UDSJaunty) en décembre, quand nous pourrons parler de la prochaine étape ! Merci et bravo à Ted, Martin, Scott, Sebastien et tous ceux qui ont aidé à ce que ceci devienne une réalité.
Bravo à l’équipe Ubuntu (des milliers de personnes chez Ubuntu, Debian et en amont) qui on rendu possible cette magie dans 8.10. Heureux « Release Day » à tout le monde !
Origine : Ibex design: user switching, presence and session termination (http://www.markshuttleworth.com/archives/233)

Commentaires
Ecrire un commentaire Trackback