Monthly Archives: février 2019

Toute la complexité du monde se cache dans le champ Nom d’un formulaire

Une personne n’a pas forcé­ment un seul prénom suivi d’un seul nom de famille. Elle peut avoir un seul nom, ou trois prénoms et quatre noms de famille, en changer au cours de sa vie, son nom peut être très long ou très court… il y a telle­ment de variantes à travers les sociétés humaines que l’ex­cep­tion doit être consi­dérée comme la norme. Cette complexité existe aussi pour les numéros de télé­phone, les adresses, et pour tant d’autres méca­nismes qu’il existe toute une litté­ra­ture à ce sujet, avec un titre devenu coutu­mier : « Les erreurs que font les déve­lop­peurs avec [bidule] ».

S’il existe une longue liste de ces dispo­si­tifs, c’est qu’ils sont trop souvent mal pris en compte en infor­ma­tique. Cela peut avoir des consé­quences très gênantes, par exemple si votre nom de famille est aussi un mot réservé qui signifie le « rien » en program­ma­tion et que vous faites tout bugger.

C’est un problème clas­sique d’écart entre le terri­toire et la carte. Un concep­teur modé­lise la réalité comme il peut, en faisant des raccourcis : un être humain est iden­tifié par un prénom et un nom, dans cet ordre et sans rien d’autre. Il doit bien exister deux trois excep­tions mais on verra plus tard, se dit-il.

Les noms sont déjà complexes, alors imaginez une notion comme la famille. Par exemple le service Google Play Family impose des règles qui forment une défi­ni­tion impli­cite.

Admettons que ce sont surtout des limites commer­ciales pensées pour que les gens n’abusent pas du système en ajou­tant trois cent personnes du monde entier à leur « famille ». Mais quand même. Qui est Google pour dire qu’une famille ne peut être composée de nombreuses personnes vivant dans plusieurs pays ? Ensuite, ça influe forcé­ment sur la vie des gens : le service devient intriqué avec leur quoti­dien et définit quels films peut regarder un enfant, avec qui et sur quel appa­reil. Tout ça dans un contexte d’ob­jets toujours plus présents et connectés, où la famille peut avoir un appa­reil Google dans chaque pièce et plus d’ap­pa­reils que de membre.

Nom, prénom et design tragique

Bref, conce­voir un système peut avoir des consé­quences graves et inat­ten­dues, c’est un thème dont la profes­sion prend conscience, avec diffé­rents approches (design tragique, design systé­mique…) et spécia­lités (impact sur les mino­rités, biais et auto­ma­ti­sa­tion forcenée en intel­li­gence arti­fi­cielle…).

Mais ce que j’aime avec mes exemples, c’est qu’ils paraissent anodins. On ne parle pas de l’UI qui a causé l’envoi d’une fausse alerte d’at­taque de missiles à tout Hawaï ou de cock­pits d’avions mal conçus. La majo­rité des gens aujourd’hui saisissent leur nom en deux secondes et leur adresse par auto-complétion. Pourtant les noms sont une construc­tion à l’in­ter­sec­tion de bien des enjeux et des insti­tu­tions sociales :

Enfin et plus large­ment, les noms de personnes sont en eux-même un phéno­mène social complexe, avec un champ d’étude dédié en sciences sociales : l’an­thro­po­nymie, dont on pourra lire une synthèse fasci­nante ici. Elle nous apprend qu’ils ne servent pas qu’à iden­ti­fier une personne, loin de là, mais aussi à classer et hiérar­chiser, à inscrire la personne dans une certaine orga­ni­sa­tion sociale et symbo­lique, ainsi qu’à s’adresser à elle d’une certaine manière, dans un certain contexte.

Bref, pour peu qu’on creuse un peu, toute la complexité de ce qu’on appelle un système socio-technique peut surgir d’un modeste champ de formu­laire.

Un plugin de typographie française pour Sketch

Résumé : j’ai créé un plugin Sketch pour respecter auto­ma­ti­que­ment les règles typo, espaces insé­cables et bien plus.

icone du plugin
Typographie frenchy

Tout a commencé par une inter­face comme celle-ci :

screenshot de boite de dialogue

… Dans le titre, un magni­fique point d’ex­cla­ma­tion seul sur sa ligne, problème récur­rent dans une appli­ca­tion mobile sur laquelle je travaillais. Je me suis demandé comment résoudre ce problème, sans demander aux déve­lop­peurs de mémo­riser chaque règle et d’in­sérer systé­ma­ti­que­ment des carac­tères spéciaux à la main. Ces carac­tères, ce sont les espaces insé­cables, qui collent la ponc­tua­tion au signe précé­dent. Sur le web ça implique de taper des choses sympa­thiques comme   ou d’uti­liser d’obs­curs raccourcis clavier.

Une meilleure alter­na­tive est d’au­to­ma­tiser le problème, soit en début de chaine (comme le fait Word), soit en fin de chaine (comme ce plugin pour WordPress ou comme le fait nati­ve­ment SPIP). Vu qu’il faudrait attendre long­temps que chaque système ait son plugin de typo, j’ai choisi d’ex­plorer la première piste en créant un plugin pour Sketch. Ca ne règle pas le problème du contenu saisi direc­te­ment dans l’in­ter­face de contri­bu­tion des diffé­rents CMS, mais, de même qu’un déve­lop­peur peut copier-coller un code RGB depuis Zeplin ou Invision, l’idée est que des gens pour­raient copier et coller du texte d’in­ter­face, par exemple celui d’une barre de menu. On est d’ac­cord que c’est opti­miste : si demain ce texte change, il y a peu de chance qu’il soit ressaisi d’abord dans Sketch.

Mais c’est une voie inté­res­sante. Après tout, Invision, Figma ou Framer génèrent des maquettes de plus en plus compa­tibles avec du HTML/CSS. Cette proxi­mité entre concep­tion et réali­sa­tion pour­rait aussi s’ap­pli­quer au texte.

Dans un tout autre angle, voir aussi Kopie, outil de rédac­tion colla­bo­ra­tive synchro­nisée avec Sketch.

Ajoutons que le plugin apporte aussi quelques embel­lis­se­ments direc­te­ment dans les maquettes, indé­pen­dam­ment de ces ques­tions de work­flow :

  • De " à «
  • De double tiret (--) à tiret demi-quadratin ( – )
  • Certaines frac­tions (½, ⅓, ¼ )
  • Suffixes ordi­naux : de 2e à 2ᵉ
  • Points de suspen­sion…
  • De N° à №

Bref. Plugin de typo­gra­phie auto­ma­tique. C’était fun à faire. Retours bien­venus.