conception de convivialité
La convivialité de toute application est essentiellement déterminée par l’utilisateur. La conception d'interface est un processus itératif ; lors de la conception d'une interface pour une application, il est rare d'obtenir une interface parfaite dès la première étape. Plus les utilisateurs sont impliqués tôt dans le processus de conception, moins il faudra d’efforts pour créer une interface meilleure et plus utilisable.
Qu'est-ce qu'une bonne interface
Lors de la conception d'une interface utilisateur, c'est une bonne idée de commencer par examiner certaines des applications les plus vendues de Microsoft ou d'autres sociétés. Après tout, une application avec une mauvaise interface ne se vendra pas bien. Vous trouverez de nombreux éléments courants, tels que des barres d'outils, des barres d'état, des info-bulles, des menus contextuels et des boîtes de dialogue de balisage. Ce n'est pas un hasard si Visual Basic a la capacité d'ajouter toutes ces choses à une application.
Vous pouvez également vous fier à votre propre expérience en utilisant le logiciel. Pensez à certaines applications que vous avez utilisées, à ce qui a fonctionné, à ce qui n'a pas fonctionné et à la manière dont vous pourriez les modifier. Mais rappelez-vous que les préférences personnelles ne sont pas égales aux préférences des utilisateurs et que vous devez aligner vos propres opinions sur celles des utilisateurs.
Notez également que les applications les plus performantes offrent des options pour s'adapter aux différentes préférences des utilisateurs. Par exemple, l'Explorateur Microsoft Windows permet aux utilisateurs de copier des fichiers via des menus, des commandes clavier ou par glisser-déposer. Fournir des options élargira l'attrait de l'application et devrait au moins rendre toutes les fonctions accessibles à la souris et au clavier.
Directives relatives à l'interface Windows
Le principal avantage du système d'exploitation Windows est qu'il fournit une interface commune à toutes les applications. Les utilisateurs qui savent utiliser les applications Windows peuvent facilement apprendre à utiliser d'autres applications. Les applications qui s’écartent trop des directives d’interface établies sont difficiles à comprendre.
Les menus en sont un bon exemple : la plupart des applications basées sur Windows suivent cette norme : le menu "Fichier" à l'extrême gauche, puis "Modifier", "Outils" et autres menus optionnels, et le menu "Fichier" à l'extrême droite. . Menu Aide". Si Documents était meilleur que Fichier, ou si le menu Aide devait être placé en premier, cela vaudrait la peine d'en discuter. Rien ne vous empêche de le faire, mais cela peut dérouter les utilisateurs et réduire la convivialité de votre application. Les utilisateurs doivent s'arrêter et réfléchir chaque fois qu'ils basculent entre des applications et d'autres programmes.
L'emplacement des sous-menus est également important. Les utilisateurs s'attendent à trouver des sous-menus tels que « Copier », « Couper » et « Coller » dans le menu « Édition », mais les déplacer sous le menu « Fichier » entraînera une confusion pour les utilisateurs. Ne vous écartez pas trop des lignes directrices qui ont été créées, à moins qu'il n'y ait une bonne raison de le faire.
tests d'utilisabilité
La meilleure façon de tester la convivialité de votre interface est d’impliquer les utilisateurs tout au long du processus de conception. Que vous conceviez une grande application compressée ou une petite application à usage limité, le processus de conception doit être exactement le même. À l’aide des directives de conception qui ont été créées, la conception de l’interface doit commencer sur papier.
L'étape suivante consiste à créer un ou plusieurs prototypes et à concevoir le formulaire en Visual Basic. Vous devez encore ajouter suffisamment de code pour démarrer le prototype : afficher le formulaire, remplir la zone de liste avec des exemples de données, etc. Préparez-vous ensuite aux tests d’utilisabilité.
Les tests d'utilisabilité peuvent être un processus informel de révision de la conception avec les utilisateurs, ou il peut s'agir d'un processus formel dans un laboratoire d'utilisabilité qui a été créé. L’objectif des deux méthodes est le même : apprendre directement auprès des utilisateurs ce qui fonctionne bien et ce qui doit être amélioré. Lâchez prise, laissez les utilisateurs utiliser l'application et observez-les ; cette approche est plus efficace que de demander aux utilisateurs. Demandez aux utilisateurs d'exprimer leur processus de réflexion lorsqu'ils tentent d'accomplir une série de tâches : "Je souhaite ouvrir un nouveau document, je le recherche donc dans le menu Fichier." Notez les endroits où la conception de l'interface ne reflète pas leur processus de réflexion. Testez avec différents types d'utilisateurs ; si vous constatez que les utilisateurs ont des difficultés à accomplir une tâche particulière, cette tâche peut nécessiter plus d'attention.
Ensuite, examinez les enregistrements et réfléchissez à la manière de modifier l'interface pour la rendre plus utilisable. Modifiez l'interface et testez à nouveau. Une fois que vous êtes satisfait de la convivialité de l’application, vous êtes prêt à commencer le codage. Des tests sont également nécessaires de temps à autre pendant le processus de développement pour garantir que les hypothèses concernant le prototype sont correctes.
Découverte des fonctionnalités
Un concept clé dans les tests d’utilisabilité est la découvrabilité. Si les utilisateurs ne savent pas comment utiliser une fonctionnalité (ou ne savent même pas qu'elle existe), il est peu probable qu'elle soit utilisée. Par exemple, la plupart des utilisateurs de Windows 3.1 n'ont jamais su que la combinaison de touches ALT et TAB pouvait être utilisée pour basculer entre les applications ouvertes. Nulle part dans l’interface ne sont fournis des indices pour aider les utilisateurs à découvrir cette fonctionnalité.
Pour tester la découverte des fonctionnalités, demandez aux utilisateurs d'effectuer une tâche sans expliquer comment le faire (par exemple, créer un nouveau document à l'aide d'un « modèle de formulaire »). S'ils ne peuvent pas terminer la tâche ou si plusieurs tentatives sont nécessaires, la visibilité de cette fonctionnalité doit être améliorée.
Interagissez avec les utilisateurs en cas de problème avec eux ou avec le système
Dans un monde idéal, les logiciels et le matériel fonctionneraient toujours sans problème et les utilisateurs ne commettraient jamais d’erreurs. En réalité, les erreurs sont inévitables. Décider de la manière dont votre application réagit en cas de problème fait partie de la conception de l'interface utilisateur.
Une réponse courante consiste à afficher une boîte de dialogue demandant à l'utilisateur de préciser comment l'application doit gérer le problème. Une réponse moins courante (mais meilleure) consiste simplement à résoudre le problème sans déranger l'utilisateur. Après tout, les utilisateurs se soucient avant tout de l’exécution des tâches, et non des détails techniques. Lors de la conception d'une interface utilisateur, considérez les erreurs possibles et déterminez celles qui nécessitent une interaction de l'utilisateur et celles qui peuvent être résolues avec des solutions prédéfinies.
Créez des boîtes de dialogue faciles à comprendre
Il arrive parfois qu’une erreur se produise dans une demande et qu’il faille faire preuve de jugement pour résoudre la situation. Cela se produit généralement sous la forme d'une branche de code - une instruction If...Then ou une instruction Case. Si ce jugement nécessite une interaction de l'utilisateur, ce problème est généralement présenté à l'utilisateur à l'aide d'une boîte de dialogue. Les boîtes de dialogue font partie de l'interface utilisateur et, comme les autres parties de l'interface, leur conception joue un rôle dans la convivialité de l'application.
Parfois, on a l'impression que de nombreux concepteurs de boîtes de dialogue de programmes ne prononcent pas de mots faciles à comprendre pour les gens. Par exemple, un message comme celui-ci : « Le secteur du disque dur C est endommagé ou inaccessible. Abandonner, réessayer, ignorer ? » (Voir Figure 6.22). Ce n'est pas facile à comprendre pour les utilisateurs ordinaires. Cela équivaut à un serveur demandant à un client : « Nous n'avons pas de soupe ou la cuisine allume un feu, abandonnez, réessayez, ignorez. Quelle réponse répondriez-vous ? Il est important de décrire le problème (et le choix) d'une manière ou d'une expression que les utilisateurs peuvent comprendre. Dans l'exemple précédent, un meilleur message serait « Un problème est survenu lors de l'enregistrement du fichier sur le lecteur C. Veuillez enregistrer le fichier sur le lecteur A. Voulez-vous enregistrer le fichier ? »
Lorsque vous créez des boîtes de dialogue pour votre application, gardez l'utilisateur à l'esprit. Ce message transmet-il des informations utiles à l'utilisateur ? Est-ce facile à comprendre ? Les choix représentés par les boutons de commande sont-ils clairs ? Ce choix est-il adapté aux conditions données ? N'oubliez pas qu'une seule boîte de message ennuyeuse peut donner aux utilisateurs une mauvaise impression de votre application.
Si vous concevez une boîte de dialogue personnalisée, essayez de vous en tenir aux types standard. S'il s'écarte trop de la disposition standard de la boîte de message, les utilisateurs risquent de ne pas le reconnaître comme une boîte de dialogue.
Pour plus d'informations sur les boîtes de dialogue, voir « Boîtes de dialogue » plus haut dans ce chapitre.
Gestion des erreurs sans boîte de dialogue
Il n'est pas nécessaire d'interrompre l'utilisateur lorsqu'une erreur survient. Parfois, il est préférable de gérer les erreurs de code sans en avertir l'utilisateur, ou d'alerter l'utilisateur de manière à ne pas interrompre son flux de travail. Un bon exemple de cette technologie est la fonctionnalité « Correction automatique » de Microsoft Word : si un mot courant est mal orthographié, Word le corrige automatiquement ; si un mot inhabituel est mal orthographié, une ligne rouge est tracée en dessous pour rappeler à l'utilisateur de le corriger ultérieurement. .
Il existe un grand nombre de techniques disponibles ; c'est à vous de décider quelles techniques sont appropriées à votre application. Voici quelques suggestions :
1. Ajoutez la fonction "Annuler" dans le menu "Edition". Pour des situations telles que la suppression, plutôt que d'interrompre l'utilisateur avec une boîte de dialogue « OK », vous pouvez vous assurer qu'il a pris la bonne décision et fournir une fonction « Annuler » au cas où il changerait d'avis plus tard.
2. Afficher le message sur la barre d'état ou l'icône. Si l'erreur n'affecte pas la tâche en cours de l'utilisateur, n'arrêtez pas l'application. Utilisez une barre d'état ou une icône d'avertissement lumineuse pour alerter les utilisateurs qu'ils peuvent gérer le problème lorsqu'ils sont prêts.
3. Corrigez le problème. Parfois, la mauvaise solution est évidente. Par exemple, si le disque est plein lorsque l'utilisateur tente d'enregistrer un fichier, le système vérifie l'espace disponible sur les autres lecteurs. Si de l'espace est disponible, le fichier est enregistré ; un message s'affiche dans la barre d'état indiquant à l'utilisateur ce qui a été fait.
4. Enregistrez le message et attendez le traitement. Étant donné que toutes les erreurs ne sont pas critiques ou ne nécessitent pas une attention immédiate ; envisagez de les enregistrer dans un fichier et de les afficher à l'utilisateur lorsqu'il quitte l'application ou à un autre moment opportun. Si l'utilisateur fait une erreur de saisie (par exemple, en écrivant MainSt. au lieu de MianSt.), enregistrez-la. Ajoutez un bouton "ReviewEntries" et une fonction qui affiche les différences afin que les utilisateurs puissent les corriger.
5. Ne faites rien. Parfois, l’erreur n’est pas suffisamment importante pour justifier un avertissement. Par exemple, le fait que le papier ne soit pas prêt pour l'imprimante sur la LPT1 n'a pas beaucoup d'importance jusqu'à ce qu'il soit prêt à imprimer. Attendez que le message soit pertinent pour la tâche en cours.
Pour plus d'informations sur les techniques de gestion des erreurs, consultez le chapitre 13, « Débogage du code et gestion des erreurs ».
Concevoir des modèles d'assistance aux utilisateurs
Quelle que soit la qualité de conception d’une interface utilisateur, les utilisateurs auront parfois besoin d’aide. Le mode d'assistance à l'utilisateur d'une application inclut des éléments tels que l'aide en ligne et la documentation imprimée ; il peut également inclure des dispositifs d'assistance à l'utilisateur tels que des info-bulles, des barres d'état, une aide « Qu'est-ce que c'est » et des assistants.
Comme toute autre partie d’une application, la conception de modèles d’assistance à l’utilisateur doit précéder le développement. Le contenu du schéma varie en fonction de la complexité de l'application et du public visé.
Aide et documentation
L'aide en ligne est une partie importante de toute application et constitue souvent le premier endroit vers lequel les utilisateurs consultent lorsqu'ils ont des questions. Même des applications simples devraient fournir une « aide ». Ne pas le fournir, c'est comme supposer que les utilisateurs n'ont jamais de problème.
Lors de la conception d'un système d'aide, n'oubliez pas que son objectif principal est de répondre aux questions. Essayez d'utiliser des termes utilisateur lors de la création de noms de rubriques et d'entrées d'index, par exemple « Comment formater une page ? » Les rubriques sont plus faciles à trouver que les menus « Modifier » ou « Format de page ». N'oubliez pas le contexte : la plupart des utilisateurs seront frustrés s'ils appuient sur la touche F1 pour obtenir de l'aide sur un champ spécifique et se retrouvent ensuite sur le sujet du contenu.
La documentation des concepts de base, qu'elle soit imprimée et/ou fournie sur disque zip, est utile pour toutes les applications, sauf les plus simples. Il peut fournir des informations qu'il serait difficile de transmettre avec une courte rubrique d'aide. À tout le moins, il devrait y avoir un document sous forme de fichier ReadMe que l'utilisateur peut imprimer si nécessaire.
dispositif d'assistance à l'utilisateur
Dans les interfaces utilisateur, plusieurs technologies aident les utilisateurs. Il est facile d'ajouter des info-bulles, une aide « Qu'est-ce que c'est », des affichages d'état et des assistants à vos applications avec Visual Basic. C'est à vous de décider lesquels de ces appareils conviennent à votre propre application.
info-bulle
Les info-bulles (Figure 6.23) constituent un excellent moyen d'afficher des informations aux utilisateurs lors de leurs recherches sur l'interface utilisateur. Une info-bulle est une petite étiquette qui apparaît lorsque le pointeur de la souris repose sur un contrôle et contient généralement une description des fonctionnalités du contrôle. Normalement, les info-bulles sont utilisées conjointement avec les barres d'outils et fonctionnent bien dans la plupart des parties de l'interface.
La plupart des contrôles Visual Basic incluent une propriété utilisée pour afficher des info-bulles : ToolTipText. Le code suivant fournira une info-bulle pour un bouton de commande nommé « cmdPRint ».
cmdPrint.ToolTipText=Imprime le document actuel
Comme les autres parties de l’interface, assurez-vous que ce texte communique clairement le message à l’utilisateur.
Pour plus d’informations sur les info-bulles, consultez « Propriété ToolTipText » dans la référence du langage.
Aide "Qu'est-ce que c'est"
Lorsque l'utilisateur sélectionne What's Help et clique sur le curseur What's Help sur le contrôle, What's Help fournit un lien vers la rubrique d'aide contextuelle (voir Figure 6.24). L'aide « Qu'est-ce que c'est » peut être lancée à partir d'un bouton de la barre d'outils, d'un élément de menu ou d'un bouton de la barre de titre d'une boîte de dialogue.
Pour activer l'aide « Qu'est-ce que c'est » à partir du menu ou de la barre d'outils, procédez comme suit :
1. Sélectionnez le contrôle que vous souhaitez aider.
2. Dans la fenêtre Propriétés, sélectionnez la propriété WhatsThisHelpID.
3. Saisissez l'identifiant de contexte pour la rubrique d'aide contextuelle appropriée.
4. Répétez les étapes 1 à 3 pour tous les autres contrôles.
5. Sélectionnez le formulaire.
6. Dans la fenêtre "Propriétés", définissez la propriété WhatsThisHelp du formulaire sur True.
7. Dans l'événement Click du bouton de menu ou de barre d'outils, saisissez le code suivant :
nom du formulaire.WhatsThisHelp
Lorsque l'utilisateur clique sur le bouton ou le menu, le pointeur de la souris se transforme en pointeur d'aide « Qu'est-ce que c'est ? ». Pour activer l'aide « Qu'est-ce que c'est » dans la barre de titre d'un formulaire de boîte de dialogue personnalisé, définissez les propriétés WhatsThisButton et WhatsThisHelp du formulaire sur True.
Pour plus d'informations sur l'aide « WhatsThis », consultez « Propriété WhatsThisHelp » et « Propriété WhatsThisButton » dans la référence du langage.
affichage de l'état
Les affichages d’état peuvent également être utilisés pour fournir une assistance à l’utilisateur de la même manière que les info-bulles. Les affichages d'état sont un excellent moyen de fournir des instructions ou des messages qui ne se prêteraient pas bien aux info-bulles. Le contrôle de barre d'état inclus dans les éditions Professionnel et Entreprise de Visual Basic peut très bien afficher des messages ; le contrôle Label peut également être utilisé comme affichage d'état.
Le texte affiché dans l'affichage d'état peut être mis à jour de deux manières : à l'aide de l'événement GotFocus du contrôle ou du formulaire, ou à l'aide de l'événement MouseMove. Si vous souhaitez utiliser l'écran comme outil d'apprentissage, ajoutez un élément au menu Aide pour activer ou désactiver sa propriété Visible.
Pour ajouter un affichage d'état, procédez comme suit :
1. Ajoutez un contrôle Label au formulaire.
2. Sélectionnez le contrôle pour lequel vous souhaitez afficher un message.
3. Ajoutez le code suivant dans l'événement MouseMove (ou GotFocus) du contrôle : Labelname.Caption=Entrez le numéro d'identification du client dans ce champ Lorsque la souris survole le contrôle, ce message sera affiché dans ce contrôle Label.
4. Répétez les étapes 2 à 3 pour tous les autres contrôles.
magicien
Un assistant est un dispositif assisté par l'utilisateur qui vous guide pas à pas dans la mise en œuvre d'un processus en utilisant vos propres données réelles. Les assistants sont souvent utilisés pour fournir une assistance spécifique à une tâche. Ils facilitent les tâches qui nécessitent un processus d'apprentissage long (et ennuyeux) et fournissent des informations expertes aux utilisateurs qui ne sont pas encore experts.
Les éditions Professionnel et Entreprise de Visual Basic incluent un outil de création d'assistants : le Wizard Manager.
Pour plus de détails sur l'assistant, veuillez vous référer à « Utilisation des assistants et des compléments » au chapitre 4 « Gestion de projet ».
->