ตอนที่ 3 First impression สำคัญมากๆ
แผนที่ดีช่วยลดเวลาในการพัฒนาและสร้างความพึงพอใจให้กับผู้ใช้ แต่เวลาที่เราไปจีบสาวถึงแม้ว่าจริงๆ เราจะเป็นคนดีมาก แต่ถ้าเจอกันครั้งแรกแล้วเค้าไม่ชอบเราซะแล้ว การจะให้เค้ามาเห็นความดีของเราก็เป็นเรื่องยาก คงมีหลายๆครั้งที่เราเห็นบางโปรแกรมแค่ screen short ก็เมินซะแล้ว ถ้าไม่อยากให้เหตุการณ์นั้นเกิดกับโปรแกรมของเราก็ลองมาดูกันครับว่าทำอย่างไรได้บ้าง

ตอนนี้เราจะพูดเรื่องการออกแบบประสบการณ์ครั้งแรกให้ประทับใจคนใช้ ที่ใช้คำว่าออกแบบประสบการณ์เพราะเราเป็นคนดำเนินเรื่องครับ ต้องรับบทผู้กำกับที่ทำให้ผู้ใช้ประทับใจให้ได้
ความสวยงาม เป็นเรื่องหนึ่งที่สร้างความประทับใจได้มาก พยายามให้เค้ารู้สึกว่าโปรแกรมของเราสวย ตรงนี้จะเริ่มทำให้เค้ามีความพยายามที่จะสนใจโปรแกรมของเรา จากนั้นก็ต่อด้วยความ ง่าย สามารถเริ่มต้นกับโปรแกรมของเราได้ทันที ผมเคยติดตั้ง driver สำหรับ scaner ตัวนึ่ง (บน windows) หลังจากการติดตั้งที่ยาวนาน ผมเจอโปรแกรมประมาณ 5 ตัว อยู่บน desktop ของเครื่อง สิ่งนี้ไม่ได้สร้างความประทับใจให้ผมเลย แต่กลับสร้างความสับสนให้อย่างมาก ผมไม่รู้ว่าจะใช้โปรแกรมไหนสำหรับการ scan รูปและผมก็ไม่ได้ขอให้ติดตั้งโปรแกรมเหล่านี้ลงไป สิ่งที่ผมต้องการจากการติดตั้ง driver คือโปรแกรมง่ายๆ ที่ติดตั้งไปแล้วทำให้เครื่อง scaner ใช้งานได้ ไม่จำเป็นต้องสร้างความสับสนให้ผู้ใช้
ในกรณีที่ผู้ผลิตต้องการแถมโปรแกรมอื่นๆ ก็เป็นเรื่องที่ดีครับ แต่ไม่ควรติดตั้งมาให้เลย ควรให้ผู้ใช้เลือกลงจะดีกว่า (ให้ auto boot แล้วเลือกติดตั้งก็ได้) เพราะนอกจากช่วยให้ผู้ใช้ไม่สับสนแล้ว การที่ผู้ใช้ได้เลือกเองก็ทำให้โอกาสที่จะลองใช้โปรแกรมนั้นๆ มีสูงขึ้น
นี่เป็นตัวอย่างของความประทับใจครั้งแรกของผมกับโปรแกรม driver ของ scaner เจ้าหนึ่ง ดังนั้นถ้าไม่อยากให้ผู้ใช้งานโปรแกรมของเรารู้สึกไม่ดี ลองดูเทคนิด 4 ข้อนี้ครับ
สิ่งที่ควรคำนึงถึงในการสร้างความประทับใจแรก
- หึบห่อ (Packaging)
- การส่งโปรแกรมให้ผู้ใช้ (Distribution)
- การติดตั้ง (Installation)
- ปรับแต่ง (Setup & Configuration)
เรามาดูรายละเอียดในแต่ละตัว
หึบห่อ (Packaging)
เริ่มกันตั้งแต่กล่องเลยครับ
- พยายามทำให้กล่องดูมีเสน่ห์ดึงดูง (Attractive!) และเข้าใจง่าย
- ทำให้เปิดง่ายๆ กล่องเกมส์ DOOM เปิดยากมากๆ (เป็นเหล็กทั้งกล่อง)
- บอกความต้องการของระบบอย่างชัดเจน system requirement
- ให้แน่ใจว่าผู้ใช้มีทุกอย่างที่ต้องการสำหรับใช้งานโปรแกรม (ถ้าโปรแกรมต้องการใช้ quicktime เวอร์ชันใหม่ก็ควรแนบไปให้เค้าด้วย)
- ศึกษาการติด logo และสิ่งที่เป็นมาตรฐานของ platform นั้นๆ เช่นในกรณีที่เราขายโปรแกรมกับเครื่อง Apple ก็ควรอ่าน product development ในนี้จะมีหลักในการติด logo และเครื่องหมายการค้าต่างๆ ให้ รวมทั้งเงื่อนไขในการติดสัญลักษณ์ต่างๆ เพื่อให้ผู้ใช้เข้าใจใน product ของเราง่ายที่สุดจนถึงไม่รู้สึกว่าต้องทำความเข้าใจ


ของ windows หาไม่เจอ ใครรู้ช่วยเพิ่มเติมเลยนะครับ
การส่งโปรแกรมให้ผู้ใช้ (Distribution)
- ถ้าเป็นโปรแกรมบน mac ก็ควรใช้ Disk images (.dmg) เพราะเป็นรูปแบบที่ผู้ใช้ mac คุ้นเคย ถ้าเป็นบน windows ก็ควรเป็น setup.exe ให้ผู้ใช้ double click
- ควรย่อขนาดไฟล์ให้เรียบร้อยภายใน Disk images หรือ setup.exe ไม่ควรให้ผู้ใช้มาขยายเองอีกที
- อย่าให้มีขั้นตอนมากมายสำหรับผู้ใช้ เช่น ต้อง unzip .hqx ก่อน จากนั้นก็ .sea ก่อนจะได้ .dmg เพื่อเอาไฟล์ .pkg แล้วตอนลงก็ต้องผ่าน authentication แล้วไปหน้า registration … (อยากบอกว่ามีคนที่ทำแบบนี้จริงๆ นะครับ)
การติดตั้ง (Installation)
- ทำให้ simple และ ง่าย
- ใช้วิธี drag & drop เพื่อการ install หรือให้เป็นแค่ double click ทีเดียว
- ถ้าจำเป็นต้อง setup ก็ให้ใช้ระบบ setup แบบเดียวกับที่ผู้ใช้คุ้นเคย (ลองดูโปรแกรม PackageMaker หรือ setup
- ให้ผู้ใช้กำหนดตำแหน่งที่จะติดตั้งได้
- ให้ใส่ใจกับการเปิดโปรแกรมครั้งแรก ทั้งในเรื่องการติดตั้ง และการปรับแต่งระบบ อย่าให้ผู้ใช้จากเราไปตั้งแต่ยังไม่ได้ลองโปรแกรมเรา
ยังไงก็ต้องให้เค้าได้ลองใช้โปรแกรมของเราให้ได้ก่อน หลังจากนั้นกระบวนการ register หรือการจ่ายเงินค่อยตามๆ กันมา
การปรับแต่ง (Setup and Configuration)
- ทำให้ผู้ใช้เจ็บปวดน้อยที่สุด ผู้ใช้อยากลองโปรแกรมของเราแล้ว แต่ต้องมาติดอยู่กับขั้นตอน setup มันเจ็บปวดมากครับ
- ตั้งค่า default ที่คิดมาอย่างดี อันนี้ผมว่า developer รู้ดีครับถ้าเราคิดให้หนักๆ ผู้ใช้ก็แทบไม่ต้อง configuration อะไร แต่ถ้าเรากำหนด default มาไม่ดีการให้เค้ามากำหนดอะไรเองมากมาย มันเจ็บปวดอยู่ครับ ยิ่งถ้า config ไม่ได้จะทรมาณมาก
- ให้ผู้ใช้ใส่รายละเอียดเองให้น้อยที่สุด อย่ามักง่ายโดยการให้โปรแกรม popup คำถามขึ้นมา ถ้าเป็นไปได้เราควรให้โปรแกรมไปหาคำตอบเองดีกว่า ผมจะเจ็บปวดถ้าโปรแกรที่ขึ้นมาถามค่าในเครื่องของเราทั้งๆ ที่มันไปเอามาเองได้ แล้วค่าที่โปรแกรมมันจะเอาก็ใช่ว่าเราจะหามาให้มันได้ง่ายๆ นะ
สุดท้ายหัวใจของ first impression คือทำอย่างไรก็ได้ให้ผู้ใช้เริ่มใช้งานโปรแกรมของเราให้เร็วที่สุด โดยมีปัญหาน้อยที่สุด