1 पॉइंट द्वारा GN⁺ 2023-11-30 | 1 टिप्पणियां | WhatsApp पर शेयर करें

सारांश: Iran Air Flight 655 की त्रासदी और UI का महत्व

  • 3 जुलाई 1988 को, अमेरिकी नौसेना की missile cruiser USS Vincennes ने Iran Air Flight 655 को मार गिराया, जिससे उसमें सवार सभी लोगों की मौत हो गई.
  • उस समय की दुनिया की सबसे उन्नत air defense systems में से एक Aegis से लैस Vincennes ने एक अकेले नागरिक विमान को कैसे गलत पहचान लिया और मार गिराया, इस पर सवाल उठे.
  • अमेरिकी नौसेना की आधिकारिक रिपोर्ट ने निष्कर्ष निकाला कि गलती Aegis system की नहीं बल्कि crew की थी, लेकिन बाद में सामने आए Aegis के user interface defects ने संकेत दिया कि दुर्घटना के कारणों में उसका भी कुछ हिस्सा था.

GN⁺ की राय

इस लेख की सबसे महत्वपूर्ण बात यह है कि यह user interface (UI) design के महत्व को रेखांकित करता है. बात यह है कि combat जैसी अत्यधिक तनावपूर्ण परिस्थितियों में भी systems इस तरह design किए जाने चाहिए कि users को स्पष्ट और सटीक जानकारी मिल सके. यह लेख न केवल software engineering बल्कि कई अन्य क्षेत्रों के professionals के लिए भी एक दिलचस्प case study प्रस्तुत करता है, और दिखाता है कि गलत UI design कैसे गंभीर परिणाम पैदा कर सकता है.

1 टिप्पणियां

 
GN⁺ 2023-11-30
Hacker News की टिप्पणियाँ
  • HN पर यह चर्चा देखना दिलचस्प है। अभी मैं उसी HMI/UI को फिर से डिज़ाइन करने वाली कंपनी में काम कर रहा/रही हूँ, और अधिक सटीक रूप से कहें तो यही घटना कंपनी की स्थापना का कारण बनी थी
    दुर्घटना के बाद San Diego में US Navy Command ने UCSD के cognitive science और psychology प्रोफेसरों से संपर्क किया, जो तनाव और cognitive load के बीच high-risk निर्णय लेने का अध्ययन कर रहे थे। Navy उनके विस्तृत विश्लेषण और सिफारिशों से बहुत प्रभावित हुई और अन्य projects पर भी उनके साथ सहयोग जारी रखा
    आखिरकार Navy का काम इतना बढ़ गया कि उन्होंने complex systems के human factors और interface design पर केंद्रित एक कंपनी बनाई। मूल दो co-founders हाल ही में retire हुए हैं, और नए CEO USS Zumwalt के पूर्व captain हैं

    • अच्छा होगा अगर इससे संबंधित पढ़ने लायक कोई सामग्री हो। लगता है आज की अस्त-व्यस्त cybersecurity monitoring में भी इससे काफी सीखने को मिल सकता है
      stakes थोड़े कम घातक हैं, लेकिन फिर भी महत्वपूर्ण हैं
    • एक दिलचस्प तथ्य यह है कि Vincennes के captain ने psychology में पढ़ाई की थी, और उनके पिता भी द्वितीय विश्व युद्ध के दौरान US Navy psychologist थे
    • Software engineers अक्सर अपने काम के महत्व पर सोचते हैं, उसकी तुलना engineering के उन क्षेत्रों से करते हुए जहाँ गलतियाँ लोगों को घायल कर सकती हैं या मार सकती हैं। लेकिन कुछ पेशे ऐसे भी हैं जो काम की quality से अलग, लोगों को घायल कर सकते हैं या मार सकते हैं
    • क्या वह कंपनी PSE है?
  • इस दुर्घटना पर एक और अच्छा लेख शानदार Admiral Cloudberg blog पर है:
    https://admiralcloudberg.medium.com/the-long-shadow-of-war-t...
    इसी series का एक और लेख भी UX गलतियों से संबंधित है, यानी Air France Flight 447
    यह दुर्घटना आंशिक रूप से इस वजह से हुई कि अगर दोनों control stick inputs अलग होते थे, तो उनका average लिया जाता था। यह उस समय के Boeing जैसा नहीं था, जहाँ controls physically linked होते थे, इसलिए विरोधाभासी inputs देना अपने-आप में मुश्किल था और pilot महसूस कर सकता था कि दूसरा pilot control stick को push या pull कर रहा है
    stall में जाने पर एक pilot ने stall से निकलने के लिए सही तरीके से nose down किया, जबकि दूसरे pilot ने instinctively सही लगने वाला, लेकिन असल में गलत, nose up किया। Inputs cancel हो गए और उनका लगभग कोई असर नहीं हुआ। अंत में दोनों pull कर रहे थे, लेकिन शुरुआती समय में जब समस्या हल की जा सकती थी, तब ऐसा नहीं था
    https://admiralcloudberg.medium.com/the-long-way-down-the-cr...
    captain आराम कर रहे थे और आखिरी क्षणों में cockpit में लौटे। आखिरकार उन्होंने समस्या समझ ली, लेकिन तब तक बहुत देर हो चुकी थी
    “खींचते रहो,” Dubois ने कहा था; शायद यह किस्मत के आगे एक निराशावादी स्वीकारोक्ति थी

    • Boeing का मामला भी इतना खुलकर सरल नहीं है। Boeing आम तौर पर auto trim नहीं करता, इसलिए आप co-pilot के साथ एक-दूसरे के खिलाफ control कर रहे हों और फिर भी सोच सकते हैं कि trim गड़बड़ है, या यहाँ तक कि air loads बहुत ज्यादा हैं
      मशहूर अपवाद 737 MAX का MCAS है, जिसमें documentation और training की कमी थी, और मेरी जानकारी में 777 या 787 जैसे अधिक हालिया Boeing fly-by-wire हैं, इसलिए auto trim करते हैं
      stabilizer पर excessive air loads होने पर गलत trim को ठीक करने के लिए दोनों pilots की ताकत लग सकती है, और extreme स्थिति में manual trim संभव करने के लिए aerodynamic load घटाना भी पड़ सकता है
    • पता नहीं यह सच है या नहीं, लेकिन मुझे याद है कि मैंने पढ़ा था कि वह physical linkage एक ऐसा link है जिसे तोड़ा जा सकता है। बात यह थी कि अगर एक तरफ का control jam हो जाए, तो ज्यादा force लगाकर connection तोड़ा जा सके और दूसरे control से विमान उड़ाया जा सके
    • Air France ने भी ऐसा लगता है कि एक-दूसरे से control के लिए लड़ने जैसी स्थिति पैदा कर दी थी: https://www.avweb.com/aviation-news/air-france-crew-fought-e...
      अच्छा है कि Airbus आगे force-feedback sidesticks लगाने की सोच रहा है
    • दुखद AF447 Flight पर HN में भी काफी बार चर्चा होती है। हाल की बातचीत भी है [0]
      [0] https://news.ycombinator.com/item?id=37089363
    • Airbus cockpit में यह बदलना मुश्किल हिस्सा है। sidestick की प्रकृति के कारण उसे mechanically link करना असंभव है, और अगर ऐसा करना हो तो हर stick के अंदर बहुत complex motor system चाहिए, जो pilot द्वारा जोर से खींचने के बराबर force feedback दे सके
  • HN पर कारों के touchscreen की कितनी आलोचना होती है, यह सोचें तो यह भी देखने लायक है कि पुराने analog controls को software touchscreen UI से बदलने ने USS John S. McCain की टक्कर में आंशिक रूप से कैसे योगदान दिया: https://features.propublica.org/navy-uss-mccain-crash/navy-i...

    • बहुत दिलचस्प लेख है। जिंदगी भर ऐसा लगता है कि मैं ऐसे घटिया UI से लड़ता रहा हूं, और उस Apple-स्टाइल UI से भी, जो उपयोगिता से कोई लेना-देना न रखते हुए लगभग हर चीज़ को “••• junk drawer” या छोटे (i) icon के पीछे धकेल देता है और सिर्फ सुंदरता को optimize करता है
      हैरानी होती है कि सैकड़ों अरब डॉलर के जहाज पर बड़े लाल button के बगल में सादी अंग्रेज़ी में लाल label लगाने का खयाल तक नहीं आया, जैसे “Emergency steering control takeover button. दबाने पर control इस जगह वापस आ जाएगा”
      Software designers भी सीधी, स्पष्ट भाषा इस्तेमाल कर सकते थे, सही काम को आसान बना सकते थे और अजीब कामों को केवल जानबूझकर करने पर ही संभव बना सकते थे। अगर port/starboard propulsion control को दो लोगों के बीच स्वतंत्र रूप से बांटना बेहद असामान्य है, तो “Transfer propulsion control” के बाद एक modal आना चाहिए था जिसमें बड़ा-सा “Both” button और छोटे “Port only”, “Starboard only” button हों
      जहाज के steering control जैसी अहम चीज़ को transfer करते समय साधारण voice prompt क्यों नहीं लगाया गया, यह भी समझ नहीं आता। Speakers शायद $20 प्रति piece के होते हैं, नहीं? “Propulsion control Lee Helm को transfer कर दिया गया है” या “उस location पर लाल control-takeover button दबाया गया है, सभी controls Bridge को transfer कर दिए गए हैं” इतना ही काफी होता
      कभी-कभी लगता है कि UI design सिर्फ बेपरवाह लोग और Jony Ive भक्त ही करते हैं
  • भले ही contact track को F-14 fighter के रूप में दिखाया गया हो, यह अजीब लगता है कि यह मान लिया गया कि Iran अचानक एक F-14 भेजकर जहाज पर हमला करेगा। क्या कभी “कहीं यह गलती तो नहीं?” वाला पल नहीं आया होगा?
    Stanislav Petrov का मामला याद आता है, जब Soviet early-warning system ने ICBM launch बताया था और उन्होंने उसे equipment malfunction माना था
    बेशक stakes थोड़े अलग हैं। एक passenger plane गिराना, global nuclear war शुरू करने के जोखिम जितना गंभीर नहीं है

    • इसमें अचानक क्या है? घटना से दो महीने पहले America ने Operation Praying Mantis में Iranian frigate Sahand, fast-attack craft Joshan और तीन Iranian speedboats डुबो दी थीं
      साथ ही Iranian frigate Sabalan बुरी तरह क्षतिग्रस्त हुआ था, दो Iranian platforms नष्ट हुए थे, एक Iranian fighter damaged हुआ था, और कम से कम 56 Iranian crew members मारे गए थे
      उसी दिन भी US military helicopter पर Iranian patrol boat ने small-arms fire किया था, और shootdown उसी patrol boat का पीछा करते हुए हुआ था
      ऐसी स्थिति में यह सोचना इतना अजीब नहीं है कि Iran fighter jet भेजकर हमला कर सकता है
    • UI failure से अलग, मुख्य रूप से US Naval Institute के Proceedings[2] और official investigation Fogarty report[3] को देखें तो कुछ बातें सामने आती हैं
      Iranian military aircraft पर missile fire-control radar lock करके उसे लौट जाने की warning देना standard practice था। Captain Carlson ने याद किया, “जब आप उन पर वह radar लगाते थे, वे घर चले जाते थे। उन्हें missiles में दिलचस्पी नहीं थी”
      Vincennes के captain को जल्दबाजी में fire करने वाला व्यक्ति माना जाता था, और Vincennes का nickname Robo-Cruiser था
      shootdown के समय Vincennes Iranian territorial waters के अंदर था
      USS Vincennes की tapes, USS Sides की information, और भरोसेमंद intelligence material इस बात का समर्थन करते हैं कि TN 4131 Bandar Abbas से takeoff के बाद shootdown तक लगातार altitude बढ़ा रहा था, सामान्य commercial flight plan profile का पालन कर रहा था, और Mode III 6760 transmit कर रहा था
      “Captain Rogers एक difficult student था। उसे instructors की professional expertise में दिलचस्पी नहीं थी, और wargames में rules of engagement तोड़ने की उसकी शर्मनाक आदत थी”[2]
      Anti-air warfare coordinator Lieutenant Commander Lustig को “heroic achievement”, “fire के बीच भी composure और confidence बनाए रखने की क्षमता” के लिए Navy Commendation Medal तक मिला, और इस वजह से आंका गया कि उसने “firing procedure जल्दी और सही तरीके से पूरा” किया
      Vincennes और Elmer Montgomery के सभी crew members को 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...
    • पिछले साल US frigate USS Stark को एक Iraqi aircraft ने गंभीर नुकसान पहुंचाया था। Captain को Iraq के हमले की उम्मीद नहीं थी, इसलिए उसने कई warnings देकर उसे पीछे हटाने की कोशिश की, और आखिर में उस aircraft ने दो missiles दागीं जो ship पर लगीं
      अगर Stark का response system सही से काम करता, तो missiles शायद गिरा दी जातीं, लेकिन ऐसा नहीं हुआ और 37 Americans मारे गए
      उस context में Iranian aircraft को गंभीर threat मानना अजीब नहीं है
    • मेरी समझ में, एक F-14 Exocet missile दागकर aircraft carrier में बहुत बड़ा hole कर सकता था, और सही conditions में उसे डुबो भी सकता था। Warship के साथ भी यही बात है
      मुझे याद है कि उस समय भी, शायद खासकर उस समय, यह बड़ी चिंता थी
    • उस समय Iran अक्सर सीमित hit-and-run attacks करता था
      America ने इस घटना से कुछ साल पहले test किया था कि क्या F-14 Harpoon anti-ship missile दाग सकता है, क्योंकि Iran के पास F-14 और Harpoon दोनों थे। Test सफल रहा
      Iran ने वास्तव में F-14 पर Harpoon लगाया था, इसकी संभावना बहुत कम है, लेकिन क्षमता मौजूद थी, इसलिए वह ऐसा कर सकता है—यह डर उस समय बहुत वास्तविक था
  • हाल ही में PayPal में भी एक काफ़ी बड़ी UX आपदा हुई थी
    PayPal iOS ऐप में संख्या दर्ज करने का तरीका अजीब था। भेजी जाने वाली रकम cents में डालनी पड़ती थी, इसलिए 50 डॉलर भेजने के लिए 5000 टाइप करना पड़ता था, और PayPal दाईं ओर से दूसरे अंक के बाद decimal separator लगा देता था। इससे भी अजीब बात यह थी कि संख्या right-aligned थी, इसलिए लगता था जैसे उल्टा टाइप कर रहे हों। आखिर तक इसकी आदत नहीं पड़ी
    कुछ हफ्ते पहले बिना किसी सूचना के पूरा interface बदल गया, और अब user को खुद decimal separator डालना पड़ता है। अगर पुराने तरीके की तरह 5000 डालें, तो 50 डॉलर नहीं बल्कि 5000 डॉलर भेजे जाएंगे। मैं ऐसे एक व्यक्ति को जानता हूँ जिसने सच में बहुत ज़्यादा पैसे भेज दिए, और मुझे शक है कि इसकी वजह यही UX बदलाव था
    सोच-समझकर किया गया design महत्वपूर्ण है

    • अंग्रेज़ी में USD की बात करते हुए, वह भी software के संदर्भ में, decimal separator को “comma” कहना मेरे दिमाग को काफ़ी झकझोर गया। आखिरकार मुझे decimal separator का Wikipedia लेख तक पढ़ना पड़ा, और उसका जो हिस्सा मुझे सबसे पसंद आया वह यह था
      Unicode apostrophe जैसा दिखने वाला decimal separator key symbol (⎖, hexadecimal U+2396, decimal 9110) define करता है। यह symbol ISO/IEC 9995 से आया है, और keyboard पर decimal separation करने वाली key को दिखाने के लिए है
    • cents में price input करना retail में हमेशा से किया जाता रहा तरीका था, उस दौर से जब POS terminals सीधे cash register से जुड़े नहीं होते थे और कर्मचारी रकम खुद दर्ज करते थे। फिर भी अगर अमेरिकी शैली के design को अचानक बदल दिया जाए, तो इधर-उधर बहुत सारी गलतियाँ होना तय है
    • हैरानी की बात है कि Bank of America इसे सही तरीके से handle करता है। बड़े wire transfer के लिए credentials दोबारा दर्ज करना अनिवार्य है
    • जब PayPal ने default को balance currency के बजाय user की local currency पर बदल दिया था, तब मैंने भी इसी तरह बहुत कम रकम भेजने की गलती की थी
  • सोचता हूँ कि क्या Tesla कभी ऐसी स्थिति के कारण अदालत में खड़ी होगी
    मैं Autopilot की बात नहीं कर रहा, बल्कि कारों में physical controls को लगातार, और अब तो बेतुके स्तर तक, हटाने की बात कर रहा हूँ
    उदाहरण के लिए शुरुआती Model S/X में turn signals, gear shift, wipers, Autopilot, steering wheel tilt जैसी कई functions के लिए dedicated controls थे। steering wheel के दोनों तरफ दो buttons और एक-एक scroll wheel था, और horn के लिए steering wheel के बीच में दबाना होता था। दरवाज़ों पर mirror adjustment, windows और locks थे
    दुर्भाग्य से front और rear defrost जैसे कुछ महत्वपूर्ण controls touchscreen पर थे, और climate control तथा अन्य miscellaneous functions के लिए कई बार tap करना पड़ता था, या touch area छोटा था, या दोनों बातें थीं
    सब कुछ खराब नहीं था। miles/kilometers जैसी detailed लेकिन non-critical settings touchscreen पर रखने के लिए बिल्कुल ठीक हैं। लेकिन dedicated controls और चाहिए थे
    Model 3 आने के साथ controls हटाने की शुरुआत हुई। केवल दो levers हैं, और turn signal lever कुछ हद तक headlights और wipers को भी संभालता है, जबकि shift lever Autopilot के साथ overlap करता है। बिना buttons वाले दो scroll wheels को बाएँ-दाएँ धकेलना पड़ता है
    बाकी सारे controls touchscreen पर हैं। महत्वपूर्ण चीज़ों के लिए सच में dedicated controls चाहिए होते हैं
    बाद में updated Model S/X में हालत और खराब है। levers बिल्कुल नहीं हैं। turn signals, high beams, horn, wipers—सब steering wheel के touch areas हैं, और scroll wheels context के हिसाब से अलग-अलग functions करते हैं
    gear shift भी नहीं है, और car अनुमान लगाती है कि driver किस दिशा में जाना चाहता है। parking में डालने जैसे और भी functions touchscreen से होकर जाते हैं। center console में touch-based drive selector भी है, लेकिन उसे चुनने के लिए नीचे देखना, touch करके wake करना, फिर select करना पड़ता है
    यह पूरी तरह गड़बड़ है, और driving को बदतर बनाता है

    • इससे जुड़ी एक accident story है
      कभी-कभी किसी अज्ञात वजह से car drive/reverse में जाने से मना कर देती है
      Tesla पहली बार खरीदने के कुछ ही समय बाद, मैं driveway में घुसने के लिए 3-point turn कर रहा था। थोड़ा आगे बढ़ने के बाद रुका, steering घुमाई, lever दबाकर reverse में डाला, accelerator pedal दबाया, लेकिन car आगे बढ़ गई और एक पुरानी car का door dent कर दिया। screen पर icon के अलावा कोई indication नहीं था कि car ने reverse command अस्वीकार कर दी थी
      अब Tesla ने update जारी किया है जिससे drive/reverse में बदलते समय sound आता है, और जब car command reject करती है तो अलग sound आता है। यह काफ़ी बेहतर है, लेकिन फिर भी खासकर अभी-अभी car में बैठने पर drive/reverse में डालने के command को काफी बार reject करती है, जो परेशान करता है। अब मेरी आदत हो गई है कि बैठते ही gear lever 4–5 बार दबाता हूँ
    • मुझे याद है कि Germany में इस मुद्दे पर वह पहले ही मुश्किल में पड़ चुकी थी। कुछ controls को कानूनन तय तरीके से होना था, लेकिन Tesla ने इसे ignore किया
      हाल ही में मैंने नई car खरीदी, और मेरे लिए controls layout खरीदने या न खरीदने का निर्णायक criterion था। बहुत सारे manufacturers touchscreen trend पर चढ़ गए हैं
      Android Auto जैसे कुछ uses के लिए यह ठीक है, लेकिन हर चीज़ हमेशा touchscreen से करना Star Trek में भी मूर्खता था और असलियत में भी मूर्खता है। lights, wipers, climate control जैसे functions के लिए physical controls जरूरी हैं
    • पिछली सर्दियों तक मुझे नहीं पता था कि wipers कितने महत्वपूर्ण हैं। मैं highway speed पर two-lane road पर curve में दाखिल हो रहा था, और पिछले दिन हल्की snow हुई थी इसलिए road पिघलकर wet और muddy थी
      सामने वाली lane में एक truck शायद puddle पर चढ़ गया, और muddy water एकदम से windshield पर बड़े पैमाने पर छिटक गया; आगे curve था इसलिए देखना जरूरी था कि कहाँ जा रहा हूँ
      wiper की जगह खोजने के लिए मेरे पास लगभग 1 second ही था, और वह car मेरी नहीं थी। अगर न मिलते, तो मैं road से बाहर चला जाता या सामने वाली lane में घुस जाता। यह touchscreen पर wiper button जल्दी-जल्दी खोजने का समय नहीं होता
    • बिल्कुल सही बात है
      मैंने जानबूझकर Tesla नहीं खरीदी, क्योंकि मैं toy नहीं बल्कि car चलाना चाहता था
      touch interfaces पूरी तरह खराब नहीं होते, लेकिन जहाँ बहुत ध्यान चाहिए और input dynamically बदलता है, वहाँ वे आपदा बन जाते हैं
  • लगातार दो दिनों तक Mastodon threads HN के front page पर आए। मुझे नहीं पता Twitter thread आखिरी बार कब इस तरह आया था, और यह भी सोचता हूँ कि क्या अब भी कोई ऐसा है जिसे शक न हो कि Twitter अब technical conversation का center नहीं रहा

    • हाल के OpenAI से जुड़े incidents में से यहाँ आए काफ़ी links Twitter के थे, और मैंने कई लोगों को इसी आधार पर कहते देखा कि Twitter अभी भी center है
    • एक फर्क यह है कि Twitter अब logged-in नहीं users को threads नहीं दिखाता, जबकि Mastodon दिखाता है। अगर वही thread दोनों sites पर posted हो, तो Mastodon वाले को link करना बेहतर होगा
    • पिछले 10 दिनों में https://news.ycombinator.com/front के हिसाब से देखें तो आज 1, 5 दिन पहले 1, 7 दिन पहले 3, और 9 दिन पहले 2 थे
    • login barrier या nitter जैसी चीज़ों से गुज़रे बिना पूरी conversation देख पाना अच्छा है
    • अभी जो हो रहा है वह confirmation bias का अच्छा उदाहरण है
  • सोच रहा हूँ कि उस समय की आम air traffic control technology की तुलना में यह कैसा था। क्या ATC वाली तरफ चीज़ें बेहतर थीं? बेशक उस दौर में भी ATC की वजह से हुई आपदाएँ बहुत थीं

  • पहले मुझे लगा कि यह flat design के बारे में कोई लेख है, फिर पूरा toot पढ़ा। कौन सोच सकता था कि जिंदगी-मौत वाले ऑपरेशन में UI इतना खराब हो सकता है
    अच्छा होगा अगर कोई उस उलझाऊ UI के बारे में और विस्तार से पोस्ट करे जिसने असल में इस घटना को जन्म दिया। हममें से ज्यादातर लोगों के लिए यह अच्छी सीख होगी
    लगता है Lockheed ने 2023 में इस system से जुड़ा contract भी जीता था [1]। अगर किसी को पता हो कि हाल में सचमुच UI problem ठीक की गई है या नहीं, तो साझा करे
    1 - https://news.clearancejobs.com/2023/03/13/lockheed-martin-wi...

    • और जानकारी पोस्ट किए गए thread में है
      मूल रूप से, पता नहीं क्यों, direction और position एक विमान से, identification info दूसरे विमान से, और altitude किसी तीसरे विमान से आ रही थी
    • सिर्फ title देखकर मुझे लगा था कि यह Chrome के नए sidebar की बात है
  • Admiral Cloudberg ने इस हादसे और user interface behavior समेत इसे विस्तार से कवर करते हुए एक लेख लिखा है:
    https://admiralcloudberg.medium.com/the-long-shadow-of-war-t...
    इस घटना की कई व्याख्याएँ पढ़ने पर यह impression बचता है कि मामला सिर्फ user interface problem का नहीं था