โปรแกรมเมอร์สามารถพัฒนาทักษะ UX ได้อย่างไร [ปิด]


17

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

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

อะไรคือปัญหา? นักพัฒนาสามารถพัฒนาทักษะในการออกแบบประสบการณ์การใช้งานที่ดีได้อย่างไร


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

1
ฉันคิดว่าคุณจะพบว่าการ์ตูนเรื่องนี้ล้มเหลวในการเปรียบเทียบกับผลิตภัณฑ์อื่น ๆ ของพวกเขาที่ไม่ใช่การค้นหาของ google.com หรือ iDevice ทั้งเฟรมแรกและเฟรมที่สองในการ์ตูนเป็นตัวแทนของการสื่อสารทางเดียว ที่สามไม่ได้ ทั้ง 3 พูดเกินจริง
Steven Evers

2
@GrandmasterB อย่าไปสนใจมันมาก ฉันแก้ไขชื่อแล้วเพื่อหลีกเลี่ยงการวางทั่วไปมากเกินไป
jmservera

ตัวอย่างเช่น @SnOrfus อินเทอร์เฟซ adwords ของ Google นั้นเจ็บปวดมาก
GrandmasterB

FYI: ฉันพบคำถามที่คล้ายกันในไซต์ UI: ui.stackexchange.com/questions/1863/ …
jmservera

คำตอบ:


9

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

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

การใช้งาน, การออกแบบประสบการณ์ผู้ใช้ (UX), การปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์ (HCI) - มันไม่ได้น่าอัศจรรย์และเป็นส่วนหนึ่งของกระบวนการพัฒนาซอฟต์แวร์

เคล็ดลับของฉันคือ:

  • รับทราบข้อ จำกัด ของคุณ
  • ถามและฟังคนที่อ้างว่ารู้เรื่องเหล่านี้
  • เมื่อไม่แน่ใจให้ google it และค้นหาคำตอบที่เชื่อถือได้

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

Tl; dr: KISS


บางคนสนใจ UI แบบง่าย คนอื่นสามารถดูแลน้อยลงและไม่ต้องการเสียเวลา
งาน

6

มันเป็นสิ่งมีชีวิต

  • UI และทุกงานที่เกี่ยวข้องกับการออกแบบอื่น ๆ ที่เกี่ยวข้องกับสมองซีกขวา
  • การเขียนโปรแกรมงานที่เกี่ยวข้องกับสมองด้านซ้าย

พวกเขามีวัตถุประสงค์ที่แตกต่างกัน

มันยากมากที่จะเก่งทั้งคู่ อย่างน้อยในเวลาเดียวกัน

สมอง

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


1
คุณสามารถสนับสนุน "เป็นเรื่องยากมากที่จะทำได้ดีทั้งคู่อย่างน้อยก็ในเวลาเดียวกัน" กับการศึกษา / บทความที่พูดอย่างนั้น?
c_maker

6
"ภาพรวมทั่วไปมักทำในจิตวิทยายอดนิยมเกี่ยวกับด้านหนึ่งหรือด้านอื่นที่มีป้ายกำกับลักษณะเช่น" ตรรกะ "หรือ" สร้างสรรค์ "ฉลากเหล่านี้ต้องได้รับการปฏิบัติอย่างระมัดระวังแม้ว่าการปกครองด้านข้างนั้นสามารถวัดได้ แต่ลักษณะเหล่านี้มีอยู่จริง ทั้งสองด้านและหลักฐานการทดลองให้การสนับสนุนเพียงเล็กน้อยสำหรับความสัมพันธ์ของความแตกต่างระหว่างโครงสร้างกับความแตกต่างด้านการใช้งาน " จากบทความวิกิพีเดียen.wikipedia.org/wiki/Lateralization_of_brain_function
c_maker

นอกจากนี้สิ่งนี้จะไม่ตอบคำถามเลยเว้นแต่จะได้คำตอบว่า "ปัญหาคืออะไร" คำตอบนี้แสดงว่าคุณไม่สามารถทำได้ดีทั้งคู่ซึ่งไม่เป็นความจริงเลย มันอาจจะยากERเพราะคนไม่ได้มีการปฏิบัติพอที่มัน แต่มันก็ไม่ยาก
c_maker

@c_maker: น่าเสียดายที่ทุกหลักสูตรจิตวิทยาของฉันเป็นภาษาฝรั่งเศส แต่ฉันสามารถพูดถึงการศึกษาที่กล่าวถึงในพวกเขา: Gazzaniga 1976, Sperry 1968, Zaidel 1975

ในขณะที่ฉันเคารพว่าคุณสามารถสนับสนุนการโต้แย้งของคุณฉันต้องบอกว่าวันที่เหล่านั้นเป็นเวลานานแล้ว มีการเปลี่ยนแปลงมากมายตั้งแต่นั้นมา เรายังรู้น้อยมากเกี่ยวกับสมองของเรา แต่เรารู้น้อยมากแล้ว
c_maker

4

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

  1. การทำงานของโปรแกรมเมอร์คือซอฟต์แวร์ พวกเขาสนใจมัน พวกเขาอุทิศความใส่ใจกับมัน พวกเขาตื่นเต้นกับมัน การทำงานของผู้ใช้เป็นอย่างอื่น ; ซอฟแวร์เป็นเพียงเครื่องมือในการอำนวยความสะดวกในการทำบางสิ่งบางอย่างอื่นและพวกเขาต้องการที่จะใช้จ่ายเป็นเวลาน้อยที่สุดเท่าที่เป็นไปได้ให้ความสนใจกับมันเพื่อให้พวกเขาแทนสามารถมุ่งเน้นเกี่ยวกับสิ่งที่พวกเขาทำเกี่ยวกับการดูแล ตราบใดที่โปรแกรมเมอร์เข้าใจผิดพวกเขาจะทำการแลกเปลี่ยนผิดในการออกแบบ UI (สำหรับข้อมูลเพิ่มเติมในหัวข้อนี้ดูที่Joel Spolsky เรื่อง "การควบคุมสภาพแวดล้อมของคุณทำให้คุณมีความสุข"หรือ"กฎหมายพื้นฐาน" ของ David S. Platt )
  2. โปรแกรมเมอร์รู้ซอฟต์แวร์อย่างใกล้ชิด พวกเขาพอใจกับรายละเอียดและความซับซ้อนของมัน พวกเขาเข้าใจว่าทำไมมันถึงทำแบบนั้นเพราะพวกมันมีแบบจำลองทางจิตที่สมบูรณ์ ผู้ใช้ไม่มีโอกาส (หรือความสนใจดูจุดที่ 1) เพื่อเรียนรู้ทุกรายละเอียดและเป็นไปไม่ได้ที่พวกเขาจะมีแบบจำลองทางจิตที่สมบูรณ์เพราะพวกเขาไม่สามารถเข้าถึงหรือเข้าใจซอร์สโค้ดได้ (สำหรับข้อมูลเพิ่มเติมเกี่ยวกับความสำคัญของแบบจำลองทางจิตคุณสามารถอ่าน Donand Norman The Design of Everyday Things ; แม้ว่ามันจะไม่เฉพาะกับคอมพิวเตอร์ แต่เป็นหนังสือที่ดีเกี่ยวกับการออกแบบส่วนต่อประสาน)
  3. การแลกเปลี่ยนของโปรแกรมเมอร์แตกต่างจากผู้ใช้ โปรแกรมเมอร์สามารถตัดสินใจที่จะปล่อยให้ฟีเจอร์ซับซ้อนเกินไปหรือกึ่งอัตโนมัติหรือน้อยกว่าที่ใช้งานได้เพราะสำหรับโปรแกรมเมอร์มันจะง่ายต่อการจัดการกับการขาดการใช้งานมากกว่าที่จะรหัสมันอย่างถูกต้อง ผู้ใช้ไม่สนใจ (มาก) ความพยายามมากเท่าใดที่โปรแกรมเมอร์จะใช้รหัสอย่างถูกต้องและค่อนข้างจะใช้งานได้อย่างเต็มที่

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

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