सारांश: 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 टिप्पणियां
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 हैं
stakes थोड़े कम घातक हैं, लेकिन फिर भी महत्वपूर्ण हैं
इस दुर्घटना पर एक और अच्छा लेख शानदार 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 ने कहा था; शायद यह किस्मत के आगे एक निराशावादी स्वीकारोक्ति थी
मशहूर अपवाद 737 MAX का MCAS है, जिसमें documentation और training की कमी थी, और मेरी जानकारी में 777 या 787 जैसे अधिक हालिया Boeing fly-by-wire हैं, इसलिए auto trim करते हैं
stabilizer पर excessive air loads होने पर गलत trim को ठीक करने के लिए दोनों pilots की ताकत लग सकती है, और extreme स्थिति में manual trim संभव करने के लिए aerodynamic load घटाना भी पड़ सकता है
अच्छा है कि Airbus आगे force-feedback sidesticks लगाने की सोच रहा है
[0] https://news.ycombinator.com/item?id=37089363
HN पर कारों के touchscreen की कितनी आलोचना होती है, यह सोचें तो यह भी देखने लायक है कि पुराने analog controls को software touchscreen UI से बदलने ने USS John S. McCain की टक्कर में आंशिक रूप से कैसे योगदान दिया: https://features.propublica.org/navy-uss-mccain-crash/navy-i...
हैरानी होती है कि सैकड़ों अरब डॉलर के जहाज पर बड़े लाल 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 शुरू करने के जोखिम जितना गंभीर नहीं है
साथ ही 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 भेजकर हमला कर सकता है
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...
अगर Stark का response system सही से काम करता, तो missiles शायद गिरा दी जातीं, लेकिन ऐसा नहीं हुआ और 37 Americans मारे गए
उस context में Iranian aircraft को गंभीर threat मानना अजीब नहीं है
मुझे याद है कि उस समय भी, शायद खासकर उस समय, यह बड़ी चिंता थी
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 महत्वपूर्ण है
Unicode apostrophe जैसा दिखने वाला decimal separator key symbol (⎖, hexadecimal U+2396, decimal 9110) define करता है। यह symbol ISO/IEC 9995 से आया है, और keyboard पर decimal separation करने वाली key को दिखाने के लिए है
सोचता हूँ कि क्या 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 को बदतर बनाता है
कभी-कभी किसी अज्ञात वजह से 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 बार दबाता हूँ
हाल ही में मैंने नई car खरीदी, और मेरे लिए controls layout खरीदने या न खरीदने का निर्णायक criterion था। बहुत सारे manufacturers touchscreen trend पर चढ़ गए हैं
Android Auto जैसे कुछ uses के लिए यह ठीक है, लेकिन हर चीज़ हमेशा touchscreen से करना Star Trek में भी मूर्खता था और असलियत में भी मूर्खता है। lights, wipers, climate control जैसे functions के लिए physical controls जरूरी हैं
सामने वाली 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 नहीं रहा
सोच रहा हूँ कि उस समय की आम 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...
मूल रूप से, पता नहीं क्यों, direction और position एक विमान से, identification info दूसरे विमान से, और altitude किसी तीसरे विमान से आ रही थी
Admiral Cloudberg ने इस हादसे और user interface behavior समेत इसे विस्तार से कवर करते हुए एक लेख लिखा है:
https://admiralcloudberg.medium.com/the-long-shadow-of-war-t...
इस घटना की कई व्याख्याएँ पढ़ने पर यह impression बचता है कि मामला सिर्फ user interface problem का नहीं था