การออกแบบซอฟต์แวร์ที่แย่ทำให้เรือรบชนกันได้
(imseongkang.wordpress.com)เมื่อวันที่ 21 สิงหาคม 2017 เรือพิฆาตติดตั้งระบบ Aegis ของกองทัพเรือสหรัฐฯ USS John S. McCain (DDG-56) ขนาดระวางขับน้ำ 9,000 ตัน ชนกับเรือบรรทุกน้ำมัน Alnic MC ขนาดบรรทุก 30,000 ตันในช่องแคบมะละกาใกล้สิงคโปร์ ทำให้ลูกเรือเสียชีวิต 10 นายและบาดเจ็บ 5 นาย อุบัติเหตุครั้งนี้เกิดขึ้นจากความล่าช้าประมาณ 3 นาทีในกระบวนการส่งมอบอำนาจการควบคุมเรือ USS John S. McCain บนเส้นทางเดินเรือที่พลุกพล่าน หลังเกิดเหตุ พล.ท. Joseph P. Aucoin ผู้บัญชาการกองเรือที่ 7 ของกองทัพเรือสหรัฐฯ ซึ่งเรือลำนี้สังกัดอยู่ ถูกปลดจากตำแหน่งทันที
รายงานของ NTSB สหรัฐฯ (คณะกรรมการความปลอดภัยการขนส่งแห่งชาติ) ซึ่งสอบสวนอุบัติเหตุครั้งนี้ ระบุสาเหตุไว้หลายประการ และหนึ่งในนั้นคือการออกแบบที่ไม่เหมาะสมของ IBNS (Integrated Bridge and Navigation System) ซึ่งติดตั้งบน USS John S. McCain ก่อนเกิดเหตุ 1 ปี ในกระบวนการปรับปรุงเรือรบให้ทันสมัย ได้มีการเปลี่ยนอินเทอร์เฟซสำหรับควบคุมการบังคับเลี้ยวและระบบขับเคลื่อนของเรือให้เป็นซอฟต์แวร์แบบหน้าจอสัมผัส แต่ UI โดยรวมของอินเทอร์เฟซนี้ออกแบบได้ไม่เหมาะสม ทำให้ความซับซ้อนเพิ่มขึ้นมาก จนกลายเป็นสภาพแวดล้อมที่มนุษย์ทำผิดพลาดได้ง่ายและยากจะสังเกตเห็นความผิดพลาดในทันที ซึ่งมีส่วนทำให้เกิดอุบัติเหตุ ด้วยเหตุนี้ กองทัพเรือสหรัฐฯ จึงตัดสินใจยกเลิกอินเทอร์เฟซควบคุมแบบหน้าจอสัมผัส และกลับไปใช้ชุดควบคุมเชิงกลแบบดั้งเดิมอีกครั้ง
เมื่อมองเผินๆ อาจคิดได้ว่าแค่การเลือกใช้หน้าจอสัมผัสคือความผิดพลาด แต่ในความเป็นจริง ปัญหารากฐานคือความซับซ้อนที่เพิ่มขึ้นจาก UI ที่ออกแบบผิดพลาด ในเรื่องนี้ หนังสือ [Meltdown: Why Our Systems Fail and What We Can Do About It](คริส คลีร์ฟิลด์·อันดราส ทิลชิค, 2019) อธิบายผ่านหลายกรณีศึกษาไว้อย่างชัดเจนว่า ความซับซ้อนหรือระดับการยึดโยงกันของระบบที่สูงขึ้นนั้นอันตรายเพียงใด บทความที่ลิงก์ไว้ได้อธิบายอย่างละเอียด โดยเน้นไปที่การออกแบบส่วนติดต่อผู้ใช้ของ IBNS ที่กล่าวถึงข้างต้น ว่าส่วนใดบ้างที่ไม่ดี (ภาษาเกาหลี)
5 ความคิดเห็น
ความล้มเหลวของ UI/UX ยุคใหม่ก่อให้เกิดความย้อนแย้งที่ทำให้เราต้องกลับไปใช้อินเทอร์เฟซแบบเก่า
ในหนังสือ [Meltdown] ที่กล่าวถึงข้างต้น ยังมีกรณีโศกนาฏกรรมที่เกิดจากปัญหาเกี่ยวกับ UI/UX รวมอยู่ด้วย ตัวอย่างเช่น [อุบัติเหตุ Air France เที่ยวบิน 447 ตกในมหาสมุทรแอตแลนติก] เมื่อปี 2009 เป็นอุบัติเหตุที่เกิดขึ้นเพราะนักบินผู้ช่วยซึ่งมีประสบการณ์น้อยเกิดตื่นตระหนกเมื่อเผชิญสถานการณ์ฉุกเฉินและยังคงดึงคันบังคับอยู่ตลอดเวลา และในบรรดาปัจจัยที่มีส่วนทำให้อุบัติเหตุเกิดขึ้น ยังมีเรื่องที่นักบินซึ่งรับรู้ถึงวิกฤตได้เข้าควบคุมคันบังคับด้วยตนเอง แต่กลับสังเกตช้าเกินไปว่านักบินผู้ช่วยยังคงดึงคันบังคับอยู่ แม้จะมีสัญญาณเตือนว่ามีการป้อนคำสั่งที่แตกต่างกันจากคันบังคับของกัปตันและนักบินผู้ช่วยดังขึ้น แต่ตอนนั้นก็มีสัญญาณเตือนหลายอย่างดังพร้อมกันอยู่แล้ว กว่าจะทันสังเกตเห็นจุดนั้นก็สายเกินไปเสียแล้ว
อุบัติเหตุ Air France เที่ยวบิน 447 ตกในมหาสมุทรแอตแลนติก :
https://rhfvm1111.blog.me/220275551718
แม้จะไม่ใช่กรณีที่อยู่ในหนังสือเล่มดังกล่าว แต่ก็ยังมีอีกหลายกรณีที่อินเทอร์เฟซการควบคุมหรือซอฟต์แวร์ที่ออกแบบผิดพลาดก่อให้เกิดอุบัติเหตุ แม้เฉพาะในแวดวงการบินแบบที่กล่าวถึงข้างต้นก็มีอยู่หลายตัวอย่าง ตัวอย่างเช่น [อุบัติเหตุ China Airlines เที่ยวบิน 140 ตกที่สนามบินนาโกย่า] เมื่อปี 1994 เกิดโศกนาฏกรรมครั้งใหญ่จากการที่นักบินควบคุมคันโยกที่เผลอไปโดนได้ง่ายผิดพลาด ประกอบกับไม่ได้อัปเดตซอฟต์แวร์อัตโนมัติควบคุมการบินที่มีบั๊กร้ายแรง ส่วนในกรณีของเครื่องบินโบอิ้ง 737 MAX ซึ่งกลายเป็นประเด็นหลังจากเกิด [อุบัติเหตุ Lion Air เที่ยวบิน 610 ตก] และ [อุบัติเหตุ Ethiopian Airlines เที่ยวบิน 302 ตก] ติดต่อกันเมื่อไม่นานมานี้ สาเหตุหลักของอุบัติเหตุก็คือ SPOF (จุดล้มเหลวเพียงจุดเดียว) ที่เกิดขึ้นจากซอฟต์แวร์อัตโนมัติควบคุมการบิน เครื่องบินโบอิ้ง 737 MAX ได้เพิ่มฟังก์ชันในซอฟต์แวร์อัตโนมัติควบคุมการบินที่ในบางสถานการณ์จะปรับแพนหางระดับโดยไม่ขึ้นกับเจตนาของนักบินโดยไม่มีการอธิบายอย่างเพียงพอ แต่ฟังก์ชันนี้กลับใช้ค่าจากเซ็นเซอร์เพียงตัวเดียวจากทั้งหมด 2 ตัวที่ติดตั้งอยู่บนเครื่อง ดังนั้นเมื่อเซ็นเซอร์ตัวนั้นขัดข้อง ทิศทางการบินจึงถูกบังคับตรึงไปในทางที่จะทำให้เครื่องตก และสุดท้ายก็นำไปสู่การตกจริง ยิ่งไปกว่านั้น แม้เดิมจะมีฟังก์ชันเตือนเมื่อเซ็นเซอร์ทั้งสองตัวชี้ค่าต่างกันติดตั้งมาอยู่แล้ว แต่ Boeing กลับเปลี่ยนมันให้กลายเป็นออปชันเสริมเพื่อขายเพิ่ม ทำให้นักบินไม่สามารถได้รับคำเตือนที่เหมาะสม
อุบัติเหตุ China Airlines เที่ยวบิน 140 ตกที่สนามบินนาโกย่า :
https://rhfvm1111.blog.me/220226606257
ข้อบกพร่องของโบอิ้ง 737 MAX :
https://namu.wiki/w/%EB%B3%B4%EC%9E%89%20737%20MAX/%EA%B2%B0%ED%95%A8
อีกกรณีตัวอย่างที่เป็นที่รู้จักซึ่งปัญหาของส่วนติดต่อผู้ใช้ผนวกกับความผิดพลาดของมนุษย์ ก็คือเหตุการณ์ในปี 1988 ที่เรือลาดตระเวนติดตั้งระบบ Aegis ของกองทัพเรือสหรัฐ USS Vincennes (CG-49) เข้าใจผิดว่าเครื่องบินโดยสารของอิหร่านเป็นเครื่องบินขับไล่และยิงตก พอเห็นสถานการณ์ที่ความตึงเครียดระหว่างสหรัฐกับอิหร่านกลับมาทวีความรุนแรงอีกครั้งก็เลยนึกขึ้นมาได้
เหตุการณ์ USS Vincennes ยิงเที่ยวบิน 655 ของ Iran Air ตก:
https://namu.wiki/w/…
เป็นกรณีตัวอย่างที่น่าเศร้าหลายครั้งเลยนะครับ/ค่ะ ดูเหมือนว่าในสาขาที่มีชีวิตคนเป็นเดิมพัน ความน่าเชื่อถือและความใช้งานที่เข้าใจได้โดยสัญชาตญาณจะสำคัญเหนือสิ่งอื่นใด
แม้แต่การปรับปรุง UI/UX ในงานลักษณะนี้ก็ควรให้ความสำคัญกับประเด็นนี้มากกว่าความสวยงามหรือความสะดวกสบายด้วยเช่นกัน
เมื่อไม่นานมานี้มีวิดีโอจำลองเหตุการณ์เครื่องบินไชน่าแอร์ไลน์ เที่ยวบิน 140 ตกที่สนามบินนาโกย่าเผยแพร่ออกมา โดยมีการจำลองให้เห็นว่าปัจจัยหลายอย่างซ้อนทับกัน ทั้งอินเทอร์เฟซการควบคุมที่ทำให้ใช้งานพลาดได้ง่าย อุปกรณ์ความปลอดภัยที่มีข้อบกพร่อง การเพิกเฉยล่าช้าของสายการบินที่ไม่แก้ไขข้อบกพร่องให้ทันเวลา และการที่นักบินไม่เข้าใจระบบอัตโนมัติอย่างถูกต้อง จนนำไปสู่โศกนาฏกรรมครั้งใหญ่ภายในเวลาไม่ถึง 2 นาทีหลังจากเริ่มทำพลาด
https://www.youtube.com/watch?v=IN4Y7dWXY1s