1. John Siracusa
    1. Mountain Lion
      1. Introduction
      2. Achat et installation
      3. Changements d'interface (1)
      4. Changements d'interface (2)
      5. Changements d'interface (3)
      6. Applications (1)
      7. Applications (2)
      8. Applications (3)
      9. Applications (4)
      10. Applications (5)
      11. iCloud(1)
      12. iCloud(2)
      13. iCloud(3)
      14. Gatekeeper(1)
      15. Gatekeeper(2)
      16. Retina et HiDPI
      17. Fourre-tout (1)
      18. Fourre-tout (2)
      19. Fourre-tout (3)
      20. Fourre-tout (4)
      21. Fourre-tout (5)
      22. Fourre-tout (6)
      23. Recommandations
      24. Deux pères, un fils
    2. Lion
      1. Introduction
      2. Installation
      3. Revoir les fondamentaux
      4. Redimensionnement des fenêtres
      5. Et voici pour les cinglés
      6. La gestion des fenêtres
      7. Le modèle de document
      8. le modèle des processus
      9. Les éléments internes (1)
      10. Les éléments internes (2)
      11. ARC
      12. Le système de fichiers
      13. Ses modifications dans Lion
      14. Documents, résolution
      15. Le Finder
      16. Mail, Safari
      17. Fourre tout (1)
      18. Fourre tout (2)
      19. Recommendations
    3. Snow Leopard
      1. Introduction
      2. Le ticket d'entrée
      3. L'installation
      4. Nouvel aspect
      5. Détails internes
      6. Quick Time X
      7. Système de fichiers
      8. Faire plus avec plus
      9. LLVM et Clang
      10. Les blocs
      11. Concurrence
      12. Grand Central Dispatch
      13. Asynchronicité
      14. Open CL
      15. La différence...
      16. Quick Time Player
      17. Le Dock
      18. Le Finder
      19. Exchange
      20. Performances
      21. Fourre tout (1)
      22. Fourre tout (2)
      23. Le futur
    4. Leopard
      1. Introduction
      2. L'héritage
      3. Nouvel aspect 1
      4. Nouvel aspect 2
      5. Le noyau
      6. 64 bits
      7. FS Events
      8. Core animation
      9. Quartz GL
      10. Core UI
      11. Détails internes
      12. Le Finder
      13. Le Dock
      14. Time Machine
      15. Performances
      16. Pot pourri
      17. Demain
    5. Tiger
      1. Introduction
      2. Retour sur le passé
      3. Nouvel aspect de Tiger
      4. Mises à jour du noyau
      5. Le lancement
      6. Les méta-données
      7. Attributs étendus
      8. Listes de contrôle d'accès
      9. Spotlight 1
      10. Spotlight 2 : analyse et potentiel
      11. Types de fichiers
      12. Méta-données : la fin
      13. Quartz
      14. Quartz 2D Extreme
      15. Core Image
      16. La vidéo sous Tiger
      17. Dashboard
      18. Le Finder
      19. Les performances
      20. Pot pourri
      21. Conclusion
    6. Panther
      1. Introduction
      2. Les précédents
      3. L'installation
      4. Nouvel aspect
      5. Performances
      6. Changement rapide d'utilisateur
      7. Gestion des fenêtres
      8. Exposé
      9. Le Finder
      10. Performance du Finder
      11. Toujours le même
      12. Safari
      13. XCode
      14. Conclusion
    7. Jaguar
      1. Introduction
      2. Le nom
      3. L'installation
      4. Modifications d'Unix
      5. Dévelopeurs...
      6. Quoi de neuf
      7. Rendezvous
      8. Quartz Extrême
      9. Performance
      10. Compositions
      11. Le Finder
      12. Applications
      13. Sherlock
      14. Le portrait
    8. Puma
      1. Prelude
      2. Introduction
      3. Installation
      4. Réglages système
      5. Performance
      6. Redimensionnement des fenêtres
      7. Utilisation de la mémoire
      8. Diagnostics de mémoire
      9. L'environnement Classique
      10. L'interface Utilisateur
      11. Le Finder
      12. Extensions de fichiers
      13. Divers, conclusion
    9. Cheeta (Mac OS X 10.0)
      1. Qu'est ce que Mac OS X
      2. Installation
      3. Le démarrage
      4. Utilisation de la RAM
      5. Performance
      6. Performance des applications
      7. Stabilité
      8. L'interface utilisateur
      9. Le Finder
      10. Le navigateur du Finder
      11. Le Finder (divers)
      12. L'interface utilisateur
      13. Os X Classique
      14. Système de fichiers
      15. Unix
      16. Applications
      17. Conclusion
    10. Les débuts de MacOsX
      1. 1999 : OSX DP2
      2. 2000 : Quartz et Aqua/a>
      3. Fin de la lune de miel
      4. la première bêta publique
      5. 2001 : Mac OS X 10.0
      6. Un investissement
    11. Finder Spatial
      1. Introduction
      2. Interfaces spatiales
      3. Le Finder spatial
      4. Le concierge
      5. Un nouveau Finder
      6. Le browser
      7. Le browser spatial
      8. Finder et méta-données
      9. Les modèles
      10. Pensées finales

Panther (7)







La gestion des fenêtres - une digression

Je crois qu'on a tous vu un utilisateur d'ordinateur perdre la trace d'une fenêtre. Il est tentant d'imaginer que c'est seulement réservé aux "novices" mais la vérité est que chacun a une capacité limitée de mémoire à court terme. Si vous ouvrez des fenêtres pendant assez longtemps, à un moment vous vous trouverez en train d'en traquer une effectivement, même si vous l'avez utilisée quelque temps auparavant.

La plupart des branchés ont expérimenté l'opposé de la traque, une expérience sans effort où vous pensez simplement à la fenêtre que vous voulez, et laissez votre souris (ou la main au clavier) accomplir son tour magique pour faire réapparaître la fenêtre. Pour les utilisateurs de longue date de Windows, le raccourci clavier alt-tab intervient puissamment dans cette expérience, notamment pour passer d'une fenêtre à une autre. Les branchés qui sont habiles à intérioriser la structure de leur liste de fenêtres (les programmeurs sont particulièrement bons à cela), peuvent utiliser alt-tab même sur de grosses listes de fenêtres avec une absolue certitude, et très peu d'effort de pensée.

Néanmoins, même un gourou de l'alt-tab (et particulièrement un programmeur), sait qu'une liste linéaire a des caractéristiques de performances qui ne résistent pas bien du tout à un changement d'échelle. De plus, même avec un modèle mental bien formé d'une liste de fenêtre simple, il est frustrant et inefficace d'être obligé de parcourir tous les éléments intermédiaires pour atteindre une destination. Si un utilisateur sait où se trouve une fenêtre, dans cette structure de liste qu'il faut admettre inefficace, qu'il conserve dans sa tête, pourquoi ne pourrait-il pas y sauter directement plutôt que d'avoir à taper cinq fois alt-tab ?

Il y a donc là plusieurs problèmes. D'abord, le modèle de structure utilisé par l'ordinateur pour organiser les fenêtres. Cela aide que ce modèle soit aussi familier que possible. Une pile, ou une autre structure uni-dimensionnelle est relativement facile à comprendre, mais elle peut rapidement dépasser les limites de la mémoire à court terme quand des éléments s'y ajoutent. En outre, même pour des utilisateurs avec un modèle complet et détaillé de la pile de fenêtres dans leur mémoire à court terme infaillible, il est frustrant d'avoir à parcourir la liste un élément après l'autre.

Alors, comment allez-vous concevoir une interface qui est à la fois familière à votre esprit et permet à l'utilisateur de passer immédiatement à la fenêtre exacte qu'il veut à tout moment ? Les périphériques d'entrée des ordinateurs personnels limitent quelque peu votre choix. Le clavier n'est pas vraiment conçu pour cette tâche. Des séquences harmoniques de touches sont la forme traditionnelle de cette signalisation spécifique à l'aide d'un clavier, mais il y a un nombre limité de combinaisons commodes.

Alt-tab (Cmd-Tab pour les utilisateurs de Macs) est l'une des combinaisons les plus commodes, et elle est adaptée au passage d'une tâche à une autre. Mais il n'y a pas de façon simple de spécifier une fenêtre particulière à l'aide d'une combinaison simple. Les plus branchés peuvent imaginer quelque chose comme alt-tab-5 pour sauter à la sixième fenêtre dans une liste, ou quelque chose de ce genre, mais à ce point, on a depuis longtemps quitté de domaine de ce qui est utilisable pour des gens "normaux". (Ne vous tourmentez pas, vi vous aimera toujours).

Cela nous laisse ce jouet de l'informatique, la souris. La souris excelle à désigner "cette chose là". Pourquoi pas "cette fenêtre là" ? Cela semble parfaitement adapté, mais il y a quelques problèmes.

Si vous passez la plupart de votre temps à taper, il y un certain temps associé au simple passage de votre main du clavier à la souris. Les alt-tabeurs patentés citerons sans aucun doute cela comme une raison pour laquelle taper alt-tab n fois est plus rapide que d'atteindre la souris (choisissez votre propre valeur pour n).

En supposant que vous vouliez bien accepter le coût du changement de contexte (ou que votre main passe plus de temps sur la souris que sur le clavier), quelles sont à présent les options ? Et bien, à la façon des vrai branchés, beaucoup de développeurs d'OS ont instinctivement créé des représentations sur l'écran de la bonne vielle structure de liste linéaire des fenêtres préalablement enfouie dans l'OS. La barre de tâches de Windows a commencé comme ça. Quoique vous pensiez de la barre de tâches de Windows 95, cette ligne de petits rectangles sur l'écran était bien meilleure que l'alternative consistant à demander aux utilisateurs de créer et de conserver cette structure dans leur propre esprit. Il y a peut-être une leçon à prendre là, mais pour le moment, continuons.

Ainsi, votre modèle mental a pris vie sur l'écran. Vous n'en avez plus besoin dans votre tête. L'ordre et la position de chaque élément dans la liste des fenêtres est maintenu sans effort (en ce qui vous concerne) par le système d'exploitation sur votre écran.

Mais cela devient lassant de parcourir cette liste des fenêtres que vous voulez sur l'écran, particulièrement quand chaque petit rectangle n'a pas assez d'information d'identification. (Puis-je intéresser quelqu'un avec 6 titres de la barre de titre tous appelés "Internet Explor..." ? ). Si bien qu'il est avantageux de se rappeler au moins la position sur l'écran d'une poignée de titres parmi lesquels vous basculez le plus fréquemment.

Alors, vous pouvez payer le péage vers le changement de souris, et cliquer sur le rectangle de la barre de tâches tout à droite, puis sur celle du milieu avec une icône bleue, et ainsi de suite. D'accord, ce n'est peut-être pas complètement inconscient, mais, eh bien, c'est de l'accès direct plutôt que le parcours forcé de la liste de fenêtres. On a progressé un peu.

On peut aussi s'intéresser au modèle organisationnel de l'ordinateur. Une liste à une dimension pose des problèmes quand il y a un espace limité sur l'écran. Un modèle bi-dimensionnel, où les fenêtres sont imbriquées dans leur application parente réduit considérablement l'espace nécessaire sur l'écran, mais il rajoute aussi une étape supplémentaire dans le processus d'obtention d'une fenêtre donnée. Est-ce qu'on y gagne ? Cela dépend du nombre de fenêtres que vous avez à ouvrir. Un modèle hybride, qui commence linéaire, puis devient hiérarchique quand l'espace sur l'écran est raduit peut être un bon compromis. Voilà à quoi ressemble la barre des tâches de Windows à présent.

La façon Mac

Le Mac a connu la première IUG avec un marché de masse, et pourtant, pendant une décade, il a manqué de presque toutes les caractéristiques décrites ci-dessus. "Bien sûr, c'est parce que le Mac ne pouvait pas faire de multitâche, la plupart du temps" pouvez-vous ricaner. Mais, même avant le premier Switcher (non, pas celui d'à présent), une simple application pouvait avoir plusieurs fenêtres ouvertes. Ainsi, la gestion des fenêtres a toujours été un problème sur le Mac, et c'était d'abord un problème du Mac. Quelle a été la solution d'Apple ?

Quels que soient les mérites que alt-tab puisse avoir ou ne pas avoir, c'était hors de question aux premiers jours du Mac, parce que Apple voulait tout faire pour que les utilisateurs utilisent cette amusante petite boîte avec une bille à l'intérieur qui pendait après chaque Mac. Et ce qui est peut-être plus important, c'est qu'Apple voulait forcer les développeurs sur Mac à créer des interfaces Mac, plutôt que de porter simplement l'interface à base de clavier du monde PC. Le clavier du Mac originel n'avait même pas de touches fléchées.

Alors, les Macs avaient-ils une quelconque forme de palette sur l'écran avec des boutons et des tuiles représentant les fenêtres ? Non, rien de cela, jusqu'à au moins une décade plus tard. Mais à coup sûr, chaque application avait un menu fourni par l'OS contenant toutes les fenêtres ouvertes de l'application. Je vous accorde que récupérer une fenêtre à partir d'un menu déroulant n'est pas très efficace, mais vous avez au moins besoin qu'un menu de ce genre existe en dernier recours, n'est-ce pas ? Et bien, cette caractéristique n'est pas arrivée avant Mac OS 9.

Bon, comment diable les utilisateurs de Macs géraient-ils les fenêtres pendant la première décade, ou à peu près ? Oh, malgré votre désir ardent d'arriver à la fin de cet article sans avoir vu ce mot, votre chance à tourné mes amis.

(en musique martiale) Spatialement.

J'ai abordé le sujet précédemment, et je vais encore en parler plus tard, mais vous n'avez besoin que de la vue générale pour suivre les choses ici.

Alors, la réponse à la question ingénue de la gestion des fenêtres sur le Mac ? Pourquoi les utilisateurs de Mac pointaient-ils simplement sur la fenêtre qu'ils voulaient, puis cliquaient dessus ? "Vous savez cliquer, n'est-ce pas Steve? Bon, passons.

Venons en maintenant à ce que vous dites, que ce n'est pas une solution "fonctionnelle". D'abord, les fenêtres se superposent. Comment pouvez-vous cliquer sur une fenêtre qui est entièrement cachée par une autre ? Ensuite sans une forme de liste, qu'elle soit à une ou deux dimensions quelque part dans l'OS, comment l'utilisateur sait-il même que les fenêtres existent ? Cliquez seulement sur la fenêtre que vous voulez, évidemment !

Peut être que cela vous aidera de vous rappeler que le Mac passait le plupart de son temps à gérer une disposition de fenêtres à deux dimensions. Les fenêtres étaient superposées pour chaque application, et ensuite, la collection de fenêtres de chaque application était organisée entre les autres applications. Du coup, le choix des fenêtres, et en conséquence la bizarrerie de fenêtres qui se recouvrent de façon catastrophique pouvait être réduite de façon significative en mettant sur le devant une application particulière. Dans Mac OS classique, le simple fait de cliquer sur une fenêtre qui appartient à une application ramène toutes les fenêtres de cette application sur le devant.

Mais même une seule application peut avoir un sacré lot de fenêtres ouvertes. Nous sommes encore ramenés à un problème apparemment insurmontable : un gâchis de fenêtres qui se superposent. Comment l'utilisateur est-il sensé comprendre tout cela ?

La réponse est sans doute sous vos yeux en ce moment si vous êtes assis à votre bureau. Les gens sont naturellement capables de modeler leur environnement pour répondre à leurs besoins. Tout ce dont ils ont besoin, c'est d'outils convenables. Dans la vie, vous pouvez aller loin avec seulement vos deux mains (qui ont la fantaisie de pouces opposables). Sur le Mac, vous pouvez aller étonnamment loin simplement avec la souris.

Les règles de l'interface utilisateur du Mac ont facilité la chose en spécifiant que les applications doivent opportunément décaler les nouvelles fenêtres créées (légèrement plus bas et à droite pour chaque fenêtre successive) dans le but de laisser la barre de titre visible pour autant de fenêtres que possible. Mais parcourir une pile de fenêtres empilées et lire chaque barre de titre n'est pas plus efficace qu'une liste de fenêtres sur l'écran. Peut-être que ce que l'ordinateur ne peut pas faire pour l'utilisateur, l'utilisateur peut le faire pour lui-même...

C'est vrai, les utilisateurs de Macs réorganisent effectivement leurs fenêtres manuellement comme autant de morceaux de papier sur un bureau. Idiotie ! Le summum de l'inefficacité ! Au contraire. Je ne vais pas vous ennuyer avec les détails encore une fois, mais il suffit de dire qu'il y a un énorme puits de ressources cognitives qui attendent juste d'être utilisées par une collection ennuyeuse d'objets cohérents et stables sur l'écran.

Observez seulement un concepteur d'objet graphiques de l'ancienne école utiliser Mac OS classique (si vous pouvez encore en trouver un dans la nature) pour naviguer parmi une mer de fenêtres qui vous submerge, plus vite que vous ne pouvez, simple observateur, identifier ce qu'elles représentent. L'utilisateur sait ce qu'elle sont parce qu'il sait elles sont et où elles seront la prochaine fois qu'il en aura besoin - elles sont là où il les a mises.

En résumé, l'identification des fenêtres d'après leur taille, leur position et leur apparence (autrement dit, spatialement) est très efficace et n'impose à l'utilisateur qu'un minimum absolu de charge cognitive. C'est ce que les gens font le mieux - pas mémoriser, conserver, naviguer, ou choisir parmi des listes ou des structures de données arborescentes, mais reconnaître et manipuler des objets cohérents et stables dans l'espace (qu'il soit virtuel ou pas).

Cela dit, il y a une quantité limitée d'espace sur l'écran, après tout. A la fin, il peut n'y avoir plus de place libre pour y mettre des fenêtres, et il n'y aura plus assez de différenciation spatiale entre les fenêtres pour les identifier. L'écran commence à ressembler moins à un ensemble d'objets dans l'espace, et plus à une représentation graphique fantaisiste d'une structure de données de fenêtres en pile. C'est la mauvaise nouvelle.

Heureusement, nous avons toutes les techniques décrites précédemment pour retomber sur nos pieds. Nous avons les raccourcis clavier , qui sous Mac OS peuvent être utilisés pour naviguer parmi les applications (Cmd-Tab) et parmi les fenêtre au sein d'une application (Cmd-`). A la différence de Mac OS classique, Mac OS X ne confine pas les fenêtres à la couche de l'application parente. Il permet l'entre-laçage de fenêtres d'applications multiples. Mais l'organisation par application peut encore être requis (en cliquant sur une icône du Dock).

Le Dock en lui-même fournit une représentation en deux dimensions d'une structure similaire à la barre des tâches de Windows, chaque icône d'application fournissant une liste de toutes ses fenêtres ouvertes dans un menu pop-up. Chaque application de Mac OS X dispose aussi d'un menu "Fenêtre" fourni par l'OS, et beaucoup d'applications proposent aussi leur propre listing de toutes les fenêtres ouvertes en palette flottante. Et pour finir, il y a d'innombrables machins en palettes flottantes de développeurs tiers qui peuvent faciliter la gestion des fenêtres.

Il serait quand même bien que la limitation de l'espace de l'écran puisse être prise en compte d'une façon quelconque. Les raccourcis clavier, et la sélection dans des listes sont des échappatoires satisfaisants quand l'espace de l'écran devient trop limité, mais le simple clic d'une fenêtre est la seule chose qui compte en matière d'efficacité. A l'évidence, nous avons tous seulement besoin d'écrans plus grands... n'est-ce pas ?


(1) Note du traducteur : les liens vers les pages qui n'existent plus n'ont pas été reportés. Voyez le texte original si vous voulez les connaître, mais cela ne vous servira pas à grand chose...