Monthly Archives: septembre 2015

De quelques similitudes entre utilisabilité et sécurité

Créer un système, c’est s’assurer qu’il remplit un ensemble de fonctions données, mais aussi qu’il possède des qualités globales comme la maintenabilité, la fiabilité, la rapidité… On les appelle parfois des exigences non-fonctionnelles. Parmi elles, l’utilisabilité et la sécurité sont des qualités cruciales et moins antagonistes que l’on ne pourrait le croire.

Ne pas raisonner dans l’absolu

On se demande souvent « est-ce que cette interface est ergonomique ? » Ce n’est pas la bonne question à se poser car elle n’a pas grand sens dans l’absolu. Il faut plutôt chercher à savoir dans quelle mesure elle est utilisable, selon certains critères, pour certains usages et avec certaines contraintes.

Le même enjeu existe en sécurité : on oscille entre fantasmes de protection totale et sentiment résigné que, de toute façon, Google et la NSA savent tout de nous. Pourtant, non seulement la sécurité n’est pas une propriété binaire, mais grosso modo elle dépend de trois facteurs.

  1. Les enjeux : à quel point les données à protéger sont critiques ? Cette évaluation se fait classiquement selon trois critères : la disponibilité (les personnes autorisées ont accès aux données), la confidentialité (uniquement ces personnes y ont accès) et l’intégrité (les données n’ont pas été modifiées dans leurs dos). Selon le contexte, certains critères vont être privilégiés : par exemple je considère que déverrouiller mon téléphone facilement est plus important que de le rendre indéchiffrable, donc je ne lui donne pas de mot de passe interminable.
  2. Le modèle de menace : qui en a après mes données, quelles ressources a-t-il et à quel point est-il déterminé.
  3. La réponse : quelles mesures mettre en place ?

Elaborer une politique de sécurité n’est pas forcément très compliqué. Par exemple, selon James Mickens dans cet article très drôle, le modèle de menaces d’un particulier peut se limiter à « Mossad ou pas Mossad ». Si le Mossad (ou une institution comparable) en a après vous, vous êtes foutus. Si non, prenez des mesures raisonnables et tout ira bien.

Même si elle n’est pas très compliquée, la sécurité n’est jamais une propriété binaire. Il en va de même en ergonomie : on peut favoriser la polyvalence ou la spécialisation, une apprenabilité rapide ou longue, etc.

Ne pas se croire tout puissant

En sécurité, un aspect intéressant est que les mesures prises ont pour objectifs de rendre acceptable le niveau de risque — et pas plus. Pour chaque risque identifié, on évalue sa vraisemblance et sa gravité, avant de prendre une mesure pour diminuer son impact. A la fin, il reste des vulnérabilités résiduelles, qu’il suffit d’expliciter et de justifier : certes, quelqu’un avec un accès physique au système, une porte dérobée déjà en place et un supercalculateur de poche pourrait opérer une brèche. Mais c’est un risque acceptable.

Ce n’est pas très différent d’une démarche ergo, dans laquelle on identifie certains déterminants de l’activité (par exemple, l’utilisateur est forcé d’utiliser sa tablette avec des moufles), auxquels on répond par des solutions (doubler la taille des boutons) ou des recommandations (ne pas utiliser la tablette dans un contexte nécessitant ces moufles).

La différence, dans mon expérience, c’est que la démarche ergo est :

  • Moins formalisée : Les observations et solutions sont moins décomposées, les points faibles sont affichés de manière moins transparente. (Mais j’ai peut-être une vision idéaliste des audits de sécurité.)
  • Moins cadrée : au nom d’une utilisabilité parfaite et absolue, on nous demande souvent l’impossible. Une bonne part du boulot d’un expert en ergonomie est d’expliquer que l’on n’est pas omnipotents.

Faire avec l’utilisateur

Une dernière similitude, c’est qu’on ne peut pas concevoir un système isolé : il faut anticiper son utilisation et supposer que l’utilisateur peut être étourdi, bricoleur, ou malveillant (voire les trois en même temp). Par exemple, il faut anticiper ce qui se passe si l’utilisateur oublie son mot de passe ou s’il est laxiste dans une procédure de vérification quelconque.

Dans les deux cas, il y a une tension entre les utilisateurs réels (pressés et tous différents) et idéaux (consciencieux et attentifs). Il existe même un concept juridique de « personne prudente et raisonnable », consacrant le fait que manipuler des informations sensibles entraine certaines responsabilités et exige un certain comportement. Evidemment, c’est plutôt rare d’aller en prison parce que vous n’avez pas utilisé un logiciel comme un concepteur l’espérait. Malgré tout, la conception doit faire certains postulats et compromis.

Similaires, voire complémentaires

La sécurité nuit souvent tellement à l’utilisabilité qu’elle se tire une balle dans le pied. Les exemples ne manquent pas, des critères absurdes de choix de mot de passe à la complexité (PDF) des outils de chiffrement. Les deux approches sont suffisamment similaires pour pouvoir être complémentaires. Il suffit d’en revenir à l’utilisateur. Voici deux articles classiques pour creuser le sujet : « Users are not the enemy  » (PDF) et « When security gets in the way ».

Pocket et la cohérence c’est pas trop ça

Pocket est un service de lecture différée plutôt chouette et disponible officiellement sur cinq plateformes. Hélas, les interfaces de ces différentes plateformes souffrent d’un certain manque d’homogénéité. C’est même carrément le bordel. J’ai fait un tableau de ces incohérences.

Dans l'ordre, la barre de navigation des versions Web, Android, Windows et Mac
Dans l’ordre, la barre de navigation des versions Web, Android, Windows et Mac

Notez bien que :

  • Je me suis concentré sur l’accès aux fonctions concernées. Il y a d’autres incohérences : dans le reste de la procédure (ex : ajout d’items sur Mac, modification groupée sur iPad), dans le choix des pictogrammes (mode d’affichage sur Windows), dans le concept de base (principe de double panneau avec l’article à droite sur Mac)…
  • Un « non » dans le tableau signifie que la fonction est purement absente.
  • Le site web est responsive mais je n’ai inclus que la version « grand format ».
  • J’ai regroupé Paramètres et Aide par commodité car ils sont toujours placés à côté.

Le tableau, je trouve, montre bien l’étendue des divergences :

  • une moitié des fonctions est indisponible sur au moins une plateforme.
  • Aucune fonction étudiée n’est parfaitement homogène (c’est-à-dire offrant un accès identique sur toutes les versions).
  • Sur les cinq plateformes, on dénombre quatre accès différents pour trois fonctions

Certaines divergences sont facilement explicables :

  • Pocket suit parfois les conventions propres à chaque plateforme. Par exemple, sur Android, les paramètres se trouvent habituellement dans le menu en haut à droite (celui accessible par les trois points) et ce menu n’a pas d’équivalent sur iOS.
  • Certaines fonctions ont moins d’intérêt sur certaines plateformes, par exemple un affichage en grille sur un petit smartphone.
  • Il y a toujours une certaine inertie dans le développement multi-plateformes et il n’est pas facile d’avoir une feuille de route unifiée dans le moindre détail.

Mais ça n’explique pas l’ampleur du problème. J’y vois surtout un manque de volonté des créateurs. Par exemple, la version Windows / Chrome OS utilise les même technologies que la version web (en gros c’est une web app lancée en local). Les deux devraient donc être relativement faciles à faire converger, pourtant la version Windows est l’une des plus divergentes.

Un facteur supplémentaire d’incohérence est temporel : des mises à jour modifient fréquemment les interfaces et ajoutent à la confusion. Je ne saurais dire si l’homogénéité est tendanciellement croissante.

Foin de blabla, voici le tableau.

Fonction iPad Android Web Windows Mac # de divergences
Nav principale Menu hamburger Menu hamburger À gauche Menu déroulant central Non 3 + 1 non
Filtrer par labels Menu hamburger Menu hamburger À gauche 1e ligne, droite En bas 4
Filtrer par type d'articles Menu hamburger Menu hamburger À gauche Gauche, 1e ligne Première ligne 4
Paramètres et aide Menu hamburger Menu, droite Menu, droite Menu déroulant central Barre de menus native 4
Premium Menu hamburger Menu hamburger Menu, droite Menu déroulant central Non 3 + 1 non
Messagerie Menu hamburger Menu hamburger 1e ligne, droite Non Non 2 + 1 non
Modification groupée Menu, droite ou tap long sur item Menu, droite 2e ligne, droite Non Non 2 + 1 non
Ajout d'items Gauche, 1e ligne Non 1e ligne, droite Gauche, 1e ligne Barre de menus native 3
Recherche 1e ligne, droite 1e ligne, droite 1e ligne, droite 1e ligne, droite En bas 2
Mode d'affichage 1e ligne, droite Non 2e ligne, droite Gauche, 1e ligne Non 2 + 2 non