Logo Graphie
Blog Image

10 Kesalahan Desain Aplikasi Teratas

16 Jul 2021

Merancang aplikasi yang kompleks adalah tugas yang menantang. Membangun aplikasi yang memiliki kedalaman untuk mendukung tugas-tugas rumit dan intuisi untuk memperjelas cara menyelesaikan pekerjaan adalah tantangan yang luar biasa. Kami menghabiskan satu hari penuh untuk topik ini dalam kursus Desain Aplikasi untuk Web dan Desktop kami, tetapi kami dapat dengan mudah menghabiskan satu bulan untuk membuat katalog setiap jenis masalah yang kami temui dalam studi penelitian pengguna kami.

Membuat rekomendasi umum tentang masalah desain aplikasi umum itu sulit, karena begitu banyak masalah yang kami amati adalah khusus domain. Ini benar 11 tahun yang lalu, ketika versi pertama artikel ini ditulis, dan tetap demikian sampai sekarang.

Jadi, rekomendasi pertama kami adalah melakukan riset pengguna dengan audiens target Anda:

  • Mulailah dengan analisis tugas dan studi lapangan untuk memahami kebutuhan dan alur kerja pengguna Anda.
  • Buat prototipe dan uji ide fidelitas rendah untuk menguraikan struktur penting aplikasi Anda dan fitur-fiturnya, tanpa menggunakan banyak sumber daya untuk ide-ide yang akan Anda revisi atau tinggalkan saat Anda belajar dari pengguna Anda.
  • Rancang secara berulang, dan uji setiap perubahan dengan sejumlah kecil pengguna. Semakin banyak iterasi, semakin baik aplikasi Anda.

Terlepas dari sifat khusus domain dari sebagian besar masalah kegunaan aplikasi, berikut adalah 10 kesalahan umum yang sering kita lihat di berbagai industri. Lima dari masalah ini (#1, 2, 3, 4, dan 6) juga disertakan dalam artikel asli — yang menunjukkan seberapa tahan lama pedoman kegunaan. Semua 10 pedoman asli masih benar, tetapi 5 kesalahan (untungnya) kurang umum daripada sebelumnya; mereka digantikan oleh 5 masalah lain (#5, 7, 8, 9, dan 10).

Berikut adalah daftar 10 kesalahan desain aplikasi teratas kami yang mengerikan dan biasa terjadi. Mari kita berharap bahwa ketika kita menulis versi berikutnya dari artikel ini dalam 11 tahun lagi, sebagian besar akan jauh lebih jarang.

1. Umpan Balik yang Buruk
Salah satu pedoman paling dasar untuk meningkatkan kegunaan aplikasi adalah memberikan umpan balik yang jelas:

  • Tunjukkan kepada pengguna status sistem saat ini.
  • Beri tahu pengguna bagaimana perintah dan tindakan mereka telah ditafsirkan.
  • Beri tahu pengguna apa yang terjadi.
  • Aplikasi yang diam membuat pengguna menebak-nebak. Seringkali, mereka salah menebak.

Umpan balik yang baik memberi tahu pengguna banyak hal — misalnya, apakah tombol yang mereka klik telah ditafsirkan dengan benar oleh sistem sebagai "klik" dan akankah sistem sekarang melakukan sesuatu? Apa yang sedang dipilih atau aktif?

Salah satu skenario di mana umpan balik menjadi penting adalah ketika aplikasi dimasukkan ke mode edit untuk mengubah informasi yang ada. Sangat penting bahwa pengguna memiliki pemahaman yang jelas tentang apa yang saat ini dapat diedit, karena aplikasi akan berbeda dalam cakupan mode edit — misalnya, beberapa aplikasi akan menggabungkan tabel data di mana satu sel atau baris dapat diedit, yang lain akan membuat keseluruhan tabel dapat diedit. Umpan balik yang tepat dan jelas dapat menyampaikan kepada pengguna ruang lingkup pengeditan; umpan balik yang baik dapat diimplementasikan dalam berbagai cara, dari menggunakan latar belakang yang berbeda untuk mengidentifikasi area yang dapat diedit saat ini hingga mengubah tombol yang terkait dengan pengeditan untuk menunjukkan fungsinya dengan jelas

1.a. Makan Siang Tanpa Indikator Kemajuan
Varian kurangnya umpan balik adalah ketika sistem gagal memberi tahu pengguna bahwa perlu waktu lama untuk menyelesaikan suatu tindakan. Pengguna sering berpikir bahwa aplikasi rusak atau mereka mulai mengklik target lain.

Jika Anda tidak dapat memenuhi batas waktu respons yang disarankan, katakan demikian, dan beri tahu pengguna tentang apa yang terjadi dengan indikator kemajuan:

  • Jika sebuah perintah membutuhkan waktu antara 2 dan 10 detik, tampilkan animasi menunggu seperti "pemintal." Jenis indikator kemajuan ini memberi tahu pengguna untuk menahan kuda mereka dan tidak mengklik apa pun sampai kursor normal kembali.
  • Jika perintah membutuhkan waktu lebih dari 10 detik, pasang bilah kemajuan eksplisit, sebaiknya sebagai indikator selesai (kecuali Anda benar-benar tidak dapat memprediksi berapa banyak pekerjaan yang tersisa hingga operasi selesai).

2. Inkonsistensi
Ingat aturan double-D: perbedaan itu sulit. Ketika pengguna memiliki harapan tentang bagaimana sesuatu akan berperilaku atau di mana mereka dapat mengaksesnya, penyimpangan dari harapan tersebut menyebabkan kebingungan, frustrasi, dan peningkatan beban kognitif saat orang mencoba memecahkan masalah. Pikiran manusia mendambakan konsistensi.

Ada beberapa jenis inkonsistensi yang sangat umum dalam aplikasi yang kompleks dan bahkan menyebabkan pengguna berpengalaman menjadi sangat bingung:

  • Kata atau perintah yang berbeda untuk tindakan yang sama same
  • Menempatkan kontrol untuk fitur yang sama di banyak tempat berbeda
  • Kontrol yang tampak mirip satu sama lain (dari sudut pandang pengguna) tetapi diakses di tempat yang berbeda (misalnya satu diakses di bilah alat, yang lain di menu, dan yang ketiga jauh di dialog Preferensi)
  • Pola alur kerja serupa yang memerlukan interaksi dengan bagian antarmuka yang sangat berbeda
  • Aturan yang tidak konsisten untuk data input yang sah: terkadang entri diizinkan, dan di lain waktu ditandai sebagai tidak valid, tanpa umpan balik apa pun tentang mengapa ini terjadi
  • Sebuah fitur terkadang tersedia, dan terkadang bukan karena alasan misterius yang tidak dibuat secara eksplisit
  • Elemen atau kontrol UI yang bergerak, melanggar konsistensi spasial

Seorang arsitek dalam penelitian kami yang memiliki pengalaman bertahun-tahun menggunakan AutoCAD berjuang untuk memahami kapan dia bisa atau tidak bisa "merapatkan" berbagai panel apung agar tetap disematkan ke satu sisi layar. Di sesi yang sama, dia mencoba beberapa kali untuk membuat panel apung untuk berlabuh ke sisi kiri, tetapi tidak berhasil. Ternyata, karena pengaturan parameter tersembunyi, panel khusus ini tidak dapat ditambatkan, tetapi batasan ini tidak dibuat secara eksplisit kepada pengguna. Pengaturan tersembunyi dimaksudkan untuk memberi pengguna yang kuat kemampuan untuk menyesuaikan antarmuka ke tingkat yang luar biasa, tetapi, karena umpan balik yang buruk, peserta penelitian kami tidak dapat mengetahui mengapa docking terkadang berhasil dan terkadang tidak. Jenis ketidakkonsistenan ini merupakan sumber utama frustrasi bahkan bagi pengguna yang berpengalaman.

3. Pesan Kesalahan Buruk
Pesan kesalahan adalah bentuk umpan balik khusus: pesan tersebut memberi tahu pengguna bahwa ada yang tidak beres. Kami telah mengetahui pedoman untuk pesan kesalahan selama hampir 30 tahun, namun masih banyak aplikasi yang melanggarnya.

Pelanggaran pedoman yang paling umum adalah ketika pesan kesalahan hanya mengatakan ada sesuatu yang salah, tanpa menjelaskan mengapa dan bagaimana pengguna dapat memperbaiki masalah. Pesan semacam itu membuat pengguna terdampar.

Masalah ini telah memburuk selama bertahun-tahun, sebagian besar karena aplikasi web: Pengguna diperlihatkan Ada yang tidak beres. Coba lagi. pesan kesalahan, tanpa rincian tentang penyebab kesalahan atau cara memperbaikinya. Setidaknya aplikasi desktop asli tadi digunakan untuk memberi tahu orang-orang (seringkali dalam istilah teknis bahwa pengguna awam tidak memiliki harapan untuk memahami) apa masalahnya.

Pesan kesalahan yang informatif tidak hanya membantu pengguna memperbaiki masalah mereka saat ini, tetapi juga dapat berfungsi sebagai momen yang dapat diajarkan. Meskipun orang tidak akan menginvestasikan waktu untuk membaca dan mempelajari fitur aplikasi Anda, mereka akan berusaha memahami situasi kesalahan jika Anda menjelaskannya dengan jelas, karena mereka ingin mengatasi kesalahan tersebut.

4. Tidak Ada Nilai Default
Default membantu pengguna dalam banyak cara. Yang terpenting, default dapat:

  • mempercepat interaksi dengan membebaskan pengguna dari keharusan menentukan nilai jika defaultnya dapat diterima
  • mengajar dengan memberikan contoh jenis jawaban yang sesuai untuk pertanyaan tersebut
  • mengarahkan pengguna pemula menuju hasil yang aman atau umum, dengan membiarkan mereka menerima default jika mereka tidak tahu harus berbuat apa lagi

Nilai default dapat menghemat upaya pengguna yang signifikan dalam tugas yang berulang, seperti mengisi formulir yang sama berkali-kali. Mengidentifikasi nilai kunci untuk bidang formulir dapat meningkatkan produktivitas dan mengurangi frustrasi. Analitik Anda dapat membantu Anda memahami jika ada opsi yang paling umum dipilih untuk bidang tertentu.

Secara khusus, menu tarik-turun mendapat manfaat dari default yang berarti. Banyak aplikasi menyediakan Pilih satu (yaitu tidak ada nilai yang dipilih sama sekali) sebagai pilihan default, memaksa setiap pengguna untuk berinteraksi dengan dropdown dan memilih nilai. Jika Anda memilih satu pilihan (idealnya yang paling umum), setidaknya beberapa pengguna tidak perlu berinteraksi dengan dropdown itu sama sekali.

Dengan bidang formulir numerik, jika pengguna sangat sedikit menyimpang dari default umum (misalnya, untuk bidang Kuantitas), Anda dapat menggunakan stepper untuk memungkinkan mereka menyesuaikan nomor tanpa mengetik (tetapi tetap mengizinkan pengguna mengetikkan nilai yang berbeda jika diinginkan). Stepper memiliki dua manfaat: mereka mengurangi biaya interaksi dan memberikan titik awal yang masuk akal bagi pengguna baru yang masih mempelajari sistem.

5. Ikon tanpa label
Sangat jarang ikon berdiri sendiri, karena sebagian besar pengguna dapat langsung memahaminya. Bahkan ikon yang mungkin tampak universal (seperti menu hamburger) tidak begitu familiar bagi pengguna seperti yang diharapkan oleh kebanyakan praktisi UX. Lebih buruk lagi jika aplikasi Anda memiliki ikon yang unik; kemungkinan bahwa pengguna akan memahami arti ikon unik ini sangat kecil. Ingat hukum Jakob: "pengguna menghabiskan sebagian besar waktu mereka di situs web lain." Ini berarti bahwa sebagian besar ikon, kecuali mereka memiliki label teks di sebelahnya, akan sulit atau tidak mungkin dipahami oleh pengguna.

Memasangkan ikon dengan label teks memiliki empat manfaat:

  1. Ini meningkatkan ukuran target (yang, menurut Hukum Fitts, mengurangi berapa lama waktu yang dibutuhkan pengguna untuk mengakses kontrol).
  2. Ini mengurangi waktu untuk mengenali perintah: dua isyarat memori (ikon dan teks) lebih baik dari satu.
  3. Terkait dengan sebelumnya, itu juga dapat memfasilitasi pembelajaran antarmuka (dengan membuat beberapa asosiasi dengan perintah yang sama).
  4. Ini dapat membantu pengguna membedakan secara visual antara beberapa perintah yang ditempatkan bersebelahan.

6. Target yang Sulit Diperoleh
Dalam interaksi manusia-komputer, apa pun yang dapat diklik (atau diketuk) disebut target: semua elemen UI aktif adalah target. Agar pengguna dapat memperoleh target, mereka harus dapat (1) mengidentifikasi target; (2) klik dengan andal. Kedua aspek ini menyebabkan masalah pada antarmuka aplikasi modern.

6a. Penanda Lemah
"Affordance" berarti apa yang dapat Anda lakukan terhadap suatu objek. Misalnya, kotak centang memungkinkan menghidupkan dan mematikan, dan penggeser memungkinkan bergerak ke atas atau ke bawah. Penanda adalah elemen visual yang membantu Anda memahami keterjangkauan hanya dengan melihat objek, sebelum Anda mulai menggunakannya (atau merasakannya, jika itu perangkat fisik daripada elemen UI di layar). Konsep-konsep ini dibahas dalam buku Don Norman The Design of Everyday Things.

Penanda sangat penting dalam desain UI, karena semua piksel layar dapat diklik — meskipun biasanya tidak ada yang terjadi jika Anda mengeklik. Ada begitu banyak hal yang terlihat di layar komputer sehingga pengguna tidak punya waktu untuk permainan menyapu ranjau, mengklik sekitar berharap menemukan sesuatu yang bisa ditindaklanjuti. (Pengecualian: anak kecil terkadang suka menjelajahi layar dengan mengeklik.)

Dalam aplikasi modern, salah satu pelanggar terburuk adalah desain ultra datar. Banyak desain datar memiliki penanda yang lemah untuk target: orang tidak dapat dengan mudah membedakan teks dari tombol karena tombol tidak memiliki petunjuk 3D tradisional.

Gejala umum penanda lemah adalah:

  • Pengguna berkata, "Apa yang harus saya lakukan di sini?"
  • Pengguna tidak mendekati fitur yang akan membantu mereka.
  • Banyaknya teks layar mencoba mengatasi dua masalah ini. (Lebih buruk lagi adalah instruksi bertele-tele, multitahap yang hilang setelah Anda melakukan yang pertama dari beberapa tindakan.)

6b. Target Klik Kecil
Masalah terkait di sini adalah target klik yang sangat kecil sehingga pengguna melewatkan dan mengklik di luar area aktif. Bahkan jika mereka awalnya merasakan penanda terkait dengan benar, pengguna sering berubah pikiran dan mulai percaya bahwa ada sesuatu yang tidak dapat ditindaklanjuti karena mereka pikir mereka mengkliknya dan tidak ada yang terjadi.

7. Penggunaan Modal yang Berlebihan
Banyak aplikasi menggunakan jendela modal untuk mengimplementasikan interaksi dengan data — mengedit item yang ada, menambahkan item baru, menghapus, atau bahkan membaca detail tambahan tentang item. Modals muncul di atas halaman saat ini dan konten latar belakang biasanya diredupkan (dengan asumsi bahwa peredupan akan mengurangi gangguan dan membantu pengguna fokus pada tugas yang ada). Sayangnya, pilihan desain ini mengurangi konteks bagi pengguna dengan menutupi informasi yang mungkin ingin mereka rujuk saat mengisi formulir. (Perhatikan bahwa, bahkan jika jendela tertutup tidak berisi informasi yang diperlukan untuk pengeditan, pengguna sering mencoba memanfaatkan pekerjaan yang telah mereka lakukan sebelumnya, dengan menyalin dan menempelkan input sebelumnya, atau bahkan hanya menggunakan entri lain sebagai template untuk cara untuk memikirkan tugas saat ini.)

8. Informasi Tidak Berarti
String panjang huruf dan angka, seperti ID yang dibuat secara otomatis dalam database sering digunakan untuk mengidentifikasi item dalam aplikasi secara unik. String ini sama sekali tidak berarti bagi pengguna, tetapi sering kali ditampilkan dengan jelas sebagai kolom pertama dari tabel, memaksa orang untuk memindai melewati kolom pertama untuk menemukan informasi yang mereka pedulikan. Sementara indeks yang tidak berarti ini penting di bagian belakang, mereka tidak boleh menjadi informasi utama yang harus dirujuk oleh pengguna. Terutama di layar dengan kepadatan informasi tinggi, berikan beberapa informasi yang dapat dibaca manusia sebagai titik jangkar utama dan dorong ID ke posisi yang kurang menonjol.

Penggunaan informasi berkode yang mengerikan sering muncul dalam aplikasi medis, sistem CRM (di mana pengguna sering kali harus memilih kode untuk setiap interaksi penjualan dengan pelanggan mereka), perangkat lunak akuntansi, dan aplikasi perusahaan. Di semua aplikasi ini, informasi yang berarti bagi manusia dirangkum dengan kode pendek, dalam upaya membuatnya lebih ringkas. Kode pendek mungkin lebih cocok di area kecil daripada seluruh kalimat, tetapi menempatkan beban kognitif yang jauh lebih tinggi pada pengguna. Mereka perlu menerjemahkan informasi yang dikodekan untuk memahaminya, dan memori kerja kita terbatas untuk memulai. Bahkan profesional yang sangat terlatih tidak dapat mengingat setiap kode yang mungkin, dan mereka masih membutuhkan banyak upaya untuk melakukan terjemahan mental ini.

9. Menu Laci Sampah
Jika aplikasi Anda memiliki ratusan atau bahkan ribuan fitur, Anda harus meletakkan kontrol untuk fitur tersebut di suatu tempat, dan lebih jauh lagi, Anda perlu memprioritaskan dan mengaturnya agar pengguna dapat dengan mudah menemukan dan mengakses yang paling penting dengan cepat. Salah satu konsekuensi dari batasan ini sering kali adalah menu luapan: tindakan yang paling umum digunakan ditampilkan di bilah alat, dan item terakhir berlabel Tindakan lainnya, atau Alat, atau yang terburuk ... menampung semua hal lain yang tidak sesuai.

Label menu ini memiliki aroma informasi yang rendah dan tidak lebih dari laci sampah: tempat untuk meletakkan semua barang yang tidak dapat Anda kategorikan, tetapi tidak ingin dibuang. Mereka sering muncul karena tim memiliki daftar fitur yang diperlukan tetapi tidak tahu di mana harus meletakkannya, atau dalam aplikasi lama, tidak dapat menghapus fitur lama yang jarang digunakan. Masalah dengan menu overflow adalah, seperti halnya laci sampah di rumah Anda, tidak ada orang lain yang tahu apa yang mungkin Anda masukkan ke dalamnya. Dengan kata lain, ini membatasi fitur yang dapat ditemukan dan ditemukan, karena sebagian besar pengguna tidak akan memiliki alasan untuk mencari di menu tersebut.

10. Kedekatan Tindakan Destruktif dan Konfirmasi
Menempatkan tindakan seperti Simpan di sebelah tindakan yang menghancurkan pekerjaan seperti Buang adalah keputusan desain yang biasa yang menyebabkan banyak kesedihan bagi pengguna. Meskipun secara logis penempatan ini sering kali masuk akal (misalnya, Simpan dan Hapus terkait, karena menentukan nasib suatu item), penempatan ini juga memudahkan untuk mengklik tombol atau ikon yang salah — terutama saat pengguna terburu-buru, menyelesaikan tindakan berulang , atau mengalami kesulitan motorik. Jenis substitusi yang tidak disengaja dari satu tindakan ke tindakan lain disebut slip