วันศุกร์, กุมภาพันธ์ 27, 2552

บริหารความซับซ้อน

การออกแบบโปรแกรมที่ดีต้องทำให้โปรแกรมง่ายที่สุดเท่าที่จะทำได้ ต้องทำให้ผู้ใช้ไม่รู้สึกว่ากำลังใช้โปรแกรมของเราอยู่ เทคนิคอย่างหนึ่งคือการลดความซับซ้อนของโปรแกรมลง โดยเดาว่าผู้ใช้ต้องการทำอะไร แล้วออกแบบให้ผู้ใช้ขยับตัวน้อยที่สุด ปัญหาคือผู้ใช้แต่ละคนมีความต้องการไม่เหมือนกัน หรือแม้แต่ผู้ใช้คนเดียวกัน การใช้งานแต่ละครั้งก็ไม่เหมือนกัน ถ้าเราเพิ่มให้โปรแกรมของเราทำงานได้หลากหลาย ความซับซ้อนก็จะยิ่งมากขึ้น ทาง HIG ของ Apple เสนอเทคนิคการบริหารความซับซ้อนให้อยู่พอดีดังนี้

1. นำเสนอสิ่งที่ "คนธรรมดาเค้าใช้กันบ่อยๆ" ก่อนเพราะ 80% ของการใช้งานมักจะเลือกแบบนี้ แต่ต้องไม่ปิดโอกาสที่ผู้ใช้จะเลือกสิ่งที่ต่างจากธรรมดา ตัวอย่างเช่นการ save ของ OS X ครับ


โปรแกรมคิดว่า Common ของผู้ใช้จะ save ไฟล์ไว้ที่ Folder ที่ตนเองเลือกเป็น Favorite แต่หากไม่พอใจสามารถกดสามเหลี่ยมเพื่อเพิ่มเงื่อนไขได้



2. เมื่อเราแยกส่วนที่ซับซ้อนออกมาจากส่วนที่ธรรมดาแล้ว อย่าพยายามกระจายส่วนที่ซับซ้อนออกจากกัน เพราะจะทำให้หน้าโปรแกรมของเราดูรกไปหมด นึกถึง Adobe Photoshop แต่ก่อน เที่ยบกับตัวปัจจุบันที่พยายามรวมเอา property ต่างๆ มาไว้ด้วยกัน ดูใช้งานง่ายขึ้นมาก หรือลองนึกถึงหน้าต่าง inspector ของ Omnigraffle ที่รวมทุกความซับซ้อนเอาไว้ที่เดียว





แบบ Common โปรแกรมคาดว่าผู้ใช้ทั่วไปที่กดบนปุ่มสี่เหลี่ยมจะต้องการสี่เหลี่ยมที่มีเส้นของหนา 1px และมีเงาเล็กน้อย


หากต้องการปรับแต่งเพิ่มเติม ทุกความซับซ้อนจะรวมอยู่ใน หนึ่ง inspector

3. ใช้ Option หรือ Preference ให้เป็นประโยชน์ พยายามโยนทุกความซับซ้อน หรือทุกอย่างที่ผู้ใช้แต่ละคนจะต้องการปรับแต่ง เอาไปไว้ใน Preference ให้หมด โดยเฉพาะความแตกต่างที่ตั้งครั้งเดียวแล้วเสร็จ ไม่ต้องตั้งบ่อยๆ ให้เอาไปไว้ในนั้นก่อนเลย ถ้าสำเร็จโปรแกรมของเราก็จะเหมาะกับทั้งผู้ใช้มือใหม่ และผู้ใช้มือเก๋าครับ

ที่มา -- Apple HIG
blog comments powered by Disqus