Pendant que je travaille dur pour garder l'application Winforms, je travaille sur simple et facile à apprendre, le domaine fonctionnel que je travaille dans (finance) est assez riche, et je sens que je devrais aider l'utilisateur à trouver sur quoi faire ensuite une fois le programme lancé. P>
Je dois ajouter que dans le logiciel que je travaille, il y a souvent "quelque chose à faire ensuite" (c.-à-d. Valider quelque chose, répondre à un message, etc.) p>
Je pense beaucoup à ce sujet dans les derniers jours et j'ai déjà eu beaucoup d'autre chose à essayer dans ce domaine: P>
clipppy (r.i.p.). p> li>
la touche Il y a quelques variantes à la touche Les fichiers d'aide sont utiles (à condition qu'ils soient bien écrits), mais ils manquent de la chose "Commentaires immédiats" - précisément le problème Clippy essayait d'aborder p>
li>
"Pointe de la journée" est généralement tiré sur la vue (généralement si vite que certains utilisateurs n'ont même pas le temps de repérer la case à cocher "Show Town of Day-up") p>
li>
ul>
Quelque chose que je considère consiste à utiliser un écran d'aide de superposition, c'est-à-dire frapper "F1" contemplerait beaucoup d'info-butiers de superposition à l'écran expliquant ce que tout fait, avec éventuellement une info-bulle rouge (au lieu de jaune) pour l'action suivante recommandée. . Relâcher F1 (ou éventuellement frapper une autre fois) cacherait toute l'encombrement de l'aide p>
Cela aborderait les problèmes avec les quatre approches que j'ai mentionnées: p>
aide est uniquement popup sur demande (vs clippy) p>
li>
Vous n'avez pas à cliquer sur ? STRUT> ALORS Single Étique à l'écran (vs ? STRT> bouton) P>
li>
Vous n'avez pas à passer du temps à rechercher les informations pertinentes dans le fichier d'aide. La documentation est juste à votre doigt (fichier d'aide vs .chm) p>
li>
Les astuces utiles sont affichées à une heure pertinente (c'est-à-dire que vous obtenez des conseils sur la boîte de dialogue FOO lorsqu'il est affiché, pas au démarrage du programme - une heure où vous n'avez probablement aucune idée de la dialogue FOO) P>
li>
ul>
Comme cela a déjà été essayé dans certains logiciels? Pensez-vous que c'est une bonne idée? Avez-vous d'autres idées à l'esprit pour résoudre mon problème? P>
Disclaimer: s'il vous plaît ne répondez pas "vous
devrait aborder votre vrai problème, lequel
est-ce que vous êtes trop complexe ». S'il vous plaît
supposer que tout a été fait pour
Gardez l'UI simple. P>
Pensez à un cockpit de ligne de ligne. Ton de
les efforts ont été consacrés à l'interface utilisateur, mais il est
encore extrêmement complexe. maintenant, imaginez
les utilisateurs ordinaires devraient être en mesure d'utiliser
il: comment voulez-vous répondre à la question?
C'est exactement mon problème. P>
blockQuote>
11 Réponses :
Ableton Live (un programme de musique) a une fenêtre carrée deux pouces en bas au bas décrivant toute la souris survole. Il est activé par défaut et peut être minimisé mais ce n'est qu'un clic. Je l'ai trouvé utile lors de la première utilisation du logiciel. Alors que je l'ai minimisé dans les 5 minutes, cela a contribué à expliquer certaines fonctions légèrement obscures et à me alerter à ces fonctions qui n'étaient pas facilement découvertes. Et j'ai toujours su où cliquer pour le récupérer. P>
La plupart des outils de Redgate font cela aussi, et c'est magnifique
J'aime cette solution, qui est une amélioration "?" bouton. Mais cela ne traite pas de certains des problèmes d'une aide efficace, y compris des réponses au "Où dois-je commencer? Qu'est-ce que je fais ensuite" problème. Cela ne vous aide également pas à saisir une interface entière dans un œil œil.
S'il y a généralement une "action suivante" logique, l'utilisateur devrait probablement faire, que diriez-vous de lancer / mettre en évidence cette zone si l'utilisateur semble être bloqué pour essayer de travailler leur prochaine action? Un peu comme la façon dont le globe de bureau brille et bat les premiers fois que vous commencez votre bureau. P>
Beaucoup d'applications Web ont des conseils supplémentaires les premières fois que vous leur rendez visite, c'est toujours pratique. Certains ont même une visite guidée qui vous tient à la main et vous met en douceur à travers les premières tâches, une d'entre elles bien conçue peut aider les utilisateurs à toucher le sol. Je n'ai jamais vu ce genre de chose dans une application WinForms, peut-être que vous pourriez être le premier: -) p>
J'aime bien votre idée F1, ce serait assez agréable à utiliser. J'ai souvent voulu allumer Nice question! p>
Pourquoi supposer que Clippy ne fonctionnera jamais? Laisse-moi simplement le gifler pour des astuces stupides, alors il ne me demandera plus la question "lettre". Un assistant anthropomorphique devrait se comporter comme une personne réelle. Si vous les ignorez, ils vous ignorent. Et ils ne continuent pas de donner des conseils que vous avez déjà ignorés. P>
Le problème était que Clippy avait l'air beaucoup plus intelligemment (socialement) qu'il n'était vraiment. P>
Fixer Clippy pourrait être possible, mais cela nécessiterait une énorme quantité de travail. J'aimerais me concentrer sur mon entreprise, pas sur les algorithmes d'AI et le rendu 3D ...
Eh bien, la plupart des gens n'aiment pas les paradigmes de l'UI qui se comporte comme un enseignant (c'est plus intelligent que vous-même), P>
L'aide devrait être fournie lorsque l'utilisateur le demande. p>
Utile Clippy http://middaysoftware.com/minhsblogs/directgallery/bad_clippy.gif " a> p>
Lorsqu'un utilisateur a besoin d'aide, il ne s'agit généralement pas de "Que fait le contrôle x?" C'est "Comment puis-je compléter la tâche Y?" Pour soutenir cela, vous pouvez: p>
Inclure un volet Hide-capable ou un menu déroulant qui fournit une liste sensible au contexte de tâches probables (ou des étapes suivantes dans les tâches) que l'utilisateur cherche à compléter. Étiquetez-les comme des questions (par exemple, "Comment gérer les prêts qui ne sont pas remboursés?"). Sélection d'une question remplit le volet ou ouvre une fenêtre d'aide décrivant comment terminer la tâche (ou l'étape). Assurez-vous que de telles offres d'aide sont faciles à ignorer (contrairement au clippy) et également à récupérer plus tard, par exemple à travers un bouton arrière (à nouveau, contrairement à Clippy). Plutôt que de fournir des instructions dans une vitre distincte ou une fenêtre, vous pouvez afficher des étapes individuelles à une tâche avec des ballons numérotés pointant vers les commandes correspondantes dans la fenêtre. C'est une approche nouvelle que je pense a beaucoup de potentiel. Cependant, vous devez être sûr que votre conception et / ou votre algorithme gère la possibilité que des ballons interférent les uns avec les autres ou tout ce que l'utilisateur souhaite voir. P> li>
Lors de la première exécution du programme, ce volet peut inclure "Mise en route" qui fournit une vue d'ensemble conceptuelle de ce que les utilisateurs doivent faire pour obtenir des résultats utiles spécifiques (liste-les) de l'application. p> li>
La page principale de l'aide devrait répertorier les tâches de haut niveau que l'application prend en charge. La sélection de chaque tâche fournit une vue d'ensemble conceptuelle et décompose la procédure dans les étapes ou les sous-tâches à remplir dans l'application. P> li>
Dans votre aide détaillée pour la tâche ou l'étape, décrivez à la fois la mécanique de l'utilisation de l'interface utilisateur (par exemple, «sélectionnez maintenant des objectifs d'investissement dans la liste déroulante des buts») et des informations de domaine associées à la tâche (par exemple, " Fixer des objectifs à «Long terme» fera partier la recherche sur les actions d'actions à risque plus élevé mais plus élevé. Cela convient si vous ne vous attendez pas à avoir besoin de l'argent que vous investissez depuis 10 ans ou plus. »). P> li>
Étiquetez vos fichiers d'aide afin que la recherche d'aide par nom de tâche ou une description fournit des résultats utiles. Assurez-vous que les étiquettes incluent des termes un utilisateur naïve peut choisir (par exemple, "bénéfice" quand ils signifient "gains en capital"). P> li>
Vous pouvez envisager un didacticiel complet non seulement pour l'application, mais également le domaine de la tâche. Soulignez comment utiliser le didacticiel aide les utilisateurs avec leurs tâches ou leurs objectifs. Par exemple, ne pas étiqueter le lien ou le menu "Apprendre à utiliser Invest-O-Max", étiquetez-le "tirer le meilleur parti de vos investissements". p> li>
Vous pouvez envisager de structurer certaines fonctionnalités rarement utilisées ou même toute l'application par tâche. C'est ce qu'est-ce qu'un magicien et Microsoft " Interface utilisateur inductive ". Si la tâche est tellement structurée que vous pouvez vraiment dire ce que l'utilisateur doit faire ensuite, considérez cette approche. P> LI> ul>
Vous voulez toujours fournir un moyen d'expliquer chaque contrôle, car parfois que est em> la question de l'utilisateur. L'aide du ballon est une façon de le faire, mais comme vous le soulignez, cela ne fonctionne guère si cela répète simplement la légende ou l'info-bulle de contrôle. Le texte de l'aide Balloon devrait inclure beaucoup plus, c'est pourquoi c'est dans un ballon et non écrit définitivement sur ou à côté du contrôle. L'aide d'un contrôle devrait expliquer ce qu'elle fait, quand l'utiliser, quelles valeurs ou quels paramètres signifie et lesquels choisir pour quel objectif. En d'autres termes, davantage d'aide liée à la tâche. Juste une supposition, mais je ne pense pas que vous puissiez montrer de tels ballons pour tous les contrôles à la fois, ils se seraient compris entre eux. P>
Je suis d'accord avec le panneau "Ableton Hover" mentionné ci-dessus. En outre, offrir peut-être une tournée d'interface utilisateur sur le premier lancement et la rendant accessible plus tard pourrait aider. En outre, comme mentionné précédemment, cela implique de nombreux AI qui peuvent ou non valent l'effort. P>
BTW, Clippy était OK, mais la frappe métallique sur le moniteur était ennuyeuse. P>
moulage à écran. C'est le moyen le plus rapide pour quelqu'un d'apprendre à utiliser un programme. P>
Malheureusement, j'ai bien peur que les utilisateurs que je ciblent ne visent à regarder aucun screencast, ne lisez aucun manuel à ce sujet ... c'est pourquoi je souhaite fournir une aide contextuelle inline
sur ma caméra OLYMPUS, la roue de mode a une fente appelée guide. Lorsque je tourne le volant en cette fente, un ensemble de tâches communes apparaissent, comme "Tir dans le rétroéclairage", "fond flou" et "réduisant les yeux rouges". Ce sont des tâches nécessitant plusieurs étapes à suivre (changeant ouverture, sensibilité à la lumière, etc.), mais peuvent être décrites en quelques mots et sont considérées comme une seule chose par l'utilisateur. La plupart des programmes ont de telles tâches (par exemple, "écrire une lettre", "Déplacement d'un fichier sur un autre périphérique", etc.). Le programme devrait avoir un moyen facile de voir une liste de tâches courantes et de la manière de les exécuter. p>
Je ne suis pas sûr que le remappage de la fonctionnalité de la clé F1 est la meilleure approche, bien que j'aime bien que vous réfléchissiez "hors de la boîte" pour des moyens de fournir une assistance utilisateur. P>
Vous avez utilisé l'exemple d'un cockpit de ligne d'avion comme exemple d'interface utilisateur complexe. Mais la comparaison ne fonctionne pas; Les pilotes aériens sont formés, formés et formés de plus. Ils savent où chaque instrument est et ce que chacun fait presque par instinct, et c'est à cause de cette formation. Sauf si vos utilisateurs vont avoir une formation équivalente .... p>
(BTW, de côté intéressant, le pilote qui a mis l'avion dans l'Hudson, Chesley "Sully" Sullenberger, a déploré les économies d'entreprise de suppression des onglets dans le manuel d'urgence, ce qui rend plus difficile la tâche de son copilote. trouver une information très nécessaire très rapidement.) p>
J'apprécie cela pour illustrer deux concepts utiles de conception et développement d'assistance utilisateur: informations juste à temps et informations superposées. P>
Si vous pouvez trouver des endroits dans votre interface utilisateur pour des informations d'information, des indications, comme il était, à l'heure et au lieu de besoin, les utilisateurs auraient pu suffire à comprendre quoi faire avec cet élément d'interface utilisateur. (Il s'agit en fait d'une couche d'informations, mais c'est la deuxième couche. La première couche est ce que l'interface utilisateur elle-même communique et c'est pourquoi la conception de l'interface utilisateur est une partie si importante du processus de développement et une si importante pour avoir raison.) < / p>
La couche suivante est accessible à bien des égards, mais elle prend habituellement une sorte d'action utilisateur, indirecte ou directe. Un exemple d'indirect est quand un utilisateur donne une mise au point sur le terrain, certaines informations supplémentaires apparaissent peut-être dans une fenêtre contextuelle hors de la voie. Un exemple de direct est l'endroit où un utilisateur prend une action spécifique pour obtenir plus d'informations, qu'il s'agisse d'appuyer sur F!, En cliquant sur une petite icône de point d'interrogation ou cliquez sur le menu Aide. P>
La chose intéressante est que ces couches d'informations peuvent résident à plusieurs endroits. Certaines équipes de développement ont tout ce contenu et le codage pour le faire apparaître, dans le code de produit. Certains l'ont dans une base de données, tandis que d'autres l'ont dans un système d'aide «traditionnel» qui est connecté au code de programmation. p>
Tout ce qui dit, je tire un peu dans le noir ici, offrant des idées théoriques plutôt que des idées pratiques. Pourquoi? Parce que je ne sais rien de vos utilisateurs. Écrivez-vous une demande d'une audience interne dont le travail sera d'utiliser le logiciel? (Dans ce cas, sera-t-il une formation et sera-ils motivé pour apprendre à savoir comment utiliser le logiciel?) Ou est-ce pour un public plus "décontracté", qui utilisera uniquement le logiciel, ou même rarement. Vous écrivez pour les utilisateurs qui comprennent le sujet sous-jacent, ou ceux qui n'ont aucune idée? Comprendre que vos besoins et objectifs des utilisateurs sont essentiels pour réduire leur frustration et les rendre heureux, ce qui conduira certaines des meilleures idées sur la manière dont, quand, et où fournir une assistance. P>
La plupart de mes utilisateurs utilisent le logiciel quotidiennement (mais certains l'utilisent de temps en temps), parmi des dizaines d'autres logiciels faisant plus ou moins la même chose avec de légères variations de caractéristiques, d'interface utilisateur, etc. La plupart des utilisateurs sont informés ( Mais quelques-uns n'ont pas d'indice et certains d'entre eux ont un biais solide contre la technologie).
Je pense que vous avez deux problèmes ici - une question de décrivant l'interface à l'utilisateur et l'autre de marcher l'utilisateur via le processus (em> (la validation, etc.). P>
Pour aborder le premier, il y a toutes sortes d'approches mentionnées par d'autres, mais j'aime bien la solution de Joe de la "boîte de contexte" et de la souris. Bien sûr, ça ne dit pas aux gens où commencer, mais souvent des gens aiment simplement explorer eux-mêmes. P>
Quant au second, une sorte de diagramme de flux de processus pouvant être rendu visible / invisible serait utile. Pensez à la façon dont certains installations d'installation font-le - concept similaire. P>
par exemple. Étape 1 -> Étape 2 -> etc. P>
J'ai toujours senti que Clippy est morte parce qu'il était intrusif et a eu la voie de ce que l'utilisateur essayait de faire. D'après s'asseoir avec mes utilisateurs pendant qu'ils apprennent un programme, il me semblait que la plupart d'entre eux préfèrent trébucher autour de l'interface utilisateur jusqu'à ce qu'ils trouvent ce qu'ils recherchent. Demander de l'aide était la méthode de dernier recours. J'ai utilisé la barre d'état pour Très Strong> Brefs Tips, mais je n'ai jamais attrapé un de mes utilisateurs en train de lire les conseils. Ils ont cliqué sur le menu Aide Strong> ou appuyez sur F1 KBD> si elles ont suffisamment frustré. Maintenant, j'utilise juste le système d'aide pour mes programmes. Pour la plupart, j'affiche le fichier d'aide au sujet de la fenêtre avec laquelle ils travaillent actuellement. Si l'utilisateur a appuyé sur F1 kbd> et se trouvent dans une zone nécessitant une aide moins approfondie, je préfère utiliser une aide popup. P>
C'est un problème très réel en raison de la complexité de l'interface. Je n'ai jamais vraiment vu cela de manière adéquate dans la plupart des applications du monde réel et serait très intéressée par des solutions à cela.
Je ne comprends pas, pourquoi ne veulois-tu pas que nous nous interrogeons votre UI? Cela pourrait certainement être la racine du problème. Je ne peux pas penser aux applications que j'aime utiliser qui ont des modes d'indice comme si vous décrivez.
@Mark: Qu'en est-il de Word - ou d'autres éditeurs de texte? Il est évident que MS a mis beaucoup i> d'efforts pour polir l'interface utilisateur, mais c'est toujours très confus aux nouveaux utilisateurs. Je me considère comme un utilisateur de pouvoir, mais il y a toujours des choses ici et là, je ne comprends pas immédiatement. Prenez Word 2007 et montrer les dirigeants par exemple. Voyez-vous le bouton "Tab" à gauche? Pourquoi est-ce? Est-ce évident?
@Mark: Et pour répondre à votre question initiale: je n'implique pas mon interface utilisateur est parfaite (ce n'est certainement pas!). Mais une fois que toutes les choses pertinentes ont été faites pour l'améliorer, il peut y avoir une complexité restante qui ne peut pas être traitée par "repenser l'interface utilisateur". Ainsi, ma recherche d'autres moyens de s'attaquer au problème, y compris de l'aide / des info-bulles / Clipsy / etc. Pensez comme un cockpit de ligne de ligne par exemple.
10% de règle. Vous devez être 10% plus intelligent que les outils que vous utilisez.