นักพัฒนาควรทำเลียนแบบ UI หากไม่มีผู้ออกแบบในโครงการหรือไม่


57

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

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

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


51
หากคุณไม่มีนักออกแบบและไม่ใช่นักพัฒนาซอฟต์แวร์ก็ควรจะทำเช่นนั้นใครล่ะ ภารโรงอาจจะ?
GrandmasterB

10
คุณสามารถทำได้แน่นอนบางทีคุณควรจะทำได้ แต่มันก็ไกลจากความผิดปกติและไม่ "ผิดปกติ" อย่างที่เพื่อนร่วมงานของคุณแสดงไว้ ขึ้นอยู่กับสถานการณ์และสภาพแวดล้อมคุณอาจทำการจำลองที่หยาบกร้านมากกว่าสิ่งที่ดูเหมือนผลิตภัณฑ์สำเร็จรูปมากเกินไป Balsamiqเป็นเครื่องมือที่ดีสำหรับเรื่องนี้เช่นเดียวกับการวาดภาพจำลองของคุณบนกระดาษหรือไวท์บอร์ด
Joe Ballard

3
ฉันคิดว่าคุณหมายถึง "จำลอง"? A "จำลอง" เป็นอย่างอื่น
Robert Harvey

23
การออกแบบประสบการณ์ผู้ใช้เหนือกว่าการทำให้ทุกสิ่งดูดี โปรแกรมเมอร์ควรมีส่วนร่วมกับมันมาก
JeffO

2
ปฏิกิริยาของเพื่อนร่วมงานที่น่ารังเกียจคืออะไร นี่เป็นเรื่องธรรมดามาก
Claudiu Creanga

คำตอบ:


74

ฉันมักจะทำงานในโครงการดังกล่าวและคำตอบคือใช่ดังก้องและเร็วที่สุด

ผู้คนพบว่าการวิพากษ์วิจารณ์ปรับปรุงร่างจดหมายง่ายกว่าการหาคำตอบตั้งแต่ต้น ดังนั้นฉันเริ่มร่างเร็วด้วยเหตุผลสองประการ:

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

ในบางกรณีมันก็ดีที่มีหลักฐานว่าฉันได้ส่งสิ่งที่เราเห็นด้วย ...


16
และอย่างสุจริตมันง่ายมากที่จะเขียนรหัสถ้าคุณมีอย่างน้อยที่สุดก็มีร่างผ้าเช็ดปากนั่งอยู่ตรงหน้าคุณ
Kathy

9
จุดที่ 2) มีความสำคัญมากหากธุรกิจนั้นไม่สำคัญ!
bigstones

4
ในฐานะที่เป็นคนที่ทำงาน UX มา 3 ปีเพียงแค่มีภาพร่างเพื่อพูดคุยกับผู้คน (นักพัฒนาลูกค้าผู้ใช้ปลายทาง) เกี่ยวกับสิ่งที่มีประโยชน์และสำคัญอย่างเหลือเชื่อ มันจะช่วยคุณประหยัดเวลาได้มากเมื่อคุณไม่จำเป็นต้องทำซ้ำไซต์อย่างสมบูรณ์เพราะมีบางคนหงุดหงิด!
Gnomejon

39

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

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


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

นั่นเป็นเพียงการพูดคุยอย่างบ้าคลั่ง ... จริง ๆ แล้วทำการสตอรี่บอร์ด ทางไปโรงเรียนเก่าสำหรับคนใหม่เหล่านี้: P
Matthew Whited

1
"อย่าสร้างภาพจำลองที่ดูเหมือนหน้าจอจริง" เป็นข้อมูลเชิงลึกที่ลึกซึ้งมาก
Andrew Myers

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

1
@ แอนดรูว์ ... เป็นหนึ่งในสิ่งที่ฉันเรียนรู้เมื่อฉันเยาะเย้ยแอพใน Access และ VB คุณแสดงบางสิ่งบางอย่างที่ดูเหมือนภาพหน้าจอและพวกเขาคาดหวังว่าคุณจะสามารถจัดส่งได้ :)
Matthew Whited

11

ใช่แล้ว

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

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


แน่นอนว่าคุณพูดว่าฉันพูดถึงการเยาะเย้ยความจงรักภักดีต่ำ โดยส่วนตัวฉันใช้ draw.io เป็นโซลูชันที่มีน้ำหนักเบามากและสำหรับการแบ่งปันระหว่างเพื่อนร่วมงานได้ง่าย
Konstantine

10

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

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


5

ไม่จำเป็น. มีเหตุผลอย่างน้อยสองประการที่ทำไมการเยาะเย้ยถากถางอาจใช้เพียงเล็กน้อย

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

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

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


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

@MatthewWhited พวกเขาบ่นเกี่ยวกับสิ่งเล็ก ๆ น้อย ๆ เมื่อคุณมาพูดคุยเกี่ยวกับ UI หรือพวกเขาบ่นเกี่ยวกับพวกเขาเมื่อคุณเสนอที่จะใช้ผลิตภัณฑ์เพื่อให้บรรลุ thask ที่มือของพวกเขา? ฉันคาดหวังว่ากรณีต่อมาน่าจะสร้างสรรค์มากขึ้นและนี่ก็เป็นประโยชน์ต่อเว็บแอปพลิเคชันภายในบ้านที่ติดตั้งฐานไว้ที่ 1
Eugene Ryabtsev

3

เสมอ!

ฉันทำงานกับ บริษัท เล็ก ๆ และฉันเป็นคนเดียวที่ "เบา" ฉันทำทุกความต้องการการออกแบบการเข้ารหัสการทดสอบ (แม้ว่าบางคนจะตรวจสอบการทดสอบของฉันเสมอ) การออกแบบฐานข้อมูลเป็นต้น

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

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

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


2

ลองดูสิ่งนี้ด้วยวิธีทั่วไปมากขึ้น:

  • การสร้างร่างเป็นความคิดที่ดีหรือไม่?
  • ใครควรสร้างร่างจดหมาย

การสร้างร่างเป็นความคิดที่ดีหรือไม่?

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

ข้อเสียของการสร้างร่างคือมันใช้เวลา การใช้เวลา 2 ชั่วโมงในการสร้างแบบร่างที่ซับซ้อนนั้นเป็นสิ่งที่ใช้เวลา 4 ชั่วโมงในการสร้าง

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

ใครควรสร้างร่างจดหมาย

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


จุดดีจริงๆเกี่ยวกับความสำคัญของการเปรียบเทียบเวลาการสร้าง ไม่มีจุดในการเพิ่มเวลาเป็นสองเท่าเพราะเราสร้างร่างขึ้นมา
Konstantine

-2

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


1
การเลียนแบบไม่ได้มีไว้สำหรับการสร้าง UI ที่ทันสมัย ​​แต่เป็นการเลียนแบบเค้าโครงและลักษณะการทำงานของหน้าจอ จริงๆแล้วในกรณีส่วนใหญ่พวกเขาไม่ได้สวยขนาดนั้นเลย ฉันไม่เห็นด้วย
Kieren Johnstone

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

@ KierenJohnstone ฉันเห็นด้วยกับคุณอย่างสมบูรณ์ อย่างไรก็ตามเขาเองก็บอกว่า "UX ไม่ค่อยมีความสำคัญเท่าไหร่" ยกเว้นว่าเขาเป็นสมาชิกอาวุโสของทีมอย่างสมเหตุสมผลรางวัลของเขาจะไม่ตรงกับความพยายาม (การสร้างแบบจำลอง) การเยาะเย้ยเป็นสิ่งที่ดี แต่ไม่ใช่ในสถานการณ์ของเขา
Kshitij Upadhyay

ฉันไม่เห็นด้วย - การเยาะเย้ยมีประโยชน์จริง ๆ ในสถานการณ์นี้ - ในสถานการณ์ส่วนใหญ่ - เพื่อดูว่าแอปจะทำงานอย่างไรถ้าเหมาะสมและหากผู้พัฒนาเข้าใจความต้องการ - ก่อนที่ราคาแพงจะเกิดขึ้น (การเขียนโค้ด)
Kieren Johnstone

1
ทีมของเรามีประมาณ 3 คน มีสมาชิกอาวุโส / หัวหน้าทีมหนึ่งคนและฉันกับผู้ชายอีกคนหนึ่งที่ได้รับสัญญาว่าจ้างให้ทำงานในโครงการ ร่างนั้นส่วนใหญ่ทำเพื่อหารือเกี่ยวกับหน้าจอใหม่กับหัวหน้าทีม นอกจากนี้ยังไม่มีรูปลักษณ์ที่กำหนดไว้ล่วงหน้าเนื่องจากจุดทั้งหมดของหน้าจอใหม่คือการปรับปรุงหน้าจอเดิมที่ใช้งานได้ยากดังนั้นทุกสิ่งต้องทำซ้ำ
Konstantine
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.