Bagikan melalui


Cara merancang pengalaman pengguna yang hebat untuk aplikasi desktop

Catatan

Panduan desain ini dibuat untuk Windows 7 dan belum diperbarui untuk versi Windows yang lebih baru. Sebagian besar panduan masih berlaku pada prinsipnya, tetapi presentasi dan contoh tidak mencerminkan panduan desain kita saat ini.

Aplikasi desktop yang hebat sangat kuat dan, pada saat yang sama, sederhana. Melalui pemilihan fitur dan presentasi yang seimbang dengan hati-hati, Anda dapat mencapai kekuatan dan kesederhanaan.

Kuat:

cuplikan layar kotak dialog ejaan dan tata bahasa

Kuat dan sederhana:

cuplikan layar daftar kemungkinan revisi ejaan

Aplikasi berbasis Windows yang ideal sangat kuat dan sederhana. Tentu saja Anda ingin aplikasi Anda menjadi kuat dan tentu saja Anda ingin aplikasi itu sederhana, tetapi dapatkah Anda mencapai keduanya? Ada ketegangan alami antara tujuan ini, tetapi ketegangan itu jauh dari tidak dapat direkonsiliasi. Anda dapat mencapai kekuatan dan kesederhanaan melalui pemilihan fitur dan presentasi yang seimbang dengan hati-hati.

Apa yang membuat aplikasi menjadi kuat?

Apa artinya "daya" dalam hal perangkat lunak? Aplikasi mungkin dianggap kuat jika penuh dengan fitur, memiliki luas fungsionalitas yang luar biasa dalam upaya untuk menjadi semua hal bagi semua pengguna. Desain seperti itu tidak mungkin berhasil karena set fitur yang tidak ditargetkan tidak mungkin memenuhi kebutuhan siapa pun. Ini bukan jenis kekuatan yang kita cari.

Aplikasi sangat kuat ketika memiliki kombinasi yang tepat dari karakteristik ini:

  • Memungkinkan. Aplikasi ini memenuhi kebutuhan pengguna targetnya, memungkinkan mereka untuk melakukan tugas yang tidak dapat mereka lakukan dan mencapai tujuan mereka secara efektif.
  • Efisien. Aplikasi ini memungkinkan pengguna untuk melakukan tugas dengan tingkat produktivitas dan skala yang tidak dimungkinkan sebelumnya.
  • Serbaguna. Aplikasi ini memungkinkan pengguna untuk melakukan berbagai tugas secara efektif dalam berbagai keadaan.
  • Langsung. Aplikasi ini terasa seperti secara langsung membantu pengguna mencapai tujuan mereka, alih-alih menghalangi atau memerlukan langkah-langkah yang tidak perlu. Fitur seperti pintasan, akses keyboard, dan makro meningkatkan rasa langsung.
  • Fleksibel. Aplikasi ini memungkinkan pengguna menyelesaikan kontrol yang halus atas pekerjaan mereka.
  • Terintegrasi. Aplikasi ini terintegrasi dengan baik dengan Microsoft Windows, memungkinkannya berbagi data dengan aplikasi lain.
  • Tingkat Lanjut. Aplikasi ini memiliki fitur canggih, inovatif, dan canggih yang tidak ditemukan dalam solusi yang bersaing.

Beberapa karakteristik ini bergantung pada persepsi pengguna dan relatif terhadap kemampuan pengguna saat ini. Apa yang dianggap kuat dapat berubah dari waktu ke waktu, jadi fitur pencarian tingkat lanjut hari ini mungkin biasa besok.

Semua karakteristik ini dapat digabungkan ke dalam definisi kekuatan kita:

Aplikasi sangat kuat ketika memungkinkan pengguna targetnya untuk mewujudkan potensi penuh mereka secara efisien.

Dengan demikian, ukuran akhir daya adalah produktivitas, bukan jumlah fitur.

Pengguna yang berbeda membutuhkan bantuan dalam mencapai potensi penuh mereka dengan cara yang berbeda. Apa yang memungkinkan beberapa pengguna dapat membahayakan fleksibilitas, kearah, dan kontrol bagi orang lain. Perangkat lunak yang dirancang dengan baik harus menyeimbangkan karakteristik ini dengan tepat. Misalnya, sistem penerbitan desktop yang dirancang untuk nonprofesional mungkin menggunakan wizard untuk memancarkan pengguna melalui tugas yang kompleks. Wizard tersebut memungkinkan pengguna target untuk melakukan tugas yang tidak akan dapat mereka lakukan. Sebaliknya, sistem penerbitan desktop untuk profesional mungkin berfokus pada kerahasiaan, efisiensi, dan kontrol penuh. Untuk pengguna aplikasi seperti itu, wizard mungkin membatasi dan membuat frustrasi.

Jika Anda hanya melakukan satu hal ...

Pahami tujuan pengguna target Anda dan buat set fitur yang memungkinkan mereka mencapai tujuan tersebut secara produktif.

Apa yang membuat pengalaman pengguna menjadi sederhana?

Kami mendefinisikan kesederhanaan sebagai berikut:

Kesederhanaan adalah pengurangan atau penghapusan atribut desain yang disadari pengguna target dan mempertimbangkan unessential.

Dalam praktiknya, kesederhanaan dicapai dengan memilih set fitur yang tepat dan menyajikan fitur dengan cara yang benar. Ini mengurangi unessential, baik nyata maupun yang dirasakan.

Kesederhanaan tergantung pada persepsi pengguna. Pertimbangkan bagaimana efek transmisi otomatis tergantung pada perspektif pengguna:

  • Untuk driver biasa (pengguna target), transmisi otomatis menghilangkan kebutuhan akan perpindahan gigi dan kopling manual, membuat mobil jauh lebih mudah dikendarai. Pergeseran gigi dan kopling manual tidak penting untuk tugas mengemudi, sehingga mereka dihapus untuk mencapai kesederhanaan.
  • Untuk pengemudi mobil balap profesional, memiliki kontrol langsung atas transmisi sangat penting untuk menjadi kompetitif. Transmisi otomatis berdampak negatif pada performa mobil, sehingga tidak dianggap menghasilkan kesederhanaan.
  • Untuk mekanik, transmisi otomatis adalah mekanisme yang lebih kompleks, dan oleh karena itu tidak lebih mudah untuk diperbaiki atau dipertahankan daripada transmisi manual. Tidak seperti mekanik, pengguna target sangat tidak menyadari kompleksitas internal ini.

Meskipun pengguna yang berbeda menganggap transmisi otomatis secara berbeda, itu berhasil karena menghilangkan kebutuhan akan pengetahuan, keterampilan, dan upaya unessential dari pengguna targetnya. Untuk driver yang khas, transmisi otomatis adalah fitur yang bagus karena hanya berfungsi.

Kesederhanaan vs. kemudahan penggunaan

Kesederhanaan, ketika diterapkan dengan benar, menghasilkan kemudahan penggunaan. Tetapi kesederhanaan dan kemudahan penggunaan bukanlah konsep yang sama. Kemudahan penggunaan dicapai ketika pengguna dapat melakukan tugas dengan sukses sendiri tanpa kesulitan atau kebingungan dalam jumlah waktu yang sesuai. Ada banyak cara untuk mencapai kemudahan penggunaan, dan kesederhanaan —pengurangan unessential—hanyalah salah satunya.

Semua pengguna, tidak peduli seberapa canggih, ingin menyelesaikan pekerjaan mereka dengan jumlah minimum upaya yang tidak perlu. Semua pengguna—bahkan pengguna tingkat lanjut—terutama termotivasi untuk menyelesaikan pekerjaan mereka, bukan untuk belajar tentang komputer atau aplikasi Anda.

Kesederhanaan adalah cara paling efektif untuk mencapai kemudahan penggunaan, dan kemudahan penggunaan yang sama dengan penggunaan. Fitur yang kompleks dan sulit digunakan hanya tidak terbiasa. Sebaliknya, desain sederhana dan elegan yang menjalankan fungsinya dengan baik adalah sukacita untuk digunakan. Mereka memanggil respon yang positif dan emosional.

Misalnya, pertimbangkan dukungan jaringan nirkabel di Microsoft Windows XP. Microsoft bisa saja menambahkan wizard untuk memanding pengguna melalui proses konfigurasi. Pendekatan ini akan menghasilkan kemudahan penggunaan tetapi bukan kesederhanaan, karena fitur unessential (wizard) akan ditambahkan. Sebaliknya, Microsoft merancang jaringan nirkabel untuk mengonfigurasi dirinya sendiri secara otomatis. Pengguna pada akhirnya tidak peduli dengan detail konfigurasi, selama "hanya berfungsi" dengan andal dan aman. Kombinasi kekuatan dan kesederhanaan dalam teknologi jaringan nirkabel ini telah menyebabkan popularitas dan adopsi yang cepat.

Jika Anda hanya melakukan satu hal ...

Mulai proses desain Anda dengan desain paling sederhana yang melakukan pekerjaan dengan baik.

Jika Anda tidak puas dengan desain Anda saat ini, mulailah dengan menghapus semua elemen unessential. Anda akan menemukan bahwa apa yang tersisa biasanya cukup baik.

Mendapatkan kesederhanaan sambil mempertahankan daya

Prinsip desain

Untuk mendapatkan kesederhanaan, selalu desain untuk kemungkinan, bukan yang mungkin.

Kemungkinan

Keputusan desain berdasarkan apa yang mungkin menyebabkan antarmuka pengguna yang kompleks seperti Editor Registri, di mana desain mengasumsikan bahwa semua tindakan sama mungkin dan sebagai hasilnya membutuhkan upaya yang sama. Karena apa pun mungkin terjadi, tujuan pengguna tidak dipertimbangkan dalam keputusan desain.

Kemungkinan

Keputusan desain berdasarkan kemungkinan mengarah pada solusi yang disederhanakan, tujuan- dan berbasis tugas, di mana skenario yang mungkin menerima fokus dan membutuhkan upaya minimal untuk dilakukan.

Prinsip desain kesederhanaan

Untuk mendapatkan kesederhanaan, fokuslah pada apa yang mungkin; kurangi, sembunyikan, atau hapus apa yang tidak mungkin; dan menghilangkan apa yang tidak mungkin.

Apa yang akan dilakukan pengguna jauh lebih relevan dengan desain daripada apa yang mungkin mereka lakukan.

Teknik desain

Untuk mendapatkan kesederhanaan sambil mempertahankan daya, pilih serangkaian fitur yang tepat, temukan fitur di tempat yang tepat, dan kurangi upaya untuk menggunakannya. Bagian ini memberikan beberapa teknik umum untuk mencapai tujuan ini.

Memilih set fitur yang tepat

"Kesempurnaan tercapai, bukan ketika tidak ada lagi yang bisa ditambahkan,

tetapi ketika tidak ada yang tersisa untuk diambil." —Antoine de Saint-Exupery

Teknik desain berikut memberi pengguna Anda fitur yang mereka butuhkan sambil mencapai kesederhanaan melalui pengurangan atau penghapusan aktual:

  • Tentukan fitur yang dibutuhkan pengguna Anda. Pahami kebutuhan pengguna Anda melalui tujuan, skenario, dan analisis tugas. Tentukan serangkaian fitur yang mewujudkan tujuan ini.
  • Hapus elemen yang tidak perlu. Hapus elemen yang tidak mungkin digunakan atau memiliki alternatif yang lebih disukai.
  • Hapus redundansi yang tidak perlu. Mungkin ada beberapa cara efektif untuk melakukan tugas. Untuk mencapai kesederhanaan, buat keputusan keras dan pilih yang terbaik untuk pengguna target Anda alih-alih menyediakan semuanya dan menjadikan pilihan sebagai opsi.
  • Buatlah "hanya berfungsi" secara otomatis. Elemen ini diperlukan, tetapi interaksi pengguna apa pun untuk membuatnya berfungsi bukan karena ada perilaku atau konfigurasi default yang dapat diterima. Untuk mencapai kesederhanaan, membuatnya bekerja secara otomatis dan menyembunyikannya dari pengguna sepenuhnya atau mengurangi paparannya secara signifikan.

Menyederhanakan presentasi

"Kemampuan untuk menyederhanakan sarana untuk menghilangkan yang tidak perlu

agar yang diperlukan dapat berbicara." —Hans Hofmann

Gunakan teknik desain berikut untuk mempertahankan daya, sambil mencapai kesederhanaan melalui persepsi pengurangan atau penghapusan:

  • Gabungkan apa yang harus digabungkan. Satukan fitur penting yang mendukung tugas sehingga tugas dapat dilakukan di satu tempat. Langkah-langkah tugas harus memiliki alur terpadu dan disederhanakan. Memecah tugas kompleks menjadi satu set langkah yang mudah dan jelas, sehingga tempat "satu" mungkin terdiri dari beberapa permukaan UI, seperti wizard.
  • Pisahkan apa yang harus dipisahkan. Tidak semuanya dapat disajikan di satu tempat, jadi selalu memiliki batas yang jelas dan dipilih dengan baik. Buat fitur yang mendukung skenario inti terpusat dan jelas, dan sembunyikan fungsionalitas opsional atau jadikan periferal. Pisahkan tugas individual dan berikan tautan ke tugas terkait. Misalnya, tugas yang terkait dengan memanipulasi foto harus dipisahkan dengan jelas dari tugas yang terkait dengan pengelolaan koleksi foto, tetapi harus mudah diakses satu sama lain.
  • Hilangkan apa yang dapat dihilangkan. Ambil cetakan desain Anda dan sorot elemen yang digunakan untuk melakukan tugas yang paling penting. Bahkan sorot kata-kata individual dalam teks UI yang mengomunikasikan informasi yang berguna. Sekarang tinjau apa yang tidak disorot dan pertimbangkan untuk menghapusnya dari desain. Jika Anda menghapus item, akan sesuatu yang buruk terjadi? Jika tidak, hapus!
  • Konsistensi, konfigurasi, dan generalisasi sering kali merupakan kualitas yang diinginkan, tetapi dapat menyebabkan kompleksitas yang tidak perlu. Tinjau desain Anda untuk upaya yang salah arah dalam konsistensi (seperti memiliki teks redundan), generalisasi (seperti memiliki sejumlah zona waktu ketika dua cukup), dan konfigurasi (seperti opsi yang tidak mungkin diubah pengguna), dan menghilangkan apa yang dapat dihilangkan.
  • Letakkan elemen di tempat yang tepat. Dalam jendela, lokasi elemen harus mengikuti utilitasnya. Kontrol, instruksi, dan penjelasan penting semuanya harus dalam konteks dalam urutan logis. Jika diperlukan lebih banyak opsi, ekspos dalam konteks dengan mengklik chevron atau mekanisme serupa; jika informasi lebih lanjut diperlukan, tampilkan infotip pada mouse hover. Tempatkan tugas, opsi, dan informasi Bantuan yang kurang penting di luar alur utama di jendela atau halaman terpisah. Teknik menampilkan detail tambahan sesuai kebutuhan disebut pengungkapan progresif.
  • Gunakan kombinasi tingkat tinggi yang bermakna. Seringkali lebih sederhana dan lebih dapat diskalakan untuk memilih dan memanipulasi grup elemen terkait daripada elemen individu. Contoh kombinasi tingkat tinggi termasuk folder, tema, gaya, dan grup pengguna. Kombinasi tersebut sering dipetakan ke tujuan pengguna atau niat yang tidak jelas dari elemen individu. Misalnya, niat di balik skema warna High Contrast Black jauh lebih jelas daripada latar belakang jendela hitam.
  • Pilih kontrol yang tepat. Elemen desain diwujudkan oleh kontrol yang Anda gunakan untuk mewakilinya, jadi memilih kontrol yang tepat sangat penting untuk presentasi yang efisien. Misalnya, kotak pilihan font yang digunakan oleh Microsoft Word memperlihatkan pratinjau font serta font yang terakhir digunakan. Demikian pula, cara Word menunjukkan potensi kesalahan ejaan dan tata bahasa di tempat jauh lebih sederhana daripada alternatif kotak dialog, seperti yang ditunjukkan di awal artikel ini.

Mengurangi upaya

"Hal-hal sederhana harus sederhana.

Hal-hal kompleks harus dimungkinkan." —Alan Kay

Teknik desain berikut menghasilkan upaya yang berkurang untuk pengguna:

  • Membuat tugas dapat ditemukan dan terlihat. Semua tugas, tetapi terutama tugas yang sering, harus mudah ditemukan dalam antarmuka pengguna. Langkah-langkah yang diperlukan untuk melakukan tugas harus terlihat dan tidak boleh mengandalkan hafalan.
  • Menyajikan tugas di domain pengguna. Perangkat lunak yang kompleks mengharuskan pengguna untuk memetakan masalah mereka pada teknologi. Perangkat lunak sederhana melakukan pemetaan untuk mereka dengan menyajikan apa yang alami. Misalnya, fitur pengurangan mata merah memetakan langsung ke ruang masalah dan tidak mengharuskan pengguna untuk berpikir dalam hal detail seperti warna dan gradien.
  • Masukkan pengetahuan domain ke dalam program. Pengguna tidak boleh diharuskan mengakses informasi eksternal agar berhasil menggunakan aplikasi Anda. Pengetahuan domain dapat berkisar dari data dan algoritma yang kompleks hingga membuatnya jelas jenis input apa yang valid.
  • Gunakan teks yang dipahami pengguna. Teks yang dibuat dengan baik sangat penting untuk komunikasi yang efektif dengan pengguna. Gunakan konsep dan istilah yang akrab bagi pengguna Anda. Jelaskan sepenuhnya apa yang diminta dalam bahasa biasa sehingga pengguna dapat membuat keputusan cerdas dan berdasarkan informasi.
  • Gunakan default yang aman, aman, dan kemungkinan besar. Jika pengaturan memiliki nilai yang berlaku untuk sebagian besar pengguna dalam kebanyakan keadaan, dan pengaturan tersebut aman dan aman, gunakan sebagai nilai default. Buat pengguna menentukan nilai hanya jika perlu.
  • Gunakan batasan. Jika ada banyak cara untuk melakukan tugas, tetapi hanya beberapa yang benar, batasi tugas dengan cara yang benar tersebut. Pengguna tidak boleh diizinkan untuk membuat kesalahan yang mudah dicegah.

Kesederhanaan tidak berarti sederhana

"Semuanya harus dibuat sesering mungkin,

tetapi tidak lebih sederhana." —Albert Einstein

Kami percaya bahwa kesederhanaan sangat penting untuk pengalaman pengguna yang efektif dan diinginkan — tetapi selalu mungkin untuk mengambil hal yang baik terlalu jauh. Inti dari kesederhanaan adalah pengurangan atau penghapusan unessential. Penghapusan yang penting hanya menghasilkan desain yang buruk. Jika "penyederhanaan" Anda membuat pengguna menjadi frustrasi, bingung, tidak yakin, atau tidak berhasil menyelesaikan tugas, Anda telah menghapus terlalu banyak.

Kesederhanaan berarti lebih banyak upaya untuk Anda

"Saya hanya membuat surat ini lebih lama karena saya telah

bukan waktu untuk membuatnya lebih pendek. —Blaise Pascal

Mendapatkan kesederhanaan sambil mempertahankan daya sering membutuhkan kompleksitas internal yang signifikan. Biasanya lebih mudah untuk merancang perangkat lunak yang mengekspos semua pipa teknologi daripada merancang perangkat lunak yang menyembunyikannya — yang terakhir membutuhkan pemahaman yang sangat baik tentang pengguna target Anda dan tujuan mereka. Menghapus fitur memerlukan disiplin, seperti halnya memutuskan untuk tidak menambahkan fitur keren yang benar-benar tidak praktis. Kesederhanaan membutuhkan membuat pilihan desain yang keras alih-alih membuat semuanya dapat dikonfigurasi. Perangkat lunak kompleks sering kali dihasilkan dari kesalahpahaman tentang pengguna: bahwa mereka menghargai fitur yang tidak digunakan atau fitur yang terlalu kompleks yang tidak dapat mereka pahami.

Kuat dan sederhana

Daya adalah tentang mengaktifkan pengguna Anda dan membuatnya produktif. Kesederhanaan adalah tentang menghapus fitur unessential dan menyajikan dengan cara yang benar. Dengan memahami pengguna target Anda dan mencapai keseimbangan fitur dan presentasi yang tepat, Anda dapat merancang aplikasi berbasis Windows yang melakukan keduanya.