บทที่ 5 “To Err is Human” ถือเป็นบทที่ยาวมากๆ และจับประเด็นสำคัญที่หนังสือเล่มนี้ยกขึ้นมาตั้งแต่แรกสุด นั่นคือคำถามที่ว่า “ทำไมคนเราจึงผิดพลาดบ่อยๆ” นั่นเอง
มุมมองของหนังสือเล่มนี้คือคนเราทำผิดพลาดเสมอเป็นเรื่องปกติ ดูง่ายๆ จากแค่เวลาเราคุยกัน เราก็มักจะพบทั้งการหยุดคิด การพูดผิด พูดซ้ำ ติดอ่าง อ้ำอึ้ง ฯลฯ เป็นประจำอยู่แล้ว เพียงแต่ธรรมชาติของภาษาพูดของมนุษย์มีวิธีการแก้ปัญหาเหล่านี้ในตัวเอง ทำให้เราแทบไม่รู้สึกผิดปกติอะไร
แต่เครื่องยนต์กลไกที่มนุษย์ประดิษฐ์ขึ้นไม่มีระบบแก้ไขแบบนี้ ดังนั้นถ้ามีความผิดพลาดในระบบ ความฉิบหายก็มาเยือน
ผู้เขียน Dornald Norman แบ่งความผิดพลาดเป็น 2 ชนิด
เราเจอ slip ได้บ่อยมากในชีวิตประจำวัน ส่วนใหญ่มักอยู่ในรูปว่า ตั้งใจจะทำอะไรสักอย่าง แต่สุดท้ายไปทำอีกอย่าง
เราไม่ค่อยเจอ slip ในช่วงที่กำลังฝึกฝนทักษะ แต่มักจะเจอในพฤติกรรมที่เราทำจนชินแล้ว (ซึ่งแปลว่า slip เกิดจากการที่ชิน เลยไม่ตั้งใจ ไม่สนใจนั่นเอง) โดยปกติแล้วคนเรามักจะทำอะไรได้ทีละอย่าง แต่ในชีวิตจริง มันก็มีเคสที่เราทำได้หลายอย่างพร้อมๆ กันด้วย เช่น เดินไปคุยไป ขับรถไปคุยไป (ของผมขับรถไปอ่านการ์ตูนไป แต่ไม่ควรเลียนแบบ) สาเหตุที่ทำได้ก็เพราะว่าการกระทำส่วนใหญ่ เราทำไปอย่างอัตโนมัติด้วยจิตใต้สำนึก ซึ่งไม่จำเป็นต้องแบ่งสมาธิมาสนใจ (อย่างเคส เดินไปคุยไป - การเดินเราก็ทำโดยอัตโนมัติ แล้วไปสนใจกับเรื่องที่คุย)
slip เองก็มีหลายชนิดย่อยๆ ดังนี้
capture errors - คิดอย่างทำอย่าง เช่น วันหยุดตั้งใจขับรถไปซื้อของ แต่ไปโผล่ที่ทำงานแทน เป็นต้น เกิดจากการกระทำ 2 อย่างมีลักษณะใกล้เคียงกัน มีจุดเริ่มต้นเหมือนกัน (initial stages in common) แต่อย่างหนึ่งเราทำประจำ (ขับรถไปทำงาน) ส่วนอีกอย่างไม่ได้ทำประจำ (ขับรถไปซื้อของ) มันจึงอาจสลับกันได้ถ้าไม่ตั้งใจพอ
description errors - เกิดจากการกระทำอย่างที่ต้องการ คล้ายกับการกระทำแบบอื่นๆ มาก ถ้าเราไม่ระบุเป้าหมายให้ชัดเจน การกระทำนั้นอาจแปรผันกลางทางไปเป็นอย่างอื่นได้ เช่น จะปาเสื้อใช้แล้วลงตะกร้า แต่ปาลงถังขยะแทน เป็นต้น จะเกิดได้ง่ายขึ้นอีกถ้าตะกร้ากับถังขยะวางติดกัน หรือลักษณะคล้ายกัน
assosiative activation errors - ตัวอย่างเช่น นั่งทำงานอยู่ในห้อง โทรศัพท์ดัง แต่เรากลับตะโกนว่า “เชิญครับ” ตัวอย่างนี้คือมีการกระทำบางอย่างซึ่งจะเกิดเมื่อมี trigger ภายนอก (เสียงโทรศัพท์/เสียงเคาะประตู) เมื่อ trigger ใกล้เคียงกัน ก็อาจทำให้เกิดความผิดพลาดได้
loss-of-activation errors กรณีนี้เกิดบ่อย คือเรามักลืมว่าเราตั้งใจจะทำอะไร (ทำ goal หายกลางทาง)
mode errors สำหรับอุปกรณ์ที่มี mode เช่น พวกนาฬิกาข้อมือ (หรือถ้าเป็นโปรแกรมก็ vim) เราก็อาจสับสนว่าปัจจุบันอยู่ใน mode อะไร และทำพลาดได้
การตรวจหา slip
slip นั้นตรวจจับได้ง่าย เพราะมีเส้นแบ่งชัดเจนระหว่างเป้าหมายตั้งต้น กับผลลัพธ์สุดท้ายที่เกิดขึ้นจริง เพียงแต่การตรวจจับจะมีประสิทธิภาพนั้น การกระทำต้องมี feedback กลับให้เห็น
สิ่งสำคัญในการหา slip คือต้องรู้ว่าความผิดพลากเกิดขึ้นที่ระดับไหน ตัวอย่างคือสมมติว่าเราเดินไปที่รถแล้วไขกุญแจไม่ได้ การตรวจหา slip ในระดับต่างๆ มีดังนี้ (ไม่จำเป็นต้องเรียงตามนี้)
จะเห็นว่าปัญหาเกิดได้หลายระดับ ทั้งการไขกุญแจ, สภาพของล็อก, … ไปจนถึงว่ารถที่ไขนั้นเป็นรถที่ถูกต้องหรือไม่
การออกแบบโดยคำนึงถึง slip
หลักการออกแบบสำหรับ slip มีสองอย่างใหญ่ๆ คือ ป้องกันไม่ให้เกิด slip และตรวจหา slip แล้วหาวิธีแก้ไข
ตัวอย่างของการป้องกัน slip คือกระโปรงหน้ารถยนต์ ซึ่งมีช่องให้ใส่น้ำมัน+น้ำได้หลายชนิด ถ้าใส่ผิดช่องก็อาจทำให้รถเสียได้ การออกแบบคือทำให้อุปกรณ์ต่างๆ หน้าตาดูไม่เหมือนกัน และใส่สีที่ต่างกันลงในน้ำมันต่างชนิดกัน เป็นต้น
สำหรับการป้องกัน slip ในคอมพิวเตอร์ ก็คือ dialog ที่ถามซ้ำอีกครั้งเวลาเราสั่งลบไฟล์ เพียงแต่วิธีนี้ไม่ค่อยจะมีประสิทธิภาพมากนัก เพราะว่าการถามนี้เป็นการยืนยันการกระทำ (action) ไม่ใช่ชื่อไฟล์ ซึ่งผู้ใช้นั้นตั้งใจกระทำอยู่แล้ว (ลบไฟล์) ผู้ใช้จึงมักจะตอบ yes เสมอ จนกว่าจะนึกได้ว่าลบไปผิดไฟล์ ดังนั้นวิธีที่เหมาะสมก็คือระบบ Recycle Bin ที่ให้ผู้ใช้มีโอกาสแก้ตัวได้ใหม่ (ย้อนการกระทำ) นั่นเอง
สำหรับ mistake ค่อนข้างยาว เอาไว้ตอนหน้า
เปรียบกะ vi นี่เห็นภาพชัดดี แล้วก็ พวกคุยแล้วหลงประเด็นนี่เจอโคตรบ่อย ทุกวันนี้ก็ยังเจออยู่บ่อยๆ