1. UX: กล่องข้อความส่วนใหญ่ชั่วร้าย
กล่องการแจ้งเตือนจะไม่ดีในทุกกรณีจากมุมมอง UX ในแอพเดสก์ทอป ในเว็บแอปเป็นการแจ้งเตือนหรือข้อความ JavaScript แบบอินไลน์ ทุกที่.
คุณสามารถอ่าน About Face 3 โดย Alan Cooper¹หากคุณต้องการทราบเหตุผล; มันอธิบายได้ดีมากว่าวิธีนี้ขัดจังหวะเวิร์กโฟลว์และสร้างความรำคาญให้ผู้ใช้อย่างไรและกล่องเตือนเกือบทุกอันที่มีอยู่ในซอฟต์แวร์ปัจจุบันนั้นผิดอย่างมาก ในหน้า 542 "กล่องโต้ตอบที่ร้องว่า" Wolf! "อธิบายว่ากล่องแจ้งเตือนจะถูกยกเลิกเป็นประจำดังนั้นโมเดลของพวกเขาจึงเสียอย่างสมบูรณ์ ในหน้า 543 ของหนังสือมีการระบุสามหลักการออกแบบที่สำคัญ:
- ทำไม่ต้องถาม
- ทำให้การกระทำทั้งหมดย้อนกลับได้
- ให้ข้อเสนอแนะที่ไม่มีการแก้ไขเพื่อช่วยผู้ใช้หลีกเลี่ยงข้อผิดพลาด
จากนั้นผู้เขียนบอกเราถึงวิธีการเปลี่ยนกล่องแจ้งเตือนด้วยวิธีการออกแบบที่ถูกต้อง
ข้อความแจ้งจะแตกต่างกันเล็กน้อย แต่ถึงกระนั้นก็ยังทำให้ประสบการณ์การใช้งานแอปของคุณแตกสลาย หากคุณต้องการให้ผู้ใช้ป้อนบางสิ่งพิจารณาใช้กล่องข้อความหรือ textarea ตกแต่งด้วย JavaScript เมื่อต้องการอย่าขี้เกียจให้อินเตอร์เฟซที่อุดมไปด้วยในยุคของแอพพลิเค RIA และ AJAX ที่เปิดใช้งาน ; ในทุกกรณีหากปิดใช้งาน JavaScript พรอมต์ของคุณจะไม่ปรากฏขึ้น
ในหน้าเว็บทั้งกล่องเตือนและข้อความแจ้งเตือนนั้นน่ารำคาญที่สุด ตัวอย่างบางส่วน:
ฟอรัมบางแห่งช่วยให้คุณสร้างรายการได้โดยการป้อนข้อมูลในรายการ หมายความว่าในขณะที่สร้างรายการคุณไม่สามารถใช้หน้านั้นรวมถึงการคัดลอกวาง คุณมีสนามเล็ก ๆ อยู่ด้วย สิ่งที่เกี่ยวกับข้อความยาว แล้วตัวหนาและตัวเอียงล่ะ?
"ถ้าคุณดำเนินการต่อรูปถ่ายจะถูกลบอย่างแน่นอนจากโปรไฟล์ของคุณคุณแน่ใจหรือไม่" . แน่นอนฉันแน่ใจ! ฉันจะคลิก "ลบภาพออกจากโปรไฟล์ของฉัน" เป็นอย่างอื่นได้ไหม ทำไมเว็บแอปของคุณถึงคิดว่าฉันโง่เหลือเกิน จริงๆแล้วแอปพลิเคชันของ Google ในฐานะ GMail แสดงวิธีการที่ถูกต้อง คุณสามารถลบลบทำลายสิ่งที่คุณต้องการและเมื่อคุณทำเช่นนั้นแอปจะแสดงลิงค์ "เลิกทำ" ขนาดเล็ก
"คุณต้องการทำแบบสำรวจที่ยิ่งใหญ่ที่สุดของเราหรือไม่" . ที่จริงฉันอยู่ที่นั่นเพื่อเยี่ยมชมเว็บไซต์ของคุณ แต่เนื่องจากคุณรบกวนฉันด้วยข้อความที่น่ารำคาญของคุณฉันจึงอยากไปที่อื่น
"การคลิกขวาถูกปิดใช้งานบนเว็บไซต์นี้เพื่อที่จะปกป้องภาพถ่ายที่มีลิขสิทธิ์" ที่จริงฉันคลิกขวาเพื่อเปลี่ยนภาษาของเครื่องตรวจการสะกดคำก่อนส่งความคิดเห็นของฉัน แน่นอนว่าฉันจะส่งโดยไม่ตรวจสอบตัวสะกด
สรุป: จากมุมมองประสบการณ์ผู้ใช้แอปพลิเคชันใช้กล่องข้อความผิดเวลาส่วนใหญ่
แต่เดี๋ยวก่อน! เว็บไซต์คุณภาพต่ำหลายแห่งแทนที่กล่องแจ้งเตือนที่น่ารำคาญโดยข้อความ JQuery ที่น่ารำคาญด้วยพื้นหลังกึ่งโปร่งใสซึ่งครอบคลุมทุกหน้า ดังนั้นข้อเสียยังคงอยู่
มีเหตุผลอื่นที่จะไม่ใช้กล่องข้อความในเว็บแอปพลิเคชัน:
2. การออกแบบ: กล่องเตือนมีการออกแบบของตัวเอง
คุณไม่สามารถออกแบบกล่องเตือนได้เลยคุณไม่สามารถเปลี่ยนสีขนาดตัวอักษรของมันได้ สิ่งนี้ทำให้ผู้ใช้น่ารำคาญยิ่งขึ้น: คุณกำลังทำงานกับเว็บแอปและเวิร์กโฟลว์ของคุณถูกทำลายโดยข้อความที่ดูเหมือนว่ามาจากที่ไหนและไม่ตรงกับลักษณะที่เห็นของแอพ ไม่นับว่าภาษาของปุ่มนั้นตรงกับภาษาของ OS / เบราว์เซอร์ไม่ใช่เว็บแอปพลิเคชันหนึ่ง
สำหรับนักออกแบบข้อความ JavaScript มีประสิทธิภาพมากกว่ากล่องเตือน
พวกเขายังกว้างขวางมากขึ้น คุณสามารถเพิ่มตัวหนาและตัวเอียงคุณสามารถเลือกปุ่มของคุณเอง (เกี่ยวกับ: "เราขออภัย แต่รหัสผ่านที่คุณป้อนไม่ถูกต้อง [รีเซ็ตรหัสผ่านของฉัน] [ลองอีกอัน] [ยกเลิก]"?) ²
3. JavaScript: การไหลของแอปพลิเคชันหยุด
เมื่อแสดงกล่องเตือน JavaScript จะหยุดการทำงานจนกว่าผู้ใช้จะคลิก ในเว็บไซต์อาจไม่เป็นไร ด้วยแอปพลิเคชันเว็บมักจะกลายเป็นปัญหา
4. Sandbox: อย่าบังคับให้ผู้ใช้รีบูทคอมพิวเตอร์
จำเว็บไซต์เส็งเคร็งที่แสดงกล่องข้อความจำนวนไม่ จำกัดใช่หรือไม่ วิธีเดียวสำหรับผู้ใช้ที่ไม่มีพื้นฐานด้านเทคนิคเพียงพอที่จะสามารถทำงานต่อไปได้จริง ๆ แล้วคือการรีคอมพิวเตอร์ สิ่งนี้ทำให้เรามีปัญหา: กล่องเตือนอยู่นอกขอบเขตของเว็บไซต์หรือเว็บแอปพลิเคชัน คุณไม่ได้รับอนุญาตให้ป้องกันไม่ให้ผู้ใช้เข้าถึงแท็บอื่น ๆ ของเบราว์เซอร์³
ปัญหาเดียวกันนี้บังคับให้เบราว์เซอร์แก้ปัญหาด้วยวิธีที่ต่างกัน ตัวอย่างเช่น Firefox อนุญาตให้เข้าถึงแท็บอื่นเมื่อแสดงการแจ้งเตือนบนแท็บของคุณ ในทางกลับกัน Chrome จะช่วยให้คุณสามารถตรวจสอบว่าคุณไม่ต้องการรับกล่องการแจ้งเตือนจากหน้าใด ๆ อีกต่อไป แต่ยังบล็อกการเข้าถึงแท็บอื่น ๆ
ในขณะที่วิธีการของ Firefox นั้นถูกต้องสมบูรณ์แบบ แต่ Chrome สามารถถูกวิพากษ์วิจารณ์ได้ (เนื่องจากยังคงบล็อกทุกแท็บ) และทำให้เกิดปัญหา: จะเกิดอะไรขึ้นถ้าผู้ใช้รู้สึกรำคาญอย่างรุนแรงจากกล่องข้อความหลายกล่องที่ออกโดยแอปของคุณ พยายามแสดงบางสิ่งที่สำคัญจริงๆเหรอ? ถูกต้องผู้ใช้จะไม่เห็นมัน
ความจริงยังคงเหมือนเดิมผู้ใช้ส่วนใหญ่จะถูกรบกวนจากกล่องเตือนดังนั้นพวกเขาจึงยังไม่เป็นมิตรกับผู้ใช้และอาจบล็อกผู้ใช้อย่างรุนแรงโดยไม่มีพื้นฐานด้านเทคนิคเพียงพอ แบบอินไลน์ข้อความ JavaScript อาจบล็อกหน้า แต่ไม่ใช่เบราว์เซอร์เอง เนื่องจากโมเดลของเว็บแอพเป็นแบบ sandboxing ซึ่งคุณไม่สามารถเข้าถึงแป้นพิมพ์ของผู้ใช้หรือรีบูตเครื่องคอมพิวเตอร์หรืออ่านไฟล์จากฮาร์ดดิสก์หรือไปเต็มหน้าจอหรือใช้จอภาพสองจอกล่องเตือนที่มีเอฟเฟกต์การบล็อกแตก รุ่น
สุดท้าย แต่ไม่ท้ายสุดจะเป็นอย่างไรถ้าผู้ใช้อยู่ในแท็บอื่นเมื่อแอปพลิเคชันของคุณตัดสินใจที่จะแสดงกล่องการแจ้งเตือน ถ้าผู้ใช้ทำสิ่งที่สำคัญและไม่ต้องการโต้ตอบกับแอพของคุณตอนนี้?
¹ เกี่ยวกับ Face 3, Essentials of Interaction Design , Alan Cooper, Robert Reimann และ David Cronin, ไอ 978-0-470-08411-3; บทที่ 25: ข้อผิดพลาดการแจ้งเตือนและการยืนยัน
²นี่เป็นเพียงตัวอย่าง กรุณาอย่าทำมันในเว็บแอปพลิเคชันของคุณเพราะมันเป็นตัวเลือกการออกแบบที่แย่จริงๆ
³หากคุณต้องการเปรียบเทียบกับโลกของแอปบนเดสก์ท็อปข้อความ JavaScript แบบอินไลน์จะเหมือนกับกล่องข้อความของแอปพลิเคชันบนเดสก์ท็อป ในขณะที่กล่องเตือนในเบราว์เซอร์นั้นเหมือนหน้าต่างที่ปรากฏขึ้นมาจากที่ใดที่หนึ่งตั้งไว้สูงสุดบนพื้นหลังทึบแบบเต็มหน้าจอซึ่งบล็อกคุณจากการเข้าถึงแอปพลิเคชันเดสก์ท็อปอื่น แอพใด ๆ ที่จะตัดสินใจทำเพียงครั้งเดียวบนคอมพิวเตอร์ของฉันจะถูกลบออกทันทีและตลอดไป