Mengapa desain UI yang baik begitu sulit untuk beberapa Pengembang? [Tutup]

206

Beberapa dari kita hanya mengalami kesulitan dengan aspek desain UI yang lebih lembut ( terutama saya sendiri ). Apakah "back-end coders" ditakdirkan untuk hanya mendesain logika bisnis dan lapisan data? Adakah yang bisa kita lakukan untuk melatih otak kita agar lebih efektif dalam mendesain lapisan presentasi yang menyenangkan dan bermanfaat?

Kolega telah merekomendasikan beberapa buku kepada saya termasuk Desain Situs , Jangan membuat saya berpikir dan Mengapa Perangkat Lunak menyebalkan , tetapi saya bertanya-tanya apa yang telah dilakukan orang lain untuk menghilangkan kekurangan mereka di bidang ini?

Chris Ballance
sumber
1
Untuk saya sendiri (saya mengalami masalah yang sama) Saya tahu UI yang baik ketika saya menggunakannya. Dan saya pasti tahu UI yang mengganggu saya. Tetapi saya memiliki waktu yang sangat sulit untuk mencoba merancang sendiri. Ini seperti mata kritis yang saya miliki ketika saya menggunakan UI orang lain tidak bekerja pada desain saya sendiri.
JMD
1
Saya benci istilah "back-end coder" dan berusaha untuk tetap keluar dari judul
Chris Ballance
20
Desain grafis! = Desain UI. Yang pertama adalah tentang membuat semuanya cantik. Yang terakhir adalah tentang membuat hal-hal berguna dan bermanfaat.
Esko Luontola
2
+1 @Eko. Seringkali 'cantik' berarti sama sekali tidak dapat digunakan. Tapi keduanya BISA hidup berdampingan jika ditangani dengan hati-hati dan berpikir.
Knalpot
12
Mengapa mengembangkan perangkat lunak sangat sulit bagi desainer UI?
Greg Hurlman

Jawaban:

360

Izinkan saya mengatakannya secara langsung:

Memperbaiki ini tidak dimulai dengan pedoman. Dimulai dengan membingkai ulang pendapat Anda tentang perangkat lunak.

Sebagian besar pengembang hardcore memiliki praktis nol empati dengan pengguna perangkat lunak mereka. Mereka tidak memiliki petunjuk bagaimana pengguna berpikir, bagaimana pengguna membangun model perangkat lunak yang mereka gunakan dan bagaimana mereka menggunakan komputer secara umum.

Ini adalah masalah yang khas ketika seorang ahli bertabrakan dengan orang awam: Bagaimana bisa orang normal begitu bodoh untuk tidak memahami apa yang dipahami ahli itu 10 tahun yang lalu?

Salah satu fakta pertama yang mengakui bahwa sangat sulit untuk dipahami oleh hampir semua pengembang berpengalaman adalah ini:

Orang normal memiliki konsep perangkat lunak yang sangat berbeda dari yang Anda miliki. Mereka tidak memiliki petunjuk apapun tentang pemrograman. Tidak ada Nol. Dan mereka bahkan tidak peduli. Mereka bahkan tidak berpikir mereka harus peduli. Jika Anda memaksanya, mereka akan menghapus program Anda.

Nah, itu sangat sulit bagi pengembang. Dia bangga dengan perangkat lunak yang dia hasilkan. Dia mencintai setiap fitur. Dia dapat memberi tahu Anda dengan tepat bagaimana kode di belakangnya bekerja. Mungkin dia bahkan menemukan algoritma pintar yang luar biasa yang membuatnya bekerja 50% lebih cepat dari sebelumnya.

Dan pengguna tidak peduli.

Betapa bodohnya.

Banyak pengembang yang tidak tahan bekerja dengan pengguna normal. Mereka mengalami depresi karena pengetahuan mereka tentang teknologi yang tidak ada. Dan itulah sebabnya sebagian besar pengembang menghindar dan berpikir pengguna pasti idiot.

Mereka tidak.

Jika seorang pengembang perangkat lunak membeli mobil, ia berharap mobil itu dapat berjalan dengan lancar. Dia biasanya tidak peduli dengan tekanan ban, penyetelan mekanis yang penting untuk membuatnya berjalan seperti itu. Di sini dia bukan ahli. Dan jika dia membeli mobil yang tidak memiliki fine-tuning, dia mengembalikannya dan membeli yang melakukan apa yang diinginkannya.

Banyak pengembang perangkat lunak menyukai film. Film bagus yang memicu imajinasi mereka. Tetapi mereka bukan ahli dalam memproduksi film, dalam menghasilkan efek visual atau dalam menulis skrip film yang bagus. Kebanyakan kutu buku sangat, sangat, sangat buruk dalam bertindak karena ini semua tentang menampilkan emosi yang kompleks dan sedikit tentang analitik. Jika seorang pengembang menonton film yang buruk, ia hanya memperhatikan bahwa itu buruk secara keseluruhan. Nerds bahkan telah membangun IMDB untuk mengumpulkan informasi tentang film yang baik dan buruk sehingga mereka tahu mana yang harus ditonton dan yang harus dihindari. Tapi mereka bukan ahli dalam membuat film. Jika film buruk, mereka tidak akan pergi ke film (atau tidak mengunduhnya dari BitTorrent;)

Jadi intinya adalah: Mengabaikan pengguna normal sebagai ahli adalah ketidaktahuan. Karena di daerah-daerah (dan ada begitu banyak) di mana mereka bukan ahli, mereka berharap para ahli dari daerah lain sudah memikirkan orang normal yang menggunakan produk atau layanan mereka.

Apa yang dapat Anda lakukan untuk memperbaikinya? Semakin hardcore Anda sebagai seorang programmer, semakin sedikit Anda terbuka untuk berpikir pengguna normal. Itu akan menjadi asing dan tidak mengerti bagi Anda. Anda akan berpikir: Saya tidak bisa membayangkan bagaimana orang bisa pernah menggunakan komputer dengan kurangnya pengetahuan. Tetapi mereka bisa. Untuk setiap elemen UI, pikirkan: Apakah perlu? Apakah itu sesuai dengan konsep yang dimiliki pengguna atas alat saya? Bagaimana saya bisa membuatnya mengerti? Silakan baca tentang kegunaan untuk ini, ada banyak buku bagus. Ini adalah seluruh bidang sains juga.

Ah dan sebelum Anda mengatakannya, ya, saya penggemar Apple;)

Thorsten79
sumber
8
Komentar luar biasa! Anda telah menemukan salah satu rintangan paling mendasar dalam desain perangkat lunak. Fakta sulit untuk ditelan untuk pengembang yang keras (seperti saya), tetapi kenyataannya sering kali.
12
+1. Saya sarankan membaca "Para Narapidana Menjalankan Suaka", itu masuk ke detail yang baik tentang perbedaan dalam pola pikir pengguna / dev, serta beberapa solusi.
Richard Levasseur
9
+1 Sejujurnya, pengembang mana pun yang tidak peduli dengan pengguna adalah pengembang yang buruk!
Gary Willoughby
7
Poin yang sangat valid, dan saya pikir mentalitas ini juga merupakan bagian dari alasan sejumlah proyek yang dijalankan oleh pengembang (mis. Open source atau apa pun yang Anda miliki) dianggap sebagai masalah yang sulit digunakan - pada umumnya, sebagian besar pengembang menulis untuk diri mereka sendiri sebagai pengguna, bukan untuk pengguna akhir "nyata".
CloudyMusic
25
+1 Inilah alasan mengapa Linux masih belum siap untuk desktop rata-rata pengguna.
Bryan Anderson
215

UI desain adalah sulit

Untuk pertanyaan:

mengapa desain UI sangat sulit bagi kebanyakan pengembang?

Coba ajukan pertanyaan terbalik:

mengapa pemrograman begitu sulit untuk sebagian besar desainer UI ?

Pengodean UI dan merancang UI memerlukan keterampilan dan pola pikir yang berbeda. Desain UI sulit bagi sebagian besar pengembang, bukan beberapa pengembang, sama seperti menulis kode sulit bagi sebagian besar desainer, bukan beberapa desainer.

Pengodean sulit. Desain juga sulit. Hanya sedikit orang yang melakukan keduanya dengan baik. Desainer UI yang baik jarang menulis kode. Mereka bahkan mungkin tidak tahu caranya, namun mereka masih merupakan desainer yang baik. Jadi mengapa pengembang yang baik merasa bertanggung jawab atas desain UI?

Mengetahui lebih banyak tentang desain UI akan membuat Anda menjadi pengembang yang lebih baik, tetapi itu tidak berarti Anda harus bertanggung jawab atas desain UI. Kebalikannya berlaku untuk desainer: mengetahui cara menulis kode akan membuat mereka menjadi desainer yang lebih baik, tetapi itu tidak berarti mereka harus bertanggung jawab untuk pengkodean UI.

Bagaimana menjadi lebih baik di desain UI

Untuk pengembang yang ingin menjadi lebih baik dalam desain UI, saya memiliki 3 saran dasar:

  1. Kenali desain sebagai keterampilan terpisah . Pengkodean dan desain terpisah tetapi terkait. Desain UI bukan bagian dari pengkodean. Ini membutuhkan pola pikir, basis pengetahuan, dan kelompok keterampilan yang berbeda. Ada orang di luar sana yang fokus pada desain UI.
  2. Pelajari tentang desain . Setidaknya sedikit. Cobalah mempelajari beberapa konsep dan teknik desain dari daftar panjang di bawah ini. Jika Anda lebih ambisius, baca beberapa buku, hadiri konferensi, ambil kelas, dapatkan gelar. Ada banyak cara untuk belajar tentang desain. Buku Joel Spolky tentang desain UI adalah primer yang baik untuk pengembang, tetapi ada banyak lagi untuk itu dan di situlah desainer masuk ke dalam gambar.
  3. Bekerja dengan desainer . Desainer yang bagus, jika bisa. Orang yang melakukan pekerjaan ini pergi dengan berbagai judul. Saat ini, judul yang paling umum adalah User Experience Designer (UXD), Information Architect (IA), Interaction Designer (ID), dan Usability Engineer. Mereka berpikir tentang desain sebanyak yang Anda pikirkan tentang kode. Anda dapat belajar banyak dari mereka, dan mereka dari Anda. Bekerja dengan mereka bagaimanapun Anda bisa. Temukan orang dengan keterampilan ini di perusahaan Anda. Mungkin Anda perlu mempekerjakan seseorang. Atau pergi ke beberapa konferensi, menghadiri webinar, dan menghabiskan waktu di dunia UXD / IA / ID.

Berikut adalah beberapa hal spesifik yang dapat Anda pelajari. Jangan mencoba mempelajari semuanya . Jika Anda tahu segalanya di bawah ini, Anda bisa menyebut diri Anda perancang interaksi atau arsitek informasi. Mulailah dengan hal-hal di dekat bagian atas daftar . Fokus pada konsep dan keterampilan tertentu. Kemudian pindah ke bawah dan cabang keluar. Jika Anda benar-benar menyukai hal ini, anggap itu sebagai jalur karier. Banyak pengembang pindah ke manajemen, tetapi desain UX adalah pilihan lain.

  • Pelajari konsep desain dasar . Anda harus tahu tentang harga, jarak pandang, umpan balik, pemetaan, hukum Fitt, kuk-poka, dan banyak lagi. Saya sarankan membaca Desain Hal Sehari-hari (Don Norman) dan Prinsip-Prinsip Desain Universal (Lidwell, Holden, & Butler)
  • Pelajari tentang pengalaman pengguna . Ini menjadi istilah umum untuk desain situs web, aplikasi, dan artefak digital lainnya yang berpusat pada manusia. Primer klasik di sini adalah Unsur Pengalaman Pengguna (Jesse James Garrett). Anda bisa mendapatkan ikhtisar dan beberapa bab pertama dari situs penulis .
  • Belajar membuat sketsa desain . Membuat sketsa adalah cara cepat untuk menjelajahi opsi desain dan menemukan desain yang tepat, sedangkan pengujian kegunaan adalah tentang mendapatkan desain yang benar. Pembuatan prototipe kertas cepat, murah, dan efektif selama tahap desain awal. Jauh lebih cepat daripada pengkodean prototipe digital. Teks utama di sini adalah Membuat Sketsa Pengalaman Pengguna: Mendapatkan desain yang benar dan desain yang tepat ( Bill Buxton ). Membuat sketsa adalah keterampilan yang sangat berguna saat bekerja dengan desainer IA / ID / UX. Kolaborasi Anda akan lebih efektif. Untuk informasi dasar yang baik tentang bagaimana dan mengapa perancang membuat sketsa, saksikan presentasi Bagaimana menjadi tim UX satu oleh Leah Buley dari KTT IA 2008 .
  • Pelajari prototipe kertas . Cara tercepat untuk menguji antarmuka secara berulang sebelum Anda menulis kode. Berbeda dari sketsa dan pengujian kegunaan. Buku definitif di sini adalah Paper Prototyping (Carolyn Snyder). Anda bisa mendapatkan DVD yang bagus tentang ini dari Nielsen Norman Group .
  • Pelajari pengujian kegunaan . Pengujian diskon mudah dan efektif. Tetapi bagi banyak UI, kegunaan sulit dilakukan dengan baik. Anda dapat mempelajari dasar-dasarnya dengan cepat, tetapi kegunaan yang baik orang sangat berharga. Jika Anda menginginkan buku, klasiknya adalah The Handbook of Usability Testing (Jeffrey Rubin). Ini lebih tua tetapi menawarkan cakupan menyeluruh pengujian berbasis laboratorium. Buku pemula yang terkenal adalah Don't Make Me Think (2nd Ed) (Steve Krug). Saya mengingatkan orang tentang yang ini: Krug membuatnya terdengar lebih mudah dari itu. Tetapi ini adalah titik awal yang baik. Buku-buku penelitian pengguna yang tercantum dalam poin berikutnya juga mencakup topik ini. Dan Anda dapat menemukan tumpukan tentang itu secara online.
  • Pelajari tentang arsitektur informasi . Buku utama di sini adalah Arsitektur Informasi untuk World Wide Web (3) (Louis Rosenfeld & Peter Morville). Buku pemula yang baik adalah Arsitektur Informasi: Cetak Biru untuk Web (Christina Wodtke). Untuk lebih lanjut, kunjungi Institut Arsitektur Informasi atau menghadiri KTT Arsitektur Informasi tahunan .
  • Pelajari tentang desain interaksi . Buku utama di sini adalah The Essentials of Interaction Design (3) (Alan Cooper, et al ). Buku pemula yang baik adalah Merancang untuk interaksi (Dan Saffer). Untuk lebih lanjut, kunjungi Asosiasi Desain Interaksi (IxDA) atau menghadiri konferensi Desain Interaksi tahunan .
  • Pelajari dasar-dasar desain grafis . Desain grafis bukan desain UI, tetapi konsep dari desain grafis dapat meningkatkan antarmuka. Desain grafis memperkenalkan prinsip-prinsip desain untuk penyajian informasi visual, seperti kedekatan, penyelarasan, dan kelipatan kecil. Saya sarankan membaca buku desain non-desainer (Robin Williams) dan Informasi Membayangkan (Edward Tufte)
  • Belajarlah untuk melakukan riset pengguna . Di mana kegunaan menguji antarmuka, riset pengguna mencoba memodelkan pengguna dan tugas mereka melalui persona, skenario, perjalanan pengguna, dan dokumen lainnya. Ini tentang memahami pengguna dan apa yang mereka lakukan, kemudian menggunakannya untuk menginformasikan desain alih-alih menebak. Beberapa teknik adalah wawancara, survei, studi diary, dan penyortiran gerobak. Buku bagus tentang ini adalah Mengamati Pengalaman Pengguna (Mike Kuniavsky) dan Memahami Pengguna Anda (Keberanian & Baxter)
  • Belajarlah untuk melakukan penelitian lapangan . Mengamati orang di lab dalam kondisi buatan membantu (yaitu: kegunaan), tetapi tidak ada yang menonton orang menggunakan kode Anda dalam konteks: rumah mereka, kantor mereka, atau di mana pun mereka menggunakannya. Dijalankan dengan berbagai nama, termasuk etnografi, studi lapangan, dan penyelidikan kontekstual. Ini adalah primer yang bagus untuk penelitian lapangan . Dua buku yang lebih dikenal di sini adalah Rapid Contextual Design (Karen Holtzblatt et al ) dan Analisis tugas dan pengguna untuk desain antarmuka (Hackos & Redish).
  • Baca situs web desain UX . Beberapa yang besar adalah Boxes & Arrows , UX Mag , UX Matters , dan majalah Digital Web .
  • Gunakan pustaka pola UI . Ada pola untuk antarmuka. Untuk situs web, saya sarankan Desain Situs, edisi ke-2 (Van Duyne, dkk ) dan kegunaan Homepage: 50 situs web didekonstruksi (Jakob Nielsen & Marie Tahir). Untuk aplikasi desktop saya merekomendasikan Merancang antarmuka (Jennifer Tidwell), dan untuk aplikasi web saya merekomendasikan Merancang Antarmuka Web: Prinsip dan Pola untuk Interaksi yang Kaya (Bill Scott & Theresa Neil). Secara online Anda harus memeriksa pustaka pola Welie , pola UI , dan pola UI Web .
  • Hadiri konferensi desain UX . Beberapa konferensi tahunan yang baik adalah: KTT Arsitektur Informasi , Interaksi '09 (IxDA) , Antarmuka Pengguna , dan minggu UX .
  • Hadiri lokakarya atau webinar . Anda dapat mengikuti lokakarya, webinar, dan kursus online. Ini jauh dari daftar komprehensif, tetapi Anda dapat mencoba seminar virtual UIE , seminar virtual Path Adaptive , dan webinar UX dari Rosenfeld Media .
  • Dapatkan gelar . Gelar pascasarjana di HCI adalah salah satu pendekatan, tetapi program-program ini sebagian besar tentang penulisan kode. Jika Anda ingin mempelajari tentang desain artefak dan perangkat digital, maka Anda menginginkan program pascasarjana yang tidak ada di CS. Beberapa opsi termasuk Desain Interaksi di Carnegie Mellon , d-School di Stanford , program ITP di NYU , dan Arsitektur Informasi & Manajemen Pengetahuandi Kent State (pengungkapan: Saya di fakultas di Kent; kami melihat semakin banyak orang dengan gelar CS pindah ke desain UX alih-alih manajemen, yang menarik, karena manajemen adalah jalur tradisional untuk pengembang yang ingin pindah dari menulis kode sambil tetap di bidangnya). Ada banyak lagi program. Masing-masing memiliki perspektif, bidang penekanan, dan ekspektasi teknis sendiri. Beberapa keluar dari seni dan desain visual, yang lain dari perpustakaan dan ilmu informasi, dan beberapa dari CS. Sebagian besar adalah hibrida, tetapi setiap hibrida memiliki akar yang lebih dalam di satu bidang atau lebih. Jika ini menarik bagi Anda, lihatlah sekeliling dan cobalah untuk memahami perbedaan antara program-program ini. Beberapa menawarkan kursus online dan program sertifikat selain gelar penuh.

Mengapa desain UI sulit

Desain UI yang baik sulit karena melibatkan 2 keterampilan yang sangat berbeda:

  • Pemahaman yang mendalam tentang mesin . Orang-orang dalam grup ini khawatir tentang kode terlebih dahulu, orang kedua. Mereka memiliki pengetahuan dan keterampilan teknologi yang mendalam. Kami menyebutnya pengembang, programmer, insinyur, dan sebagainya.
  • Pemahaman yang mendalam tentang orang-orang dan desain : Orang-orang dalam grup ini khawatir tentang orang pertama, kode kedua. Mereka memiliki pengetahuan mendalam tentang bagaimana orang berinteraksi dengan informasi, komputer, dan dunia di sekitar mereka. Kami menyebutnya desainer pengalaman pengguna, arsitek informasi, desainer interaksi, insinyur kegunaan, dan sebagainya.

Ini adalah perbedaan mendasar antara 2 grup ini — antara pengembang dan desainer:

  • Pengembang membuatnya bekerja . Mereka menerapkan fungsi pada TiVo Anda, iPhone Anda, situs web favorit Anda, dll. Mereka memastikan itu benar-benar melakukan apa yang seharusnya dilakukan. Prioritas tertinggi mereka adalah membuatnya berfungsi.
  • Desainer membuat orang menyukainya itu . Mereka mencari tahu bagaimana berinteraksi dengannya, bagaimana kelihatannya, dan bagaimana rasanya. Mereka mendesain pengalaman menggunakan aplikasi, situs web, perangkat. Prioritas tertinggi mereka adalah membuat Anda jatuh cinta dengan apa yang dibuat pengembang. Inilah yang dimaksud dengan pengalaman pengguna, dan itu tidak sama dengan pengalaman merek.

Selain itu, pemrograman dan desain membutuhkan pola pikir yang berbeda , bukan hanya pengetahuan dan keterampilan yang berbeda. Desain UI yang baik membutuhkan kedua pola pikir, kedua basis pengetahuan, kedua kelompok keterampilan. Dan butuh bertahun-tahun untuk bisa menguasai keduanya.

Pengembang harus berharap untuk menemukan desain UI keras, seperti halnya desainer UI harus berharap untuk menemukan kode menulis keras

Karl Fast
sumber
8
Ini jawaban terbaik di sini. Tautan luar biasa BTW!
Bernard Igiri
Gambaran luar biasa dari desain UI! Saya juga mengamati gagasan Anda tentang pola pikir yang berbeda. Saya melakukan keduanya desain dan pemrograman UI, dan yang terbaik adalah saya berkonsentrasi hanya pada satu saja. [...]
Esko Luontola
Jika Anda membuat keputusan desain UI saat pemrograman, Anda berpikir bahwa apa cara paling sederhana untuk diterapkan, yang sering mengarah pada desain UI yang buruk. Dan jika Anda berpikir tentang implementasi saat melakukan desain UI, Anda mungkin memilih pola desain UI yang lebih mudah diimplementasikan, tetapi tidak sebagus bagi pengguna.
Esko Luontola
2
Mengapa ini tidak ditandai sebagai jawaban terbaik? Tampaknya jauh lebih baik daripada jawaban Thorsten79.
AbdullahC
1
Seandainya saya bisa langsung menyukai jawaban ini. :)
Dan J
70

Apa yang benar-benar membantu saya meningkatkan desain saya adalah untuk mengambil sesama pengembang, salah satu QA guys, PM, atau siapa saja yang kebetulan berjalan dan meminta mereka mencoba widget atau layar tertentu.

Luar biasa apa yang akan Anda sadari ketika Anda menonton orang lain menggunakan perangkat lunak Anda untuk pertama kalinya

Kevin
sumber
Saya sudah mencoba pendekatan ini banyak dan ternyata sangat efektif. Terkadang saya memiliki teman non-teknis menggunakannya untuk melihat apa yang menyebabkan mereka kesakitan ketika mencoba menggunakannya.
Chris Ballance
Ini adalah pendekatan yang sama yang saya ambil.
Ed S.
Mungkinkah pendekatan ini disebut "pengujian kegunaan"? ;) Ya, itu pendekatan yang harus Anda ambil sebelum, selama dan setelah.
Ates Goral
Ini akan menjadi jawaban tepat saya. QA dan dukungan teknis sangat bagus. Pengembang menyedot Desain UI, beralih dan minta orang lain sering mengujinya.
Bill K
7
Saya percaya ini disebut "lorong usability test"
Kevin
32

Pada akhirnya, ini benar-benar tentang empati - dapatkah Anda menempatkan diri pada posisi pengguna Anda?

Satu hal yang membantu, tentu saja, adalah "makan makanan anjing Anda sendiri" - menggunakan aplikasi Anda sendiri sebagai pengguna nyata, dan melihat apa yang mengganggu.

Ide bagus lainnya adalah menemukan cara untuk menonton pengguna nyata menggunakan aplikasi Anda, yang mungkin serumit lab kegunaan dengan cermin satu arah, tangkapan video layar, kamera video pada pengguna, dll., Atau dapat sesederhana sebagai kertas prototyping menggunakan orang berikutnya yang kebetulan berjalan di aula.

Jika semuanya gagal, ingatlah bahwa UI selalu menjadi terlalu sederhana daripada terlalu rumit. Sangat mudah mengatakan "oh, saya tahu bagaimana menyelesaikannya, saya hanya akan menambahkan kotak centang sehingga pengguna dapat memutuskan mode mana yang mereka sukai". Segera UI Anda terlalu rumit. Pilih mode default dan buat pengaturan preferensi sebagai opsi konfigurasi lanjutan. Atau tinggalkan saja.

Jika Anda membaca banyak tentang desain, Anda dapat dengan mudah terpaku pada bayangan yang jatuh dan sudut yang membulat dan sebagainya. Itu bukan hal penting. Kesederhanaan dan kemampuan menemukan adalah hal yang penting.

Jacob Mattison
sumber
menempatkan dengan baik. Paling sering, upaya untuk menambah fleksibilitas hanya menghasilkan kekacauan. Lebih sederhana == lebih baik.
SquareCog
Bisakah Anda menempatkan diri pada posisi pengguna Anda jika mereka berada di sisi lain planet ini, dalam budaya yang belum pernah Anda alami sebelumnya? Internasionalisasi adalah pertimbangan utama dalam desain UI yang solid. Jangan berasumsi bahwa semua orang tinggal di AS.
Benar; proyek saya saat ini sebenarnya ditargetkan untuk pengguna di seluruh planet ini (pada dasarnya di setiap negara selain AS, di mana saya berada). Itu membuat empati lebih sulit, tidak ada pertanyaan - dan yang lebih penting adalah berusaha dengan serius dan penuh semangat.
Jacob Mattison
Juga, saya akan menambahkan bahwa sebagian besar masalah kegunaan sangat mengejutkan setelah Anda mendapatkan pengguna nyata untuk melihatnya. Ya, akan ada yang halus yang spesifik untuk budaya, tetapi Anda dapat membuat peningkatan luar biasa menggunakan pria berikutnya berjalan di aula.
Jacob Mattison
+1, hanya karena saya tidak dapat +100 sendiri! Saya akan menambahkan bahwa mendapatkan pengalaman menggunakan aplikasi yang sangat berbeda karena ditujukan untuk membantu Anda tumbuh sebagai pengembang UI. Hanya menggunakan alat seperti Visual Studio atau alat dev lainnya yang akan menghambat kemampuan ini ...
BQ.
26

Berlawanan dengan mitos populer, secara harfiah tidak ada aspek lunak dalam desain UI, setidaknya tidak lebih dari yang diperlukan untuk merancang back end yang baik.

Pertimbangkan yang berikut ini; desain ujung belakang yang baik didasarkan pada prinsip dan elemen yang cukup solid yang diketahui oleh setiap pengembang yang baik:

  • kopling rendah

  • kohesi tinggi

  • pola arsitektur

  • praktik terbaik industri

  • dll

Desain back end yang baik biasanya lahir melalui sejumlah interaksi, di mana berdasarkan umpan balik terukur yang diperoleh selama tes atau penggunaan aktual cetak biru awal secara bertahap ditingkatkan. Terkadang Anda perlu membuat prototipe aspek yang lebih kecil dari ujung belakang dan mengujinya secara terpisah dll

Desain UI yang baik didasarkan pada prinsip suara:

  • visibilitas

  • keterjangkauan

  • umpan balik

  • toleransi

  • kesederhanaan

  • konsistensi

  • struktur

UI juga dilahirkan melalui tes dan percobaan, melalui iterasi tetapi tidak dengan compiler + test suit otomatis, tetapi orang-orang. Demikian pula untuk back end ada praktik terbaik industri, teknik pengukuran dan evaluasi, cara untuk memikirkan UI dan menetapkan tujuan dalam hal model pengguna, citra sistem, model desainer, model struktural, model fungsional dll.

Set keterampilan yang diperlukan untuk merancang UI sangat berbeda dari merancang back-end dan karenanya jangan berharap dapat melakukan UI yang baik tanpa melakukan pembelajaran terlebih dahulu. Namun kedua kegiatan ini memiliki kesamaan adalah proses desain. Saya percaya bahwa siapa pun yang dapat merancang perangkat lunak yang baik mampu merancang UI yang baik selama mereka menghabiskan waktu mempelajari caranya.

Saya sarankan mengikuti kursus di Interaksi Komputer Manusia, periksa situs MIT dan Yale misalnya untuk materi online:

Model Struktural vs Fungsional dalam Memahami dan Penggunaan

Posting sebelumnya yang sangat baik oleh Thorsten79 mengangkat topik para ahli pengembangan perangkat lunak vs pengguna dan bagaimana pemahaman mereka tentang perangkat lunak berbeda. Pakar pembelajaran manusia membedakan antara model mental fungsional dan struktural. Menemukan jalan ke rumah teman Anda bisa menjadi contoh yang sangat baik tentang perbedaan antara keduanya:

  • Pendekatan pertama mencakup serangkaian instruksi terperinci: ambil jalan keluar pertama dari jalan tol, kemudian setelah 100 yard belok kiri dll. Ini adalah contoh model fungsional: daftar langkah konkret yang diperlukan untuk mencapai tujuan tertentu. Model fungsional mudah digunakan, mereka tidak memerlukan banyak pemikiran hanya eksekusi lurus ke depan. Jelas ada penalti untuk kesederhanaan: itu mungkin bukan rute yang paling efisien dan setiap situasi luar biasa (yaitu pengalihan lalu lintas) dapat dengan mudah menyebabkan kegagalan total.

  • Cara berbeda untuk mengatasi tugas adalah membangun model mental struktural. Dalam contoh kita itu akan menjadi peta yang menyampaikan banyak informasi tentang struktur internal "objek tugas". Dari memahami peta dan lokasi relatif rumah kita dan teman kita dapat mengurangi model fungsional (rute). Jelas itu membutuhkan lebih banyak usaha, tetapi cara yang jauh lebih dapat diandalkan untuk menyelesaikan tugas terlepas dari kemungkinan penyimpangan.

Pilihan antara menyampaikan model fungsional atau struktural melalui UI (misalnya, mode wizard vs lanjutan) tidak semaju kelihatannya dari posting Thorsten79. Pengguna mahir dan sering mungkin lebih suka model struktural, sedangkan pengguna sesekali atau kurang berpengalaman - fungsional.

Google maps adalah contoh yang bagus: mereka termasuk model fungsional dan struktural, begitu juga banyak satelit.

Dimensi lain dari masalah adalah bahwa model struktural yang disajikan melalui UI tidak boleh memetakan ke struktur perangkat lunak, tetapi secara alami memetakan ke struktur tugas pengguna di tangan atau objek tugas yang terlibat.

Kesulitannya di sini adalah bahwa banyak pengembang akan memiliki model struktural internal perangkat lunak yang baik, tetapi hanya model fungsional dari tugas pengguna yang ingin dibantu oleh perangkat lunak tersebut. Untuk membangun UI yang baik kita perlu memahami tugas / struktur objek tugas dan memetakan UI ke struktur itu.

Lagi pula, saya masih tidak bisa merekomendasikan mengambil kursus HCI formal cukup kuat. Ada banyak hal yang terlibat seperti heuristik , prinsip-prinsip yang berasal dari Gestalt phychology , cara manusia belajar dll.

Vlad Gudim
sumber
+1 untuk tautan MIT OCW :) Catatan kuliah itu sangat berharga
PlagueHammer
Anda benar, pengguna dapat menjadi ahli dari sebuah perangkat lunak sendiri, dan mereka menyukainya ketika seseorang mengukir cara bagi mereka melalui UI "bagus" agar lebih cepat. Di situlah semua cara pintas utama, misalnya. kegunaan adalah subjek yang sangat menarik!
Thorsten79
25

Saya sarankan Anda mulai dengan melakukan semua UI Anda dengan cara yang sama seperti yang Anda lakukan sekarang, tanpa fokus pada kegunaan dan hal-hal.

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

Sekarang pikirkan ini:

Seorang desainer tahu ia telah mencapai kesempurnaan bukan ketika tidak ada lagi yang tersisa untuk ditambahkan, tetapi ketika tidak ada lagi yang tersisa untuk diambil. - Saint-Exupéry

Dan terapkan ini dalam desain Anda.

Hoffmann
sumber
Inilah mengapa saya jauh, jauh lebih suka Office 2007!
Richard Ev
Jika seseorang bertanya-tanya dari kuburan mana saya menggali kutipan itu, saya mendengarnya dari peradaban 4. Permainan yang bagus. Saya tidak tahu siapa penulisnya, tapi dia yakin bisa menulis UI yang lebih baik daripada desainer dari kata.
Hoffmann
Ada kutipan bagus lain yang serupa dari A. Einstein: "Jadikan semuanya sesederhana mungkin, tetapi tidak sederhana." Saya menemukan ide-ide ini juga berlaku untuk desain UI: www.presentationzen.com. ... dan +1
Pyry Jahkola
Saint-Exupery lebih dari sekadar pilot dan perancang pesawat terbang; +1 untuk mengutipnya. Buku anak-anaknya ("Pangeran Kecil") sangat layak dibaca, tapi saya mendapatkan topik di sini.
David Thornley
5
Anda harus memilih tampilan cetak ... tidak dapat melihat penguasa sekarang.
Mussnoon
16

Banyak pengembang berpikir bahwa karena mereka dapat menulis kode, mereka dapat melakukan semuanya. Merancang antarmuka adalah keterampilan yang sama sekali berbeda, dan itu tidak diajarkan sama sekali ketika saya kuliah. Bukan hanya sesuatu yang muncul secara alami.

Buku bagus lainnya adalah The Design of Everyday Things oleh Donald Norman.

thursdaysgeek
sumber
Terima kasih, "Desain Everyday Thinks" ada di Amazon WishList saya
Chris Ballance
+1. "Desain hal-hal sehari-hari" juga ada dalam daftar Coding Horror dari bacaan yang disarankan (daftar buku bagus untuk pengembang). Baru saja selesai membacanya, dan juga bisa sangat merekomendasikannya.
Mun
Saya sedang membaca "Desain hal-hal Sehari-hari" saat ini - itu tentu sangat bagus, tetapi seperti yang disebutkan dalam komentar pada jawaban lain, "Para Narapidana menjalankan Suaka" dari Alan Cooper menjawab persis topik ini. Sebagai pengembang, buku itu "mengubah hidup"!
Stuart Helwig
Kencing saya: banyak pengembang (dan desainer, dan lain-lain) berpikir bahwa karena saya bisa membuat kode, saya tidak bisa mendesain antarmuka pengguna. Saya tidak tahu Photoshop dengan baik, tapi saya pikir saya memiliki mata yang baik untuk apa yang berhasil dan yang tidak. (Desain hal-hal Sehari-hari adalah Alkitab UI pertama saya.)
Barry Brown
14

Ada perbedaan besar antara desain dan estetika, dan mereka sering bingung.

UI yang cantik membutuhkan keterampilan artistik atau setidaknya estetika yang tidak dapat diproduksi oleh banyak orang, termasuk saya. Sayangnya, itu tidak cukup dan tidak membuat UI dapat digunakan, seperti yang dapat kita lihat di banyak API berbasis flash kelas berat.

Menghasilkan UI yang dapat digunakan membutuhkan pemahaman tentang bagaimana manusia berinteraksi dengan komputer, beberapa masalah dalam psikologi (misalnya, hukum Fitt, hukum Hick), dan topik lainnya. Sangat sedikit program CS yang melatih hal ini. Sangat sedikit pengembang yang saya tahu akan memilih buku uji pengguna daripada buku JUnit, dll.

Banyak dari kita juga "pemrogram inti", cenderung menganggap UI sebagai fasad daripada sebagai faktor yang dapat membuat atau menghancurkan kesuksesan proyek kami.

Selain itu, sebagian besar pengalaman pengembangan UI sangat menyebalkan. Kita dapat menggunakan pembuat GUI mainan seperti VB lama dan harus berurusan dengan kode lem yang jelek, atau kita menggunakan API yang membuat kita frustrasi, seperti mencoba memilah tata letak di Swing.

Uri
sumber
"Kita bisa menggunakan pembuat GUI mainan seperti VB lama dan harus berurusan dengan kode lem yang jelek, atau kita menggunakan API yang membuat kita frustrasi, seperti mencoba memilah tata letak di Swing." Anda benar-benar menceritakan pengalaman saya dengan gedung GUI. Jika saya dapat menambahkan: "atau kombinasi DOM dan CSS gila"
Hoffmann
Saya yakin semua orang akrab dengan Totally Gridbag? " madbean.com/anim/totallygridbag "
Uri
12

Pergi ke Slashdot, dan baca komentar di setiap artikel yang berhubungan dengan Apple. Anda akan menemukan banyak orang berbicara tentang bagaimana produk-produk Apple tidak ada yang istimewa, dan menganggap keberhasilan iPod dan iPhone bagi orang-orang yang mencoba menjadi trendy atau keren. Mereka biasanya akan melalui daftar fitur, dan menunjukkan bahwa mereka tidak melakukan apa pun yang tidak dilakukan oleh pemutar MP3 atau ponsel pintar sebelumnya.

Lalu ada orang yang menyukai iPod dan iPhone karena mereka melakukan apa yang diinginkan pengguna dengan mudah dan mudah, tanpa referensi manual. Antarmuka hampir sama intuitifnya dengan antarmuka, mudah diingat, dan dapat ditemukan. Saya tidak terlalu menyukai UI di MacOSX seperti pada versi sebelumnya, saya pikir mereka telah memberikan beberapa manfaat dalam kemewahan, tetapi iPod dan iPhone adalah contoh desain yang luar biasa.

Jika Anda berada di kamp pertama, Anda tidak berpikir seperti orang kebanyakan, dan karena itu Anda cenderung membuat antarmuka pengguna yang buruk karena Anda tidak dapat membedakannya dari yang baik. Ini tidak berarti Anda tidak punya harapan, tetapi Anda harus secara eksplisit mempelajari prinsip-prinsip desain antarmuka yang baik, dan bagaimana mengenali UI yang baik (seperti halnya seseorang dengan Asperger mungkin perlu mempelajari keterampilan sosial secara eksplisit). Jelas, hanya memiliki rasa UI yang baik tidak berarti Anda bisa membuatnya; penghargaan saya untuk sastra, misalnya, tampaknya tidak mencakup kemampuan (saat ini) untuk menulis cerita yang bisa diterbitkan.

Jadi, cobalah untuk mengembangkan rasa untuk desain UI yang baik. Ini meluas ke lebih dari sekadar perangkat lunak. "Desain Segala Sesuatu Sehari-hari" karya Don Norman adalah buku klasik, dan ada buku-buku lain di luar sana. Dapatkan contoh-contoh desain UI yang sukses, dan bermainlah dengan cukup untuk merasakan perbedaannya. Ketahuilah bahwa Anda mungkin harus mempelajari cara berpikir baru tentang berbagai hal, dan menikmatinya.

David Thornley
sumber
+1 untuk saran Desain Hal Sehari-hari
Oskar Duveborn
+1 untuk jawaban yang sangat bagus. Saya pikir itu mengatakan bahwa Anda masih melayang di 1 suara (sekarang 2); mereka yang cocok dengan deskripsi Anda mungkin tidak akan berpikir mereka lakukan, atau hanya menolak gagasan :-(
mghie
Ini adalah pernyataan selimut. Tidak setiap komentar anti-Apple tentang Slashdot adalah kritik terhadap UI-nya, atau verifikasi kurangnya pemahaman UI. Apple memiliki UI yang bagus dan begitu juga banyak pesaing mereka.
Bernard Igiri
Pikiran lain: Apple bukan untuk semua orang; misalnya, itu tidak memberikan kekuatan luar biasa yang fenomenal seperti CLI.
J. Polfer
2
Saya pribadi menemukan produk Apple sangat tidak intuitif untuk digunakan. Saya membayangkan saya bukan satu-satunya orang yang frustrasi ketika iPod pertama mereka akan mulai mengacak lagu setiap kali saya mulai jogging, atau mengapa layar iPhone terus-menerus membalikkan dirinya sendiri. Saya pikir hal-hal seharusnya hanya terjadi dari tindakan pengguna yang langsung dan tidak ambigu.
Lotus Notes
10

Aturan utama yang saya pegang adalah, jangan pernah mencoba melakukan keduanya sekaligus. Jika saya mengerjakan kode back-end, saya akan selesai melakukan itu, istirahat, dan kembali dengan topi UI saya. Jika Anda mencoba untuk mengerjakannya sementara Anda melakukan kode, Anda akan mendekatinya dengan pola pikir yang salah, dan berakhir dengan beberapa antarmuka yang mengerikan sebagai hasilnya.

Saya pikir itu pasti mungkin untuk menjadi pengembang back-end yang baik dan desainer UI yang baik, Anda hanya perlu bekerja di sana, melakukan beberapa bacaan dan penelitian tentang topik (mulai dari Miller # 7, ke arsip Nielsen), dan membuat yakin Anda mengerti mengapa desain UI adalah yang paling penting.

Saya tidak berpikir itu adalah kasus yang perlu menjadi kreatif tetapi, seperti pengembangan back-end, itu adalah hal yang sangat metodis, sangat terstruktur yang perlu dipelajari. Orang-orang menjadi 'kreatif' dengan UI yang menciptakan beberapa kegunaan monstrositas terbesar ... Maksud saya, lihatlah 100% situs web Flash, sebagai permulaan ...

Sunting : Buku Krug sangat bagus ... baca, terutama jika Anda akan mendesain untuk Web.

James B
sumber
dan apa judul buku
krug ini
@refhat Itu secara jelas ditautkan di pos teratas, jadi saya tidak menautkannya pada saat itu, tapi ini yang ini: librarything.com/work/12322
James B
8

Ada banyak alasan untuk ini.

(1) Pengembang gagal melihat hal-hal dari sudut pandang pengguna. Ini adalah dugaan yang biasa: kurangnya empati. Tapi itu biasanya tidak benar karena pengembang tidak asing seperti yang dilakukan orang.

(2) Alasan lain yang lebih umum adalah bahwa pengembang begitu dekat dengan barangnya sendiri, telah bertahan dengan barang-barangnya begitu lama, gagal untuk menyadari bahwa barang-barangnya mungkin tidak begitu akrab (istilah yang lebih baik daripada intuitif) untuk orang lain .

(3) Masih alasan lain adalah pengembang tidak memiliki teknik.

KLAIM SAYA BESAR: baca UI apa pun, desain interaksi manusia, buku prototyping. mis. Merancang yang Jelas: Pendekatan Akal Sehat untuk Desain Aplikasi Web, Jangan Membuatku Berpikir: Pendekatan Akal Sehat untuk Kegunaan Web, Mendesain momen, apa pun.

Bagaimana mereka mendiskusikan alur tugas? Bagaimana mereka menggambarkan poin keputusan? Artinya, dalam setiap kasus penggunaan, setidaknya ada 3 jalur: sukses, kegagalan / pengecualian, alternatif.

Jadi, dari titik A, Anda bisa pergi ke A.1, A.2, A.3. Dari titik A.1, Anda bisa sampai ke A.1.1, A.1.2, A.1.3, dan seterusnya.

Bagaimana mereka menunjukkan aliran tugas yang rumit seperti itu? Mereka tidak melakukannya. Mereka hanya mengabaikannya.

Karena ekspersi UI pun tidak memiliki teknik, pengembang tidak memiliki peluang. Dia pikir itu jelas di kepalanya. Tetapi bahkan tidak jelas di atas kertas, apalagi jelas dalam implementasi perangkat lunak.

Saya harus menggunakan teknik buatan tangan saya sendiri untuk ini.

george kyaw naing
sumber
7

Saya mencoba untuk tetap berhubungan dengan situs web dan teks khusus desain. Saya juga menemukan buku Robin Williams yang sangat bagus, The Non-Designer Design Book, sangat menarik dalam studi ini.

Saya percaya bahwa desain dan kegunaan adalah bagian yang sangat penting dari rekayasa perangkat lunak dan kita harus mempelajarinya lebih lanjut dan berhenti memberikan alasan bahwa kita tidak seharusnya melakukan desain.

Setiap orang dapat menjadi perancang sesekali, seperti juga setiap orang dapat menjadi seorang programmer.

Edwin Jarvis
sumber
Saya tidak setuju bahwa semua orang bisa menjadi programmer. Beberapa aspek perdagangan tidak dapat diajarkan, Anda bisa meretasnya atau Anda tidak bisa (tidak ada permainan kata-kata).
Chris Ballance
2
Maksudku, sesekali, itu tidak berarti bahwa lelaki itu akan menjadi programmer yang baik atau akan selamanya.
Edwin Jarvis
7

Saat mendekati desain UI, berikut adalah beberapa hal yang saya ingat (sejauh ini bukan daftar lengkap):

  • Mengkomunikasikan model . UI adalah narasi yang menjelaskan model mental kepada pengguna. Model ini dapat berupa objek bisnis, serangkaian hubungan, apa pun yang Anda miliki. Keunggulan visual, penempatan spasial, dan urutan alur kerja semuanya berperan dalam mengkomunikasikan model ini kepada pengguna. Misalnya, jenis daftar tertentu vs yang lain menyiratkan hal-hal yang berbeda, serta hubungan apa yang ada dalam daftar dengan sisa model. Secara umum saya menemukan yang terbaik untuk memastikan hanya satu model dikomunikasikan pada suatu waktu. Pemrogram sering mencoba untuk berkomunikasi lebih dari satu model, atau bagian dari beberapa, dalam ruang UI yang sama.

  • Konsistensi . Menggunakan kembali metafora UI populer sangat membantu. Konsistensi internal juga sangat penting.

  • Pengelompokan tugas . Pengguna tidak harus menggerakkan mouse sepenuhnya di layar untuk memverifikasi atau menyelesaikan urutan perintah terkait. Dialog modal dan menu flyout bisa sangat buruk di area ini.

  • Mengetahui audiens Anda . Jika pengguna Anda akan melakukan kegiatan yang sama berulang-ulang, mereka akan dengan cepat menjadi pengguna yang kuat pada tugas-tugas itu dan frustrasi dengan upaya untuk menurunkan penghalang entri awal. Jika pengguna Anda jarang melakukan berbagai jenis kegiatan, sebaiknya pastikan UI memegang tangan mereka sepanjang waktu.

Rex M
sumber
Anda membawa keluar titik yang baik dengan Mengetahui audiens Anda ... Saya juga seperti "kamu bukan milik kamu pengguna" (Platt) dan "Tahu pengguna Mu." (Platt) ini tidak dapat ditekankan cukup
Chris Ballance
7

Baca Panduan Antarmuka Manusia Apple .

Marco Luglio
sumber
Maksud Anda pedoman yang Apple sendiri tidak lagi ikuti?
Gregor Brandt
"Lagipula itu lebih seperti pedoman" ^ _ ^
Marco Luglio
5

Saya menemukan alat terbaik dalam desain UI adalah untuk menonton upaya Pengguna pertama kali untuk menggunakan perangkat lunak. Buat banyak catatan dan ajukan beberapa pertanyaan kepada mereka. Jangan pernah mengarahkan mereka atau berusaha menjelaskan cara kerja perangkat lunak. Ini adalah pekerjaan UI (dan dokumentasi yang ditulis dengan baik).

Kami secara konsisten mengadopsi pendekatan ini di semua proyek. Itu selalu menarik untuk menonton kesepakatan Pengguna dengan perangkat lunak dengan cara yang tidak pernah Anda pertimbangkan sebelumnya.

Mengapa desain UI sangat sulit? Yah umumnya karena Pengembang dan Pengguna tidak pernah bertemu.


sumber
Sepenuhnya disetujui, tetapi sangat mungkin bagi pengembang untuk menerapkan prinsip-prinsip UI dasar yang kuat.
nailitdown
Prinsip Solid Basic UI tidak berfungsi di setiap negara. Kami menyebarkan perangkat lunak di banyak wilayah dan ada perbedaan besar dalam desain UI untuk berbagai belahan dunia. Coba kirim aplikasi AS-sentris Anda ke Cina sekitar ...
5

Duffymo hanya mengingatkan saya mengapa: Banyak Pemrogram berpikir "* Desain" == "Seni".

Desain UI yang bagus sama sekali tidak artistik. Ini mengikuti prinsip-prinsip yang solid, yang dapat didukung dengan data jika Anda punya waktu untuk melakukan penelitian.

Saya pikir semua programmer perlu lakukan adalah meluangkan waktu untuk mempelajari prinsip-prinsip. Saya pikir sudah menjadi sifat kita untuk menerapkan praktik terbaik kapan pun kita bisa, baik itu dalam kode atau dalam tata letak. Yang perlu kita lakukan adalah membuat diri kita sadar akan apa praktik terbaik untuk aspek pekerjaan kita ini.

nailitdown
sumber
Saya pikir Anda tidak dapat mendiskontokan estetika sepenuhnya. Mungkin UI yang jelek bisa sama bermanfaatnya dengan UI yang cantik, tapi bukan itu gunanya UI. Lagipula, UI adalah wajah dari program Anda, seperti sampul buku: orang-orang jauh lebih mungkin untuk mengambil program dengan UI yang cantik.
Tikhon Jelvis
Tentu saja, estetika itu penting, tapi itu Desain Grafis, bukan desain UI.
nailitdown
5

Apa yang telah saya lakukan untuk menjadi lebih baik di desain UI?
Perhatikan itu!

Ini seperti berapa kali Anda melihat grafik di berita atau tanda bus elektronik dan Anda bertanya-tanya 'Bagaimana mereka mendapatkan data itu? Apakah mereka melakukannya dengan sql mentah atau apakah mereka menggunakan LINQ? ' (atau masukkan keingintahuan geek umum Anda di sini).

Anda harus mulai melakukan itu tetapi dengan semua elemen visual.

Tapi sama seperti belajar bahasa baru, jika Anda tidak benar - benar melemparkan diri ke dalamnya, Anda tidak akan pernah mempelajarinya.

Diambil dari jawaban lain saya menulis:

Belajarlah untuk melihat, benar-benar melihat, dunia di sekitar Anda. Mengapa saya suka UI itu tetapi membenci yang ini? Mengapa begitu sulit menemukan hidangan mie di menu restoran ini? Wow, saya tahu apa arti tanda itu bahkan sebelum saya membaca kata-katanya. Kenapa begitu? Kenapa sampul buku itu terlihat sangat salah? Belajarlah meluangkan waktu untuk memikirkan mengapa Anda bereaksi seperti yang Anda lakukan terhadap semua elemen visual, dan kemudian terapkan ini pada pekerjaan Anda.

Knalpot
sumber
+1 untuk saran zen tentang belajar melihat, dan berpikir. Sangat sedikit orang mempertanyakan apa yang memenuhi mata.
PlagueHammer
5

Bagaimanapun Anda melakukannya (dan ada beberapa poin hebat di atas), itu sangat membantu saya begitu saya menerima bahwa TIDAK ADA HAL TERSEBUT SEBAGAI INTUITIF ....

Saya bisa mendengar argumen bergemuruh di cakrawala ... jadi izinkan saya menjelaskan sedikit.

Intuitif: menggunakan apa yang dirasakan benar atau benar berdasarkan metode atau perasaan yang tidak disadari.

Jika (seperti yang didalilkan oleh Carl Sagan) Anda menerima bahwa Anda tidak dapat memahami hal-hal yang sama sekali berbeda dari apa pun yang pernah Anda temui maka bagaimana mungkin Anda bisa "tahu" bagaimana menggunakan sesuatu jika Anda tidak pernah menggunakan sesuatu yang seperti itu?

Pikirkan tentang hal ini: anak-anak mencoba membuka pintu bukan karena mereka "tahu" bagaimana gagang pintu bekerja, tetapi karena mereka telah melihat orang lain melakukannya ... sering mereka memutar kenop ke arah yang salah, atau menarik terlalu cepat. Mereka harus BELAJAR cara kerja gagang pintu. Pengetahuan ini kemudian diterapkan dalam contoh yang berbeda tetapi serupa: membuka jendela, membuka laci, membuka hampir semua hal besar dengan pegangan besar yang tampak seperti kenop.

Bahkan hal-hal sederhana yang tampaknya intuitif bagi kita tidak akan intuitif sama sekali bagi orang-orang dari budaya lain. Jika seseorang mengulurkan tangan mereka di depan mereka dan menggerakkan tangan mereka ke atas dan ke bawah di pergelangan tangan sambil menjaga lengan tetap ... apakah mereka melepaskan Anda? Mungkin, kecuali Anda berada di Jepang. Di sana, sinyal tangan ini dapat berarti "datang ke sini". Jadi siapa yang benar? Keduanya, tentu saja, dalam konteks mereka sendiri. Tetapi jika Anda bepergian ke keduanya, Anda harus tahu keduanya ... Desain UI.

Saya mencoba menemukan hal-hal yang sudah "akrab" bagi pengguna potensial proyek saya dan kemudian membangun UI di sekitar mereka: desain yang berfokus pada pengguna.

Lihatlah iPhone Apple. Bahkan jika Anda membencinya, Anda harus menghormati jumlah pemikiran yang masuk ke dalamnya. Apakah ini sempurna? Tentu saja tidak. Seiring waktu, "intuisi" objek yang dirasakan dapat tumbuh atau bahkan menghilang sama sekali.

Sebagai contoh. Hampir semua orang tahu bahwa strip hitam dengan dua baris lubang di bagian atas dan bawah terlihat seperti strip film ... atau apakah mereka?

Tanyakan kepada anak-anak Anda yang rata-rata berusia 9 atau 10 tahun. Anda mungkin akan terkejut betapa banyak anak saat ini akan mengalami kesulitan mengidentifikasi itu sebagai strip film, meskipun itu adalah sesuatu yang masih digunakan untuk mewakili Hollywood, atau apa pun yang terkait dengan film (film). Sebagian besar film selama 20 tahun terakhir telah direkam secara digital. Dan kapan terakhir kali ada di antara kita memegang sepotong film, foto, atau film APA PUN?

Jadi, intinya bagi saya adalah: Ketahui audiens Anda dan terus-menerus mencari tahu untuk mengikuti tren dan perubahan dalam hal-hal yang "intuitif", targetkan pengguna utama Anda dan cobalah untuk tidak melakukan hal-hal yang menghukum mereka yang kurang berpengalaman demi pengguna tingkat lanjut atau memperlambat pengguna tingkat lanjut untuk menahan para siswa.

Pada akhirnya, setiap program akan membutuhkan sejumlah pelatihan pada bagian pengguna untuk menggunakannya. Seberapa banyak pelatihan dan untuk level pengguna mana merupakan bagian dari keputusan yang perlu dibuat.

Beberapa hal lebih atau kurang familier berdasarkan tingkat pengalaman masa lalu pengguna target Anda sebagai manusia, atau pengguna komputer, atau siswa, atau apa pun.

Saya hanya menembak bagian paling gemuk dari kurva lonceng dan mencoba untuk mendapatkan sebanyak mungkin orang tetapi menyadari bahwa saya tidak akan pernah menyenangkan semua orang ....

exoboy
sumber
4

Saya tahu bahwa Microsoft agak tidak konsisten dengan pedoman mereka sendiri, tetapi saya telah menemukan bahwa membaca pedoman desain Windows mereka benar-benar membantu saya. Saya memiliki salinan di situs web saya di sini , cukup gulir sedikit ke bawah Panduan Vista UX. Ini telah membantu saya dengan hal-hal seperti warna, jarak, tata letak, dan banyak lagi.

David Anderson
sumber
+1 membaca pedoman desain platform jelas merupakan sesuatu yang harus dilakukan (dan temukan seberapa sering Microsoft melanggar aturan mereka sendiri)
Oskar Duveborn
Dan selain itu baca yang Apple (Human Interface Guidelines). Mereka memiliki lebih banyak dasar dan prinsip di dalamnya. Itu membuat Anda mengerti apa yang harus universal dan apa yang spesifik platform
Stephan Eggermont
Dan saat Anda melakukannya, baca juga HIG GNOME. Di antara ketiganya mulai terlihat apa yang hanya merupakan hal spesifik dari platform tunggal, dan apa yang tampaknya menjadi ide yang baik secara umum.
mghie
Sebagian besar didasarkan pada IBMs, tetapi itu sudah ketinggalan zaman sekarang. Sebagai contoh, perintah cut and paste standar adalah Shift + Del dan Shift + Ins (masih berfungsi, btw).
Simon Buchan
4

Saya percaya masalah utama tidak ada hubungannya dengan bakat atau keahlian yang berbeda. Masalah utama adalah bahwa sebagai pengembang, Anda tahu terlalu banyak tentang apa yang dilakukan aplikasi dan bagaimana melakukannya, dan Anda secara otomatis mendesain UI Anda dari sudut pandang seseorang yang memiliki pengetahuan itu.

Sedangkan pengguna biasanya mulai mengetahui apa-apa tentang aplikasi dan seharusnya tidak perlu belajar apa pun tentang cara kerjanya.

Sangat sulit, hampir tidak mungkin, untuk tidak menggunakan pengetahuan yang Anda miliki - dan itulah sebabnya UI tidak boleh dirancang oleh seseorang yang mengembangkan aplikasi di belakangnya.

Michael Borgwardt
sumber
4

"Merancang dari kedua sisi layar" menyajikan alasan yang sangat sederhana namun mendalam tentang mengapa programmer merasa desain UI sulit: programmer dilatih untuk berpikir dalam hal kasus tepi sementara desainer UI dilatih untuk berpikir dalam hal kasus umum atau penggunaan.

Jadi pergi dari satu dunia ke dunia lain tentu sulit jika perubahan standar di kedua adalah kebalikan dari yang lain.

MSN
sumber
3

Mengatakan bahwa program menyedot desain UI adalah melewatkan intinya. Inti masalahnya adalah pelatihan formal yang dilakukan sebagian besar pengembang dengan teknologi. Interaksi Manusia - Komputer bukanlah topik yang sederhana. Ini bukan sesuatu yang saya dapat "pikiran-berbaur" kepada Anda dengan memberikan pernyataan satu baris sederhana yang membuat Anda sadar "oh para pengguna akan menggunakan aplikasi ini lebih efektif jika saya melakukan x bukan y."

Ini karena ada satu bagian dari desain UI yang Anda lewatkan. Otak manusia. Untuk memahami bagaimana merancang UI, Anda harus memahami bagaimana pikiran manusia berinteraksi dengan mesin. Ada kursus luar biasa yang saya ambil di University of Minnesota tentang topik ini yang diajarkan oleh seorang profesor Psikologi. Itu bernama "Interaksi Manusia - Mesin". Ini menjelaskan banyak alasan mengapa desain UI begitu rumit.

Karena Psikologi didasarkan pada Korelasi dan bukan Kausalitas, Anda tidak pernah dapat membuktikan bahwa metode desain UI akan selalu berfungsi dalam situasi apa pun. Anda dapat mengkorelasikan bahwa banyak pengguna akan menemukan desain UI tertentu menarik atau efisien, tetapi Anda tidak dapat membuktikan bahwa itu akan selalu digeneralisasi.

Selain itu, ada dua bagian untuk desain UI yang tampaknya banyak orang lewatkan. Ada daya tarik estetika, dan alur kerja fungsional. Jika Anda menggunakan daya tarik estetika 100%, pasti orang akan menyukai produk Anda. Saya sangat meragukan bahwa estetika akan mengurangi frustrasi pengguna.

Ada beberapa buku bagus tentang topik dan kursus yang harus diambil (seperti Pengalaman Pengguna Sketsa Bill Buxton , dan Cognition in the Wild oleh Edwin Hutchins). Ada program pascasarjana tentang Interaksi Manusia - Komputer di banyak universitas.

Jawaban keseluruhan untuk pertanyaan ini terletak pada bagaimana individu diajarkan ilmu komputer. Itu semua berbasis matematika, berdasarkan logika dan tidak didasarkan pada pengalaman pengguna. Untuk mendapatkan itu, Anda membutuhkan lebih dari 4 tahun gelar ilmu komputer generik (kecuali gelar ilmu komputer 4 tahun Anda memiliki minor dalam psikologi dan ditekankan dalam Interaksi Manusia-Komputer).

jwendl
sumber
Saya tidak setuju: komputer berbasis matematika dan logika, berdasarkan sifatnya. Setiap pengajaran pemrograman komputer harus berbasis matematika dan logika.
Paul Nathan
1
Ya, Anda benar Paul. Komputer adalah matematika dan logika. Desain UI melibatkan elemen manusia, yang telah terbukti dalam sejarah jauh lebih sedikit berbasis matematika dan logika.
jwendl
Bukan karena mereka lebih sedikit berbasis matematika dan logika, tetapi matematika dan logika di belakang mereka jauh lebih kompleks, kebanyakan di luar siapa pun saat ini. Yang mengatakan, saya yakin desain UI yang baik semua, sampai batas tertentu, berdasarkan geometri.
Tikhon Jelvis
2

Mari balikkan pertanyaan Anda -

Apakah "desainer ui" ditakdirkan untuk hanya merancang arsitektur informasi dan lapisan presentasi? Adakah sesuatu yang dapat mereka lakukan untuk melatih otak mereka agar lebih efektif dalam mendesain lapisan sistem yang menyenangkan dan efisien?

Sepertinya mereka "ui desainer" harus mengambil perspektif yang sama sekali berbeda - mereka harus melihat dari dalam kotak ke luar; alih-alih mencari dari luar kotak.

Pendapat Alan Cooper "The Inmates is Running the Asylum" adalah bahwa kita tidak dapat berhasil mengambil kedua perspektif - kita bisa belajar memakai satu topi dengan baik tetapi kita tidak bisa begitu saja mengganti topi.

igouy
sumber
2

Saya pikir ini karena UI yang baik tidak logis. UI yang baik adalah intuitif.

Pengembang perangkat lunak biasanya melakukan hal buruk di 'intuitif'

Gregor Brandt
sumber
Poin yang sangat baik, membutuhkan sisi lain otak
Chris Ballance
Tidak ada yang namanya intuitif untuk UI. Ada yang mirip dengan apa yang sudah saya ketahui, tapi itu agak berbeda.
Stephan Eggermont
Tidak ada yang "intuitif" semuanya dipelajari. Intuitif adalah kata yang dilontarkan oleh para pebisnis untuk membuat pemrogram berkeringat.
Bernard Igiri
diucapkan seperti seorang programmer sejati .... dan itu adalah akar masalahnya.
Gregor Brandt
@gbrandt Intuitive adalah kombinasi "akrab" dan "sederhana". Ini masih merupakan tujuan yang harus diperjuangkan. Yang sulit tentang kegunaan adalah bahwa apa yang intuitif bagi sebagian orang belum tentu intuitif untuk yang lain. @Stephan benar bahwa "intuitif" bukan "fakta" yang sulit, itu relatif terhadap pengguna.
TM.
2

Pembingkaian berguna adalah untuk secara aktif mempertimbangkan apa yang Anda lakukan sebagai merancang proses komunikasi. Dalam arti yang sangat nyata, antarmuka Anda adalah bahasa yang harus digunakan pengguna untuk memberi tahu komputer apa yang harus dilakukan. Ini mengarah pada pertimbangan sejumlah poin:

  1. Apakah pengguna sudah berbicara bahasa ini? Menggunakan antarmuka yang sangat istimewa adalah seperti berkomunikasi dalam bahasa yang belum pernah Anda ucapkan sebelumnya. Jadi, jika antarmuka Anda harus idiosinkratik, itu sebaiknya memperkenalkan diri dengan istilah paling sederhana dan beberapa gangguan. Di sisi lain, jika antarmuka Anda menggunakan idiom yang biasa digunakan pengguna, mereka akan mendapatkan kepercayaan dari awal.
  2. Musuh komunikasi adalah kebisingan. Kebisingan pendengaran mengganggu komunikasi lisan; noise visual mengganggu komunikasi visual. Semakin banyak noise yang bisa Anda hilangkan dari antarmuka Anda, semakin mudah berkomunikasi dengannya.
  3. Seperti dalam percakapan manusia, sering kali bukan apa yang Anda katakan, melainkan bagaimana Anda mengatakannya. Cara sebagian besar perangkat lunak berkomunikasi tidak sopan sampai pada tingkat yang akan meninju wajahnya jika itu adalah seseorang. Bagaimana perasaan Anda jika Anda mengajukan pertanyaan kepada seseorang dan mereka duduk di sana dan menatap Anda selama beberapa menit, menolak untuk menanggapi dengan cara lain, sebelum menjawab? Banyak elemen antarmuka, seperti bilah kemajuan dan pemilihan fokus otomatis, memiliki fungsi dasar kesopanan. Tanyakan pada diri Anda bagaimana Anda dapat membuat hari pengguna sedikit lebih menyenangkan.

Sungguh, agak sulit untuk menentukan apa yang dipikirkan pemrogram tentang interaksi antarmuka sebagai, selain dari proses komunikasi, tetapi mungkin masalahnya adalah tidak terpikirkan sama sekali.

kekacauan
sumber
2

Sudah banyak komentar bagus, jadi saya tidak yakin ada banyak yang bisa saya tambahkan. Tetapi tetap saja...

  • Mengapa pengembang berharap dapat merancang UI yang baik?
  • Berapa banyak pelatihan yang dia miliki di bidang itu?
  • Berapa banyak buku yang dia baca?
  • Berapa banyak hal yang dia rancang selama bertahun-tahun?
  • Apakah dia memiliki kesempatan untuk melihat reaksi penggunanya?

Kami tidak berharap bahwa "Joe tukang ledeng" acak dapat menulis kode yang baik. Jadi mengapa kita berharap acak "Joe the programmer" untuk mendesain UI yang bagus?

Empati membantu. Memisahkan desain UI dan pemrogramannya membantu. Pengujian kegunaan membantu.

Tapi desain UI adalah kerajinan yang harus dipelajari, dan dipraktikkan, seperti yang lain.

Mihai Nita
sumber
Persis apa yang saya pikirkan, Bagaimana "pengembang" berhubungan dengan "User Interface Designer"?
Jorge Córdoba
@Jorge, inilah hubungannya sekarang: banyak pengembang harus merancang UI untuk majikan mereka, bahkan jika mereka bukan desainer. Di perusahaan saya, kami tidak memiliki artis APA PUN. Aplikasi kami tidak terlihat terlalu buruk. Dalam hal ini, Anda harus memiliki ulasan grup dan hal-hal untuk memastikan desainnya bagus.
TM.
@TM: Desain belum tentu Desain UI / UX. Tentu itu mungkin terlihat bagus tetapi itu tidak berarti itu berfungsi dengan baik .
Kevin Peno
2

Pengembang tidak (harus) pandai desain UI karena alasan yang sama mereka tidak (harus) pandai merajut; sulit, butuh latihan, dan tidak ada salahnya meminta seseorang untuk menunjukkan caranya.

Sebagian besar pengembang (termasuk saya) mulai "mendesain" UI karena itu merupakan bagian penting dari penulisan perangkat lunak. Sampai seorang pengembang berupaya untuk menjadi ahli dalam hal itu, ia tidak akan berhasil.

MattBelanger
sumber
2

Untuk meningkatkan, lihat saja di situs yang ada. Selain buku-buku yang sudah disarankan, Anda mungkin ingin melihat-lihat buku yang sangat bagus dari Robin Williams "The Non-designs Design Book" ( sanitized Amazon link )

Lihatlah apa yang mungkin dalam desain visual dengan melihat berbagai kiriman di The Zen Garden juga.

Desain UI jelas merupakan seni, seperti pointer di C, beberapa orang mendapatkannya dan beberapa orang tidak.

Tapi setidaknya kita bisa tertawa atas usaha mereka . BTW Terima kasih OK / Batalkan untuk komik lucu dan terima kasih Joel untuk memasukkannya ke dalam buku Anda "The Best Software Writing I" ( sanitized Amazon link ).

Rob Wells
sumber
2

Antarmuka pengguna bukanlah sesuatu yang bisa diterapkan setelah fakta, seperti lapisan cat tipis. Ini adalah sesuatu yang perlu ada di awal, dan berdasarkan penelitian nyata. Ada banyak penelitian kegunaan yang tersedia tentu saja. Perlu tidak hanya ada di sana di awal, perlu membentuk inti dari alasan Anda membuat perangkat lunak di tempat pertama: Ada beberapa celah di dunia di luar sana, beberapa masalah, dan itu perlu dibuat lebih bermanfaat dan lebih efisien.

Perangkat lunak tidak ada di sana untuk kepentingannya sendiri. Alasan mengapa suatu bagian dari perangkat lunak ada adalah UNTUK ORANG. Benar-benar menggelikan bahkan untuk mencoba menemukan ide untuk bagian baru dari perangkat lunak, tanpa memahami mengapa ada orang yang membutuhkannya. Namun ini selalu terjadi.

Sebelum satu baris kode ditulis, Anda harus membaca versi kertas antarmuka, dan mengujinya pada orang sungguhan. Ini agak aneh dan konyol, ini paling cocok untuk anak-anak, dan seseorang yang menghibur bertindak sebagai "komputer".

Antarmuka perlu memanfaatkan fasilitas kognitif alami kita. Bagaimana manusia gua menggunakan program Anda? Sebagai contoh, kami telah berevolusi untuk menjadi sangat baik dalam melacak objek yang bergerak. Itulah mengapa antarmuka yang menggunakan simulasi fisika, seperti iphone, bekerja lebih baik daripada antarmuka di mana perubahan terjadi secara instan.

Kami pandai abstraksi tertentu, tetapi tidak yang lain. Sebagai programmer, kami dilatih untuk melakukan senam mental dan backflip untuk memahami beberapa abstraksi yang paling aneh. Sebagai contoh, kami memahami bahwa urutan teks misterius dapat mewakili dan diterjemahkan ke dalam pola keadaan elektromagnetik pada plat logam, yang ketika ditemui oleh perangkat yang dirancang dengan cermat, mengarah ke urutan peristiwa tak terlihat yang terjadi pada kecepatan lampu pada elektronik sirkuit, dan peristiwa ini dapat diarahkan untuk menghasilkan hasil yang bermanfaat. Ini adalah hal yang sangat tidak wajar untuk dipahami. Pahamilah bahwa sementara itu ada penjelasan yang sangat masuk akal bagi kita, kepada dunia luar, sepertinya kita sedang menulis mantra yang tidak dapat dipahami untuk memanggil roh tak terlihat untuk melakukan permintaan kita.

Jenis-jenis abstraksi yang dipahami manusia normal adalah hal-hal seperti peta, diagram, dan simbol. Waspadalah terhadap simbol, karena simbol adalah konsep manusia yang sangat rapuh yang membutuhkan upaya mental sadar untuk memecahkan kode, sampai simbol itu dipelajari.

Trik dengan simbol adalah bahwa harus ada hubungan yang jelas antara simbol, dan hal yang diwakilinya. Benda yang diwakilinya harus menjadi kata benda, dalam hal ini simbol harus terlihat SANGAT BANYAK seperti benda yang diwakilinya. Jika sebuah simbol mewakili konsep yang lebih abstrak, itu harus dijelaskan dalam ADVANCE. Lihat ikon-ikon yang tidak dapat diakses yang tidak dapat diakses di bilah alat msword, atau photoshop, dan konsep abstrak yang mereka wakili Harus dipelajari bahwa ikon alat pangkas di photoshop berarti CROP TOOL. harus dipahami apa artinya CROP. Ini adalah prasyarat untuk menggunakan perangkat lunak itu dengan benar. Yang memunculkan poin penting, waspadalah terhadap pengetahuan ASUM.

Kami hanya mendapatkan kemampuan untuk memahami peta di sekitar usia 4. Saya pikir saya pernah membaca di suatu tempat bahwa simpanse mendapatkan kemampuan untuk memahami peta di sekitar usia 6 atau 7.

Alasan mengapa guis telah begitu berhasil untuk memulainya, adalah karena mereka mengubah lansekap sebagian besar antarmuka tekstual ke komputer, menjadi sesuatu yang memetakan konsep komputer menjadi sesuatu yang menyerupai tempat fisik. Di mana guis gagal dalam hal kegunaan, adalah di mana mereka berhenti menyerupai sesuatu yang akan Anda lihat dalam kehidupan nyata. Ada hal-hal yang tidak terlihat, tidak terduga, dan tidak dapat dipahami yang terjadi di komputer yang tidak memiliki kemiripan dengan apa pun yang pernah Anda lihat di dunia fisik. Beberapa dari ini diperlukan, karena tidak ada gunanya membuat simulator kenyataan- Idenya adalah untuk menyelamatkan pekerjaan, jadi harus ada sedikit keajaiban. Tetapi sihir itu harus masuk akal, dan didasarkan pada abstraksi bahwa manusia beradaptasi dengan baik terhadap pemahaman. Itu ketika abstraksi kita mulai semakin dalam, dan berlapis-lapis, dan tidak cocok dengan tugas yang dihadapi bahwa semuanya rusak. Dengan kata lain, antarmuka tidak berfungsi sebagai peta yang baik untuk perangkat lunak yang mendasarinya.

Ada banyak buku. Dua yang saya baca, dan karena itu dapat merekomendasikan, adalah "Desain Segala Sesuatu" oleh donald norman, dan "Antarmuka Manusia" oleh Jef Raskin.

Saya juga merekomendasikan kursus psikologi. "Desain Segala Hal Sehari-hari" berbicara tentang ini sedikit. Banyak antarmuka rusak karena "pemahaman rakyat" psikologi. Ini mirip dengan "fisika rakyat". Objek yang bergerak tetap bergerak tidak masuk akal bagi kebanyakan orang. "Kamu harus terus mendorongnya agar terus bergerak!" pikir fisika pemula. Pengujian pengguna tidak masuk akal bagi sebagian besar pengembang. "Kamu bisa bertanya pada pengguna apa yang mereka inginkan, dan itu seharusnya cukup bagus!" pikir pemula psikologi.

Saya merekomendasikan Discovering Psychology, seri dokumenter PBS, yang dipandu oleh Philip Zimbardo. Jika gagal, coba dan temukan buku teks fisika yang bagus. Jenis yang mahal. Bukan omong kosong fiksi bubur yang Anda temukan di Borders, tetapi barang tebal yang hanya dapat Anda temukan di perpustakaan universitas. Ini adalah fondasi yang diperlukan. Anda dapat melakukan desain yang baik tanpa itu, tetapi Anda hanya akan memiliki pemahaman intuitif tentang apa yang terjadi. Membaca beberapa buku bagus akan memberi Anda perspektif yang baik.

Breton
sumber
2

Jika Anda membaca buku "Mengapa perangkat lunak menyebalkan", Anda akan melihat jawaban Platt, yang merupakan jawaban sederhana:

  1. Pengembang lebih memilih kontrol atas keramahan pengguna
  2. Orang biasa lebih menyukai keramahan pengguna daripada kontrol

Tetapi jawaban lain untuk pertanyaan Anda adalah "mengapa kedokteran gigi begitu sulit bagi beberapa pengembang?" - Desain UI paling baik dilakukan oleh desainer UI.

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

dotmad
sumber