มารู้จัก Usability Heuristic สำคัญอย่างไร แล้วทำไมถึงสามารถนำตัว Heuristic มาวัดหรือช่วยเราครอบคลุมเคส Error ของงาน User Interface Design ได้ใน Episode นี้เราจะพาทุกคนมาทำความรู้จัก Heuristic กัน
โดย Pitchaya Tangtanawirut
“To Understand UX , you need to understand people”
Usability Heuristic คืออะไร ?
แนวคิดนี้คิดค้นโดย Jakob Nielsen ผู้เชี่ยวชาญด้าน Usability เพื่อเป็นแนวทางในการวัดเพื่อให้เราเช็คเบื้องต้นว่าแอพหรือเว็บไซต์ของเราใช้งานได้ครบถ้วนหรือไม่
โดยทั่วไปแล้วการวัดว่า UI ของเราใช้ได้ หรือ ตอบโจทย์หรือไม่นั้น อาจจะไม่ต้องไป Test กับ User แต่ในระหว่างการลงงานออกแบบสามารถวัดได้โดยการใช้เกณท์ Usability Heuristic ทั้งหมด 10 องค์ประกอบดังต่อไปนี้
มีกี่องค์ประกอบ ?
1.Visibility of Systems Status (การมองเห็นของสถานะ)
ในข้อแรก การบอก หรือ แจ้งให้ทราบถึงสถานะของผู้ใช้งานนั้นถือเป็นสิ่งสำคัญในด้านการใช้งาน ซึ่งข้อนี้นั้นสามารถนำไปปรับใช้ได้กับแอพสำหรับทุกหมวดหมู่
ไม่ว่าจะเป็น Social Media / Food Delivery / หรือแม้กระทั่ง Application อย่าง Google Map เองก็ยังมีแผนที่บอกสถานะให้รู้ว่าตอนนี้อยู่ที่ไหนแล้ว
ยกตัวอย่างเช่น เราออกแบบแอพสั่งอาหาร มันก็อาจจะแปลก ๆ หรือ ดูเหมือนขาดอะไรไปใช่ไหมล่ะ ถ้าเกิดเราไม่เตือนสถานะการขนส่งให้เขารู้
แต่ …. ไม่ใช่ทุกอย่างที่เราจำเป็นต้องบอกให้ลูกค้าหรือผู้ใช้รู้นะ อย่างเช่นถ้าเป็นข้อมูลที่ส่วนตัวมากเกินก็ไม่ควรนำมาโชว์เหมือนกัน
ยกตัวอย่างเช่น อายุ หรือ ข้อมูลเลขบัญชีต่าง ๆ ทั้งมหดนี้เป็นข้อมูลส่วนตัว เพราะฉะนั้นในข้อนี้ควรโชว์สถานะอย่าง “เหมาะสม” และ “เท่าที่จำเป็น” ต้องแสดงให้เห็นจึงจะส่งผลบวกต่อประสบการณ์ของผู้ใช้งาน
2.Match between systems and real world (การเชื่อมโยงระหว่างระบบและโลกแห่งความเป็นจริง)
ถึงจะเป็นการออกแบบ Online Platform แต่ในบางกรณีอาจจะต้องมีซิงค์หรือทำงานร่วมกับโลกแห่งความเป็นจริง
ไม่ว่าจะเป็นภาษา การทำงาน และข้อมูลต่าง ๆ สอดคล้องต่อความเป็นจริงมากน้อยแค่ไหน
ในส่วนของภาษาหากเราใช้คำที่ทื่อหรือแข็งเหมือนหุ่นยนต์มากเกินไป ทำให้ประสบการณ์โดยรวมไม่เป็นธรรมชาติเอาเสียเลย
และในส่วนของการทำงานต่าง ๆ ไม่ควรที่จะแตกต่างหรือแปลกแยกจากความเป็นจริงมาก อย่างเช่น แอพพลิเคชั่นสำหรับรถยนต์ EV ควรที่จะใช้ชื่อเรียกที่เหมือน ๆ กัน กับในแอพที่เราออกแบบเพื่อลดความสับสนระหว่างการใช้ภาษาและการใช้งาน
3.User Control and Freedom (เป็นอิสระในการควบคุมของผู้ใช้งาน)
ในข้อนี้ แอดถือว่าเป็นข้อสำคัญมาก ๆ ต่อการออกแบบดีไซน์ ข้อนี้จะเป็นประโยชน์มาก ๆ ที่จะช่วยให้เราเก็บเคส หรือ สถานการณ์การใช้งานได้ครบถ้วนไปถึงการแก้ไขข้อมูลต่าง ๆ
และมีอะไรที่ทำให้ผู้ใช้งานรู้สึกมีอิสระในการใช้งานบ้าง เพื่อไม่ให้เกิดประสบการณ์ที่อึกอัดจนทำให้เขาออกจากแอพของเราไป
สมมติว่าเราได้มีโอกาสออกแบบแอพแลกเปลี่ยนหนังสือสำหรับผู้สูงวัย
ในข้อนี้เราต้องเริ่มคิดแล้วว่า เอ้ะ ผู้ใช้งานจะอยากแก้อะไรทีหลังไหมนะ เช่น ปล่อยหนังสือออกไปแล้ว แต่เขียนราคาผิด เราควรให้เขาแก้ได้รึเปล่า และ สามารถให้อิสระในการสร้างหมวดหมู่ของหนังสือเพิ่มเติมได้ไหม ในกรณีที่หนังสือบนโลกนี้มีความหลากหลายมาก
4.Consistency and Standards (การคงมาตรฐานและความสม่ำเสมอ)
การออกแบบให้ผู้ใช้งานมีประสบการณ์ที่ดี ไม่ควรมีอะไรมาขัดขวางผู้ใช้งานของเรามาก
การคุมและตาม Design Systems หรือมาตรฐานต่าง ๆ ที่เรามีนั้นก็สำคัญ
ให้ลองจินตนาการว่าเราใช้งานแอพหนึ่งเป็นสีเขียวและฟอนต์นี้มาตลอด แล้วจู่ ๆ ตอน Pop-up ก็มีขึ้นมาเป็นฟอนต์คนละอย่าง และเป็นสีเหลืองเข้ม ซึ่งมันต่างจาก Design Systems มาก
ทำให้ผู้ใช้งานรู้สึกสับสนและงงต่อประสบการณ์การใช้งานด้วย
5.Error Prevention (การป้องกันความผิดพลาด)
ข้อนี้จะทำให้เราคิดถี่ถ้วนไปถึงการป้องกันความผิดพลาดในการใช้งาน
เพราะใคร ๆ ก็ไม่อยากให้ความปิดพลาดเกินขึ้นใช่ไหมล่ะ นักออกแบบอย่างเราก็ควรป้องกันสถานการณ์นี้ไว้ล่วงหน้าด้วย
อย่างเคสที่พบเจอบ่อยจะเป็นจำพวก การกรอก Password เราอาจจะเคยเห็นกันเยอะว่า Password ควรมีกี่ตัว มี Captial Letter กี่ตัว หรือเลขกี่ตัว
นั่นแล่ะถือว่าเป็นการช่วยให้ User สร้าง Password ที่ตรงกับฐานข้อมูลหลังบ้านที่เรามีมากขึ้น และสามารถลดแรงที่ต้องมาแก้ทีหลังได้ด้วย
6.Recognition rather than recall (ใช้ความจำมากกว่าการทำให้ผู้ใช้งานต้องนั่งนึกคิด)
มาข้อนี้ อาจจะนึกภาพตามในเรื่องของการใช้ไอค่อนหรือสัญลักษณ์ต่าง ๆ
เช่น ตระกร้าใส่สินค้า ถ้าเราใช้สัญลักษณ์เป็นกระเป๋า หรือ อันอื่น แทน ตระกร้าหรือรถเข็นที่ใส่ของ ก็อาจจะทำให้ผู้ใช้งานตต้องมานั่งนึกอยู่ครู่หนึ่ง
ซึ่งการออกแบบระบบหรือสัญลักษณ์ที่แปลกใหม่นั้นอาจจะทำให้ผู้ใช้งานสับสนหรือต้องใช้จนเกิดความเคยชินอยู่สักพักใหญ่
แต่ ไม่ได้หมายความว่าการคิดสัญลักษณ์ หรือออกแบบ User Flow ขึ้นมาใหม่ไม่ดีนะ
มันใหม่ได้
ในข้อนี้แนะนำว่าให้ลองคำนึงถึงบริบท ลองไปสวมหมวกเป็นผู้ใช้งานเองด้วยว่าจะ งง รึเปล่า เพื่อให้เกิดประโยชน์สูงสุดสำหรับผู้ใช้งาน
7.Flexibility and Efficiency of use (ความยืดหยุ่นและประสิทธิภาพของการใช้งาน)
ความยืดหยุ่นในที่นี้คือหมายความว่าการเปิดโอกาสให้ผู้ใข้งานเข้าถึง End Goal ได้ในหลาย ๆ วิธีมากที่สุด
ยกตัวอย่างเช่นในแอพพลิเคชั่นสั่งอาหาร ถ้าเราอยากสั่งชานมไข่มุก เราสามารถเลือกได้ทั้ง 2 วิธี คือ 1.คลิกค้นหาแล้วพิมพ์ ชานมไข่มุกไปเลย หรือ 2.คือเข้าไปเลือกในหมวดหมู่ชานมไข่มุกก็ได้เช่นกัน
การมีที่เข้าถึงหลาย ๆ ด้าน ก็เหมือนมีประตูหลายบานในที่เดียวกัน ทำให้ผู้ใช้งานมีอิสระ และ ไม่ถูกจำกัดอยู่แค่ Flow อันใดอันหนึ่ง
8.Aesthetic and Minimalist design (ความสวยงามและมินิมอล)
มินิมอลในที่นี้คือไม่ใช่มาแค่จอเปล่า ๆ นะ แต่หมายถึงการมีแสดงข้อมูล หรือ ออกแบบเท่าที่เราจำเป็นมากกว่า ลดความสับสนและกำกวมของการใช้งานด้วย
9.Help users recognize , diagnose and recover from errors. (การช่วยผู้ใช้งานจำ วินิจฉัย และก้าวข้ามความผิดพลาด)
ภายใน Interface ที่เราออกแบบนั้น เราควรที่จะช่วยให้ผู้ใช้รู้ด้วยว่าจุดไหนที่ error หรือทำให้ไม่ได้ไปต่อ
อย่างเช่นตอนเรากรอก Password ถ้าเรากรอกผิดเราก็ไม่ควรปล่อยเบลอว่า เอ้ะ เราผิดตรงไหนนะ
สิ่งที่เราเห็นกันทั่วไปเลยคือพอกรอกแล้วจะมี Error Message ขึ้นมาบอกเลยว่า เรายังกรอกตัวอักษร หรือตัวเลขไม่ครบนะ จะได้ทำให้ผู้ใช้งานรู้สึกสะดวกต่อการใช้งานมากขึ้น
เคสที่เราพบเห็นบ่อย ๆ ก็จะเป็นจำพวกตอนเรากรอกรหัสผ่านหรือเป็นตอนที่เราเข้าไปหน้าต่างที่โดนลบไปแล้ว ไม่ควรขึ้นเป็น Code Error แต่ควรขึ้นเป็นหน้าต่าง หรือ Instruction ช่วยบอกผู้ใช้ว่าควรทำอะไรต่อในขั้นตอนต่อไป
10.Help and Documentations (การช่วยเหลือและรายละเอียดของการใช้งาน)
แอพที่ดีนั้นไม่ได้จำเป็นจะต้องให้ข้อมูลทั้งหมด คล้าย ๆ กับข้อที่แอดกล่าวไปตอนต้นนี้ว่าควรมีข้อมูลเท่าที่เราจำเป็นเท่านั้น
จำเป็นในที่นี้หมายถึง ให้มีโชว์เพื่อให้ผู้ใช้งาน Complete Task ในตอนท้ายได้
ยกตัวอย่างสถานการณ์อย่างแอพจองตั๋วเครื่องบิน ถ้าในหน้าหลักเรามีขึ้นข้อมูลสำหรับโปรโมชั่นเด็ด
แต่ไม่มีบอกเลยว่ามี Flight อะไรบ้างสำหรับสถานที่นี้ ก็เหมือนทำให้ผู้ใช้งาน งง และไม่ได้จองตั๋ว จนต้องออกแอพของเราไปในที่สุด
แล้วสำคัญต่อกระบวนการใดบ้าง ?
ในการออกแบบ การมีมาตรฐานมาเช็คด้าน UI ค่อนข้างสำคัญในกระบวนการของ Low-Fi Ideation และการลงมือทำ High Fieldility ก่อนเราปล่อยของไปในขั้นสุดท้าย เพราะนอกจากเราสามารถออกแบบที่คำนึงถึงผู็ใช้ได้แล้ว เรายังสามารถคิดออกแบบเคส Error ที่เกิดขึ้นในสถานการณ์ต่าง ๆ ได้อย่างครบถ้วน ลดการต้องมานั่งแก้งานเดิมซ้ำ ๆ เพื่อเอาเข้า Production ใหม่อยู่เรื่อย ๆ
แทนที่เราจะมานั่งเสียเวลาแก้งานหลังจากที่ปล่อยไปแล้ว เราเอาเวลามาทำ และ ครอบคลุมเคสให้ครบถ้วนดีกว่า
ใครในทีมจำเป็นต้องรู้บ้าง ?
ผู้คนที่จำเป้นต้องเชี่ยวชาญและรู้วิธีการใช้มากที่สุดควรจะเป็น UX และ UI Designer เนี่ยแล่ะ หรือคนอื่นภายในทีมไม่ว่าจะเป็น Product Manager / Product Owner หรือ Developer ก็ย่อมได้
ดีไซน์เนอร์อย่างเรานั้น นอกจากเราจะดีไซน์หน้าตาแอพแล้วเราต้องคำนึงถึงประสบการณ์ต่าง ๆ ที่ผู้ใช้ต้องเจอในแต่ละเคสด้วย ไม่ว่าจะเป็น Error หรือการทำให้ผู้ใช้งานปรับเปลี่ยนค่าต่าง ๆ ในแอพได้ นั้นสำคัญมาก
และนอกเหนือจากนั้น ยังทำให้ Developer ที่ทำงานกับเรา ทำงานง่าย และ อยากกลับมาทำงานกลับเราเรื่อย ๆ ด้วย เพราะดีไซน์เนอร์สามารถทำความเข้าใจและครอบคลุมเคสตามการใช้งานในโลกแห่งความเป็นจริงได้ ทำให้ลดงาน Developer ไปได้อีกเยอะเลย !
🥰 สามารถติดตามคอนเท้นท์ซีรีย์ Road to UX/UI ในเพจ borntoDev นี้เลย !
ขอขอบคุณข้อมูลดี ๆ จาก
https://www.nngroup.com/articles/ten-usability-heuristics/
https://www.interaction-design.org/literature/topics/heuristic-evaluation