วันศุกร์, กุมภาพันธ์ 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

ผลประโยชน์ร่วมกัน Safari กับ GTalk

ทดสอบ safari ตัวใหม่ได้ซักพัก เลยนึกสนุก ลองใช้ GTalk ผ่าน Safari ดู



พบสิ่งที่ทำไม่ได้ใน Firefox คือการทำ Chat แบบมี Tab เหมือนที่ใช้บน Adium เนื่องจาก Safari มันย้าย Tab ข้ามระหว่าง windows ได้โดยไม่ต้อง Load ใหม่เหมือนของ chrome เลยทำให้เราได้ Feature ใหม่ไปในตัว

แบบนี้ตรงตาม HIG ของ Apple ที่บอกว่าให้ทำ Feature แต่สิ่งที่ตัวเองเก่ง ส่วน Feature อื่นๆ ก็ใช้ของที่คนอื่นมีอยู่แล้ว

วันพฤหัสบดี, กุมภาพันธ์ 26, 2552

บ้านจะเสร็จแล้วนะ

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

ดีใจที่จะมีบ้านกับเข้าซักที ตอนนี้เค้าทำอลูมิเนียมอยู่ ถ้าออกมาแล้วจะเอามา post อีกทีนะ

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

รวม Best practis ในการออกแบบหน้าเว็บ

ผมคิดว่า "การศึกษาต่อจากคนที่ศึกษามาแล้ว เป็นเคล็ดลับในวิวัฒนาการของมนุษย์" ดังนั้นพอไปเจอ web ที่รวบรวมกรณีศึกษา ในการออกแบบหน้าเว็บเลยอดใจ เอามาแลกเปลี่ยนกันไม่ไหว



http://flickr.com/photos/designingwebinterfaces


น่าเสียดายที่บน flickr ไม่มีคน comment มากนัก เลยดูได้แต่รูปต้องทำความเข้าใจกันเอง ถ้าดูแล้วมีอันไหนน่าสนใจ จะเอามาเสนอบน blog นี้นะครับ