วันศุกร์, ตุลาคม 31, 2551

BAD Application Design ตอน 1

ลองเขียน column แบบเป็น series ดูบ้าง เลียนแบบ "นั่งเทียน ของ punneng" สำหรับตอนแรกขอเริ่มจาก โปรแกรม "FileZilla" ก่อน เจ้าโปรแกรมนี้เอาไว้ช่วยในการย้ายไฟล์ระหว่างเครื่องผ่าน protocal FTP, SFTP, FTPS จะเรียกว่า "โปรแกรม FTP" ก็ได้ หน้าตาของโปรแกรมเป็นประมาณนี้ โปรแกรมนี้ออกแบบได้ดีในเรื่องของ Flow การทำงาน ผู้ใช้จะเริ่มจากบนสุดลงไปล่างสุด ไม่สับสนขึ้นๆ ลงๆ แบบหลายๆ โปรแกรม ไว้จะยกตัวอย่างในตอนถัดไป แต่สำหรับ FileZilla ต้องชมว่าทำได้ดี โปรแกรม เริ่มจาก (1) ผู้ใช้เลือก Server ที่ต้องการจะ upload หรือ download ไฟล์ ผลการเชื่อมต่อ จะอยู่ถัดลงมาให้เห็นทันที (2) หลังจากเชื่อมต่อได้ (3) โปรแกรมจะให้ผู้ใช้เลือก Folder ที่ต้องการ (4) โปรแกรมแสดง File และ Folder ที่อยู่ใน Folder ที่ผู้ใช้กำลังเลือกอยู่ เมื่อสั่ง copy ไฟล์เรียบร้อยแล้วถัดลงมา (5) โปรแกรมจะแสดงสถานะการโอนไฟล์ทันที ปัญหาของการออกแบบโปรแกรมนี้มีสองจุดใหญ่ๆ คือในขณะที่เรากำลังสนใจขั้นตอนที่ (1),(2) เนื้อที่ส่วน (3),(4),(5) จะกินหน้าจอของไปกว่าครึ่งให้เราเหลือที่ดู log ไฟล์ แค่นิดเดียว นอกจากนั้นยังทำให้ส่วนที่ (1) ต้องถูกบีบให้เหลือแค่บรรทัดเดียว ในทางกลับกันเมื่อเราสนใจส่วนที่ (3) ส่วนที่ (1) และ (2) จะสิ้นเปลืองหน้าจอไปครึ่งหน้าทำให้เรามีเนื้อที่ในการดูไฟล์น้อยลง ส่วนที่ (5) ก็เช่นเดียวกันเมื่อเราเสร็จสิ้นกระบวนการเลือกไฟล์ ส่วนที่ (1..4) จะอยู่หลอกหลอนเราไปเรื่อยๆ ถ้านั่งสังเกตุคนใช้โปรแกรมนี้ จะเห็นผู้ใช้คอยขยับส่วน (1..4) ขึ้นๆ ลงๆ อยู่ตลอด ปัญหาใหญ่อันที่สองคือช่องเลือก Folder ส่วนที่ (3) การแสดง Folder แบบต้นไม้แนวตั้ง ก็เหมาะกับแนวตั้งครับ หาเอามาแสดงในช่องแนวนอน จะเกิดเนื้อที่ ที่นาน......นาน จะใช้ซักที ยิ่งสำหรับคนที่ชอบเปิดหลายโปรแกรมพร้อมๆ กัน หากมีโปรแกรมอะไรกินหน้าจอมาก จะรู้สึกขัดขวางการทำงานทันที และยิ่งโปรแกรมมาใช้พื้นที่โดยไม่เกิดประโยชน์นี่... จะเกิดอาการอึดอัดทันที ปัญหาใหญ่ๆ คงเป็นสองตัวนี้ หลังจากคิดอยู่พักนึง กอปรกับการดูโปรแกรม ftp อื่นๆ ผมเสนอทางแก้แบบนี้ครับ 1. ปิดหน้าจอที่ไม่ได้ใช้ตอนที่ไม่ได้ใช้ หน้าแรกที่เลือก Favorite แทนที่จะบีบให้เหลือบรรทัดเดียวก็เปิดให้เลือกกันชัดๆเลย 2. กด new server มีเนื้อที่ให้ใส่รายละเอียดอื่นๆ แบบเหลือเฟือ เช่น proxy etc.. 3. ตอนที่ copy file ก็ไม่ต้องแสดงส่วน connect จะได้ไม่เปลืองหน้าจอ, ถ้ากด disconnect ก็กลับไปหน้าแรก 4. พอเลือกเสร็จก็แสดง status ด้านล่าง แค่บอกว่าจะเสร็จเมื่อไหรก็พอ ถ้ามีปัญหาค่อยบอก ถ้าอยากรู้รายละเอียดจริงๆ ก็ click บน status bar โปรแกรมค่อย popup รายละเอียดออกมา แก้ปัญหาประมาณนี้ แต่ถ้าผมจะใช้โปรแกรมนี้คงปิดหน้าจอด้านซ้ายไปเลย แล้วใช้โปรแกรมนี้ร่วมกับ Finder, nautilus หรือ windows explorer แทน เรื่อง usablility เนี่ยยิ่งเขียนยิ่งมัน ตอนแรกจะเขียนนิดเดียว กลายเป็นคิดต่อซะยาวเลย :p ที่เหลือเอาไว้เขียนต่อตอนหน้าละกันครับ ;) ใครมีโปรแกรมที่ใช้แล้วอึดอัด หรือใช้แล้วโคตรชอบ บอกกันได้นะครับ
blog comments powered by Disqus