ทำไมการออกแบบ UI ที่ดีจึงยากสำหรับนักพัฒนาบางคน [ปิด]


206

พวกเราบางคนมีช่วงเวลาที่ยากลำบากกับการออกแบบ UI ที่นุ่มนวล ( โดยเฉพาะตัวเอง ) "back-end coders" ถึงอีกแล้วที่จะออกแบบตรรกะทางธุรกิจและชั้นข้อมูลหรือไม่? มีบางสิ่งที่เราสามารถทำได้เพื่อฝึกฝนสมองของเราให้มีประสิทธิภาพมากขึ้นในการออกแบบเลเยอร์การนำเสนอที่น่าพอใจและมีประโยชน์หรือไม่?

เพื่อนร่วมงานได้แนะนำหนังสือไม่กี่เล่มผมรวมทั้งการออกแบบเว็บไซต์ , อย่าทำให้ฉันคิดและทำไมซอฟท์แวครับแต่ผมสงสัยว่าสิ่งที่คนอื่นได้ทำเพื่อลบข้อบกพร่องของพวกเขาในพื้นที่นี้หรือไม่?


1
สำหรับตัวเอง (ฉันประสบปัญหาเดียวกัน) ฉันรู้ UI ที่ดีเมื่อฉันใช้ และฉันรู้ UI ที่ทำให้ฉันรำคาญอย่างแน่นอน แต่ฉันมีเวลาที่ยากมากที่พยายามออกแบบด้วยตัวเอง มันเหมือนตาที่สำคัญที่ฉันมีเมื่อฉันใช้ UI ของคนอื่นไม่ทำงานในแบบของฉันเอง
JMD

1
ฉันเกลียดคำว่า "back-end coder" และพยายามที่จะทำให้มันออกจากชื่อ
Chris Ballance

20
การออกแบบกราฟิก! = การออกแบบ UI อดีตเป็นเรื่องเกี่ยวกับการทำสิ่งที่สวย สิ่งหลังเป็นเรื่องเกี่ยวกับการทำให้สิ่งต่าง ๆ มีประโยชน์และสามารถใช้งานได้
Esko Luontola

2
+1 @Esko บ่อยครั้งที่ 'สวย' หมายถึงไม่สามารถใช้งานได้โดยสิ้นเชิง แต่ทั้งสองสามารถอยู่ร่วมกันได้หากจัดการด้วยความระมัดระวังและความคิด
Daily

12
ทำไมการพัฒนาซอฟต์แวร์จึงเป็นเรื่องยากสำหรับนักออกแบบ UI?
Greg Hurlman

คำตอบ:


360

ให้ฉันพูดโดยตรง:

การปรับปรุงนี้ไม่ได้เริ่มต้นด้วยแนวทาง มันเริ่มต้นด้วยการ Reframing ว่าคุณคิดอย่างไรเกี่ยวกับซอฟต์แวร์

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

มันเป็นปัญหาทั่วไปเมื่อผู้เชี่ยวชาญปะทะกับฆราวาส: คนธรรมดาคนนี้จะโง่ขนาดนี้ได้ยังไงถ้าไม่เข้าใจสิ่งที่ผู้เชี่ยวชาญเข้าใจเมื่อ 10 ปีก่อน?

หนึ่งในข้อเท็จจริงแรกที่ยอมรับว่ายากที่จะเข้าใจอย่างไม่น่าเชื่อสำหรับนักพัฒนาที่มีประสบการณ์เกือบทั้งหมดคือ:

คนปกติมีแนวคิดซอฟต์แวร์ที่แตกต่างจากคุณ พวกเขาไม่มีเงื่อนงำการเขียนโปรแกรมใด ๆ ไม่มี. ศูนย์. และพวกเขาก็ไม่สนใจ พวกเขาไม่คิดว่าพวกเขาจะต้องใส่ใจ หากคุณบังคับให้พวกเขาพวกเขาจะลบโปรแกรมของคุณ

ตอนนี้มันช่างโหดร้ายอย่างไม่น่าเชื่อสำหรับนักพัฒนา เขาภูมิใจในซอฟต์แวร์ที่เขาผลิต เขารักคุณสมบัติทุกอย่าง เขาสามารถบอกคุณได้ว่าโค้ดด้านหลังทำงานอย่างไร บางทีเขาอาจคิดค้นอัลกอริทึมที่ไม่น่าเชื่อที่ทำให้มันทำงานเร็วกว่าเดิม 50%

และผู้ใช้ไม่สนใจ

ช่างเป็นคนงี่เง่า

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

พวกเขาจะไม่.

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

นักพัฒนาซอฟต์แวร์หลายคนชอบดูหนัง ภาพยนตร์ที่ทำดีที่จุดประกายจินตนาการของพวกเขา แต่พวกเขาไม่ใช่ผู้เชี่ยวชาญในการผลิตภาพยนตร์ในการผลิตเอฟเฟ็กต์ภาพหรือในการเขียนสคริปต์ภาพยนตร์ที่ดี ผู้สนใจส่วนใหญ่เป็นคนที่แย่มาก ๆ ในการแสดงเพราะมันเป็นเรื่องของการแสดงอารมณ์ที่ซับซ้อนและการวิเคราะห์ หากนักพัฒนาดูหนังที่ไม่ดีเขาก็สังเกตเห็นว่ามันไม่ดีโดยรวม Nerds ได้สร้าง IMDB ขึ้นมาเพื่อรวบรวมข้อมูลเกี่ยวกับภาพยนตร์ที่ดีและไม่ดีเพื่อที่พวกเขาจะได้รู้ว่าควรดูภาพยนตร์เรื่องไหนและเรื่องไหนที่ควรหลีกเลี่ยง แต่พวกเขาไม่ใช่ผู้เชี่ยวชาญในการสร้างภาพยนตร์ หากภาพยนตร์ไม่ดีพวกเขาจะไม่ไปดูภาพยนตร์ (หรือไม่ดาวน์โหลดจาก BitTorrent;)

ดังนั้นมันจึงลดลงเป็น: การหลีกเลี่ยงผู้ใช้ปกติในฐานะผู้เชี่ยวชาญคือความไม่รู้ เพราะในพื้นที่เหล่านั้น (และมีจำนวนมาก) ที่พวกเขาไม่ใช่ผู้เชี่ยวชาญพวกเขาคาดหวังว่าผู้เชี่ยวชาญของพื้นที่อื่น ๆ จะได้คิดเกี่ยวกับคนปกติที่ใช้ผลิตภัณฑ์หรือบริการของพวกเขาแล้ว

คุณสามารถทำอะไรเพื่อแก้ไขได้บ้าง ยิ่งคุณเป็นนักเขียนโปรแกรมมากเท่าไรคุณก็ยิ่งเปิดโอกาสให้ผู้ใช้ปกติคิดน้อยลงเท่านั้น มันจะเป็นมนุษย์ต่างดาวและไร้เดียงสาสำหรับคุณ คุณจะคิดว่า: ฉันไม่สามารถจินตนาการว่าคนอาจจะเคยใช้คอมพิวเตอร์กับการขาดความรู้นี้ แต่พวกเขาสามารถ สำหรับองค์ประกอบ UI ทุกข้อควรคำนึงถึง: จำเป็นหรือไม่ มันเหมาะสมกับแนวคิดที่ผู้ใช้มีกับเครื่องมือของฉันหรือไม่? ฉันจะทำให้เขาเข้าใจได้อย่างไร โปรดอ่านเกี่ยวกับการใช้งานสำหรับสิ่งนี้มีหนังสือดีๆมากมาย มันเป็นวิทยาศาสตร์ทั้งหมดด้วย

อาและก่อนที่คุณจะพูดใช่ฉันเป็นแฟนของ Apple;)


8
ความคิดเห็นที่ยอดเยี่ยม! คุณได้พัฒนาหนึ่งในอุปสรรคสำคัญที่สุดในการออกแบบซอฟต์แวร์ ความจริงที่ยากจะกลืนสำหรับนักพัฒนาที่แข็ง (เช่นฉัน) แต่ความจริงมักจะเป็น

12
+1 ฉันขอแนะนำให้อ่าน "ผู้ต้องขังที่กำลังลี้ภัย" มันมีรายละเอียดที่ดีเกี่ยวกับความแตกต่างของความคิดของผู้ใช้ / dev รวมถึงการเยียวยาบางอย่าง
Richard Levasseur

9
+1 ตามความจริงนักพัฒนาซอฟต์แวร์ใด ๆ ที่ไม่สนใจว่าผู้ใช้จะเป็นผู้พัฒนาที่ไม่ดี!
Gary Willoughby

7
คะแนนที่ถูกต้องมากและฉันคิดว่าความคิดนี้เป็นส่วนหนึ่งของเหตุผลที่โครงการที่ดำเนินการโดยนักพัฒนาจำนวนมาก (เช่นโอเพ่นซอร์สหรือสิ่งที่คุณมี) ได้เจอกับการใช้งานที่ยากลำบาก เขียนเพื่อตนเองในฐานะผู้ใช้ไม่ใช่สำหรับผู้ใช้ "ของจริง"
CloudyMusic

25
+1 นี่คือเหตุผลที่ Linux ยังไม่พร้อมสำหรับเดสก์ท็อปของผู้ใช้โดยเฉลี่ย
ไบรอันเดอร์สัน

215

การออกแบบ UI นั้นยาก

สำหรับคำถาม:

เหตุใดการออกแบบ UI จึงยากสำหรับนักพัฒนาส่วนใหญ่

ลองถามคำถามผกผัน:

ทำไมการเขียนโปรแกรมอย่างหนักมากที่สุดสำหรับนักออกแบบ UI ?

การเข้ารหัส UI และการออกแบบ UI นั้นต้องการทักษะที่แตกต่างและความคิดที่แตกต่าง การออกแบบ UI นั้นยากสำหรับนักพัฒนาส่วนใหญ่ไม่ใช่นักพัฒนาบางคนเช่นเดียวกับการเขียนโค้ดนั้นยากสำหรับนักออกแบบส่วนใหญ่ไม่ใช่นักออกแบบบางคน

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

การรู้เพิ่มเติมเกี่ยวกับการออกแบบ UI จะทำให้คุณเป็นนักพัฒนาซอฟต์แวร์ที่ดีขึ้น แต่นั่นไม่ได้หมายความว่าคุณควรรับผิดชอบการออกแบบ UI การย้อนกลับเป็นความจริงสำหรับนักออกแบบ: การรู้วิธีเขียนโค้ดจะทำให้นักออกแบบดีขึ้น แต่นั่นไม่ได้หมายความว่าพวกเขาควรจะรับผิดชอบการเข้ารหัส UI

วิธีทำให้ดีขึ้นในการออกแบบ UI

สำหรับนักพัฒนาที่ต้องการพัฒนา UI ให้ดีขึ้นฉันมีคำแนะนำพื้นฐาน 3 ส่วน:

  1. ตระหนักถึงการออกแบบที่เป็นทักษะที่แยกต่างหาก การเข้ารหัสและการออกแบบนั้นแยกจากกัน แต่เกี่ยวข้องกัน การออกแบบ UI ไม่ใช่ชุดย่อยของการเข้ารหัส ต้องใช้ความคิดฐานความรู้และกลุ่มทักษะที่แตกต่างกัน มีคนที่มุ่งเน้นไปที่การออกแบบ UI
  2. เรียนรู้เกี่ยวกับการออกแบบ อย่างน้อยนิดหน่อย พยายามเรียนรู้แนวคิดและเทคนิคการออกแบบบางส่วนจากรายการด้านล่าง หากคุณมีความทะเยอทะยานมากขึ้นอ่านหนังสือเข้าร่วมการประชุมเข้าชั้นเรียนรับปริญญา มีหลายวิธีในการเรียนรู้เกี่ยวกับการออกแบบ หนังสือของ Joel Spolky เกี่ยวกับการออกแบบ UIเป็นไพรเมอร์ที่ดีสำหรับนักพัฒนา แต่มันมีอะไรมากมายและเป็นสิ่งที่นักออกแบบเข้ามาในรูปภาพ
  3. การทำงานกับนักออกแบบ นักออกแบบที่ดีถ้าคุณทำได้ คนที่ทำงานนี้ทำงานด้วยชื่อต่าง ๆ วันนี้ชื่อเรื่องที่พบบ่อยที่สุดคือ User Experience Designer (UXD), Architect Information (IA), Interaction Designer (ID) และวิศวกรการใช้งาน พวกเขาคิดถึงการออกแบบมากพอ ๆ กับที่คุณคิดถึงรหัส คุณสามารถเรียนรู้มากมายจากพวกเขาและพวกเขาจากคุณ ทำงานกับพวกเขา แต่คุณสามารถ ค้นหาผู้ที่มีทักษะเหล่านี้ใน บริษัท ของคุณ บางทีคุณอาจต้องจ้างคนอื่น หรือไปที่การประชุมบางส่วนเข้าร่วมการสัมมนาทางเว็บและใช้เวลาในโลก UXD / IA / ID

นี่คือบางสิ่งที่คุณสามารถเรียนรู้ได้ อย่าพยายามที่จะเรียนรู้ทุกอย่าง หากคุณรู้ทุกอย่างด้านล่างคุณสามารถเรียกตัวคุณเองว่าเป็นผู้ออกแบบการโต้ตอบหรือสถาปนิกข้อมูล เริ่มต้นด้วยสิ่งที่ใกล้ด้านบนของรายการ เน้นแนวคิดและทักษะที่เฉพาะเจาะจง จากนั้นเลื่อนลงและแตกแขนงออก หากคุณชอบสิ่งนี้จริงๆให้ถือว่าเป็นเส้นทางอาชีพ นักพัฒนาหลายคนย้ายเข้าสู่การจัดการ แต่การออกแบบ UX เป็นอีกทางเลือก

  • เรียนรู้แนวคิดการออกแบบพื้นฐาน คุณควรรู้เกี่ยวกับการจ่ายเงินการมองเห็นการตอบรับการแมปกฎของ Fitt poka-yoke และอื่น ๆ ฉันขอแนะนำให้อ่านการออกแบบทุกสิ่ง (ดอนนอร์แมน) และหลักการออกแบบสากล (Lidwell, Holden, & Butler)
  • เรียนรู้เกี่ยวกับประสบการณ์ของผู้ใช้ นี่เป็นคำศัพท์สำหรับการออกแบบเว็บไซต์แอพพลิเคชั่นและสิ่งประดิษฐ์ดิจิทัลอื่น ๆ ไพรเมอร์คลาสสิคที่นี่คือองค์ประกอบของประสบการณ์ผู้ใช้ (Jesse James Garrett) คุณจะได้รับภาพรวมและบทแรก ๆ จากเว็บไซต์ของผู้เขียน
  • เรียนรู้ที่จะออกแบบร่าง การร่างเป็นวิธีที่รวดเร็วในการสำรวจตัวเลือกการออกแบบและค้นหาการออกแบบที่เหมาะสมในขณะที่การทดสอบการใช้งานนั้นเกี่ยวกับการทำให้การออกแบบถูกต้อง การสร้างต้นแบบของกระดาษนั้นรวดเร็วราคาถูกและมีประสิทธิภาพในช่วงแรกของการออกแบบ เร็วกว่าการเข้ารหัสต้นแบบดิจิตอล ข้อความสำคัญที่นี่คือร่างประสบการณ์ผู้ใช้: ทำให้การออกแบบถูกต้องและการออกแบบที่เหมาะสม ( Bill Buxton ) การร่างเป็นทักษะที่มีประโยชน์อย่างยิ่งเมื่อทำงานกับนักออกแบบ IA / ID / UX การทำงานร่วมกันของคุณจะมีประสิทธิภาพมากขึ้น สำหรับไพรเมอร์ที่ดีเกี่ยวกับวิธีการและเหตุผลออกแบบวาด, ดูงานนำเสนอวิธีการจะเป็นทีม UX หนึ่งโดยลีอาห์ Buley จากการประชุมสุดยอด IA 2008
  • เรียนรู้ต้นแบบกระดาษ วิธีที่เร็วที่สุดในการทดสอบซ้ำส่วนติดต่อก่อนที่คุณจะเขียนโค้ด แตกต่างจากการร่างและการทดสอบการใช้งาน หนังสือสรุปที่นี่คือPaper Prototyping (Carolyn Snyder) คุณจะได้รับสิ่งที่ดี DVD บนนี้จากนีลเส็นนอร์แมนกลุ่ม
  • เรียนรู้ทดสอบการใช้งาน การทดสอบส่วนลดนั้นง่ายและมีประสิทธิภาพ แต่สำหรับ UIs มากมายการใช้งานนั้นทำได้ยาก คุณสามารถเรียนรู้พื้นฐานได้อย่างรวดเร็ว แต่คนที่ใช้งานได้ดีนั้นมีค่า หากคุณต้องการหนังสือคลาสสิกคือคู่มือการทดสอบการใช้งาน (เจฟฟรีย์รูบิน) มันเก่ากว่า แต่ให้การครอบคลุมการทดสอบตามห้องปฏิบัติการอย่างละเอียด หนังสือเริ่มต้นที่มีชื่อเสียงคือDon't Make Me Think (2nd Ed) (Steve Krug) ฉันเตือนผู้คนเกี่ยวกับสิ่งนี้: Krug ทำให้ฟังดูง่ายกว่าที่เป็นอยู่ แต่มันเป็นจุดเริ่มต้นที่ดี หนังสือวิจัยผู้ใช้ที่ระบุไว้ในจุดถัดไปยังครอบคลุมหัวข้อนี้ และคุณสามารถค้นหากองออนไลน์ได้
  • เรียนรู้เกี่ยวกับสถาปัตยกรรมข้อมูล หนังสือหลักที่นี่คือสถาปัตยกรรมข้อมูลสำหรับเวิลด์ไวด์เว็บ (ที่ 3) (Louis Rosenfeld & Peter Morville) หนังสือเริ่มต้นที่ดีคือสถาปัตยกรรมข้อมูล: พิมพ์เขียวสำหรับเว็บ (Christina Wodtke) สำหรับข้อมูลเพิ่มเติมโปรดเยี่ยมชมสถาปัตยกรรมข้อมูลสถาบันหรือเข้าร่วมการประชุมประจำปีของการประชุมสุดยอดสถาปัตยกรรมข้อมูล
  • เรียนรู้เกี่ยวกับการออกแบบปฏิสัมพันธ์ หนังสือหลักที่นี่คือEssentials of Interaction Design (3) (Alan Cooper, et al ) หนังสือเริ่มต้นที่ดีคือการออกแบบสำหรับการโต้ตอบ (Dan Saffer) สำหรับข้อมูลเพิ่มเติมโปรดเยี่ยมชมปฏิสัมพันธ์ออกแบบสมาคม (IxDA)หรือเข้าร่วมการประชุมประจำปีของการโต้ตอบการประชุมการออกแบบ
  • เรียนรู้พื้นฐานของการออกแบบกราฟิก การออกแบบกราฟิกไม่ใช่การออกแบบ UI แต่แนวคิดจากการออกแบบกราฟิกสามารถปรับปรุงส่วนต่อประสานได้ การออกแบบกราฟิกแนะนำหลักการออกแบบสำหรับการนำเสนอข้อมูลด้วยภาพเช่นระยะใกล้เคียงการจัดตำแหน่งและทวีคูณขนาดเล็ก ฉันแนะนำให้อ่านหนังสือออกแบบที่ไม่ใช่นักออกแบบ (Robin Williams) และEnvisioning Information (Edward Tufte)
  • เรียนรู้การทำวิจัยผู้ใช้ เมื่อการทดสอบการใช้งานอินเทอร์เฟซการวิจัยผู้ใช้พยายามที่จะสร้างแบบจำลองผู้ใช้และงานของพวกเขาผ่านบุคคล, สถานการณ์, การเดินทางของผู้ใช้และเอกสารอื่น ๆ มันเกี่ยวกับการทำความเข้าใจผู้ใช้และสิ่งที่พวกเขาทำจากนั้นใช้สิ่งนั้นเพื่อแจ้งการออกแบบแทนที่จะคาดเดา เทคนิคบางอย่างคือการสัมภาษณ์การสำรวจบันทึกประจำวันและการเรียงลำดับรถเข็น หนังสือที่ดีเกี่ยวกับเรื่องนี้คือการสังเกตประสบการณ์ผู้ใช้ (Mike Kuniavsky) และทำความเข้าใจผู้ใช้ของคุณ (Courage & Baxter)
  • เรียนรู้การทำวิจัยภาคสนาม การเฝ้าดูผู้คนในห้องปฏิบัติการภายใต้สภาพเทียมช่วยได้ (เช่น: การใช้งาน) แต่ไม่มีอะไรที่เหมือนกับการเฝ้าดูผู้คนใช้รหัสของคุณในบริบท: บ้านสำนักงานของพวกเขาหรือที่ใดก็ตามที่พวกเขาใช้มัน ไปตามชื่อต่าง ๆ รวมทั้งชาติพันธุ์วิทยาการศึกษาภาคสนามและการสอบถามเชิงบริบท นี่คือไพรเมอร์ที่ดีในการวิจัยภาคสนาม หนังสือสองเล่มที่เป็นที่รู้จักกันดีในที่นี้คือการออกแบบบริบทอย่างรวดเร็ว (Karen Holtzblatt et al ) และการวิเคราะห์ผู้ใช้และงานสำหรับการออกแบบส่วนต่อประสาน (Hackos & Redish)
  • อ่าน UX เว็บไซต์ออกแบบเว็บ บางคนขนาดใหญ่กล่อง & Arrows , UX Mag , เรื่อง UXและเว็บนิตยสารดิจิตอล
  • ใช้ UI ห้องสมุดรูปแบบ มีรูปแบบสำหรับอินเตอร์เฟส สำหรับเว็บไซต์ฉันขอแนะนำการออกแบบเว็บไซต์การใช้งาน 2nd ed (Van Duyne และอื่น ๆ ) และการใช้งานโฮมเพจ: 50 เว็บไซต์แยกส่วน (Jakob Nielsen และ Marie Tahir) สำหรับแอปพลิเคชันเดสก์ท็อปฉันขอแนะนำการออกแบบอินเทอร์เฟซ (Jennifer Tidwell) และสำหรับเว็บแอปพลิเคชันฉันขอแนะนำให้ออกแบบการเชื่อมต่อเว็บ: หลักการและรูปแบบสำหรับการโต้ตอบที่หลากหลาย (Bill Scott & Theresa Neil) ออนไลน์คุณควรตรวจสอบWelie ห้องสมุดรูปแบบ , รูปแบบ UIและรูปแบบเว็บ UI
  • เข้าร่วมการประชุมการออกแบบ UX บางการประชุมประจำปีที่ดี: Information Architecture Summit , ปฏิสัมพันธ์ '09 (IxDA) , User InterfaceและUX สัปดาห์
  • เข้าร่วมการประชุมเชิงปฏิบัติการหรือการสัมมนาทางเว็บ คุณสามารถเข้าร่วมเวิร์คช็อปการสัมมนาทางเว็บและหลักสูตรออนไลน์ นี้อยู่ไกลจากรายการที่ครอบคลุม แต่คุณอาจลองUIE สัมมนาเสมือน , การสัมมนาเสมือนการปรับเปลี่ยนเส้นทางและการสัมมนาทางเว็บ UX จากแจสันสื่อ
  • ได้รับการศึกษาระดับปริญญา การศึกษาระดับปริญญาตรีใน HCI เป็นวิธีการหนึ่ง แต่โปรแกรมเหล่านี้ส่วนใหญ่เกี่ยวกับการเขียนโค้ด หากคุณต้องการเรียนรู้เกี่ยวกับการออกแบบสิ่งประดิษฐ์และอุปกรณ์ดิจิทัลคุณต้องมีโปรแกรมบัณฑิตที่ไม่ได้อยู่ใน CS ตัวเลือกบางอย่างรวมถึงการออกแบบการโต้ตอบที่ Carnegie Mellon , d-School ที่ Stanford , โปรแกรม ITP ของ NYUและสถาปัตยกรรมข้อมูลและการจัดการความรู้ที่ Kent State (การเปิดเผยข้อมูล: ฉันอยู่ในคณะที่ Kent เราเห็นผู้คนจำนวนมากที่มี CS องศาเข้ามาในการออกแบบ UX แทนที่จะเป็นการจัดการที่น่าสนใจเพราะการจัดการเป็นเส้นทางดั้งเดิมสำหรับนักพัฒนาที่ต้องการย้ายออกจาก การเขียนรหัสในขณะที่อยู่ในเขตข้อมูลของพวกเขา) มีโปรแกรมอีกมากมาย แต่ละคนมีมุมมองของตนเองพื้นที่เน้นและความคาดหวังทางเทคนิค บางส่วนมาจากศิลปะและการออกแบบภาพส่วนอื่น ๆ ออกจากห้องสมุดและวิทยาการสารสนเทศและบางส่วนมาจาก CS ส่วนใหญ่เป็นลูกผสม แต่ลูกผสมทุกตัวมีรากที่ลึกกว่าในหนึ่งฟิลด์หรือมากกว่า หากคุณสนใจสิ่งนี้ให้มองไปรอบ ๆ และพยายามเข้าใจความแตกต่างระหว่างโปรแกรมเหล่านี้ บางหลักสูตรเปิดสอนหลักสูตรออนไลน์และโปรแกรมประกาศนียบัตรเพิ่มเติมนอกเหนือจากหลักสูตรเต็มรูปแบบ

ทำไมการออกแบบ UI จึงยาก

การออกแบบ UI ที่ดีนั้นทำได้ยากเพราะมันเกี่ยวข้องกับทักษะที่แตกต่างกัน 2 อย่าง:

  • ความรู้ความเข้าใจของเครื่อง คนในกลุ่มนี้กังวลเกี่ยวกับรหัสแรกคนที่สอง พวกเขามีความรู้และทักษะทางเทคโนโลยีอย่างลึกซึ้ง เราเรียกพวกเขาว่านักพัฒนาโปรแกรมเมอร์วิศวกรและอื่น ๆ
  • ความเข้าใจอย่างลึกซึ้งของผู้คนและการออกแบบ : คนในกลุ่มนี้กังวลเกี่ยวกับคนแรกรหัสที่สอง พวกเขามีความรู้อย่างลึกซึ้งว่าผู้คนมีปฏิสัมพันธ์กับข้อมูลคอมพิวเตอร์และโลกรอบตัวอย่างไร เราเรียกพวกเขาว่านักออกแบบประสบการณ์ผู้ใช้สถาปนิกด้านข้อมูลผู้ออกแบบการโต้ตอบวิศวกรการใช้งานและอื่น ๆ

นี่คือความแตกต่างที่สำคัญระหว่าง 2 กลุ่มนี้ระหว่างนักพัฒนาและนักออกแบบ:

  • นักพัฒนาทำให้มันใช้งานได้ พวกเขาใช้ฟังก์ชั่นการใช้งานบน TiVo, iPhone ของคุณ, เว็บไซต์โปรดของคุณ ฯลฯ พวกเขาตรวจสอบให้แน่ใจว่าจริง ๆ แล้วมันทำในสิ่งที่มันควรจะทำ ลำดับความสำคัญสูงสุดของพวกเขาคือทำให้มันทำงานได้
  • ออกแบบทำให้คนรักมัน พวกเขาหาวิธีโต้ตอบกับมันอย่างไรควรมีลักษณะอย่างไรและรู้สึกอย่างไร พวกเขาออกแบบประสบการณ์การใช้แอพพลิเคชั่นเว็บไซต์อุปกรณ์ ความสำคัญสูงสุดของพวกเขาคือการทำให้คุณตกหลุมรักกับสิ่งที่นักพัฒนาทำ นี่คือสิ่งที่เกิดขึ้นจากประสบการณ์ของผู้ใช้และมันไม่เหมือนกับประสบการณ์ในการใช้แบรนด์

ยิ่งกว่านั้นการเขียนโปรแกรมและการออกแบบต้องใช้ความตั้งใจที่แตกต่างกันไม่ใช่แค่ความรู้และทักษะที่แตกต่างกัน การออกแบบ UI ที่ดีนั้นต้องใช้ทั้งความตั้งใจทั้งฐานความรู้และกลุ่มทักษะ และมันใช้เวลาหลายปีกว่าจะเชี่ยวชาญ

นักพัฒนาควรคาดหวังว่าจะพบการออกแบบ UI อย่างหนักเช่นเดียวกับที่นักออกแบบ UI ควรคาดหวังว่าจะพบการเขียนโค้ดอย่างหนัก


8
นี่คือคำตอบที่ดีที่สุดที่นี่ ลิงค์ที่ยอดเยี่ยม BTW!
เบอร์นาร์ด Igiri

ภาพรวมที่ยอดเยี่ยมของการออกแบบ UI! ฉันยังได้สังเกตความคิดของคุณเกี่ยวกับความคิดต่าง ๆ ฉันทำทั้งการออกแบบ UI และการเขียนโปรแกรมและดีที่สุดที่ฉันจะมุ่งเน้นที่พวกเขาเพียงคนเดียวในแต่ละครั้ง [... ]
Esko Luontola

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

2
เหตุใดจึงไม่ทำเครื่องหมายว่าเป็นคำตอบที่ดีที่สุด ดูเหมือนจะดีกว่าคำตอบของ Thorsten79
AbdullahC

1
หวังว่าฉันจะชื่นชอบคำตอบนี้โดยตรง :)
ด่าน J

70

สิ่งที่ช่วยฉันในการปรับปรุงการออกแบบของฉันคือการคว้านักพัฒนาเพื่อนคนหนึ่งคนคุณภาพ QA PM หรือใครก็ตามที่เดินผ่านและให้พวกเขาลองใช้วิดเจ็ตหรือหน้าจอเฉพาะ

มันวิเศษมากที่คุณจะรู้เมื่อคุณดูคนอื่นใช้ซอฟต์แวร์ของคุณเป็นครั้งแรก


ฉันลองใช้วิธีนี้บ่อยครั้งและพบว่ามันมีประสิทธิภาพมาก บางครั้งฉันมีเพื่อนที่ไม่ใช่ด้านเทคนิคใช้เพื่อดูสิ่งที่ทำให้พวกเขาเจ็บปวดเมื่อพยายามใช้
Chris Ballance

นี่เป็นวิธีการเดียวกับที่ฉันใช้
Ed S.

วิธีนี้อาจเรียกว่า "การทดสอบการใช้งาน" อาจเกิดขึ้น? ;) ใช่มันเป็นวิธีการที่คุณควรทำก่อนระหว่างและหลัง
Ates Goral

นี่จะเป็นคำตอบที่แน่นอนของฉัน QA และการสนับสนุนทางเทคนิคนั้นยอดเยี่ยม นักพัฒนาดูดการออกแบบ UI, ทำซ้ำและให้คนอื่นทดสอบบ่อยๆ
Bill K

7
ผมเชื่อว่าที่เรียกว่า "การทดสอบการใช้งานห้องโถง"
เควิน

32

ในที่สุดมันเป็นเรื่องของการเอาใจใส่คุณสามารถใส่ตัวคุณเองกับรองเท้าของผู้ใช้ของคุณ?

สิ่งหนึ่งที่ช่วยได้แน่นอนคือ "การกิน dogfood ของคุณเอง" - การใช้แอปพลิเคชันของคุณเป็นผู้ใช้จริงด้วยตัวคุณเองและเห็นสิ่งที่น่ารำคาญ

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

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

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


ใส่กัน ส่วนใหญ่แล้วความพยายามที่จะเพิ่มความยืดหยุ่นเพียงส่งผลให้เกิดความยุ่งเหยิง ง่ายกว่า == ดีกว่า
SquareCog

คุณสามารถใส่ตัวเองในรองเท้าของผู้ใช้ของคุณถ้าพวกเขาอยู่ในอีกด้านหนึ่งของโลกในวัฒนธรรมที่คุณไม่เคยมีประสบการณ์มาก่อนหรือไม่? การทำให้เป็นสากลคือการพิจารณาที่สำคัญในการออกแบบ UI ที่มั่นคง อย่าคิดว่าทุกคนอาศัยอยู่ในสหรัฐอเมริกา

แน่นอน; โครงการปัจจุบันของฉันมีเป้าหมายอยู่ที่ผู้ใช้ทั่วโลก (โดยทั่วไปในทุกประเทศนอกเหนือจากสหรัฐอเมริกาซึ่งเป็นที่ฉันอยู่) มันทำให้การเอาใจใส่ยากขึ้นไม่มีคำถาม - และที่สำคัญกว่านั้นคือพยายามอย่างจริงจังและจริงจัง
344281 Jacob Mattison

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

+1 เพียงเพราะฉันไม่สามารถ +100 ตัวเอง! ฉันจะเพิ่มว่าการได้รับประสบการณ์การใช้งานแอปพลิเคชันที่แตกต่างกันอย่างที่พวกเขาตั้งใจจะช่วยให้คุณเติบโตในฐานะนักพัฒนา UI การใช้เครื่องมือเช่น Visual Studio หรือเครื่องมือ dev อื่น ๆ เท่านั้นจะขัดขวางความสามารถนี้ ...
BQ

26

ตรงกันข้ามกับตำนานที่เป็นที่นิยมไม่มีการออกแบบ UI ที่อ่อนนุ่มอย่างแท้จริงไม่น้อยกว่าที่จำเป็นในการออกแบบด้านหลังที่ดี

พิจารณาสิ่งต่อไปนี้ การออกแบบแบ็คเอนด์ที่ดีนั้นตั้งอยู่บนหลักการและองค์ประกอบที่แข็งแกร่งซึ่งนักพัฒนาที่ดีคุ้นเคยกับ:

  • คลัปต่ำ

  • การติดต่อกันสูง

  • รูปแบบสถาปัตยกรรม

  • แนวปฏิบัติที่ดีที่สุดในอุตสาหกรรม

  • ฯลฯ

การออกแบบแบ็คเอนด์ที่ดีนั้นมักเกิดจากการมีปฏิสัมพันธ์หลายครั้งซึ่งขึ้นอยู่กับความคิดเห็นที่วัดได้ในระหว่างการทดสอบหรือการใช้งานจริงพิมพ์เขียวเริ่มต้นจะค่อยๆดีขึ้น บางครั้งคุณต้องสร้างต้นแบบด้านหลังเล็ก ๆ และทดลองใช้มันแยกกันเป็นต้น

การออกแบบ UI ที่ดีขึ้นอยู่กับหลักการด้านเสียงของ:

  • ทัศนวิสัย

  • affordance

  • ข้อเสนอแนะ

  • ความอดทน

  • ความง่าย

  • ความมั่นคง

  • โครงสร้าง

UI ก็เกิดจากการทดสอบและการทดลองผ่านการทำซ้ำ แต่ไม่ใช่กับคอมไพเลอร์ + ชุดทดสอบอัตโนมัติ แต่เป็นคน เช่นเดียวกับส่วนหลังมีแนวทางปฏิบัติที่ดีที่สุดในอุตสาหกรรมเทคนิคการวัดและประเมินผลวิธีคิด UI และกำหนดเป้าหมายในแง่ของรูปแบบผู้ใช้อิมเมจระบบโมเดลนักออกแบบโมเดลโครงสร้างแบบจำลองการทำงาน ฯลฯ

ชุดทักษะที่จำเป็นสำหรับการออกแบบ UI ค่อนข้างแตกต่างจากการออกแบบแบ็คเอนด์และดังนั้นอย่าคาดหวังว่าจะสามารถทำ UI ที่ดีได้โดยไม่ต้องเรียนรู้ก่อน อย่างไรก็ตามกิจกรรมทั้งสองนี้มีเหมือนกันคือกระบวนการออกแบบ ฉันเชื่อว่าทุกคนที่สามารถออกแบบซอฟต์แวร์ที่ดีมีความสามารถในการออกแบบ UI ที่ดีตราบเท่าที่พวกเขาใช้เวลาเรียนรู้วิธีการ

ฉันแนะนำให้เรียนหลักสูตร Human Human Interaction ตรวจสอบเว็บไซต์ MIT และ Yale สำหรับสื่อออนไลน์:

แบบจำลองเชิงโครงสร้างเทียบกับหน้าที่ในการทำความเข้าใจและการใช้งาน

โพสต์ก่อนหน้านี้ที่ยอดเยี่ยมโดย Thorsten79นำเสนอหัวข้อของผู้เชี่ยวชาญด้านการพัฒนาซอฟต์แวร์และผู้ใช้และความเข้าใจในซอฟต์แวร์ของพวกเขาแตกต่างกันอย่างไร ผู้เชี่ยวชาญด้านการเรียนรู้ของมนุษย์แยกแยะความแตกต่างระหว่างแบบจำลองทางจิตใจที่ใช้งานได้กับโครงสร้าง การหาวิธีไปที่บ้านเพื่อนของคุณอาจเป็นตัวอย่างที่ยอดเยี่ยมของความแตกต่างระหว่างสอง:

  • วิธีแรกประกอบด้วยชุดของคำแนะนำโดยละเอียด: ใช้ทางออกแรกของมอเตอร์เวย์จากนั้นเลี้ยวซ้าย 100 หลาเป็นต้นนี่คือตัวอย่างของรูปแบบการทำงาน: รายการขั้นตอนคอนกรีตที่จำเป็นเพื่อให้บรรลุเป้าหมายที่แน่นอน แบบจำลองการใช้งานใช้งานง่ายพวกเขาไม่จำเป็นต้องคิดมากเพียงการดำเนินการไปข้างหน้าโดยตรง เห็นได้ชัดว่ามีการลงโทษสำหรับความเรียบง่าย: มันอาจไม่ใช่เส้นทางที่มีประสิทธิภาพมากที่สุดและสถานการณ์พิเศษใด ๆ (เช่นการเบี่ยงการจราจร) สามารถทำให้เกิดความล้มเหลวได้อย่างสมบูรณ์

  • วิธีที่แตกต่างในการรับมือกับภาระงานคือการสร้างแบบจำลองทางจิตใจเชิงโครงสร้าง ในตัวอย่างของเราที่จะเป็นแผนที่ที่ถ่ายทอดข้อมูลจำนวนมากเกี่ยวกับโครงสร้างภายในของ "task object" จากการทำความเข้าใจแผนที่และตำแหน่งที่สัมพันธ์กันของบ้านเราและเพื่อนเราสามารถหักรูปแบบการใช้งาน (เส้นทาง) เห็นได้ชัดว่ามันต้องใช้ความพยายามมากขึ้น แต่วิธีที่เชื่อถือได้มากขึ้นในการทำงานให้เสร็จสมบูรณ์แม้จะมีการเบี่ยงเบนที่เป็นไปได้

ตัวเลือกระหว่างการถ่ายทอดรูปแบบการทำงานหรือโครงสร้างผ่าน UI (ตัวอย่างเช่นตัวช่วยสร้าง vs โหมดขั้นสูง) นั้นไม่ได้ตรงไปตรงมาเนื่องจากอาจดูได้จากโพสต์ของ Thorsten79 ผู้ใช้ขั้นสูงและบ่อยครั้งอาจชอบรูปแบบโครงสร้างในขณะที่ผู้ใช้งานเป็นครั้งคราวหรือมีค่าน้อย - การทำงาน

Google maps เป็นตัวอย่างที่ยอดเยี่ยม: มีทั้งแบบจำลองการทำงานและโครงสร้างดังนั้น nav nav ใช้งานได้มากมาย

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

ความยากของที่นี่คือผู้พัฒนาจำนวนมากจะมีรูปแบบโครงสร้างที่ดีของซอฟต์แวร์ภายในของพวกเขา แต่เพียงรูปแบบการทำงานของงานผู้ใช้ซอฟต์แวร์มุ่งหวังที่จะให้ความช่วยเหลือ ในการสร้าง UI ที่ดีต้องเข้าใจโครงสร้างของภารกิจ / ภารกิจและแผนที่ UI กับโครงสร้างนั้น

อย่างไรก็ตามฉันยังไม่สามารถแนะนำให้เรียนหลักสูตร HCI อย่างเป็นทางการได้มากพอ มีหลายสิ่งที่เกี่ยวข้องเช่นฮิวริสติกหลักการที่มาจากวิทยาเกสต์ซอลวิธีที่มนุษย์เรียนรู้ ฯลฯ


+1 สำหรับการเชื่อมโยง MIT OCW :) บันทึกบรรยายเหล่านั้นมีค่า
PlagueHammer

คุณพูดถูกผู้ใช้สามารถกลายเป็นผู้เชี่ยวชาญของซอฟต์แวร์และพวกเขาชอบเมื่อมีคนแกะสลักวิธีการผ่าน UI ที่ "ดี" เพื่อให้เร็วขึ้น นั่นคือสิ่งที่เป็นปุ่มลัดทั้งหมดสำหรับตัวอย่างเช่น การใช้งานเป็นวิชาที่น่าสนใจมาก!
Thorsten79

25

ฉันขอแนะนำให้คุณเริ่มต้นด้วยการทำ UI ทั้งหมดของคุณในลักษณะเดียวกับที่คุณทำอยู่ในขณะนี้โดยไม่เน้นการใช้งานและสิ่งของ

alt text http://www.stricken.org/uploaded_images/WordToolbars-718376.jpg

ตอนนี้คิดอย่างนี้

นักออกแบบรู้ว่าเขาบรรลุความสมบูรณ์แบบไม่ใช่เมื่อไม่มีอะไรเหลือให้เพิ่ม แต่เมื่อไม่มีอะไรเหลือให้นำออกไป - Saint-Exupéry

และใช้สิ่งนี้ในการออกแบบของคุณ


นี่คือเหตุผลที่ฉันไปไกลชอบ Office 2007 มาก!
Richard Ev

หากมีคนสงสัยว่าหลุมฝังศพที่ฉันขุดนั้นอ้างว่าฉันได้ยินมาจากอารยธรรม 4 เกมที่ยอดเยี่ยม ฉันไม่รู้ว่าใครเป็นคนเขียน แต่เขาแน่ใจว่านรกสามารถเขียน UI ที่ดีกว่าผู้ออกแบบจากคำพูด
Hoffmann

มีคำพูดที่ดีอีกอย่างที่คล้ายกันจาก A. Einstein: "ทำให้ทุกอย่างง่ายที่สุดเท่าที่จะทำได้ แต่ไม่ใช่ง่ายกว่า" ฉันพบว่าแนวคิดเหล่านี้สามารถใช้ได้กับการออกแบบ UI: www.presentationzen.com ... และ +1
Pyry Jahkola

Saint-Exupery เป็นมากกว่านักบินและนักออกแบบเครื่องบิน +1 สำหรับการอ้างถึงเขา หนังสือสำหรับเด็กของเขา ("เจ้าชายน้อย") เป็นสิ่งที่ควรค่าแก่การอ่าน แต่ฉันกำลังจะปิดหัวข้อที่นี่
David Thornley

5
คุณควรเลือกมุมมองการพิมพ์ ... ไม่สามารถดูผู้ปกครองได้ในขณะนี้
Mussnoon

16

นักพัฒนาหลายคนคิดว่าเพราะพวกเขาสามารถเขียนรหัสพวกเขาสามารถทำได้ทั้งหมด การออกแบบส่วนต่อประสานเป็นทักษะที่แตกต่างอย่างสิ้นเชิงและมันก็ไม่ได้สอนเลยเมื่อฉันเข้าเรียนในวิทยาลัย มันไม่ใช่แค่สิ่งที่เกิดขึ้นเองตามธรรมชาติ

อีกหนังสือที่ดีคือการออกแบบสิ่งต่าง ๆ ในชีวิตประจำวันโดยโดนัลด์นอร์แมน


ขอบคุณ "การออกแบบของความคิดในชีวิตประจำวัน" อยู่ใน Amazon WishList ของฉัน
Chris Ballance

+1 "การออกแบบสิ่งต่าง ๆ ในชีวิตประจำวัน" ยังอยู่ในรายการ Coding Horror ของการอ่านที่แนะนำ (รายชื่อหนังสือที่ดีสำหรับนักพัฒนา) อ่านล่าสุดเสร็จแล้วและยังสามารถแนะนำได้
Mun

ฉันกำลังอ่าน "การออกแบบสิ่งต่าง ๆ ในชีวิตประจำวัน" ในขณะนี้ - มันดีมาก แต่ตามที่กล่าวไว้ในความคิดเห็นเกี่ยวกับคำตอบอื่นอลันคูเปอร์ว่า ในฐานะนักพัฒนาหนังสือเล่มนี้คือ "การเปลี่ยนแปลงชีวิต"!
Stuart Helwig

คนโกรธของฉัน: นักพัฒนาจำนวนมาก (และนักออกแบบและคนอื่น ๆ ) คิดว่าเพราะฉันสามารถเขียนโค้ดได้ฉันจึงไม่สามารถออกแบบส่วนต่อประสานกับผู้ใช้ ฉันไม่รู้ Photoshop เป็นอย่างดี แต่ฉันคิดว่าฉันมีตาที่ดีสำหรับสิ่งที่ได้ผลและสิ่งที่ไม่ (การออกแบบสิ่งในชีวิตประจำวันเป็นครั้งแรกของฉัน UI พระคัมภีร์.)
แบร์รี่บราวน์

14

มีความแตกต่างอย่างมากระหว่างการออกแบบและความสวยงามและมักจะสับสน

UI ที่สวยงามนั้นต้องใช้ทักษะด้านศิลปะหรืออย่างน้อยความงามที่หลายคนรวมถึงตัวผมเองไม่สามารถผลิตได้ น่าเสียดายที่มันไม่เพียงพอและไม่ทำให้ UI ใช้งานได้ดังที่เราเห็นใน API ที่ใช้แฟลชรุ่นใหญ่

การผลิต UIs ที่ใช้งานได้นั้นต้องการความเข้าใจว่ามนุษย์มีปฏิกิริยาต่อคอมพิวเตอร์อย่างไรประเด็นทางจิตวิทยาบางประการ (เช่นกฎหมายของ Fitt กฎหมาย Hick's) และหัวข้ออื่น ๆ โปรแกรม CS น้อยมากที่ฝึกฝนเรื่องนี้ นักพัฒนาน้อยมากที่ฉันรู้ว่าจะเลือกหนังสือทดสอบผู้ใช้มากกว่าหนังสือ JUnit ฯลฯ

พวกเราหลายคนเป็น "โปรแกรมเมอร์หลัก" ซึ่งมีแนวโน้มที่จะคิดว่า UIs เป็นส่วนหน้าแทนที่จะเป็นปัจจัยที่สามารถสร้างหรือทำลายความสำเร็จของโครงการของเรา

นอกจากนี้ประสบการณ์การพัฒนา UI ส่วนใหญ่น่าผิดหวังอย่างมาก เราสามารถใช้ผู้สร้างของเล่น GUI เช่น VB เก่าและต้องจัดการกับรหัสกาวที่น่าเกลียดหรือเราใช้ API ที่ทำให้เราผิดหวังจนจบไม่จบเช่นพยายามจัดเรียงเค้าโครงใน Swing


"เราสามารถใช้ผู้สร้างของเล่น GUI เช่น VB เก่าและต้องจัดการกับรหัสกาวที่น่าเกลียดหรือเราใช้ API ที่ทำให้เราผิดหวังจนจบไม่จบเช่นพยายามจัดเรียงเค้าโครงใน Swing" คุณทำให้ประสบการณ์การใช้ GUI ของฉันสั้นลง ถ้าฉันอาจเพิ่ม: "หรือการรวมกันของ DOM และ CSS บ้า"
Hoffmann

ฉันแน่ใจว่าทุกคนคุ้นเคยกับ Totally Gridbag หรือไม่ " madbean.com/anim/totallygridbag "
Uri

12

ไปที่ Slashdot แล้วอ่านความคิดเห็นในบทความที่เกี่ยวข้องกับ Apple คุณจะพบว่ามีคนจำนวนมากพูดถึงว่าผลิตภัณฑ์ของ Apple นั้นไม่มีอะไรพิเศษและให้ความสำคัญกับความสำเร็จของ iPod และ iPhone กับผู้ที่กำลังจะเป็นเทรนด์หรือฮิป โดยทั่วไปพวกเขาจะผ่านรายการคุณสมบัติและชี้ให้เห็นว่าพวกเขาไม่ได้ทำอะไรกับเครื่องเล่น MP3 รุ่นก่อนหรือสมาร์ทโฟนที่ไม่ได้ทำ

จากนั้นก็มีคนที่ชอบ iPod และ iPhone เพราะพวกเขาทำสิ่งที่ผู้ใช้ต้องการอย่างง่ายดายและไม่ต้องมีการอ้างอิงถึงคู่มือ อินเทอร์เฟซนั้นเกี่ยวกับการหยั่งรู้ได้ง่ายเท่าที่อินเตอร์เฟสได้รับเป็นที่จดจำและค้นพบได้ ฉันไม่ชอบ UI บน MacOSX เหมือนในรุ่นก่อนหน้านี้ฉันคิดว่าพวกเขาเลิกใช้ประโยชน์จาก glitz แต่ iPod และ iPhone เป็นตัวอย่างของการออกแบบที่ยอดเยี่ยม

หากคุณอยู่ในค่ายแรกคุณไม่คิดว่าคนทั่วไปจะทำอย่างไรและดังนั้นคุณจึงมีแนวโน้มที่จะสร้างส่วนต่อประสานผู้ใช้ที่ไม่ดีเพราะคุณไม่สามารถบอกได้ว่าเป็นคนดี นี่ไม่ได้หมายความว่าคุณจะสิ้นหวัง แต่ต้องการที่จะเรียนรู้หลักการออกแบบอินเตอร์เฟซที่ดีอย่างชัดเจนและวิธีการจำ UI ที่ดี (คนที่มี Asperger อาจจำเป็นต้องเรียนรู้ทักษะทางสังคมอย่างชัดเจน) เห็นได้ชัดว่าการมี UI ที่ดีไม่ได้หมายความว่าคุณจะทำได้ ยกตัวอย่างเช่นการชื่นชมวรรณกรรมของฉันดูเหมือนจะไม่เพิ่มความสามารถ (ในปัจจุบัน) ในการเขียนเรื่องราวที่ตีพิมพ์

ดังนั้นพยายามพัฒนาความรู้สึกสำหรับการออกแบบ UI ที่ดี สิ่งนี้ครอบคลุมมากกว่าซอฟต์แวร์ ดอนนอร์แมนเรื่อง "The Design of Everyday Things" เป็นหนังสือคลาสสิกและมีหนังสือเล่มอื่น ๆ รับตัวอย่างการออกแบบ UI ที่ประสบความสำเร็จและเล่นกับพวกเขามากพอที่จะรับรู้ถึงความแตกต่าง ยอมรับว่าคุณอาจต้องเรียนรู้วิธีคิดใหม่เกี่ยวกับสิ่งต่าง ๆ และสนุกกับมัน


+1 สำหรับข้อเสนอแนะการออกแบบสิ่งต่าง ๆ ในชีวิตประจำวัน
Oskar Duveborn

+1 สำหรับคำตอบที่ดีมาก ฉันคิดว่ามันกำลังบอกว่าคุณยังคงบินโฉบอยู่ที่ 1 up-vote (ตอนนี้ 2) ผู้ที่เหมาะสมกับคำอธิบายของคุณอาจจะไม่คิดว่าพวกเขาทำหรือเพียงแค่ยกเลิกความคิดที่ดี :-(
mghie

นี่คือคำสั่งแบบครอบคลุม ไม่ใช่ความเห็นต่อต้านแอปเปิ้ลใน Slashdot ทุกคำวิจารณ์ของ UI ของมันหรือการตรวจสอบของการขาดความเข้าใจ UI Apple มี UI ที่ดีและทำคู่แข่งได้มากมาย
Bernard Igiri

ความคิดอื่น: แอปเปิ้ลไม่ใช่สำหรับทุกคน; ตัวอย่างเช่นมันไม่ได้ให้พลังอันยอดเยี่ยมอย่างที่ CLI ทำ
J. Polfer

2
ฉันพบว่าผลิตภัณฑ์ของ Apple นั้นไม่ได้ใช้งานง่ายมาก ฉันคิดว่าฉันไม่ใช่คนเดียวที่รู้สึกหงุดหงิดเมื่อ iPod เครื่องแรกของพวกเขาเริ่มเล่นเพลงทุกครั้งที่ฉันเริ่มวิ่งออกกำลังกาย ฉันคิดว่าสิ่งต่าง ๆ ควรเกิดขึ้นจากการกระทำของผู้ใช้โดยตรงและไม่คลุมเครือเท่านั้น
Lotus Notes

10

กฎหลักของหัวแม่มือที่ฉันยึดถือไว้คืออย่าพยายามทำทั้งสองอย่างพร้อมกัน หากฉันกำลังทำงานกับโค้ดแบ็คเอนด์ฉันจะทำมันให้เสร็จพักสักพักแล้วกลับมาสวมหมวก UI ของฉัน หากคุณพยายามที่จะทำงานในขณะที่คุณกำลังทำโค้ดคุณจะเข้าใกล้มันด้วยความคิดผิด ๆ และจบลงด้วยการใช้อินเทอร์เฟซที่น่ากลัวบางอย่าง

ฉันคิดว่ามันเป็นไปได้แน่นอนที่จะเป็นทั้งนักพัฒนาแบ็คเอนด์ที่ดีและนักออกแบบ UI ที่ดีคุณต้องทำงานอ่านและค้นคว้าในหัวข้อ (ทุกอย่างจากมิลเลอร์ # 7 ไปจนถึงจดหมายเหตุของนีลเซ่น) และสร้าง แน่ใจว่าคุณเข้าใจว่าทำไมการออกแบบ UI จึงมีความสำคัญสูงสุด

ฉันไม่คิดว่ามันเป็นกรณีที่จำเป็นต้องมีความคิดสร้างสรรค์ แต่เช่นเดียวกับการพัฒนาด้านหลังมันเป็นสิ่งที่มีระเบียบและมีโครงสร้างมากที่ต้องเรียนรู้ เป็นคนที่ได้รับ 'ความคิดสร้างสรรค์' กับ UIs ที่สร้างความประหลาดใจในการใช้งานที่ใหญ่ที่สุด ... ฉันหมายถึงลองดูที่เว็บไซต์ Flash 100% เพื่อเริ่มต้น ...

แก้ไข : หนังสือของ Krug นั้นดีจริงๆ ... ลองอ่านโดยเฉพาะอย่างยิ่งถ้าคุณกำลังจะออกแบบเว็บ


และชื่อหนังสือเล่มนี้ของครูกคืออะไร
defau1t

@refhat มันมีการเชื่อมโยงอย่างเด่นชัดในโพสต์บนสุดดังนั้นฉันจึงไม่ได้เชื่อมโยงในเวลานั้น แต่มันคืออันนี้: librarything.com/work/12322
James B

8

มีเหตุผลหลายประการสำหรับเรื่องนี้

(1) ผู้พัฒนาไม่สามารถเห็นสิ่งต่าง ๆ จากมุมมองของผู้ใช้ นี่เป็นข้อสงสัยตามปกติ: ขาดความเอาใจใส่ แต่โดยทั่วไปแล้วจะไม่เป็นความจริงเนื่องจากนักพัฒนาไม่ได้เป็นคนต่างด้าวเหมือนที่มนุษย์สร้างขึ้นมาให้เป็น

(2) อีกเหตุผลที่พบบ่อยคือนักพัฒนาอยู่ใกล้กับสิ่งของของเขาอยู่กับสิ่งของของเขามานานไม่เข้าใจว่าสิ่งของของเขาอาจไม่คุ้นเคย (คำดีกว่าสัญชาตญาณ) สำหรับคนอื่น .

(3) ยังมีอีกเหตุผลหนึ่งคือผู้พัฒนาขาดเทคนิค

การเรียกร้องครั้งใหญ่ของฉัน: อ่าน UI ใด ๆ , การออกแบบการตัดกันของมนุษย์, หนังสือต้นแบบ เช่นการออกแบบที่ชัดเจน: แนวทางสามัญสำนึกในการออกแบบเว็บแอปพลิเคชันอย่าทำให้ฉันคิดว่า: แนวทางสามัญสำนึกเพื่อการใช้งานเว็บการออกแบบช่วงเวลาใดก็ตาม

พวกเขาหารือเกี่ยวกับการไหลของงานได้อย่างไร พวกเขาอธิบายประเด็นการตัดสินใจได้อย่างไร นั่นคือในกรณีที่มีการใช้งานอย่างน้อย 3 เส้นทาง: ความสำเร็จความล้มเหลว / ข้อยกเว้นทางเลือก

ดังนั้นจากจุด A คุณสามารถไปที่ A.1, A.2, A.3 จากจุด A.1 คุณสามารถไปที่ A.1.1, A.1.2, A.1.3 และอื่น ๆ

พวกเขาจะแสดงขั้นตอนการทำงานแบบเจาะลึกดังกล่าวได้อย่างไร พวกเขาทำไม่ได้ พวกเขาเพียงแค่แววมัน

เนื่องจากแม้ผู้ใช้ UI จะไม่มีเทคนิคนักพัฒนาจึงไม่มีโอกาส เขาคิดว่ามันชัดเจนในหัวของเขา แต่มันไม่ชัดเจนแม้แต่บนกระดาษ แต่เพียงผู้เดียวในการติดตั้งซอฟต์แวร์

ฉันต้องใช้เทคนิคที่ทำขึ้นเองเพื่อสิ่งนี้


7

ฉันพยายามติดต่อกับเว็บไซต์และข้อความเฉพาะการออกแบบ ฉันพบว่าหนังสือยอดเยี่ยมของ Robin Williams ยังเป็นหนังสือออกแบบที่ไม่ใช่ของนักออกแบบจะน่าสนใจมากในการศึกษาเหล่านี้

ฉันเชื่อว่าการออกแบบและการใช้งานเป็นส่วนสำคัญของวิศวกรรมซอฟต์แวร์และเราควรเรียนรู้เพิ่มเติมและหยุดให้ข้อแก้ตัวที่เราไม่ควรทำในการออกแบบ

ทุกคนสามารถเป็นนักออกแบบได้ในขณะที่ทุกคนสามารถเป็นโปรแกรมเมอร์ได้


ฉันไม่เห็นด้วยที่ทุกคนสามารถเป็นโปรแกรมเมอร์ได้ บางแง่มุมของการค้าไม่สามารถสอนได้คุณสามารถแฮ็คมันหรือคุณไม่สามารถ (ไม่มีการเล่นสำนวน)
Chris Ballance

2
ฉันหมายถึงบางครั้งที่ไม่ได้หมายความว่าคนที่แต่งตัวประหลาดจะเป็นโปรแกรมเมอร์ที่ดีหรือจะเป็นตลอดไป
Edwin Jarvis

7

เมื่อเข้าใกล้การออกแบบ UI นี่คือบางสิ่งที่ฉันจำได้ตลอด (ไม่ไกลจากรายการทั้งหมด):

  • การสื่อสารรูปแบบ UI เป็นคำบรรยายที่อธิบายแบบจำลองทางจิตสำหรับผู้ใช้ รุ่นนี้อาจเป็นวัตถุทางธุรกิจชุดของความสัมพันธ์คุณมีอะไรบ้าง ความโดดเด่นด้านภาพการจัดวางเชิงพื้นที่และลำดับงานทั้งหมดมีส่วนร่วมในการสื่อสารโมเดลนี้กับผู้ใช้ ตัวอย่างเช่นรายการประเภทหนึ่งเปรียบเทียบกับอีกรายการหนึ่งแสดงถึงสิ่งต่าง ๆ รวมถึงความสัมพันธ์ของสิ่งที่อยู่ในรายการกับส่วนที่เหลือของแบบจำลอง โดยทั่วไปฉันคิดว่ามันดีที่สุดเพื่อให้แน่ใจว่ามีเพียงหนึ่งโมเดลเท่านั้นที่สื่อสารในแต่ละครั้ง โปรแกรมเมอร์มักพยายามสื่อสารมากกว่าหนึ่งรุ่นหรือหลายส่วนในพื้นที่ UI เดียวกัน

  • ความมั่นคง การใช้คำอุปมาอุปมัย UI ยอดนิยมอีกครั้งช่วยได้มาก ความมั่นคงภายในเป็นสิ่งสำคัญเช่นกัน

  • การจัดกลุ่มของงาน ผู้ใช้ไม่ควรเลื่อนเม้าส์ไปทั่วหน้าจอเพื่อตรวจสอบหรือทำตามลำดับของคำสั่งที่เกี่ยวข้อง กล่องโต้ตอบโมดอลและเมนู flyout อาจไม่ดีเป็นพิเศษในบริเวณนี้

  • รู้ว่าผู้ชมของคุณ หากผู้ใช้ของคุณกำลังทำกิจกรรมเดียวกันซ้ำไปซ้ำมาพวกเขาจะกลายเป็นผู้ใช้ที่มีอำนาจในงานเหล่านั้นอย่างรวดเร็วและหงุดหงิดจากความพยายามที่จะลดกำแพงกั้นการเข้าเริ่มต้น หากผู้ใช้ของคุณทำกิจกรรมหลายประเภทไม่บ่อยนักควรแน่ใจว่า UI จับมือกันตลอดเวลา


คุณนำมาซึ่งจุดที่ดีกับการรู้จักผู้ชมของคุณ ... ฉันก็ชอบ "คุณไม่ใช่ผู้ใช้ของคุณ" (แพลต) และ "รู้จักผู้ใช้ของคุณ" (แพลต) สิ่งนี้ไม่สามารถเน้นได้มากพอ
Chris Ballance

7

อ่านแอปเปิ้ลแนวทางการเชื่อมต่อของมนุษย์


คุณหมายถึงแนวทางที่ Apple ไม่ปฏิบัติตามอีกต่อไปแล้วใช่ไหม
Gregor Brandt

"พวกเขาเป็นเหมือนแนวทางเพิ่มเติมอยู่แล้ว" ^ _ ^
Marco Luglio

5

ฉันพบเครื่องมือที่ดีที่สุดในการออกแบบ UI คือดูครั้งแรกที่ผู้ใช้พยายามใช้ซอฟต์แวร์ จดบันทึกจำนวนมากแล้วถามคำถามพวกเขา อย่าชี้แนะหรือพยายามอธิบายวิธีการทำงานของซอฟต์แวร์ นี่คืองานของ UI (และเอกสารประกอบที่เป็นลายลักษณ์อักษร)

เรานำแนวทางนี้มาใช้อย่างต่อเนื่องในทุกโครงการ เป็นที่น่าสนใจเสมอที่จะรับชมการจัดการผู้ใช้กับซอฟต์แวร์ในลักษณะที่คุณไม่เคยพิจารณามาก่อน

เหตุใดการออกแบบ UI จึงยาก โดยทั่วไปแล้วเนื่องจากผู้พัฒนาและผู้ใช้ไม่เคยพบกัน


เห็นด้วยอย่างแน่นอน แต่เป็นไปได้ค่อนข้างที่นักพัฒนาจะใช้หลักการ UI พื้นฐานที่มั่นคง
nailitdown

หลักการ Solid Basic UI ไม่สามารถใช้ได้ในทุกประเทศ เราปรับใช้ซอฟต์แวร์ในหลายภูมิภาคและมีความแตกต่างอย่างมากในการออกแบบ UI สำหรับส่วนต่างๆของโลก ลองส่งแอพ US-centric ของคุณไปยังประเทศจีนในบางช่วงเวลา ...

5

duffymo เพิ่งเตือนฉันว่าทำไม: โปรแกรมเมอร์หลายคนคิดว่า "* Design" == "Art"

การออกแบบ UI ที่ดีไม่ใช่ศิลปะอย่างแท้จริง มันเป็นไปตามหลักการที่แข็งแกร่งซึ่งสามารถสำรองข้อมูลได้หากคุณมีเวลาทำวิจัย

ฉันคิดว่าโปรแกรมเมอร์ทุกคนต้องทำคือใช้เวลาในการเรียนรู้หลักการ ฉันคิดว่ามันเป็นธรรมชาติของเราที่จะใช้แนวปฏิบัติที่ดีที่สุดทุกครั้งที่ทำได้ สิ่งที่เราต้องทำคือทำให้ตัวเราเองทราบถึงแนวทางปฏิบัติที่ดีที่สุดสำหรับงานของเรา


ฉันคิดว่าคุณไม่สามารถลดความสวยงามได้อย่างสมบูรณ์ บางที UI ที่น่าเกลียดอาจใช้งานได้เหมือนแบบสวย แต่นั่นไม่ใช่ทั้งหมดที่ UI ใช้ ท้ายที่สุด UI คือใบหน้าของโปรแกรมของคุณเหมือนกับหน้าปกหนังสือ: ผู้คนมักจะเลือกโปรแกรมที่มี UI ที่น่ารัก
Tikhon Jelvis

ความสวยงามมีความสำคัญอย่างยิ่ง แต่นั่นคือการออกแบบกราฟิกไม่ใช่การออกแบบ UI
nailitdown

5

ฉันทำอะไรเพื่อให้ดีขึ้นในการออกแบบ UI
ใส่ใจกับมัน!

มันเหมือนกับเวลาที่คุณเห็นแผนภูมิในข่าวหรือป้ายรถบัสอิเล็กทรอนิกส์และคุณสงสัยว่า 'พวกเขาได้รับข้อมูลนั้นอย่างไร พวกเขาทำเช่นนั้นด้วย raw sql หรือพวกเขาใช้ LINQ หรือไม่? ' (หรือแทรกความอยากรู้เรื่องทั่วไปของคุณเองที่นี่)

คุณต้องเริ่มทำสิ่งนั้น แต่ด้วยองค์ประกอบด้านภาพทุกชนิด

แต่เช่นเดียวกับการเรียนรู้ภาษาใหม่ถ้าคุณไม่ได้จริงๆคุณจะไม่ได้เรียนรู้ภาษาเลย

นำมาจากคำตอบอื่นที่ฉันเขียนไว้:

เรียนรู้ที่จะมองดูโลกรอบตัวคุณจริงๆ ทำไมฉันถึงชอบ UI นั้น แต่ไม่ชอบสิ่งนี้ ทำไมการหาก๋วยเตี๋ยวในเมนูร้านอาหารจึงยากนัก ว้าวฉันรู้ว่าเครื่องหมายหมายถึงอะไรก่อนที่ฉันจะอ่านคำศัพท์ ทำไมถึงเป็นอย่างนั้น? ทำไมปกหนังสือเล่มนี้ถึงผิดขนาดนี้? เรียนรู้ที่จะใช้เวลาคิดว่าทำไมคุณตอบสนองต่อวิธีการทำองค์ประกอบภาพทุกชนิดแล้วนำไปใช้กับงานของคุณ


+1 สำหรับคำแนะนำเกี่ยวกับการเรียนรู้ที่จะมองและคิด มีเพียงไม่กี่คนที่ถามว่าสิ่งใดที่เข้าตา
PlagueHammer

5

อย่างไรก็ตามคุณทำมัน (และมีบางจุดที่ดีข้างต้น) มันช่วยฉันได้จริงๆเมื่อฉันยอมรับว่าไม่มีสิ่งใดที่ชาญฉลาด ....

ฉันได้ยินเสียงขัดแย้งดังก้องไปที่ขอบฟ้า ... ขอผมอธิบายหน่อย

ใช้งานง่าย: ใช้สิ่งที่เรารู้สึกว่าถูกหรือจริงโดยใช้วิธีการหรือความรู้สึกที่ไม่รู้สึกตัว

หาก (ตามที่คาร์ลเซแกนตั้งสมมติฐาน) คุณยอมรับว่าคุณไม่สามารถเข้าใจสิ่งที่แตกต่างจากสิ่งที่คุณเคยพบมาแล้วคุณจะ "รู้" ได้อย่างไรว่าจะใช้บางสิ่งบางอย่างได้อย่างไรถ้าคุณไม่เคยใช้อะไรจากระยะไกล

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

แม้แต่สิ่งที่เรียบง่ายที่ดูเหมือนเป็นเรื่องง่ายสำหรับเราจะไม่สามารถหยั่งรู้ได้สำหรับผู้คนจากวัฒนธรรมอื่น ๆ หากมีใครยื่นแขนออกไปข้างหน้าแล้วยกมือขึ้นและลงที่ข้อมือในขณะที่รักษาแขนไว้ .... พวกเขาจะยกเว้นหรือไม่? อาจเป็นไปได้ว่าคุณไม่ได้อยู่ในญี่ปุ่น ที่นั่นสัญญาณมือนี้อาจหมายถึง "มาที่นี่" ดังนั้นใครถูก แน่นอนทั้งสองในบริบทของตนเอง แต่ถ้าคุณเดินทางไปทั้งสองคุณจำเป็นต้องรู้ทั้ง ... การออกแบบ UI

ฉันพยายามค้นหาสิ่งต่าง ๆ ที่ "คุ้นเคย" กับผู้ใช้ที่มีศักยภาพของโครงการของฉันแล้วสร้าง UI ที่อยู่รอบตัวพวกเขา: การออกแบบที่เน้นผู้ใช้เป็นหลัก

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

ตัวอย่างเช่น. ทุกคนส่วนใหญ่รู้ว่าแถบสีดำที่มีรูสองแถวอยู่ด้านบนและด้านล่างดูเหมือนแถบฟิล์ม ... หรือว่าพวกเขา?

ถามอายุเฉลี่ย 9 หรือ 10 ปีว่าพวกเขาคิดอย่างไร คุณอาจแปลกใจว่ามีเด็กกี่คนที่จะมีช่วงเวลาที่ยากลำบากในการระบุว่าเป็นแถบฟิล์มแม้ว่ามันจะเป็นสิ่งที่ยังคงใช้เพื่อเป็นตัวแทนของฮอลลีวูดหรือเกี่ยวข้องกับภาพยนตร์อะไรก็ตาม (ภาพยนตร์) ภาพยนตร์ส่วนใหญ่ในช่วง 20 ปีที่ผ่านมาถูกยิงด้วยระบบดิจิตอล และครั้งสุดท้ายที่พวกเราคนใดจัดแผ่นฟิล์มประเภทใดรูปแบบหรือฟิล์ม?

ดังนั้นสิ่งที่สำคัญสำหรับฉันก็คือ: รู้จักผู้ชมของคุณและทำการวิจัยอย่างต่อเนื่องเพื่อให้ทันกับแนวโน้มและการเปลี่ยนแปลงในสิ่งต่าง ๆ ที่เป็น "สัญชาตญาณ" กำหนดเป้าหมายผู้ใช้หลักของคุณและพยายามที่จะไม่ทำสิ่งที่ลงโทษผู้ไม่มีประสบการณ์ ผู้ใช้ขั้นสูงหรือทำให้ผู้ใช้ขั้นสูงช้าลงเพื่อจับมือใหม่

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

บางสิ่งมีความคุ้นเคยมากกว่าหรือน้อยกว่าโดยขึ้นอยู่กับระดับประสบการณ์ที่ผ่านมาของผู้ใช้เป้าหมายของคุณในฐานะมนุษย์หรือผู้ใช้คอมพิวเตอร์หรือนักเรียนหรืออะไรก็ตาม

ฉันเพิ่งจะถ่ายทำเพื่อให้ได้ส่วนที่โค้งที่สุดของเส้นโค้งรูประฆังและพยายามทำให้ผู้คนมากมายเท่าที่จะทำได้ แต่รู้ตัวว่าฉันจะไม่ทำให้ทุกคนพอใจ ....


4

ฉันรู้ว่า Microsoft ค่อนข้างขัดแย้งกับแนวทางของตัวเอง แต่ฉันพบว่าการอ่านแนวทางการออกแบบ Windows ของพวกเขาได้ช่วยฉันจริงๆ ฉันมีสำเนาบนเว็บไซต์ของฉันที่นี่เพียงเลื่อนลงเล็กน้อยคู่มือ Vista UX มันช่วยฉันด้วยสิ่งต่าง ๆ เช่นสีระยะห่างเลย์เอาต์และอื่น ๆ


+1 การอ่านแนวทางการออกแบบของแพลตฟอร์มนั้นเป็นสิ่งที่เราควรทำ (และค้นพบว่า Microsoft ละเมิดกฎของตัวเองบ่อยครั้งเพียงใด)
Oskar Duveborn

และนอกจากนี้อ่านแอปเปิ้ล (Human Interface Guidelines) พวกเขามีพื้นฐานและหลักการเพิ่มเติมในพวกเขา ที่ทำให้คุณเข้าใจในสิ่งที่ควรจะเป็นสากลและสิ่งที่เป็นแพลตฟอร์มที่เฉพาะเจาะจง
สเตฟาน Eggermont

และในขณะที่คุณอยู่ที่นี่ให้อ่าน GNOME HIG ด้วย ระหว่างสามสิ่งนี้เริ่มปรากฏให้เห็นว่าอะไรเป็นเพียงสิ่งเฉพาะของแพลตฟอร์มเดียวและสิ่งที่ดูเหมือนจะเป็นความคิดที่ดีโดยทั่วไป
mghie

สิ่งเหล่านี้ส่วนใหญ่อิงจาก IBM แต่ตอนนี้ค่อนข้างล้าสมัยแล้ว ตัวอย่างเช่นคำสั่งตัดและวางมาตรฐานคือ Shift + Del และ Shift + Ins (ยังคงใช้งานได้ btw)
Simon Buchan

4

ฉันเชื่อว่าปัญหาหลักไม่เกี่ยวข้องกับความสามารถหรือทักษะที่แตกต่างกัน ปัญหาหลักคือในฐานะนักพัฒนาคุณรู้มากเกินไปเกี่ยวกับสิ่งที่แอปพลิเคชันทำและวิธีการใช้งานและคุณออกแบบ UI ของคุณโดยอัตโนมัติจากมุมมองของคนที่มีความรู้นั้น

ในขณะที่ผู้ใช้มักเริ่มรู้อะไรเกี่ยวกับแอปพลิเคชันและไม่ควรต้องเรียนรู้อะไรเกี่ยวกับการทำงานภายในของมัน

มันยากมากแทบจะเป็นไปไม่ได้เลยที่จะไม่ใช้ความรู้ที่คุณมี - และนั่นคือสาเหตุที่ UI ไม่ควรได้รับการออกแบบโดยคนที่กำลังพัฒนาแอปที่อยู่เบื้องหลัง


4

"การออกแบบจากทั้งสองด้านของหน้าจอ" นำเสนอเหตุผลที่เรียบง่าย แต่ลึกซึ้งอย่างมากว่าเหตุใดโปรแกรมเมอร์จึงค้นหาการออกแบบ UI อย่างหนัก: โปรแกรมเมอร์ได้รับการฝึกฝนให้คิดในแง่ของขอบเคสในขณะที่นักออกแบบ UI ได้รับการฝึกฝนให้คิดในแง่

ดังนั้นการเดินทางจากโลกหนึ่งไปอีกโลกหนึ่งจึงเป็นเรื่องยากหากการฝึกอบรมเริ่มต้นในทั้งสองเป็นตรงกันข้ามกับอีกโลกหนึ่ง


3

กล่าวได้ว่า programms suck ที่การออกแบบ UI คือการพลาดจุด ประเด็นของปัญหาก็คือการฝึกอบรมอย่างเป็นทางการที่นักพัฒนาส่วนใหญ่จะไปลึกกับเทคโนโลยี การปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์ไม่ใช่เรื่องง่าย ไม่ใช่สิ่งที่ฉันสามารถ "ใจ - ใจ" ให้คุณได้โดยการจัดทำข้อความบรรทัดเดียวที่ทำให้คุณรู้ว่า "โอ้ผู้ใช้จะใช้แอปพลิเคชันนี้อย่างมีประสิทธิภาพมากขึ้นถ้าฉันทำ x แทนที่จะเป็น y"

นี่เป็นเพราะมีส่วนหนึ่งของการออกแบบ UI ที่คุณขาดหายไป สมองของมนุษย์ เพื่อที่จะเข้าใจวิธีการออกแบบ UI คุณต้องเข้าใจว่าจิตใจของมนุษย์โต้ตอบกับเครื่องจักรอย่างไร มีหลักสูตรที่ยอดเยี่ยมที่ฉันเรียนที่มหาวิทยาลัยมินนิโซตาในหัวข้อนี้สอนโดยศาสตราจารย์ด้านจิตวิทยา มันมีชื่อว่า "Human - Machine Interaction" สิ่งนี้อธิบายเหตุผลหลายประการว่าทำไมการออกแบบ UI จึงซับซ้อน

เนื่องจากจิตวิทยาตั้งอยู่บนสหสัมพันธ์และไม่ใช่เวรกรรมคุณจึงไม่สามารถพิสูจน์ได้ว่าวิธีการออกแบบ UI จะทำงานได้ในทุกสถานการณ์ คุณสามารถเชื่อมโยงกันได้ว่าผู้ใช้หลายคนจะพบว่าการออกแบบ UI ที่ดึงดูดหรือมีประสิทธิภาพ แต่คุณไม่สามารถพิสูจน์ได้ว่ามันจะพูดคุยกันโดยทั่วไป

นอกจากนี้ยังมีสองส่วนสำหรับการออกแบบ UI ที่หลายคนดูเหมือนจะพลาด มีการอุทธรณ์ที่สวยงามและเวิร์กโฟลว์การทำงาน ถ้าคุณไปเพื่อการอุทธรณ์ที่สวยงาม 100% คนจะมั่นใจ แต่ผลิตภัณฑ์ของคุณ ฉันสงสัยอย่างมากว่าความสวยงามจะลดความคับข้องใจของผู้ใช้

มีหนังสือดีๆหลายเล่มในหัวข้อและหลักสูตรนี้ที่จะรับ (เช่นประสบการณ์ผู้ใช้ร่างของ Bill Buxton และความรู้ความเข้าใจใน Wildโดย Edwin Hutchins) มีหลักสูตรบัณฑิตศึกษาเกี่ยวกับปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์ในมหาวิทยาลัยหลายแห่ง

คำตอบโดยรวมของคำถามนี้อยู่ที่การสอนวิทยาศาสตร์คอมพิวเตอร์ มันคือทั้งหมดที่ใช้คณิตศาสตร์, ตรรกะตามและไม่ได้ขึ้นอยู่กับประสบการณ์ของผู้ใช้ เพื่อให้ได้รับคุณจะต้องมากกว่าปริญญาวิทยาศาสตร์คอมพิวเตอร์ทั่วไป 4 ปี (เว้นแต่ปริญญาวิทยาศาสตร์คอมพิวเตอร์ 4 ปีของคุณมีผู้เยาว์ในด้านจิตวิทยาและเน้นในการปฏิสัมพันธ์ระหว่างมนุษย์และคอมพิวเตอร์)


ฉันไม่เห็นด้วย: คอมพิวเตอร์เป็นวิชาคณิตศาสตร์และตรรกะโดยธรรมชาติ การเรียนการสอนการเขียนโปรแกรมคอมพิวเตอร์ใด ๆ จะต้องใช้คณิตศาสตร์และตรรกะ
พอลนาธาน

1
ใช่คุณพูดถูก คอมพิวเตอร์เป็นคณิตศาสตร์และตรรกะ การออกแบบ UI นั้นเกี่ยวข้องกับองค์ประกอบของมนุษย์ซึ่งได้พิสูจน์แล้วในประวัติศาสตร์ว่ามีพื้นฐานทางคณิตศาสตร์และตรรกะน้อยกว่ามาก
jwendl

มันไม่มากนักที่พวกเขาจะใช้คณิตศาสตร์และลอจิกน้อยกว่า แต่คณิตศาสตร์และตรรกะที่อยู่ข้างหลังพวกเขานั้นมีความซับซ้อนมากกว่าส่วนใหญ่ทุกวันนี้ ที่กล่าวว่าฉันพนันได้เลยว่าการออกแบบ UI ที่ดีนั้นล้วนแล้วแต่อยู่บนพื้นฐานของรูปทรงเรขาคณิต
Tikhon Jelvis

2

ลองหันคำถามของคุณไป -

"ui ผู้ออกแบบ" ถึงกับออกแบบสถาปัตยกรรมข้อมูลและเลเยอร์การนำเสนอหรือไม่ มีสิ่งที่พวกเขาสามารถทำได้เพื่อฝึกสมองให้มีประสิทธิภาพมากขึ้นในการออกแบบเลเยอร์ระบบที่น่าพอใจและมีประสิทธิภาพหรือไม่?

ดูเหมือนว่าพวกเขา "นักออกแบบ UI" จะต้องใช้มุมมองที่ต่างออกไปโดยสิ้นเชิง - พวกเขาจะต้องมองจากด้านนอกของกล่อง แทนที่จะมองจากด้านนอกกล่อง

ความคิดเห็นของอลันคูเปอร์ว่า"ผู้ต้องขังดำเนินการลี้ภัย"คือเราไม่สามารถใช้มุมมองทั้งสองได้สำเร็จ - เราสามารถเรียนรู้การสวมหมวกหนึ่งใบได้ดี แต่เราไม่สามารถเปลี่ยนหมวกได้


2

ฉันคิดว่าเป็นเพราะ UI ที่ดีไม่ใช่เหตุผล UI ที่ดีนั้นใช้งานง่าย

นักพัฒนาซอฟต์แวร์มักทำสิ่งที่ไม่ดีใน 'สัญชาตญาณ'


จุดที่ยอดเยี่ยมต้องใช้สมองอีกด้านหนึ่ง
Chris Ballance

ไม่มีสิ่งใดที่เข้าใจง่ายสำหรับ UI มีความคล้ายคลึงกับสิ่งที่ฉันรู้อยู่แล้ว แต่นั่นก็ค่อนข้างแตกต่างกัน
Stephan Eggermont

ไม่มีการเรียนรู้ทุกอย่าง "สัญชาตญาณ" ใช้งานง่ายเป็นคำที่นักธุรกิจโยนไปทำให้นักเขียนโปรแกรมเหงื่อ
เบอร์นาร์ด Igiri

พูดเหมือนโปรแกรมเมอร์ตัวจริง .... และนั่นคือรากเหง้าของปัญหา
Gregor Brandt

@ gbrandt Intuitive คือชุดค่าผสมที่ "คุ้นเคย" และ "เรียบง่าย" มันยังคงเป็นเป้าหมายที่จะพยายาม สิ่งที่ยากเกี่ยวกับการใช้งานคือสิ่งที่ใช้งานง่ายสำหรับบางคนนั้นไม่จำเป็นต้องใช้งานง่ายสำหรับผู้อื่น @Stephan ถูกต้องว่า "สัญชาตญาณ" ไม่ยาก "ความจริง" มันเกี่ยวข้องกับผู้ใช้
TM

2

การกำหนดกรอบที่มีประโยชน์คือการพิจารณาสิ่งที่คุณทำอย่างกระตือรือร้นขณะออกแบบกระบวนการสื่อสาร ในความเป็นจริงอินเทอร์เฟซของคุณเป็นภาษาที่ผู้ใช้ต้องใช้เพื่อบอกคอมพิวเตอร์ว่าจะทำอย่างไร สิ่งนี้นำไปสู่การพิจารณาจำนวนของคะแนน:

  1. ผู้ใช้พูดภาษานี้แล้วหรือไม่ การใช้อินเทอร์เฟซที่มีนิสัยแปลก ๆ เหมือนการสื่อสารในภาษาที่คุณไม่เคยพูดมาก่อน ดังนั้นหากอินเทอร์เฟซของคุณจะต้องมีลักษณะแปลกประหลาดมันแนะนำตัวเองได้ดีที่สุดด้วยคำศัพท์ที่ง่ายที่สุดและการรบกวนน้อย ในทางตรงกันข้ามหากอินเทอร์เฟซของคุณใช้สำนวนที่ผู้ใช้คุ้นเคยพวกเขาจะได้รับความมั่นใจตั้งแต่เริ่มต้น
  2. ศัตรูของการสื่อสารคือเสียง เสียงการได้ยินรบกวนการสื่อสารด้วยการพูด เสียงรบกวนจากภาพรบกวนการสื่อสารด้วยภาพ เสียงรบกวนที่มากขึ้นคุณสามารถตัดออกจากส่วนต่อประสานของคุณได้ง่ายขึ้น
  3. ในการสนทนากับมนุษย์มักไม่ใช่สิ่งที่คุณพูดมันเป็นวิธีที่คุณพูด วิธีที่ซอฟต์แวร์สื่อสารส่วนใหญ่นั้นหยาบคายในระดับที่จะได้รับการชกต่อหน้าหากเป็นคน คุณจะรู้สึกอย่างไรถ้าคุณถามคำถามกับใครบางคนและพวกเขานั่งอยู่ที่นั่นและจ้องมองคุณเป็นเวลาหลายนาทีปฏิเสธที่จะตอบกลับด้วยวิธีอื่นก่อนตอบ องค์ประกอบอินเทอร์เฟซจำนวนมากเช่นแถบความคืบหน้าและการเลือกโฟกัสอัตโนมัติมีฟังก์ชั่นพื้นฐานของความสุภาพ ถามตัวเองว่าคุณจะทำให้วันของผู้ใช้สนุกขึ้นได้อีกเล็กน้อย

จริงๆก็ค่อนข้างยากที่จะกำหนดสิ่งที่โปรแกรมเมอร์คิดของการมีปฏิสัมพันธ์อินเตอร์เฟซที่เป็น, อื่น ๆกว่ากระบวนการของการสื่อสาร แต่อาจเกิดปัญหาก็คือว่ามันไม่ได้คิดว่าเป็นสิ่งที่ทุก


2

มีความคิดเห็นที่ดีอยู่แล้วจำนวนมากดังนั้นฉันไม่แน่ใจว่ามีอะไรเพิ่มได้บ้าง แต่ยังคง...

  • เหตุใดนักพัฒนาจึงคาดว่าจะสามารถออกแบบ UI ที่ดีได้
  • เขาฝึกฝนมากแค่ไหนในสาขานั้น?
  • เขาอ่านหนังสือกี่เล่ม
  • เขาออกแบบหลายสิ่งในช่วงกี่ปีที่ผ่านมา?
  • เขามีโอกาสเห็นปฏิกิริยาของผู้ใช้หรือไม่

เราไม่คาดหวังว่าการสุ่ม "โจช่างประปา" เพื่อให้สามารถเขียนรหัสที่ดีได้ เหตุใดเราจึงคาดว่าจะมีการสุ่ม "โจโปรแกรมเมอร์" เพื่อออกแบบ UI ที่ดี?

การเอาใจใส่ช่วย การแยกการออกแบบ UI และการเขียนโปรแกรมช่วย การทดสอบการใช้งานช่วย

แต่การออกแบบ UI นั้นเป็นงานฝีมือที่ต้องเรียนรู้และฝึกฝนเหมือนอย่างอื่น


สิ่งที่ฉันคิดคือ "นักพัฒนา" เกี่ยวข้องกับ "User Interface Designer" อย่างไร
Jorge Córdoba

@ Jorge ที่นี่ตอนนี้มันเกี่ยวข้อง: นักพัฒนาจำนวนมากต้องออกแบบ UIs สำหรับนายจ้างของพวกเขาแม้ว่าพวกเขาจะไม่ได้ออกแบบ ที่ บริษัท ของฉันเราไม่มีศิลปินใด ๆ แอพของเราดูไม่เลว ในกรณีนี้คุณต้องมีการตรวจสอบกลุ่มและสิ่งต่าง ๆ เพื่อให้แน่ใจว่าการออกแบบนั้นดี
TM

@TM: การออกแบบไม่จำเป็นต้องออกแบบ UI / UX แน่นอนว่ามันอาจจะดูดีแต่ไม่ได้หมายความว่ามันทำงานได้ดี
Kevin Peno

2

นักพัฒนาไม่ดีในการออกแบบ UI ด้วยเหตุผลเดียวกับที่พวกเขาไม่ถักเก่ง มันยากที่จะฝึกฝนและไม่เจ็บที่จะมีคนมาบอกคุณตั้งแต่แรก

นักพัฒนาส่วนใหญ่ (ฉันรวมอยู่ด้วย) เริ่ม "ออกแบบ" UIs เพราะเป็นส่วนที่จำเป็นในการเขียนซอฟต์แวร์ จนกว่าผู้พัฒนาจะพยายามทำให้ดีขึ้นเขา / เธอจะไม่เป็น


2

เพื่อปรับปรุงเพียงแค่มองไปรอบ ๆ เว็บไซต์ที่มีอยู่ นอกเหนือจากหนังสือที่แนะนำไปแล้วคุณอาจต้องการดูหนังสือยอดเยี่ยมของ Robin Williams "The Non-designer Design Book" ( ลิงก์ Amazon ที่ถูกสุขอนามัย )

มาดูสิ่งที่เป็นไปได้ในการออกแบบภาพโดยดูที่ผลงานต่างๆที่The Zen Gardenเช่นกัน

การออกแบบ UI นั้นเป็นงานศิลปะอย่างแน่นอนเช่นเดียวกับพอยน์เตอร์ใน C บางคนได้รับมันและบางคนทำไม่ได้

แต่อย่างน้อยเราจะได้มีความพยายามในการที่หัวเราะของพวกเขา BTW ขอบคุณตกลง / ยกเลิกสำหรับการ์ตูนตลกและขอบคุณ Joel ที่วางไว้ในหนังสือของคุณ "The Best Software Writing I" ( ลิงก์ Amazon ที่ถูกสุขลักษณะ )


2

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

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

ก่อนที่จะเขียนโค้ดบรรทัดเดียวคุณควรตรวจสอบส่วนต่อประสานของเวอร์ชันกระดาษและทดสอบกับคนจริงๆ นี่มันแปลกและไร้สาระมันทำงานได้ดีที่สุดกับเด็ก ๆ และบางคนก็สนุกสนานที่ทำหน้าที่เป็น "คอมพิวเตอร์"

อินเทอร์เฟซจำเป็นต้องใช้ประโยชน์จากสิ่งอำนวยความสะดวกทางปัญญาตามธรรมชาติของเรา มนุษย์ถ้ำจะใช้โปรแกรมของคุณอย่างไร? ตัวอย่างเช่นเราได้พัฒนาให้เก่งในการติดตามวัตถุที่เคลื่อนไหว นั่นเป็นเหตุผลที่อินเตอร์เฟสที่ใช้การจำลองทางฟิสิกส์เช่น iphone ทำงานได้ดีกว่าอินเทอร์เฟซที่การเปลี่ยนแปลงเกิดขึ้นทันที

เราเก่งเรื่องนามธรรมบางอย่าง แต่ไม่ใช่คนอื่น ในฐานะโปรแกรมเมอร์เราได้รับการฝึกฝนให้ทำยิมนาสติกจิตและ backflips เพื่อทำความเข้าใจกับนามธรรมที่แปลกประหลาดที่สุด ตัวอย่างเช่นเราเข้าใจว่าลำดับของข้อความอาร์เคนสามารถแสดงและแปลเป็นรูปแบบของสถานะคลื่นแม่เหล็กไฟฟ้าบนแผ่นโลหะซึ่งเมื่อพบโดยอุปกรณ์ที่ออกแบบอย่างระมัดระวังนำไปสู่ลำดับเหตุการณ์ที่มองไม่เห็นที่เกิดขึ้นที่ lightspeed บนอุปกรณ์อิเล็กทรอนิกส์ วงจรและเหตุการณ์เหล่านี้สามารถนำไปสร้างผลลัพธ์ที่มีประโยชน์ นี่คือสิ่งที่ผิดธรรมชาติอย่างไม่น่าเชื่อที่จะต้องเข้าใจ เข้าใจว่าในขณะที่มันมีคำอธิบายที่มีเหตุผลอย่างสมบูรณ์แบบสำหรับเรากับโลกภายนอกดูเหมือนว่าเรากำลังเขียนคาถาที่เข้าใจไม่ได้เพื่อเรียกวิญญาณที่มองไม่เห็นออกมาเพื่อเสนอราคาของเรา

สิ่งที่เป็นนามธรรมที่มนุษย์ทั่วไปเข้าใจคือสิ่งต่าง ๆ เช่นแผนที่ไดอะแกรมและสัญลักษณ์ ระวังสัญลักษณ์เพราะสัญลักษณ์เป็นแนวคิดมนุษย์ที่บอบบางมากที่ใช้ความพยายามอย่างมีสติในการถอดรหัสจนกระทั่งมีการเรียนรู้สัญลักษณ์

เคล็ดลับที่มีสัญลักษณ์คือจะต้องมีความสัมพันธ์ที่ชัดเจนระหว่างสัญลักษณ์และสิ่งที่มันหมายถึง สิ่งที่มันหมายถึงอย่างใดอย่างหนึ่งจะต้องเป็นคำนามในกรณีที่สัญลักษณ์ควรมีลักษณะมากเหมือนสิ่งที่มันหมายถึง หากสัญลักษณ์แสดงถึงแนวคิดที่เป็นนามธรรมมากกว่านั้นจะต้องมีการอธิบายล่วงหน้า ดูไอคอนที่ไม่สามารถปิดการใช้งานไม่ได้ใน msword's หรือแถบเครื่องมือของ photoshop และแนวคิดนามธรรมที่เป็นตัวแทน จะต้องมีการเรียนรู้ว่าไอคอนเครื่องมือครอบตัดใน photoshop หมายถึง CROP TOOL ต้องเข้าใจว่า CROP หมายถึงอะไร สิ่งเหล่านี้เป็นข้อกำหนดเบื้องต้นสำหรับการใช้ซอฟต์แวร์นั้นอย่างถูกต้อง ซึ่งจะนำมาเป็นประเด็นสำคัญระวังความรู้ขั้นต่ำ

เราสามารถเพิ่มความสามารถในการเข้าใจแผนที่เมื่ออายุประมาณ 4 ขวบฉันคิดว่าฉันอ่านที่ไหนซักแห่งเมื่อลิงชิมแปนซีได้รับความสามารถในการเข้าใจแผนที่ในช่วงอายุ 6 หรือ 7

เหตุผลที่ guis ประสบความสำเร็จในการเริ่มต้นก็คือพวกเขาเปลี่ยนภูมิทัศน์ของอินเตอร์เฟซที่เป็นข้อความส่วนใหญ่ไปยังคอมพิวเตอร์เป็นสิ่งที่แมปแนวคิดของคอมพิวเตอร์กับสิ่งที่คล้ายกับสถานที่ทางกายภาพ ที่ guis ล้มเหลวในแง่ของการใช้งานเป็นที่ที่พวกเขาหยุดคล้ายสิ่งที่คุณเห็นในชีวิตจริง มีสิ่งที่มองไม่เห็นคาดเดาไม่ได้และเข้าใจยากที่เกิดขึ้นในคอมพิวเตอร์ที่ไม่มีความคล้ายคลึงกับสิ่งที่คุณเคยเห็นในโลกทางกายภาพ บางสิ่งนี้มีความจำเป็นเนื่องจากไม่มีจุดในการสร้างแบบจำลองเสมือนจริง - ความคิดคือการบันทึกงานดังนั้นจึงต้องมีเวทมนตร์ แต่เวทย์มนตร์นั้นจะต้องมีเหตุผลและมีพื้นฐานอยู่บนสิ่งที่เป็นนามธรรมที่มนุษย์ได้รับการปรับให้เข้ากับความเข้าใจ มันเป็นเมื่อ abstractions ของเราเริ่มลึกและเลเยอร์ และไม่ตรงกันกับภารกิจในมือที่สิ่งต่าง ๆ พังทลายลงมา กล่าวอีกนัยหนึ่งอินเทอร์เฟซไม่ทำงานเป็นแผนที่ดีสำหรับซอฟต์แวร์พื้นฐาน

มีหนังสือมากมาย ทั้งสองที่ฉันได้อ่านและสามารถแนะนำได้คือ "การออกแบบของสิ่งต่าง ๆ ในชีวิตประจำวัน" โดยโดนัลด์นอร์แมนและ "อินเทอร์เฟซของมนุษย์" โดย Jef Raskin

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

ฉันขอแนะนำให้ค้นพบจิตวิทยาชุดสารคดี PBS ซึ่งจัดทำโดย Philip Zimbardo หากล้มเหลวให้ลองค้นหาตำราฟิสิกส์ที่ดี ชนิดที่มีราคาแพง ไม่ใช่ตัวละครในนิยายที่จะช่วยอึที่คุณพบใน Borders แต่สิ่งที่คุณสามารถพบได้ในห้องสมุดมหาวิทยาลัยเท่านั้น นี่คือรากฐานที่จำเป็น คุณสามารถออกแบบได้ดีหากไม่มีมัน แต่คุณจะมีความเข้าใจอย่างถ่องแท้ว่าเกิดอะไรขึ้น การอ่านหนังสือดีๆสักเล่มจะทำให้คุณมีมุมมองที่ดี


2

หากคุณอ่านหนังสือ "ทำไมซอฟต์แวร์แย่มาก" คุณจะได้เห็นคำตอบของแพลตซึ่งเป็นเรื่องง่าย:

  1. นักพัฒนาสามารถควบคุมผู้ใช้ได้ง่าย
  2. คนโดยเฉลี่ยจะเป็นมิตรกับผู้ใช้มากกว่าการควบคุม

แต่อีกคำตอบสำหรับคำถามของคุณคือ "ทำไมทันตกรรมถึงยากนักสำหรับนักพัฒนาบางคน" - การออกแบบ UI ทำได้ดีที่สุดโดยผู้ออกแบบ UI

http://dotmad.net/blog/2007/11/david-platt-on-why-software-sucks/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.