1. Mode Graphique
    1. 1- Principes fondamentaux
      1. Processus de conception
      2. Caractéristiques d'un grand logiciel
        1. Haute performance
        2. Facilité d'utilisation
        3. Aspect attractif
        4. Fiabilité
        5. Adaptabilité
        6. Interoperabilité
        7. Mobilité
      3. Principes de conception
        1. Principes (1)
        2. Principes (2)
        3. Principes (3)
      4. Pensez aux utilisateurs
        1. Compatibilité internationale
        2. Accessibilité aux handicapés
        3. Etendre l'interface
      5. Priorités
    2. 2- L'expérience du Mac
      1. L'environnement
        1. L'environnement (1)
        2. L'environnement (2)
      2. Les technologies
        1. Les technologies (1)
        2. Les technologies (2)
        3. Les technologies (3)
        4. Les technologies (4)
      3. Installation et mises à jour
        1. Packaging, installation
        2. Les assistants
    3. 3- L'interface Aqua
      1. Entrées utilisateur
        1. La souris
        2. le clavier
          1. Fonction des touches
          2. Raccourcis-clavier
          3. Navigation au clavier
        3. Sélection
        4. Edition de texte
      2. Glisser-déposer
        1. Glisser-Déposer (1)
        2. Glisser-Déposer (2)
      3. Le texte
        1. Les fontes
        2. Le style
      4. Les icônes
        1. Genres et familles d'icônes
        2. Création des icônes
        3. Icônes des barres d'outils
        4. Images propres au système
      5. Les pointeurs
      6. Les menus
        1. Comportement des menus
        2. Conception des menus
        3. La barre de menus
          1. Les menus (1)
          2. Les menus (2)
          3. Les menus (3)
        4. Menus contextuels et du Dock
      7. Les fenêtres
        1. Type et apparence
        2. Eléments
          1. Barre de titre
          2. Barre d'outils
          3. Barre de recherche
          4. Barre latérale
          5. Barre inférieure
          6. Les Tiroirs
        3. Comportement des fenêtres
          1. Comportement (1)
          2. Comportement (2)
          3. Superposition
          4. Défilement
        4. Les panneaux
          1. Les panneaux
          2. Panneaux transparents
          3. Autres panneaux
      8. Les dialogues
        1. Types de dialogues
        2. Aspect et comportement
      9. Fenêtres de dialogues
        1. Recherche, Préférences, Ouverture
        2. Enregistrement
        3. Choix, Impression
      10. Les contrôles
        1. Contrôles du cadre
          1. Contrôles en capsule
          2. Contrôles hérités
        2. Les boutons
          1. Boutons poussoirs
          2. Boutons en icônes
          3. Boutons de recherche
          4. Boutons de gradient, et d'aide
          5. Boutons à champfrein
          6. Boutons ronds
        3. Contrôles de sélection
          1. Boutons radio
          2. Cases à cocher
          3. Contrôles segmentés
          4. Boutons et menus pop-Up
          5. Menus Action
          6. Boîtes de combinaison
          7. Contrôles de chemin
          8. Puits, sélection de date
          9. Menus pop-down
          10. Glissières
          11. Contrôles pas-à-pas et placards
        4. Indicateurs
          1. Indicateurs de progression
          2. De niveau, de capacité
          3. D'estimation, de pertinence
        5. Contrôles de texte
          1. Champs d'entrée
          2. Champs à jeton
          3. Champs de recherche
          4. Listes de défilement
        6. Contrôles de visualisation
          1. Triangles d'affichage
          2. Boutons d'affichage
          3. Vues en liste
          4. Vues en colonnes
          5. Vues éclatées
          6. Vues à onglets
        7. Contrôles de groupage
          1. Séparateurs
          2. Boîtes de groupage
        8. Règles de disposition
          1. Dans le corps de la fenêtre
            1. Fenêtre de préférences
            2. Fenêtre à onglets
            3. Alerte, Dialogue
          2. Contrôles réduits et mini
            1. Contrôles réduits
            2. Mini contrôles
          3. Groupement des contrôles
          4. Positionnement dans la barre inférieure
      11. Glossaire
        1. Entrées en anglais
          1. 1- A à C
          2. 2- D à H
          3. 3- I à R
          4. 4- S à Z
        2. Entrées en français
          1. 1- A à C
          2. 2- C à G
          3. 3- I à P
          4. 4- P à Z
        3. `
    4. 4- Les leçons de Lion
      1. L'environnement de Mac OS X
      2. Principes fondamentaux
      3. L'expérience utilisateur
        1. Règles de conduite (1)
        2. Règles de conduite (2)
        3. Règles de conduite (3)
        4. Règles de conduite (4)
        5. Règles de conduite (5)
        6. Règles de conduite (6)
      4. Les technologies d'Apple
        1. Les technologies (1)
      5. -->
  2. Mode Commande

Règles de conduite pour l'expérience utilisateur (4)




13- Songez à une représentation du monde physique et au réalisme.

Parfois, le rappel ou la copie des conditions du monde réel peut améliorer le ressenti de l'utilisateur. Les conseils de cette section peuvent vous aider à décider si l'ajout de réalisme est approprié, et dans ce cas, comment le mettre en œuvre efficacement.

Décidez si la représentation d'un monde réel aide les utilisateurs à mieux comprendre la situation virtuelle. Il faut s'assurer que l'addition du réalisme améliore à la fois la compréhension et la facilité d'usage : l'amélioration de l'un au détriment de l'autre ne rend pas l'application meilleure . Par exemple, bien que l'écriture et le postage de lettres soit une activité que la plupart des gens comprennent, Mail n'oblige pas les gens à plier le papier ou à mettre un timbre sur une enveloppe virtuelle.

Permettez-vous de modifier la représentation du monde réel si cela peut améliorer la compréhension des utilisateurs. Autrement dit, ne croyez pas que vous devez être scrupuleusement précis dans la représentation d'objets ou d'expériences réalistes. Souvent, vous pouvez être plus efficace en insistant sur, ou en laissant tomber, certains détails de l'objet dans le monde réel, ou de son comportement.

Ne sacrifiez pas la clarté à une expression artistique. Par exemple, il peut sembler réaliste d'afficher des notes ou des photos épinglées sur un tableau de liège mais il peut être confus d'utiliser un tableau de liège dans une application qui aide les gens à créer le plan de leur maison. Si les utilisateurs ont besoin d'une pause et de réfléchir à ce que les images cherchent à communiquer, votre application sera d'un usage réduit. Ce concept est associé à l'intégrité esthétique.

Pensez aussi à des mouvements réalistes. Parfois, un mouvement réaliste peut aider les gens à comprendre comment quelque chose fonctionne, plus facilement qu'une image réaliste ne le ferait. Par exemple, Mac OS X utilise un effet de ruban élastique pour montrer aux utilisateurs qu'ils sont arrivés à la fin du contenu d'une fenêtre ou qu'ils sont à la dernière fenêtre plein écran ou au dernier bureau. Prenez le temps d'analyser les règles selon lesquelles les objets de votre IU peuvent se déplacer pour améliorer la compréhension de l'utilisateur.

Envisagez d'améliorer la représentation physique et le réalisme en mode plein écran. Dans photo Booth, par exemple, l'apparition de la draperie de velours, de la texture en bois et des contrôles en cuivre n'intervient qu'en mode plein écran (figure 1). Mais on doit noter que cet ajout aux éléments périphériques ne distrait pas les utilisateurs de leur tâche, parce que le centre d'intérêt de la fenêtre reste d-sur la vue principale.

figure

Fig. 1 : la draperie, le boisage et le contrôle en cuivre de Photo Booth en mode plein écran.




14- Sécurisez l'exploration de l'application.

Encouragez les gens à explorer votre application en facilitant le pardon, c'est à dire en rendant la plupart des actions réversibles. Les gens aiment essayer les choses sans risquer de compromettre le système ou de mettre leurs données en danger. Dans l'idéal, votre application doit fournir aux utilisateurs les possibilités dont ils ont besoin tout en évitant des actions dangereuses ou irréversibles.

Créez des conditions de sécurité telles que les utilisateurs se sentent à l'aise en apprenant comment utiliser votre application. Par exemple, permettez de Défaire (Undo) autant que possible (voyez pour cela le menu Edition). Envisagez aussi de permettre aux utilisateurs d'apporter des changements à leur contenu, mais de différer ces changements jusqu'au dernier moment. Par exemple, iPhoto permet aux utilisateur de faire toutes sortes de modifications sur une photo sans modifier effectivement le fichier, jusqu'au moment où ils le décident.

Mettez les utilisateurs en garde quand ils lancent une tâche susceptible d'entraîner une perte de données inattendue et irréversible. De telles alertes sont importantes, mais si elles sont trop fréquentes, elles peuvent devenir ennuyeuses, et les utilisateurs auront tendance à les ignorer. N'avertissez pas les utilisateurs quand une perte de données est une conséquence normale d'une action. Par exemple, le Finder n'affiche pas d'alerte quand un utilisateur met un fichier à la corbeille, parce que ce qu'il veut faire, c'est effacer le fichier. Voyez les alertes pour plus d'informations

Fournissez une profusion d'informations et d'avertissements partout dans votre application. Une rétroaction pertinente et fiable aide les utilisateurs considérer qu'ils ont assez d'informations pour faire les bons choix.

En général, évitez de restreindre les actions de l'utilisateur. A moins que vous ne créiez une application pour les enfants dans laquelle il peut être opportun de réduire le champ d'action de l'utilisateur, vous ne voulez pas que vos utilisateurs se sentent maternés. Autant que possible laissez les faire ce qu'ils veulent, sans interférer inutilement.


15- Gagnez la confiance des utilisateurs avec la fiabilité, la capacité de prévoir et la stabilité.

Une application fiable et stable se comporte de façon prévisible et maintient l'intégrité des données de l'utilisateur tout en faisant tout ce qui est possible pour empêcher la perte ou la corruption des données. Elle doit aussi avoir une certaine maturité pour pouvoir gérer des situations complexes sans se planter.

Rouvrez l'application dans l'état où l'utilisateur l'a laissée. La conservation des réglages de l'utilisateur , comme la dimension des fenêtre et leur position améliore la perception de l'utilisateur sur la stabilité de l'application. Mac OS X 10.7 facilite la préservation d'état de l'application quand vous permettez la Reprise. Voyez la préservation de l'interface utilisateur.

Assurez-vous que les éléments de l'IU se comportent comme l'utilisateur s'y attend. Quand les éléments de l'IU fonctionnent comme on s'y attend, les utilisateurs sont plus enclins à faire confiance à votre application pour réaliser ce qu'elle promet. Il est essentiel en particulier de ne pas modifier la signification des éléments standards de l'interface utilisateur avec lesquels les gens sont familiarisés.

Fournissez une information d'état et une rétroaction pour montrer que votre application exécute une tâche donnée. Les utilisateurs ont besoin de savoir que votre application agit selon leurs commandes et ils apprécient de savoir combien de temps un processus va durer. Un des moyens possible est d'utiliser un indicateur de progression.

Assurez-vous que les utilisateurs récupèrent une présentation prévisible pour les données entrées . Si votre application permet aux utilisateurs d'organiser des données pour l'impression, pour l'affichage sur le web, ou pour créer un film, un DVD, ou d'autres formats, assurez-vous qu'il n'y a pas de différence significative entre ce que les utilisateurs voient sur l'écran et ce qu'ils récupèrent en sortie finale.

Anticipez les erreurs, et aidez les utilisateurs à les éviter, autant que possible. Par exemple, une application stable et fiable minimise les risques d'erreurs en validant les données entrées par l'utilisateur avant de les traiter. Plus vous pouvez aider les utilisateurs à éviter des erreurs, et moins de problèmes vous aurez à gérer.


16- Adaptez-vous aux modifications de l'environnement des utilisateurs.

Un programme adaptable s'ajuste convenablement à son environnement, c'est à dire qu'il ne cesse pas de fonctionner quand les conditions courantes changent. L'une des forces du Mac est sa capacité à s'adapter aux modifications de configuration rapidement et facilement. Par exemple, si l'utilisateur modifie la configuration du réseau dans les Préférences Système, les changements sont automatiquement pris en compte par des applications comme Safari ou Mail. Suivez ces conseils pour vous assurer que votre application peut s'adapter de la même façon :

Considérez que les gens sont mobiles. Commencez par vous préparer à des modifications de configuration du réseau, et assurez-vous que les utilisateurs peuvent utiliser votre application même si la connexion réseau est lente ou absente. Par exemple, adaptez l'accès au système de fichiers pour le cas où les volumes en réseau disparaissent. Si un volume du réseau disparaît, faites savoir aux utilisateurs qu'il n'est pas disponible, et fournissez une option pour enregistrer les fichiers sur un autre volume. Voyez l'aperçu sur Bonjour pour apprendre comment découvrir et publier des services.

Ensuite, modérez l'utilisation de courant de votre application, pour que les utilisateurs de mobiles puissent utiliser leur ordinateur aussi longtemps que possible. Par exemple, évitez l'interrogation d'évènements et les accès au disque dur autant que possible. Assurez-vous aussi que que votre application est complètement inactive sauf quand elle répond à une requête de l'utilisateur. Voyez pour cela l'aperçu de Performance.

Anticipez les modifications de taille d'affichage, de résolution, du nombre d'écrans. Les utilisateurs de Mac OS X peuvent brancher ou débrancher des écran à n'importe quel moment, et ces affichages peuvent avoir des tailles et des résolutions différentes. Votre application doit répondre correctement quand un affichage disparaît, ou quand un nouvelle affichage a une taille ou une résolution différente. Assurez-vous que vos graphiques se présentent convenablement pour toutes les résolutions, soyez en mesure d'y ajuster la position et la dimension des fenêtres.

Prévoyez des utilisateurs multiples avec des privilèges différents. La possibilité de changer d'utilisateur de Mac OS X permet à beaucoup de se loguer simultanément, et de basculer rapidement d'un compte à l'autre. Pour être sûr que votre application se comporte comme il se doit quand des utilisateurs multiples sont logués, ou quand l'utilisateur courant a des privilèges limités, gardez à l'esprit ces considérations:

Certains utilisateurs peuvent avoir des privilèges limités, et un accès limité à certaines parties du système. Par exemple, seuls les administrateurs sont autorisés à écrire des fichiers dans /Applications. Les utilisateurs avec des privilèges limités peuvent notamment ne pas être capables de :
• accéder à toutes les vitres de Préférences Système.
• modifier le Dock.
• changer leur mot de passe
• ouvrir certaines applications
• visiter certains sites web.

Les utilisateurs d'un ordinateur peuvent être à la fois des utilisateurs locaux ou sur le réseau, si bien que vous ne devez pas considérer que leur dossier Maison se trouve sur le volume local. Soyez prêt à utiliser à la place un volume du réseau.

Les ressources qui peuvent être rendues accessibles à de multiples sessions d'utilisateurs doivent comporter un ID de ressource dans le nom de celle-ci. Cela s'applique aux fichiers en cache, à la mémoire partagée, aux sémaphores, et aux tuyaux nommés, entre autres.

Evitez d'être dépendant de la disponibilité d'un matériel spécifique. Les configurations matérielles peuvent varier considérablement en fonction de l'ordinateur, du pays, et de l'utilisateur. Par exemple, les Macs n'ont pas tous la même carte graphique ni le même processeur. De même, tous les claviers n'ont pas le même ensemble de touches. Des périphériques peuvent aussi être rajoutés ou retirés pendant le fonctionnement. Pour détecter les configurations de périphériques disponibles, vous pouvez utiliser les interfaces de l'I/O Kit.

Evitez de vous baser sur les conditions de localisation de l'utilisateur courant. Soyez capable de gérer des formats de date, d'heure et de nombres différents. Ne considérez pas non plus que le format de l'adresse de l'utilisateur courant est le seul format d'adresse utilisable. Par exemple, dans le Carnet d'Adresses, un utilisateur peut stocker des contacts avec des adresses étrangères.

Mes commentaires

Je n'aime pas du tout (et je ne suis pas le seul) la représentation du monde physique à la sauce Apple ! Qu'il s'agisse du Carnet d'adresse, du Calendrier (iCal), ou de Photo Booth en mode plein écran, ces virtuosités n'apportent rigoureusement rien à la compréhension de l'application, contribuent plutôt à distraire l'attention de l'utilisateur, et sont de surcroît très vilaines et complètement gratuites. Elles témoignent d'un infantilisme qui est peut être largement partagé par les utilisateurs, mais devrait être combattu plutôt qu'encouragé par Apple. J'éprouve la même aversion pour la présentation d'iBooks ou le Kiosque de l'iPad, et j'espère ardemment que cela ne va pas se généraliser. Beurk...

L'adaptabilité a déjà été traitée dans la version précédente des AHIG, tout comme la fiabilité.

Pour le reste, les rubriques de cette page sont des considérations de bon sens à l'usage du développeur, qui semblent aller de soi, mais ne sont pas si faciles à respecter. L'écriture d'une application conforme aux recommandations d'Apple n'est pas une chose aisée ! Il faut penser à tellement de choses...