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

La priorité des décisions de conception.




Ce que dit Apple :

Les AHIG (Apple Human Interface Guidelines) contiennent une énorme quantité de principes et de conseils qui quand ils sont suivis, permettent d'obtenir des applications conformes à Aqua, de tirer parti des technologies de Mac OS X, et de se démarquer dans leur marché. Mais en concevant l'application, on peut rencontrer des contraintes de ressources ou des obligations de livraison qui obligent à des compromis avec le respect de l'ensemble des règles des AHIG. Comment appliquer des priorités pour que l'application réponde aussi aux réalités de l'environnement de développement ?

Pour apporter une réponse, ce chapitre organise les caractéristiques de l'interface utilisateur en une pyramide de couches d'amélioration et de raffinement successifs.

titre

Une priorité en trois niveaux (Source : Apple, AHIG)

Chaque couche s'accorde avec un niveau de satisfaction de l'utilisateur de l'application. Par exemple, une application qui satisfait seulement les critères minimaux peut être acceptable, mais ne fournira pas les caractéristiques que la plupart des utilisateurs attendent d'elle. Et comme c'est la satisfaction des utilisateurs qui conditionne en définitive le succès ou l'échec d'une application, c'est elle qui doit être au centre des décisions de conception. Si les réalités des affaires vous obligent à faire des compromis, utilisez ces conseils pour décider sur quoi vous concentrer d'abord.

1- Respecter les contraintes minimales

Vous devez satisfaire ces recommandations pour que votre application soit conforme à Mac OS X ; elles ne sont pas négociables ; si vous ne les suivez pas, vos utilisateurs vont s'apercevoir qu'elle ne se comporte pas comme ils l'attendent.

• Respecter la barre de menus unique au sommet de l'écran ; ne pas mettre de barres de menus dans vos fenêtres.

• Respecter le Dock ; les utilisateurs s'attendent à ce que le Dock se comporte selon leurs préférences ; au minimum, votre application ne doit pas interférer avec la position du Dock sur l'écran ; secondairement, elle doit pouvoir coopérer avec le Dock pour fournir des informations ou des facilités aux utilisateurs.

• Respecter l'environnement multi-fenêtres : Mac OS X supporte des types différents de fenêtres pour des usages différents. Déterminez quel type de fenêtre votre application doit utiliser, et comment elle doit se présenter.

• Mettez les fichiers créés par vos applications aux bons endroits. Mac OS X utilise des localisations particulières pour certains types de fichiers, comme les préférences, ou les documents créés par l'utilisateur. Ne mettez pas vos fichiers n'importe où, parce qu'ils vont polluer le système de fichiers, et les utilisateurs ne sauront pas où les trouver.

• Utilisez les contrôles standards : Mac OS X dispose d'une gamme étendue de contrôles avec des comportements bien définis. Utilisez ces contrôles dans vos applications. Dans de très rares cas, vous pouvez avoir besoin d'un contrôle personnalisé, si vous le jugez nécessaire.

• Evitez les raccourci-clavier réservés par le système, et respectez ceux recommandés par Apple. Les raccourcis-clavier réservés fournissent des comportements spécifiques pour toutes les applications ; une application doit respecter les raccourcis-clavier recommandés pour les tâches qu'elle accomplit. Par exemple, la sauvegarde d'un fichier utilise Cmd-S. Les utilisateurs doivent pouvoir compter sur Cmd-S pour sauver.

• Supportez le presse-papier : il est disponible pour toutes les applications, et son contenu ne change pas quand on passe d'une application à une autre. Proposez les opérations Couper-Copier-Coller dans votre applications.

2- Proposez les caractéristiques que les utilisateurs attendent

Quand les contraintes minimales sont respectées, vous devez vous attacher à proposer les caractéristiques que les utilisateurs attendent de l'application. Les utilisateurs de Macs sont exigeants, et en sont arrivés à réclamer un certain niveau d'élégance et de fonctionnalités dans les applications qu'ils utilisent. Les recommandations de cette section ne sont pas élémentaires comme celles de la section précédente, mais elles comprennent des éléments clés que votre application doit procurer :

• Communiquez efficacement : Mac OS X fournit aux utilisateurs les informations essentielles d'une façon intégrée et efficace. De même, votre application doit délivrer des messages d'erreur utiles, une rétroaction sur les commandes et sur les tâches longues, un état satisfaisant d'information.

• Supportez les paquetages (bundles) d'applications, et une installation par glisser-déposer, qui est la méthode préférentielle d'installation sous Mac OS X. Les utilisateurs de Macs veulent une installation rapide et sans problème.

• Créez des icônes et des graphiques de haute qualité : c'est un élément de l'attractivité du Macintosh : des icônes comme des photos, belles et réalistes.

• Respectez les règles de positionnement : les applications qui le font, fournissent aux utilisateurs une disposition propre, organisée, intuitive. Les utilisateurs de Macs sont habitués à des fenêtres bien disposées, visuellement attirantes, avec des contrôles commodément positionnés.

• Fournissez une assistance utile et immédiatement disponible aux utilisateurs : c'est la signature d'une bonne application. Mac OS X propose Help qui vous permet d'afficher des documents d'aide détaillés dans le visualiseur, et des balises d'aide, pour fournir une information brève et contextuelle sur les éléments de l'interface utilisateur. Comme ces mécanismes d'aide sont utilisés de façon extensive dans le système, les applications d'Apple et la plupart des autres, les utilisateurs comptent dessus quand ils ont besoin d'aide pour une tâche ou un contrôle.

• Supportez le glisser-déposer : c'est une fonctionnalité qu'on trouve partout dans Mac OS X, et qui est une caractéristique des plus appréciées et des mieux connues de cette plateforme. Il faut aussi fournir une alternative à l'aide du clavier aux opérations de glisser-déposer.

• Utiliser des noms symboliques (display names) : Mac OS X permet aux utilisateurs de personnaliser l'affichage des fichiers, des dossiers, et des applications. Les utilisateurs de Macs y sont habitués, et s'attendent à ce que leurs préférences soient respectées dans tout le système de fichiers et dans les applications.

3- Différenciez votre application

Le respect des deux précédentes contraintes vous permet de créer des applications que les utilisateurs auront envie d'acheter. Bien que le sommet de la pyramide représente plus de travail, le résultat est une application plébiscitée par les utilisateurs parce qu'elle tire pleinement parti des caractéristiques puissantes de Mac OS X. Pour cela, suivez les recommandations suivantes :

• Supportez le mode sans mode : autant que possible, évitez d'obliger l'utilisateur à terminer la tâche courante avant de pouvoir faire autre chose. Utilisez les feuilles et les tiroirs pour donner plus de liberté. Si vous devez utiliser des modes dans l'application, faites bien connaître l'état courant, et permettez aux utilisateurs de rentrer ou de sortir facilement d'un mode donné.

• Intégrez Spotlight : cette technologie permet de trouver des fichiers partout dans le système, en utilisant des critères que définit l'utilisateur. Fournissez un importateur Spotlight si votre application utilise un format de fichiers personnalisé, afin que les utilisateurs puissent trouver les fichiers que crée votre application. Vous pouvez aussi utiliser Spotlight pour fournir à votre application des possibilités de recherche dans le système de fichiers.

• Permettez le changement rapide d'utilisateurs : dans le mode multi-utilisateurs, la session d'un utilisateur est active, pendant que les sessions des autres utilisateurs continuent à tourner en tâche de fond ; les utilisateurs changent simplement en se connectant (login) ; la déconnexion des autres est inutile. Les applications doivent prendre en compte cette caractéristique pour éviter de tomber dans des environnements utilisateurs multiples simultanés. Si votre application repose sur un accès exclusif à des ressources, ou suppose qu'il n'y a qu'une instance de service à un moment donné, modifiez l'application pour identifier et partager les ressources système.

• Internationaliser l'interface utilisateur : le marché de votre application dépend de l'étendue de la localisation et des fonctionnalités. Prenez en compte les différences de langues, de valeurs et de symboles culturels, pour adapter plus facilement votre produit à des marchés spécifiques.

• Rendez votre application accessible aux millions d'utilisateurs atteints de handicaps (et pour respecter les règlements dans certains pays). Utilisez les caractéristiques d'accessibilité de Mac OS X, y compris l'accès par le clavier, la synthèse et la reconnaissance de la parole fournies par Mac OS X. Vous devez tester votre application, pour vous assurer qu'elle n'interfère pas avec ces possibilités et ne risque pas de dégrader le travail des handicapés.

• Recherchez la haute performance et la fiabilité : même une interface très réussie risque de n'être pas suffisante pour persuader les utilisateurs d'utiliser votre application, si elle est lente, non intuitive, et non fiable. Rappelez-vous que la perception de la performance tient à deux choses : la vitesse à laquelle l'application traite les données et exécute les opérations, et la vitesse avec laquelle l'application répond à l'utilisateur. Utilisez les outils et les technologies d'optimisation fournis par Mac OS X. Assurez-vous que l'application répond rapidement, et maintenez l'utilisateur informé des progrès d'une tâche qui dure longtemps.

Les utilisateurs seront prompts à abandonner votre application si elle perd ou corrompt des données, ou se comporte de façon erratique. Prenez autant de garanties que vous le pouvez à l'égard des pertes de données, et avertissez les utilisateurs de problèmes potentiels, en leur permettant de faire des choix alternatifs pour éviter des situations à risques. Bien qu'un comportement non prévisible puisse ne pas entraîner de pertes de données, il peut pousser les utilisateurs à perdre confiance dans l'application. Assurez-vous que les éléments de l'interface utilisateur se comportent comme on peut l'espérer et s'y attendre, pour que les utilisateurs lui accordent leur confiance.

• La surprise et les délices : moins concrète que les autres recommandations, celle-ci rassemble quelques unes des qualités les plus importantes d'un grand logiciel. Fondamentalement, les utilisateurs sont enchantés des applications qui semblent les comprendre, qui anticipent leurs besoins, et leur fournissent des solutions puissantes, intuitives, et intégrées. La meilleure façon de suivre cette recommandation est de s'attacher fermement au modèle mental de l'utilisateur en concevant l'application. Rapidement, vous devez découvrir le mode de travail de vos utilisateurs, leurs attentes, leurs expériences pratiques, et les reproduire dans la terminologie de l'application, dans l'organisation des fenêtres, dans la construction et la hiérarchie du menu, et dans le contenu de la barre d'outils.


Mes commentaires :

Beaucoup de choses présentées ici ont déjà été abordées précédemment, comme l'absence de mode, l'internationalisation et l'accès Universel. Elles sont simplement reprises dans l'optique des priorités à respecter à l'occasion d'un développement, et ce changement de point de vue est tout à fait justifié. On se rend compte qu'il est très difficile de respecter l'ensemble de ces recommandations, et à vrai dire, il n'est pas très étonnant qu'Apple ne les respecte pas non plus ! (par exemple, Cmd pour vider la corbeille en mode sécurisé, qui rentre en contradiction avec la copie d'écran sous Snow Léopard).

Ce que ne dit pas Apple, c'est que le remplacement permanent d'APIs anciennes par des nouvelles rend la tâche du développeur encore plus compliquée. Entre de nombreuses possibilités, il est souvent très difficile de choisir celle qui est la plus opportune et la plus efficace.