Skip to main content

Utiliser WPF pour le meilleur et pour le pire

Par David Platt, de Rolling Thunder Computing.

Principes d'une bonne interface

1. Tu connaitras l'utilisateur car il n'est pas toi. Est-ce que l'utilisateur veut des transitions?

Premier corrolaire: l'utilisateur se fiche de ton programme, et même de toi. C'est à toi de te soucier de lui, pas l'inverse.

2. Si ton application ne fournit pas de sexe ou son équivalent, ton utilisateur ne veut pas l'utiliser et n'a même pas envie d'être devant l'ordinateur.

3. Même si l'utilisateur est devant l'ordinateur, il veut se soucier de ton programme aussi peu que possible.

L'utilisateur ne veut pas utiliser ton programme et ne veut pas savoir qu'il l'a utilisé.

Et WPF dans tout ça?

PIC_0051 L'utilisateur est un fainéant. Il en fera le moins possible quelle que soient les circonstances. Ce qui est facile à faire sera donc fait souvent, donc un bon design consiste à rendre faciles les choses qui doivent être faites souvent et sont bien.

WPF a rendu plein d'artefacts d'expérience utilisateur faciles à utiliser, et du coup ils sont aussi utilisés quand ils ne devraient pas, simplement parce qu'ils sont faciles à utiliser.

L'utilisateur ne fait pas très attention. Plus on lui prend de son attention à un endroit, moins on en aura à d'autres.

Les gradients

Il est facile de faire des gradients de couleurs, donc on les utilise beaucoup trop souvent. Le gradient permet de communiquer une quantité énorme d'information au cerveau de l'utilisateur. Rien ne sert de l'utiliser sur un bouton, mais c'est très utile pour indiquer des valeurs sur une cartographie.

Il s'agit de communiquer à l'utilisateur ce qu'il veut savoir d'une manière qui est la plus immédiate possible pour lui.

Le mouvement

Il attire invariablement l'attention de l'utilisateur. Car nous sommes faits pour détecter le mouvement. WPF rend le mouvement facile à faire, pour le bien et (souvent) pour le mal.

Il faut l'utiliser pour représenter un mouvement du monde réel. Mais attention: ça peut être saccadé, d'autant plus que la machine de l'utilisateur moyen est généralement plus lente que celle d'un développeur. Exemple: un ventilateur qui tourne dans un programme de contrôle d'un circuit de refroidissement.

Autre exemple utile: un contrôle qui grossit quand la souris arrive dessus pour le montrer et aider à le sélectionner.

Danger: l'utilisateur peut se fatiguer de l'effet de zoom. Exemple: Google Earth, qui zoome out et in à chaque changement d'adresse.

Le XAML

Il permet d'avoir un ergonome dans l'équipe, qui s'occupera de faire une interface centrée sur l'utilisateur. Mais il permet aussi d'avoir un designer qui ne pense qu'à faire quelque chose de joli, pas à l'utilisateur.

C'est la même chose pour les objets de la vie réelle. Si un objet n'est pas d'utilisation intuitive, c'est qu'il a été mal pensé. Si vous pouvez l'utiliser sans même y penser, c'est qu'un ergonome y a réfléchi.

Le relookage des contrôles ne sert que quand il aide l'utilisateur. Exemple: le treeview dans Family.Show est bien; les boutons ne le sont pas.

Les règles

  1. assure-toi que l'application fonctionne correctement (même si elle est jolie, ça n'excuse pas un mauvais fonctionnement);
  2. prends l'aide d'un vrai pro de l'expérience utilisateur (un designer ignore autant les principes de l'UX qu'un développeur);
  3. fais attention à ce qui est "cool": l'utilisateur ne veut pas du cool, il veut du travail terminé - exemple: Clippy;
  4. prends soin de ne pas être remarqué;
  5. demande-toi en quoi chaque amélioration rendra ton utilisateur plus heureux.

Comments

Unknown said…
Excellente session, un grand moment !
Arnaud said…
Oui, ce type est un phénomène! Pour ceux qui veulent un retour personnel sur cette session, allez voir le blog d'Audrey Petit. D'ailleurs cela vaut aussi pour les autres sessions du TechEd, allez faire un tour sur son blog...

En tout cas ça m'a donné envie de lire son livre "Why software sucks".

Popular posts from this blog

Gift idea : help your loved ones take their IT skills to the next level

You surely know a special person who works in IT. Learn Kubernetes & Docker enables them to quickly ramp up on those two technologies that one doesn't want to miss in 2021. With smoother operations, better scaling and availability, DevOps tooling, containers and containers orchestration smartly solve many problems that developers and system administrators commonly face. Don't let your loved ones face problems in their IT job : offer them the book that takes them from zero to productive in a matter of days. Grab it now! Get the ebook from Leanpub , Amazon or choose from many retailers . Get the print edition from Lulu .  

Learn Meteor book available

I'm pleased to announce the general release of my Learn Meteor book. It is now available as an ebook or print book from various sources: Learn Meteor print (paperback) on Lulu Learn Meteor ebook on LeanPub Learn Meteor ebook on Barnes & Noble Learn Meteor ebook on iBooks Learn Meteor ebook on Kobo Learn Meteor ebook on Scribd Learn Meteor ebook on Inktera Page Foundry Learn Meteor ebook on 24symbols Learn Meteor ebook on Amazon US Learn Meteor ebook on Amazon UK Learn Meteor ebook on Amazon France Learn Meteor ebook on Amazon Deutschland Learn Meteor ebook on Amazon Canada Learn Meteor ebook on Amazon India Learn Meteor ebook on Amazon Brasil Learn Meteor ebook on Amazon Mexico Learn Meteor ebook on Amazon España Learn Meteor ebook on Amazon Italia Learn Meteor ebook on Amazon Netherlands Learn Meteor ebook on Amazon Japan Learn Meteor ebook on Amazon Australia More sources are coming soon for the print version. Learn Meteor has been a fun expe...

Learn ASP.NET Core: read the book as it is being written

     TL;DR: get the discounted book now using the coupon , then get the full version for free. Thanks to the great acceptance of my previous books, ( Learn WPF MVVM ,  Learn ASP.NET MVC and Learn Meteor ), I'm in the process of writing a fourth one. Learn ASP.NET Core - MVC and DI with .NET Core 1.1 using Visual Studio 2017 teaches you how to quickly get coding using that technology. Just as I did previously, I'm publishing it before it is even finished. Would you like to read it? You can get it for half the price: 50% off the book using that coupon (limited to the first 100 readers and up to august 1st 2017): http://leanpub.com/netcore/c/K9mHH0IzfI2F About 50% of the book is already written, yet it is already available for download as an ebook: PDF, EPUB, MOBI: you choose your format. Over the next days I'll be writing the rest of the book, and publishing updates often. The final book will be ready by au...