1 points par GN⁺ 2023-11-30 | 1 commentaires | Partager sur WhatsApp

Résumé : la tragédie du vol Iran Air 655 et l’importance de l’UI

  • Le 3 juillet 1988, le croiseur lance-missiles de l’US Navy USS Vincennes a abattu le vol Iran Air 655, causant la mort de toutes les personnes à bord.
  • Le Vincennes, équipé d’Aegis, alors le système de défense antiaérienne le plus avancé au monde, a détruit par erreur un unique avion civil, ce qui a soulevé des questions sur les causes de cette méprise.
  • Le rapport officiel de l’US Navy a conclu à une erreur de l’équipage plutôt qu’à une défaillance du système Aegis, mais les défauts d’interface utilisateur d’Aegis révélés par la suite laissent penser qu’ils ont contribué à l’accident.

L’avis de GN⁺

Le point le plus important de ce texte est de souligner à quel point la conception de l’interface utilisateur (UI) est cruciale. Même dans des situations extrêmement stressantes comme le combat, les systèmes doivent être conçus pour permettre aux utilisateurs d’obtenir des informations claires et exactes. Cet article offre un cas d’étude intéressant non seulement pour l’ingénierie logicielle, mais aussi pour des professionnels de nombreux autres domaines, et montre comment une mauvaise conception d’UI peut entraîner des conséquences graves.

1 commentaires

 
GN⁺ 2023-11-30
Commentaires sur Hacker News
  • Intéressant de voir cette histoire sur HN. Je travaille actuellement dans l’entreprise qui a repensé l’HMI/UI après cet accident, et plus précisément, cet événement a été à l’origine de la création de l’entreprise
    Après l’accident, le commandement de l’US Navy à San Diego a contacté des professeurs de sciences cognitives et de psychologie de l’UCSD qui étudiaient la prise de décision à haut risque sous stress et charge cognitive. La Navy a été profondément impressionnée par leur analyse détaillée et leurs recommandations, et a continué à collaborer avec eux sur d’autres projets
    Au final, le volume de travail pour la Navy est devenu si important qu’ils ont créé une entreprise centrée sur l’ergonomie humaine et la conception d’interfaces pour les systèmes complexes. Les deux cofondateurs d’origine ont récemment pris leur retraite, et le nouveau CEO est l’ancien commandant de l’USS Zumwalt

    • J’aimerais bien avoir des lectures sur le sujet. Il y a probablement beaucoup à en tirer aussi pour la surveillance en cybersécurité, qui est actuellement un vrai bazar
      les enjeux y sont un peu moins mortels, mais restent importants
    • Fait amusant : le commandant du Vincennes avait étudié la psychologie, et son père était lui aussi psychologue de l’US Navy pendant la Seconde Guerre mondiale
    • Les ingénieurs logiciel réfléchissent souvent à l’importance de leur travail en le comparant à d’autres branches de l’ingénierie où une erreur peut blesser ou tuer des gens. Mais il existe aussi des métiers où l’on blesse ou tue des gens indépendamment de la qualité du travail accompli
    • C’était PSE, l’entreprise en question ?
  • Un autre bon article sur cet accident se trouve sur l’excellent blog Admiral Cloudberg :
    https://admiralcloudberg.medium.com/the-long-shadow-of-war-t...
    Un autre article de la même série concerne aussi une erreur d’UX, à savoir le vol Air France 447
    Cet accident est en partie dû au fait que si les deux entrées des manches différaient, le système en faisait la moyenne. Ce n’était pas comme chez Boeing à l’époque, où les commandes étaient physiquement reliées, ce qui rendait des entrées contradictoires plus difficiles et permettait à l’autre pilote de sentir que son collègue poussait ou tirait sur le manche
    Lors du décrochage, un pilote a correctement baissé le nez pour en sortir, tandis que l’autre a cabré l’avion, ce qui semble instinctivement juste mais est en réalité faux. Les entrées se sont annulées, avec très peu d’effet ; à la fin, ils tiraient tous les deux, mais ce n’était pas le cas au début, quand le problème aurait encore pu être résolu
    https://admiralcloudberg.medium.com/the-long-way-down-the-cr...
    Le commandant était en pause et n’est revenu dans le cockpit qu’au tout dernier moment ; il a fini par comprendre le problème, mais il était déjà trop tard
    « Continue à tirer », a dit Dubois ; on peut se demander si ce n’était pas une forme de résignation ironique face au destin

    • Du côté de Boeing non plus, ce n’est pas aussi simple de manière aussi flagrante. Boeing n’utilise généralement pas l’auto-trim, donc on peut être en opposition avec son copilote tout en pensant simplement que le trim n’est pas bon, voire que les charges aérodynamiques sont excessives
      L’exception célèbre est le MCAS du 737 MAX, mal documenté et mal couvert en formation, et il me semble que des Boeing plus récents comme le 777 ou le 787, en fly-by-wire, utilisent bien l’auto-trim
      Si la charge aérodynamique sur le stabilisateur est trop forte, il peut falloir la force des deux pilotes pour corriger un mauvais trim, et dans des cas extrêmes il peut être nécessaire de réduire la charge aérodynamique pour rendre le trim manuel possible
    • Je ne sais pas si c’est vrai, mais je me souviens avoir lu que ce lien physique pouvait être rompu. L’idée était que si une commande se coinçait, on puisse casser la liaison par une forte action, puis piloter avec l’autre commande
    • Air France semble aussi avoir créé une situation où les pilotes se disputaient l’autorité de pilotage : https://www.avweb.com/aviation-news/air-france-crew-fought-e...
      Ravi d’apprendre qu’Airbus envisage d’ajouter à l’avenir des sidesticks à retour de force
    • Le tragique vol AF447 revient assez souvent sur HN. Il y a aussi une discussion récente [0]
      [0] https://news.ycombinator.com/item?id=37089363
    • Dans un cockpit Airbus, c’est difficile à modifier. En raison des caractéristiques du sidestick, il est impossible de les relier mécaniquement ; pour le faire, il faudrait un système de moteurs extrêmement complexe dans chaque manche afin de fournir un retour de force équivalent à la force avec laquelle un pilote tire fortement dessus
  • Vu la fréquence à laquelle HN critique les écrans tactiles dans les voitures, il est aussi intéressant de voir comment le remplacement d’anciens contrôles analogiques par une interface tactile logicielle a partiellement contribué à la collision de l’USS John S. McCain : https://features.propublica.org/navy-uss-mccain-crash/navy-i...

    • Article vraiment fascinant. J’ai l’impression de passer ma vie à me battre contre ce genre d’UI bancales, et contre une UI à la Apple qui cherche à optimiser uniquement l’esthétique en reléguant presque tout dans un « ••• tiroir à bazar » ou derrière une petite icône (i), sans rapport avec l’utilité
      Il est sidérant que, sur un navire valant des dizaines voire des centaines de milliards de dollars, personne n’ait même pensé à mettre à côté d’un gros bouton rouge une simple étiquette rouge en anglais du genre « Bouton de reprise du contrôle d’urgence. Appuyez pour rendre le contrôle à ce poste »
      Les concepteurs logiciels auraient aussi pu utiliser un langage simple et direct, rendre la bonne action facile, et faire en sorte qu’une action étrange nécessite une intention explicite. Si le fait que deux personnes se partagent indépendamment le contrôle de la propulsion bâbord/tribord est extrêmement inhabituel, alors après « transfert du contrôle de propulsion », il devrait y avoir une modale avec un énorme bouton « les deux côtés » et de petits boutons « bâbord uniquement » et « tribord uniquement »
      Je me demande aussi pourquoi il n’y a pas de simples annonces vocales lorsqu’on transfère quelque chose d’aussi critique que le contrôle du navire. Un haut-parleur, ça coûte quoi, 20 dollars pièce ? Il suffirait d’un message du type « Le contrôle de la propulsion a été transféré au Lee Helm » ou « Le bouton rouge de reprise du contrôle à ce poste a été pressé, tous les contrôles ont été transférés à la passerelle »
      Parfois, on dirait que seuls des gens qui ne réfléchissent pas et des adorateurs de Jony Ive conçoivent les UI
  • Même si le contact radar était affiché comme un chasseur F-14, je trouve étrange d’avoir supposé que l’Iran allait soudainement envoyer un seul F-14 attaquer le navire. Personne ne s’est demandé : « Et si c’était une erreur ? »
    Ça me rappelle Stanislav Petrov, qui avait interprété comme une défaillance matérielle les alertes du système soviétique d’alerte précoce annonçant un lancement d’ICBM
    Bien sûr, l’enjeu n’était pas tout à fait le même. Abattre un avion de ligne est moins grave que risquer de déclencher une guerre nucléaire mondiale

    • Pourquoi serait-ce soudain ? Deux mois avant l’incident, les États-Unis avaient coulé la frégate iranienne Sahand, le patrouilleur lance-missiles Joshan et trois vedettes rapides iraniennes lors de l’opération Praying Mantis
      La frégate iranienne Sabalan avait aussi été gravement endommagée, deux plateformes iraniennes avaient été détruites, un avion de combat iranien avait été endommagé et au moins 56 marins iraniens avaient été tués
      Ce jour-là même, un hélicoptère américain avait essuyé des tirs d’armes légères venant d’une vedette de patrouille iranienne, et l’abattage a eu lieu pendant la poursuite de ce patrouilleur
      Dans ce contexte, penser que l’Iran pouvait lancer un avion de combat pour attaquer n’a rien de si étrange
    • Indépendamment de l’échec de l’UI, principalement d’après Proceedings du US Naval Institute[2] et l’enquête officielle, le rapport Fogarty[3], il y a plusieurs éléments
      Il était d’usage d’illuminer les avions militaires iraniens avec le radar de conduite de tir des missiles pour leur signifier de faire demi-tour. Le capitaine Carlson se rappelait : « Dès qu’on accrochait ce radar, ils rentraient chez eux. Les missiles ne les intéressaient pas »
      Le commandant du Vincennes était connu pour avoir la gâchette facile, et le Vincennes portait le surnom de Robo-Cruiser
      Au moment de l’abattage, le Vincennes se trouvait dans les eaux territoriales iraniennes
      Les bandes du USS Vincennes, les informations du USS Sides et des sources de renseignement fiables confirment que le TN 4131 avait continué à monter en altitude depuis son décollage de Bandar Abbas jusqu’au moment où il a été abattu, en suivant le profil de vol normal d’un vol commercial, et qu’il émettait en mode III 6760
      « Le capitaine Rogers était un étudiant difficile. Il ne se souciait pas de l’expertise des instructeurs et avait l’habitude embarrassante d’enfreindre les règles d’engagement pendant les wargames »[2]
      Le lieutenant-commandant Lustig, coordinateur de guerre aérienne, a même reçu la Navy Commendation Medal pour un « accomplissement héroïque » et sa « capacité à garder son calme et sa confiance sous le feu », ce qui lui a permis de « mener à bien les procédures de tir rapidement et avec précision »
      Tous les membres d’équipage du Vincennes et de l’Elmer Montgomery ont reçu le combat action ribbon
      [1] https://www.newsweek.com/sea-lies-200118
      [2] https://www.usni.org/magazines/proceedings/1993/august/vince...
      [3] https://archive.org/details/FormalInvestigationintotheCircum...
    • L’année précédente, la frégate américaine USS Stark avait été gravement endommagée par un avion irakien. Son commandant ne s’attendait pas à une attaque irakienne et a tenté à plusieurs reprises de l’écarter par des avertissements, avant que l’appareil ne tire finalement deux missiles qui ont frappé le navire
      Si les systèmes de réponse du Stark avaient correctement fonctionné, les missiles auraient très probablement été abattus, mais ce ne fut pas le cas, et 37 Américains sont morts
      Dans ce contexte, il n’était pas si étrange de considérer un avion iranien comme une menace sérieuse
    • Si j’ai bien compris, un seul F-14 pouvait tirer un missile Exocet et ouvrir une très grosse brèche dans un porte-avions, voire le couler si les conditions s’y prêtaient. Idem pour un cuirassé
      Dans mes souvenirs, c’était une préoccupation majeure à l’époque, peut-être même surtout à cette époque
    • À l’époque, l’Iran menait souvent des attaques éclair limitées
      Quelques années avant cet incident, les États-Unis avaient testé si le F-14 pouvait lancer des missiles antinavires Harpoon, parce que l’Iran possédait à la fois des F-14 et des Harpoon. Le test avait réussi
      Il est très peu probable que l’Iran ait réellement intégré des Harpoon sur ses F-14, mais comme c’était une capacité qu’il possédait, la crainte qu’il puisse le faire était très réelle à l’époque
  • Récemment, il y a aussi eu une assez grosse catastrophe UX chez PayPal
    L’app iOS de PayPal avait une manière étrange de saisir les nombres. Il fallait entrer le montant à envoyer en cents, donc pour envoyer 50 dollars il fallait taper 5000, et PayPal ajoutait le séparateur décimal après le deuxième chiffre en partant de la droite. Encore plus étrange, les chiffres étaient alignés à droite, ce qui donnait l’impression de saisir à l’envers. Je n’ai jamais réussi à m’y habituer
    Il y a quelques semaines, toute l’interface a changé sans aucun avertissement, et maintenant l’utilisateur doit lui-même saisir le séparateur décimal. Si l’on entre 5000 comme avant, on envoie 5000 dollars au lieu de 50. Je connais réellement une personne qui a envoyé trop d’argent, et je soupçonne que ce changement d’UX en est la cause
    Une conception prudente est importante

    • En parlant d’USD en anglais, et en plus dans un contexte logiciel, le fait d’appeler le séparateur décimal une « comma » m’a vraiment perturbé. J’ai fini par lire l’article Wikipédia sur le séparateur décimal, et la partie que j’ai préférée était celle-ci
      Unicode définit un symbole de touche de séparateur décimal ressemblant à une apostrophe (⎖, hexadécimal U+2396, décimal 9110). Ce symbole provient de l’ISO/IEC 9995 et sert à indiquer sur un clavier la touche qui effectue la séparation décimale
    • La saisie des prix en cents est une pratique de longue date dans le commerce de détail, héritée de l’époque où les terminaux POS n’étaient pas directement reliés à la caisse enregistreuse et où les employés devaient saisir eux-mêmes les montants. Cela dit, si l’on change brusquement un design à l’américaine, il est inévitable que des erreurs surgissent un peu partout
    • De manière surprenante, Bank of America gère cela correctement. Les gros virements bancaires exigent obligatoirement une nouvelle saisie des identifiants
    • Quand PayPal a changé le comportement par défaut pour utiliser la devise locale de l’utilisateur au lieu de la devise du solde, il m’est aussi arrivé d’envoyer par erreur un montant trop faible dans un cas similaire
  • Je me demande si Tesla finira un jour devant les tribunaux pour une situation de ce genre
    Je ne parle pas d’Autopilot, mais du fait qu’ils continuent à supprimer les commandes physiques du véhicule, au point que cela devient absurde
    Par exemple, les premiers Model S/X avaient des commandes dédiées pour les clignotants, le changement de vitesse, les essuie-glaces, Autopilot, l’inclinaison du volant et plusieurs autres fonctions. De chaque côté du volant, il y avait deux boutons et une molette, et le klaxon s’activait en appuyant au centre du volant. Sur les portières, on trouvait le réglage des rétroviseurs, les vitres et le verrouillage
    Malheureusement, certaines commandes importantes comme le désembuage avant et arrière étaient sur l’écran tactile, et la climatisation ainsi que d’autres fonctions diverses nécessitaient plusieurs appuis, ou des zones tactiles trop petites, ou les deux
    Tout n’était pas mauvais. Des réglages détaillés mais peu importants, comme miles/kilomètres, ont tout à fait leur place sur un écran tactile. Mais il aurait fallu davantage de commandes dédiées
    Avec l’arrivée de la Model 3, la suppression des commandes a commencé. Il n’y a plus que deux leviers, celui des clignotants gère aussi dans une certaine mesure les phares et les essuie-glaces, et le levier de vitesse chevauche Autopilot. Les deux molettes sans bouton doivent être poussées à gauche ou à droite
    Toutes les autres commandes sont sur l’écran tactile. Les éléments importants ont vraiment besoin de commandes dédiées
    Les Model S/X mises à jour sont encore pires. Il n’y a plus du tout de leviers. Clignotants, feux de route, klaxon et essuie-glaces sont tous relégués à des zones tactiles sur le volant, et les molettes changent de fonction selon le contexte
    Il n’y a même plus de sélection de vitesse, la voiture essaie de deviner dans quelle direction le conducteur veut aller. Encore plus de fonctions, comme le passage en stationnement, passent par l’écran tactile. Il existe bien un sélecteur de conduite tactile sur la console centrale, mais il faut regarder vers le bas, le réveiller d’une pression, puis faire sa sélection
    C’est un désastre complet, et cela rend la conduite plus difficile

    • J’ai une anecdote d’accident en lien avec cela
      Il arrive parfois que, sans raison apparente, la voiture refuse de passer en marche avant ou arrière
      Peu après avoir acheté ma Tesla, je faisais un demi-tour en trois temps pour entrer dans mon allée. J’ai avancé un peu, me suis arrêté, j’ai tourné le volant, j’ai actionné le levier pour passer en marche arrière, puis j’ai appuyé sur l’accélérateur, mais la voiture est partie vers l’avant et a embouti la portière de mon ancienne voiture. À part l’icône à l’écran, rien n’indiquait que la voiture avait refusé l’ordre de passer en marche arrière
      Depuis, Tesla a publié une mise à jour : un son retentit lorsqu’on passe de la marche avant à la marche arrière, et un autre son distinct lorsque la voiture refuse la commande. C’est bien mieux, mais cela reste agaçant, surtout juste après être monté à bord, car elle refuse encore assez souvent les ordres de passage en marche avant ou arrière. Désormais, par habitude, j’actionne le levier 4 ou 5 fois dès que je monte dans la voiture
    • Il me semble qu’en Allemagne, Tesla a déjà eu des ennuis à cause de cela. Certaines commandes devaient être conformes à des exigences légales précises, et Tesla les a ignorées
      J’ai récemment acheté une nouvelle voiture, et pour moi, la disposition des commandes était un critère décisif. Bien trop de constructeurs ont suivi la mode du tout écran tactile
      Pour certains usages comme Android Auto, c’est acceptable, mais faire absolument tout via un écran tactile, tout le temps, c’était déjà idiot dans Star Trek, et c’est idiot dans la réalité. Pour des fonctions comme l’éclairage, les essuie-glaces ou la climatisation, des commandes physiques sont indispensables
    • Jusqu’à l’hiver dernier, je ne réalisais pas à quel point les essuie-glaces étaient importants. Je roulais à allure d’autoroute sur une route à deux voies et j’entrais dans un virage ; il avait légèrement neigé la veille, donc la chaussée avait dégelé, était mouillée et couverte de boue
      Un camion sur la voie d’en face a dû passer dans une flaque, et de la boue liquide a éclaboussé le pare-brise en une fraction de seconde, juste avant le virage, au moment où j’avais besoin de voir où j’allais
      Je n’avais qu’environ une seconde pour trouver la commande des essuie-glaces, et ce n’était pas ma voiture. Si je ne l’avais pas trouvée, je serais sorti de la route ou j’aurais empiété sur la voie en sens inverse. Ce n’est pas le moment de chercher en urgence un bouton d’essuie-glaces sur un écran tactile
    • C’est exactement ça
      Je n’ai délibérément pas acheté de Tesla parce que je voulais conduire une voiture, pas un jouet
      Les interfaces tactiles ne sont pas toutes mauvaises, mais dans des situations qui demandent une forte concentration et où les entrées changent dynamiquement, cela devient une catastrophe
  • Deux jours de suite, un fil Mastodon est monté en première page de HN. Je ne sais pas quand cela est arrivé pour la dernière fois avec un fil Twitter, et je me demande s’il reste encore quelqu’un pour douter que Twitter ne soit plus le centre des conversations techniques

    • Une grande partie des événements récents liés à OpenAI postés ici étaient des liens Twitter, et j’ai vu beaucoup de gens s’en servir pour soutenir que Twitter reste encore central
    • Une différence, c’est que Twitter ne montre plus les fils aux utilisateurs non connectés, alors que Mastodon, si. Si le même fil est publié sur les deux sites, mieux vaut probablement lier vers Mastodon
    • Sur les 10 derniers jours, d’après https://news.ycombinator.com/front, il y en a eu 1 aujourd’hui, 1 il y a 5 jours, 3 il y a 7 jours et 2 il y a 9 jours
    • C’est bien de pouvoir voir toute la conversation sans passer par une barrière de connexion ou par quelque chose comme nitter
    • Ce que vous observez en ce moment est un bon exemple de biais de confirmation
  • Je me demande comment cela se comparait aux technologies de contrôle du trafic aérien courantes à l’époque. Le contrôle faisait-il mieux les choses ? Bien sûr, même à cette époque, il y a eu beaucoup de catastrophes causées par le contrôle aérien.

  • Au début, j’ai cru que c’était un article sur le flat design, puis j’ai lu l’intégralité du toot. Qui aurait imaginé qu’une UI puisse être à ce point mauvaise dans une opération où des vies sont en jeu ?
    J’aimerais que quelqu’un publie plus de détails sur l’UI déroutante qui a conduit à cet incident. Ce serait sans doute une bonne leçon pour la plupart d’entre nous.
    Il semble aussi que Lockheed ait remporté en 2023 un contrat lié à ce système [1]. Si quelqu’un sait si les problèmes d’UI ont réellement été corrigés récemment, ce serait bien de le partager.
    1 - https://news.clearancejobs.com/2023/03/13/lockheed-martin-wi...

    • Les détails figurent dans le fil publié.
      En gros, sans qu’on sache pourquoi, la direction et la position venaient d’un avion, les informations d’identification d’un autre, et l’altitude d’un troisième.
    • En ne voyant que le titre, j’ai cru qu’il s’agissait de la nouvelle barre latérale de Chrome.
  • Admiral Cloudberg a publié un article détaillé sur cet accident, y compris le fonctionnement de l’interface utilisateur :
    https://admiralcloudberg.medium.com/the-long-shadow-of-war-t...
    En lisant les différentes interprétations de cet événement, on garde l’impression qu’il ne s’agissait pas simplement d’un problème d’interface utilisateur.