KISS : Keep It Simple and Straightforward.
posted on 01 May 2005 13:42 by teno in Web-Tech
ref: http://pantip.com/tech/developer/topic/DN1777318/DN1777318.html
1. พยายามทำให้ Interface ของคุณง่ายเข้าไว้
แน่น อนผู้ใช้ย่อมต้องการใช้งานโปรแกรมที่เข้าใจได้ง่าย ยิ่งโปรแกรมของคุณยิ่งซับซ้อน คุณก็ยิ่งต้องพยายามซ่อนสิ่งที่ซับซ้อนไว้ภายในและนำเสนอสิ่งที่เข้าใจได้ง่ ายต่อผู้ใช้ให้ได้มากที่สุด พยายามนึกถึงคำว่า KISS เข้าไว้ ซึ่ง Matria Capucciati ผู้เชี่ยวชาญในการออกแบบ User Interface เคยให้คำเต็มไว้ว่า KISS : Keep It Simple and Straightforward.
2. พยายามทำให้ Interface ของคุณชัดเจน ตรงไปตรงมาและเป็นธรรมชาติ
Interface ที่ดีควรจะชัดเจนในตัวเองและเข้าใจได้ง่ายโดยใช้สัญชาติญาณของมนุษย์ คุณควรจะสร้าง Interface โดยพยายามคิดว่าผู้ใช้จะสามารถเข้าใจได้เลยโดยสัญชาติญาณ เช่นว่า ผู้ใช้ควรที่จะรู้หรือคาดหมายได้เลยว่าเขาจะต้องทำขั้นตอนอะไรต่อไปหลังจากข ั้นตอนที่เขากำลังทำอยู่ ซึ่งเขาอาจจะใช้สัญชาติญาณหรือประสบการณ์ในการทำงานเดิมของเขาเอง นอกจากนั้นคุณควรจะทำให้ผู้ใช้ไม่ต้องตระหนักถึงกลไกการทำงานภายในโปรแกรมขอ งคุณให้มากนัก เพราะแน่นอนผู้ใช้เขาก็ไม่อยากรู้กลไกการทำงานภายในโปรแกรมของคุณนักหรอก เขาเพียงแต่ต้องการให้งานของเขาเสร็จก็เท่านั้น พยายามทำให้ผู้ใช้มองโปรแกรมของคุณเป็นเหมือนเครื่องมือในการทำให้งานเสร็จอ ันหนึ่ง ไม่ใช่ให้เขามองเป็นคอมพิวเตอร์ซึ่งมีกระบวนการและกลไกการทำงานภายในที่ซับซ ้อนยิ่งนัก มันก็เหมือนกับคนขับรถ เขาไม่ต้องการที่จะรู้หรอกว่ารถมันเคลื่อนที่ไปได้อย่างไร มีกลไกภายในอย่างไร เขาเพียงแต่เข้าใจว่ารถก็คือเครื่องมือของเขาอันหนึ่งที่จะทำให้เขาไปถึงจุด หมายได้ เพราะฉะนั้นเขาก็เพียงต้องการแค่จะรู้ว่าจะทำยังไงให้เขาไปถึงจุดหมายได้เท่ านั้น ต้องเหยียบคันเร่งตรงไหน เข้าเกียร์ยังไง แค่นั้นก็พอ
3. พยายามทำให้ผู้ใช้รู้สึกเหมือนว่าเขาได้ควบคุมโปรแกรม (ไม่ใช่โปรแกรมเป็นคนควบคุมเขา)
แ น่นอนว่าผู้ใช้ย่อมต้องมีสมมุติฐานว่าโปรแกรมจะต้องตอบสนองต่อการทำอะไรบางอ ย่างจากเขาเท่านั้น ไม่ใช่อยู่ๆโปรแกรมก็ทำอะไรเองโดยปราศจากการรับรู้หรือการยินยอมของเขา ถึงแม้ในงานบางอย่างควรจะต้องให้โปรแกรมทำงานเองโดยอัติโนมัติ แต่ก็ควรที่จะให้โอกาสหรือมีตัวเลือกให้ผู้ใช้เลือกได้ว่าจะเปิดหรือไม่เปิด การทำงานนั้น (ตัวอย่างที่เห็นได้ชัดก็คือโปรแกรมพวกที่มักจะ update ตัวเองผ่านทาง Internet ซึ่งมักจะมีตัวเลือกให้เลือกว่าจะเปิดหรือไม่เปิดการทำงานนี้) อีกสิ่งที่สำคัญก็คือเรื่องหน้าตาของโปรแกรม แน่นอนว่าผู้ใช้แต่ละคนย่อมมีความชอบหรือรสนิยมส่วนตัวที่ไม่เหมือนกัน ดังนั้นการที่โปรแกรมจะมีความสามารถในการปรับแต่งส่วนต่างๆตามที่ผู้ใช้ต้อง การก็เป็นสิ่งที่น่าให้ความสำคัญเหมือนกัน หรือถ้าไม่มีความสามารถอันนี้ โปรแกรมก็ควรที่จะมีหน้าตาที่สอดคล้องกับการหน้าตาโดยรวมของระบบตามที่ผู้ใช ้ได้ปรับแต่ง (เช่นสอดคล้องกับสิ่งที่ผู้ใช้ได้ปรับแต่งไว้ใน Display Applet ใน Control Panel ของ Windows) สิ่งที่สำคัญมากๆอีกอย่างก็คือ พยายามหลีกเลี่ยงการบังคับให้ผู้ใช้ต้องทำอะไรบางอย่างที่เฉพาะเจาะจง (ซึ่งอาจเกิดขึ้นจากการเข้าสู่ Mode บางอย่างของโปรแกรม ซึ่งเป็นสถานะของโปรแกรมเฉพาะอย่างที่บังคับให้ผู้ใช้ทำอะไรบางอย่างเท่านั้ นแทนที่จะให้ผู้ใช้เป็นคนตัดสินใจ เช่น บังคับให้ผู้ใช้ต้องกดปุ่ม OK เป็นต้น) พยายามให้ผู้ใช้ได้มีตัวเลือก ให้เขาได้ตัดสินใจ ให้เขาได้ควบคุม (อย่าไปควบคุมเขา) อย่างเช่นบางครั้งเขาอาจเปลี่ยนใจไม่ทำกระบวนการต่อ เขาอาจอยากกด Back เพื่อกลับไปขั้นตอนก่อนหน้า เขาอาจอยากกด Cancel เพื่อยกเลิกกระบวนการติดตั้งโปรแกรม ฯลฯ พยายามนึกถึงหลักดังต่อไปนี้ไว้
- Make the Interface Forgiving ให้ผู้ใช้ได้เปลี่ยนใจ ยกเลิก ย้อนกลับในกระบวนการได้อย่างง่ายๆ ไม่ใช่ว่าหากทำอะไรผิดไป ก็ย้อนกลับไม่ได้ โปรแกรมลักษณะนี้จะทำให้ผู้ใช้กลัว กังวัล วิตกและในที่สุดจะมีความรู้สึกที่ไม่อยากใช้โปรแกรม
- Make the Interface Visual พยายามออกแบบให้ผู้ใช้มองเห็นโปรแกรมแล้วเข้าใจว่าจะต้องตัดสินใจอย่างไร เลือก item ไหนถึงจะถูก ไม่ใช่ให้ผู้ใช้ใช้ความคุ้นเคยในการตัดสินใจ เช่นว่า เคยเลือกตัวเลือกนี้ คราวนี้ก็เลยต้องเลือก เป็นต้น การมีข้อความอธิบายขั้นตอน อธิบายความหมาย หรือมี Help Context ให้ผู้ใช้ก็เป็นสิ่งดี
- Provide Immediate Feedback หลีกเลี่ยงการที่ผู้ใช้กดหรือป้อนอะไรเข้าไปแล้วปราศจากการตอบสนองโดยทันที ไม่ว่าจะต้องใช้ภาพหรือเสียงก็ดี ควรที่จะต้องทำให้ผู้ใช้เห็นการตอบสนองต่อการกระทำของเขาโดยทันทีทันใด
- Avoid Modes หลีกเลี่ยงสถานการณ์ที่เรียกว่า Mode สถานการณ์ที่เรียกว่า Mode คือสถานการณ์ที่โปรแกรมเข้าสู่กรณีที่เฉพาะเจาะจง เช่น มีไดอะล๊อกโผล่ขึ้นมาซึ่งเป็นไดอะล๊อกแบบ Modal Dialog ที่ต้องให้ผู้ใช้ทำ Mode นั้นให้เสร็จก่อนแล้วจึงกลับไปสู่สถานการณ์ปกติ สถานการณ์ที่เรียกว่า Mode นี้จะทำให้ผู้ใช้ต้องพุ่งความสนใจไปที่ผลลัพธ์ที่โปรแกรมจะทำงานตอบสนองให้เ ขาแทนที่จะให้ความสนใจกับงานเดิมของเขา โดยทั่วไปมันค่อนข้างยากที่จะสร้างโปรแกรมที่ไม่ให้มี Mode เลย แต่อย่างไรก็ดีเราควรที่จะใช้ Mode เฉพาะเท่าที่จำเป็นและไม่ควรให้ Mode มีผลกระทบต่อการทำงานของโปรแกรมโดยรวม เมื่อไรก็ตามที่ผู้ใช้ต้องเผชิญกับ Mode ในโปรแกรมของเรา เราก็ควรที่จะอธิบายถึงเหตุผลหรือใช้คำเตือนที่ชัดเจนและพยายามเตรียมหนทางท ี่จะทำให้ผู้ใช้หลุดออกจาก Mode ได้โดยเร็วและง่ายเพื่อให้ผู้ใช้กลับไปมีความรู้สึกว่าได้ควบคุมโปรแกรมอีกค รั้ง (แทนที่โปรแกรมเราจะควบคุมเขาอยู่ซะอย่างงั้น)
จากคุณ : BlueBlood - [ 4 เม.ย. 48 17:05:27 ]
จ๊วบ ๆๆ Grab ไว้ กันลืม อ่ะขโมยมานะ ม่ะใช่ ของพ๋ม
1. พยายามทำให้ Interface ของคุณง่ายเข้าไว้
แน่น อนผู้ใช้ย่อมต้องการใช้งานโปรแกรมที่เข้าใจได้ง่าย ยิ่งโปรแกรมของคุณยิ่งซับซ้อน คุณก็ยิ่งต้องพยายามซ่อนสิ่งที่ซับซ้อนไว้ภายในและนำเสนอสิ่งที่เข้าใจได้ง่ ายต่อผู้ใช้ให้ได้มากที่สุด พยายามนึกถึงคำว่า KISS เข้าไว้ ซึ่ง Matria Capucciati ผู้เชี่ยวชาญในการออกแบบ User Interface เคยให้คำเต็มไว้ว่า KISS : Keep It Simple and Straightforward.
2. พยายามทำให้ Interface ของคุณชัดเจน ตรงไปตรงมาและเป็นธรรมชาติ
Interface ที่ดีควรจะชัดเจนในตัวเองและเข้าใจได้ง่ายโดยใช้สัญชาติญาณของมนุษย์ คุณควรจะสร้าง Interface โดยพยายามคิดว่าผู้ใช้จะสามารถเข้าใจได้เลยโดยสัญชาติญาณ เช่นว่า ผู้ใช้ควรที่จะรู้หรือคาดหมายได้เลยว่าเขาจะต้องทำขั้นตอนอะไรต่อไปหลังจากข ั้นตอนที่เขากำลังทำอยู่ ซึ่งเขาอาจจะใช้สัญชาติญาณหรือประสบการณ์ในการทำงานเดิมของเขาเอง นอกจากนั้นคุณควรจะทำให้ผู้ใช้ไม่ต้องตระหนักถึงกลไกการทำงานภายในโปรแกรมขอ งคุณให้มากนัก เพราะแน่นอนผู้ใช้เขาก็ไม่อยากรู้กลไกการทำงานภายในโปรแกรมของคุณนักหรอก เขาเพียงแต่ต้องการให้งานของเขาเสร็จก็เท่านั้น พยายามทำให้ผู้ใช้มองโปรแกรมของคุณเป็นเหมือนเครื่องมือในการทำให้งานเสร็จอ ันหนึ่ง ไม่ใช่ให้เขามองเป็นคอมพิวเตอร์ซึ่งมีกระบวนการและกลไกการทำงานภายในที่ซับซ ้อนยิ่งนัก มันก็เหมือนกับคนขับรถ เขาไม่ต้องการที่จะรู้หรอกว่ารถมันเคลื่อนที่ไปได้อย่างไร มีกลไกภายในอย่างไร เขาเพียงแต่เข้าใจว่ารถก็คือเครื่องมือของเขาอันหนึ่งที่จะทำให้เขาไปถึงจุด หมายได้ เพราะฉะนั้นเขาก็เพียงต้องการแค่จะรู้ว่าจะทำยังไงให้เขาไปถึงจุดหมายได้เท่ านั้น ต้องเหยียบคันเร่งตรงไหน เข้าเกียร์ยังไง แค่นั้นก็พอ
3. พยายามทำให้ผู้ใช้รู้สึกเหมือนว่าเขาได้ควบคุมโปรแกรม (ไม่ใช่โปรแกรมเป็นคนควบคุมเขา)
แ น่นอนว่าผู้ใช้ย่อมต้องมีสมมุติฐานว่าโปรแกรมจะต้องตอบสนองต่อการทำอะไรบางอ ย่างจากเขาเท่านั้น ไม่ใช่อยู่ๆโปรแกรมก็ทำอะไรเองโดยปราศจากการรับรู้หรือการยินยอมของเขา ถึงแม้ในงานบางอย่างควรจะต้องให้โปรแกรมทำงานเองโดยอัติโนมัติ แต่ก็ควรที่จะให้โอกาสหรือมีตัวเลือกให้ผู้ใช้เลือกได้ว่าจะเปิดหรือไม่เปิด การทำงานนั้น (ตัวอย่างที่เห็นได้ชัดก็คือโปรแกรมพวกที่มักจะ update ตัวเองผ่านทาง Internet ซึ่งมักจะมีตัวเลือกให้เลือกว่าจะเปิดหรือไม่เปิดการทำงานนี้) อีกสิ่งที่สำคัญก็คือเรื่องหน้าตาของโปรแกรม แน่นอนว่าผู้ใช้แต่ละคนย่อมมีความชอบหรือรสนิยมส่วนตัวที่ไม่เหมือนกัน ดังนั้นการที่โปรแกรมจะมีความสามารถในการปรับแต่งส่วนต่างๆตามที่ผู้ใช้ต้อง การก็เป็นสิ่งที่น่าให้ความสำคัญเหมือนกัน หรือถ้าไม่มีความสามารถอันนี้ โปรแกรมก็ควรที่จะมีหน้าตาที่สอดคล้องกับการหน้าตาโดยรวมของระบบตามที่ผู้ใช ้ได้ปรับแต่ง (เช่นสอดคล้องกับสิ่งที่ผู้ใช้ได้ปรับแต่งไว้ใน Display Applet ใน Control Panel ของ Windows) สิ่งที่สำคัญมากๆอีกอย่างก็คือ พยายามหลีกเลี่ยงการบังคับให้ผู้ใช้ต้องทำอะไรบางอย่างที่เฉพาะเจาะจง (ซึ่งอาจเกิดขึ้นจากการเข้าสู่ Mode บางอย่างของโปรแกรม ซึ่งเป็นสถานะของโปรแกรมเฉพาะอย่างที่บังคับให้ผู้ใช้ทำอะไรบางอย่างเท่านั้ นแทนที่จะให้ผู้ใช้เป็นคนตัดสินใจ เช่น บังคับให้ผู้ใช้ต้องกดปุ่ม OK เป็นต้น) พยายามให้ผู้ใช้ได้มีตัวเลือก ให้เขาได้ตัดสินใจ ให้เขาได้ควบคุม (อย่าไปควบคุมเขา) อย่างเช่นบางครั้งเขาอาจเปลี่ยนใจไม่ทำกระบวนการต่อ เขาอาจอยากกด Back เพื่อกลับไปขั้นตอนก่อนหน้า เขาอาจอยากกด Cancel เพื่อยกเลิกกระบวนการติดตั้งโปรแกรม ฯลฯ พยายามนึกถึงหลักดังต่อไปนี้ไว้
- Make the Interface Forgiving ให้ผู้ใช้ได้เปลี่ยนใจ ยกเลิก ย้อนกลับในกระบวนการได้อย่างง่ายๆ ไม่ใช่ว่าหากทำอะไรผิดไป ก็ย้อนกลับไม่ได้ โปรแกรมลักษณะนี้จะทำให้ผู้ใช้กลัว กังวัล วิตกและในที่สุดจะมีความรู้สึกที่ไม่อยากใช้โปรแกรม
- Make the Interface Visual พยายามออกแบบให้ผู้ใช้มองเห็นโปรแกรมแล้วเข้าใจว่าจะต้องตัดสินใจอย่างไร เลือก item ไหนถึงจะถูก ไม่ใช่ให้ผู้ใช้ใช้ความคุ้นเคยในการตัดสินใจ เช่นว่า เคยเลือกตัวเลือกนี้ คราวนี้ก็เลยต้องเลือก เป็นต้น การมีข้อความอธิบายขั้นตอน อธิบายความหมาย หรือมี Help Context ให้ผู้ใช้ก็เป็นสิ่งดี
- Provide Immediate Feedback หลีกเลี่ยงการที่ผู้ใช้กดหรือป้อนอะไรเข้าไปแล้วปราศจากการตอบสนองโดยทันที ไม่ว่าจะต้องใช้ภาพหรือเสียงก็ดี ควรที่จะต้องทำให้ผู้ใช้เห็นการตอบสนองต่อการกระทำของเขาโดยทันทีทันใด
- Avoid Modes หลีกเลี่ยงสถานการณ์ที่เรียกว่า Mode สถานการณ์ที่เรียกว่า Mode คือสถานการณ์ที่โปรแกรมเข้าสู่กรณีที่เฉพาะเจาะจง เช่น มีไดอะล๊อกโผล่ขึ้นมาซึ่งเป็นไดอะล๊อกแบบ Modal Dialog ที่ต้องให้ผู้ใช้ทำ Mode นั้นให้เสร็จก่อนแล้วจึงกลับไปสู่สถานการณ์ปกติ สถานการณ์ที่เรียกว่า Mode นี้จะทำให้ผู้ใช้ต้องพุ่งความสนใจไปที่ผลลัพธ์ที่โปรแกรมจะทำงานตอบสนองให้เ ขาแทนที่จะให้ความสนใจกับงานเดิมของเขา โดยทั่วไปมันค่อนข้างยากที่จะสร้างโปรแกรมที่ไม่ให้มี Mode เลย แต่อย่างไรก็ดีเราควรที่จะใช้ Mode เฉพาะเท่าที่จำเป็นและไม่ควรให้ Mode มีผลกระทบต่อการทำงานของโปรแกรมโดยรวม เมื่อไรก็ตามที่ผู้ใช้ต้องเผชิญกับ Mode ในโปรแกรมของเรา เราก็ควรที่จะอธิบายถึงเหตุผลหรือใช้คำเตือนที่ชัดเจนและพยายามเตรียมหนทางท ี่จะทำให้ผู้ใช้หลุดออกจาก Mode ได้โดยเร็วและง่ายเพื่อให้ผู้ใช้กลับไปมีความรู้สึกว่าได้ควบคุมโปรแกรมอีกค รั้ง (แทนที่โปรแกรมเราจะควบคุมเขาอยู่ซะอย่างงั้น)
จากคุณ : BlueBlood - [ 4 เม.ย. 48 17:05:27 ]
จ๊วบ ๆๆ Grab ไว้ กันลืม อ่ะขโมยมานะ ม่ะใช่ ของพ๋ม

Feed Your Inbox RSS