it-swarm.asia

Tindakan massal: apa yang harus dilakukan ketika tidak semua item mendukung tindakan

Bayangkan skenario berikut: pengguna memilih banyak item, dan kotak 'tindakan massal' muncul; pengguna memilih tindakan yang tidak semua item dukung (karena satu dan lain hal).

Apa yang Anda lakukan dalam kasus ini: menerapkan tindakan ke item yang mendukungnya? tidak menerapkan tindakan sama sekali dan menampilkan pesan kesalahan?

Ide saya saat ini adalah:

  • Terapkan tindakan ke item yang mendukungnya; untuk tindakan yang menyebabkan item hilang (seperti 'hapus item'), saya akan meninggalkan item yang menyinggung, masih dipilih, dengan pesan kesalahan: "beberapa item tidak dapat dihapus".
  • Nonaktifkan tindakan yang tidak didukung oleh semua item dan berikan tautan 'perbaiki ini' yang membatalkan pilihan item yang menyinggung tindakan.

Juga, dapatkah Anda mengarahkan saya ke contoh dunia nyata yang relevan?

13
Dan Burzo

Tanpa informasi lebih lanjut dari Anda (mis. Apakah itu aplikasi desktop atau web?), Berikut adalah ide:

alt text

Ketika pengguna memilih tindakan yang ingin dia selesaikan, jangan lakukan apa pun pada item daftar jika tindakan dapat diterapkan ke semua item yang dipilih. Jika tidak bisa, maka perlihatkan dengan huruf tebal (atau warna berbeda) yang sesuai dengan item tersebut, bersama dengan teks penjelasan di sebelah kanan, mis .:

alt text

Anda harus menunjukkan jumlah total item yang dapat dipindahkan karena daftarnya mungkin cukup panjang.

Tentu saja, ini hanyalah salah satu dari beberapa variasi yang mungkin.

6
Hisham

Jawaban sederhananya adalah jangan biarkan pengguna melakukan kesalahan sejak awal. Jika tindakan tidak dapat dilakukan pada semua item yang dipilih Anda harus menonaktifkan tindakan, jelaskan kepada pengguna mengapa tindakan tidak dapat dilakukan dan menyarankan solusi.

5
Antony Quinn

Saya pikir sebagian besar solusi UI tergantung pada konteks: solusi yang berfungsi untuk "menghapus" mungkin tidak bekerja untuk "bergerak" dan solusi yang berfungsi dalam e-commerce mungkin tidak berfungsi dalam alat industri.

Yang mengatakan, secara abstrak saya mungkin akan menambahkan indikator numerik dalam "kotak yang muncul" yang telah Anda kutip, memberi tahu pengguna seperti: "29 item yang ditargetkan, 5 dikunci" sehingga ia dapat melanjutkan tanpa masalah jika ia mau, atau periksa apa saja "item peringatan" dengan mengklik bagian "5 terkunci".

Dengan cara apa pun, saya akan menghindari "pesan kesalahan": itu masalah Anda, bukan masalah pengguna. ;)

5
Folletto

Membangun contoh-counter di bawah ini - Saya ingin melihat daftar dengan semua item muncul yang menyatakan bahwa hanya item spesifik yang akan menerapkan tindakan (bernama) (dan yang ditandai berbeda dalam daftar) - dan menawarkan "Tentu, buka depan "dan tindakan" Batal ".

Rasanya tidak nyaman untuk menampilkan kembali daftar yang sama tetapi untuk kepentingan maju saya pikir itu akan menjadi yang pertama saya ambil.

Atleast tidak melakukannya seperti yang dilakukan Microsoft Exchange 2010 Console - ia melempar kesalahan untuk semua item yang tidak didukung oleh aksi (daftar panjang di jendela sembulan kecil modal non-resizeble modal) dan juga tidak berlaku untuk barang-barang yang mendukungnya. Tidak ada cara untuk keluar dari situasi kecuali membatalkan ide sepenuhnya dan Menggali Powershell, atau mencoba referensi silang dialog modal kesalahan kecil untuk secara manual memilih item yang menyinggung satu per satu di belakangnya ... ^^

3
Oskar Duveborn

Saya telah melihat beberapa pendekatan untuk menghadapi situasi ini, tidak satu pun dari mereka yang memuaskan:

  • Diam-diam menolak multi-pilihan. CorelDraw, misalnya, menghindari masalah dengan tidak membiarkan pengguna memilih beberapa campuran objek yang dapat diedit dan tidak dapat diedit ("dikunci") bahkan hanya untuk melihat informasi hanya baca. Demikian juga, IronCAD tidak akan membiarkan Anda melakukan multi-pilih objek dari kelas yang berbeda tertentu (mis., Kamera dan bagian). Itu sepertinya pembatasan yang tidak perlu bagi saya.

  • Diam-diam menolak perintah. Windows XP hanya mengabaikan Anda jika mencoba membuka jendela properti untuk beberapa item dari kelas yang berbeda (mis., My Computer dan file pdf). Itu bisa membingungkan dan membuat frustrasi.

Menurut saya, Anda ingin memberikan fleksibilitas terbesar kepada pengguna dengan memungkinkan multi-seleksi apa pun dan melakukan sebanyak mungkin pada apa pun yang dipilih. Pada saat yang sama, Anda tidak ingin membanjiri pengguna Anda dengan kotak pesan seperti yang dijelaskan oleh Oskar Duveborn di halaman ini.

Dapat diperdebatkan jika pengguna melakukan kesalahan: mungkin mereka ingin melakukan Komando X pada semua objek yang tersebar di seluruh jendela yang digunakan Komando X, mengetahui sepenuhnya bahwa itu tidak berlaku untuk objek tertentu. Jadi mereka mengetik Ctrl-A dan memilih Command X. Mendukung "trik" itu akan sangat nyaman. Atau mungkin mereka telah multi-pilih banyak hal untuk menerapkan Command X dan kemudian Command Y. Akan sangat membantu jika mereka tidak harus memilih ulang multi-atau menyesuaikan multi-pilih antara perintah untuk mengecualikan objek yang tidak tidak berlaku.

Ini beberapa ide:

  • Pertama, cobalah untuk menunjukkan informasi yang relevan di jendela utama/induk sehingga pengguna dapat menebak bahwa beberapa tindakan tidak akan mempengaruhi objek tertentu yang dipilih. Misalnya, memberikan objek baca-saja tampilan yang berbeda, mungkin hanya pada seleksi (Saya membayangkan gembok kecil untuk pegangan untuk aplikasi tipe CAD). Setiap kelas objek harus memiliki penampilan yang berbeda, mungkin dengan menandai masing-masing dengan ikon tertentu. Dengan cara ini, saat pengguna memilih banyak, mereka dapat mengantisipasi apa yang dilakukan perintah dan tidak masuk akal (misalnya, item ini adalah kamera, sehingga dapat dipindahkan tetapi jelas tidak dapat diubah ukurannya).

  • Jika aplikasi tidak dapat memberi tahu apa yang berlaku hingga apa yang dialog dibuka, maka mungkin mengubah tampilan pemilihan objek yang tindakannya tidak berlaku. Misalnya, ketika pengguna mengubah nilai properti, semua objek yang tidak memiliki properti mengambil tampilan pilihan "sekunder" pada jendela induk.

  • Jika kriteria untuk menerapkan suatu tindakan tidak jelas, Anda mungkin memerlukan beberapa isyarat teks. Item menu dari tombol yang meminta tindakan dapat termasuk dalam keterangannya berapa banyak item yang memengaruhi atau apa pengaruhnya (mis., “Hanya lembaran logam”). Dalam kotak Properti, Anda bisa menyertakan kolom di samping kolom properti yang mengatakan banyak item untuk setiap properti berlaku atau dapat diubah.

  • Itu mungkin terlalu banyak ruang, tetapi mungkin Anda hanya perlu menunjukkan bahwa hanya beberapa objek yang terpengaruh (bukan jumlah, identitas, atau proporsi yang tepat). Dalam hal ini, mungkin Anda bisa menggunakan catatan kaki dalam dialog. Buat simbol yang berarti "parsial," mungkin lingkaran setengah penuh? (Jangan menggunakan tanda bintang - itu terlalu sering berarti "wajib"). Letakkan simbol ini dengan kontrol apa pun yang memengaruhi subset seleksi. Di bagian bawah dialog, perlihatkan simbol dengan teks "= hanya berlaku untuk beberapa item yang dipilih." Untuk tindakan yang tidak menggunakan dialog, gunakan simbol yang sama di item menu atau keterangan tombol perintah, termasuk tooltip untuk menjelaskan apa artinya.

  • Idealnya, Anda harus menunjukkan bahwa tindakan hanya sebagian berlaku sebelum pengguna melakukan tindakan itu, tetapi sebagai mundur, Anda bisa memberikan umpan balik setelah tindakan. Secara umum, Anda ingin membuat efek dari tindakan apa pun terlihat secara visual di objek Anda di jendela induk, dan itu mungkin cukup. Namun, jika Anda masih khawatir tentang pengguna yang bingung (misalnya, oleh objek yang telah digulir keluar dari tampilan yang kemudian mereka perhatikan tidak berubah), maka mungkin Anda dapat memberikan pemberitahuan teks modeless (self-dismissing) yang mengatakan “ [ditindaklanjuti] [n] dari [m] item yang dipilih ”saat aksi selesai. Mungkin memberikan tautan Bantuan jika pengguna tidak mengerti mengapa.

Saya tidak tahu bagaimana semua ini benar-benar akan bekerja, jadi itu ide yang baik untuk menguji apa pun yang Anda putuskan pada pengguna.

1
Michael Zuschlag

Jawaban sederhananya adalah jangan biarkan pengguna melakukan kesalahan sejak awal. Jika tindakan tidak dapat dilakukan pada semua item yang dipilih Anda harus menonaktifkan tindakan, jelaskan kepada pengguna mengapa tindakan tidak dapat dilakukan dan menyarankan solusi.

1
Antony Quinn

Adapun contoh dunia nyata, Jira datang ke pikiran. Dan itu menunjukkan setidaknya satu kemungkinan kerugian dari tindakan persembunyian: ketika orang tidak menyadari tindakan tertentu tidak tersedia, itu bisa sangat membuat frustrasi. Anda tidak dapat memindahkan masalah yang sudah ditutup, tetapi saya tidak tahu itu pada awalnya. Saya telah mencari lama dan keras sebelum menemukan mengapa tiba-tiba tidak ada tindakan-tindakan ketika saya sangat yakin saya memindahkan masalah seperti itu sebelumnya.

Saya pikir karena alasan itu selimut yang tersembunyi bukanlah cara terbaik. Anda dapat menandai tindakan yang tidak tersedia untuk semua, sebaiknya dengan penjelasan mengapa tindakan tersebut ditandai. Saya pikir itu bisa bekerja dengan sangat baik jika Anda mengizinkan orang untuk memilihnya terlepas dan membiarkan mereka berlaku untuk 'yang tersedia'. Jika tidak, saya pikir menonaktifkan item lebih baik daripada bersembunyi. (Di sisi lain, harus diperhatikan bahwa Anda tidak berakhir dengan daftar tindakan yang panjang tanpa henti.)

1
Inca

Mengapa tidak melakukan apa yang dilakukan pemeriksa properti/objek di banyak Lingkungan Pengembangan Terpadu: hanya menampilkan properti yang umum untuk semua objek yang dipilih pada formulir?

Dalam skenario Anda: tawarkan hanya tindakan massal yang didukung oleh semua item yang dipilih. Dan perbarui ketersediaan (tampilan yang diaktifkan) vs non-ketersediaan (tampilan yang dinonaktifkan) dari semua tindakan massal dengan setiap item yang dipilih/tidak terpilih. Dengan cara ini pengguna akan mendapatkan umpan balik dan dengan cepat mengambil tindakan massal mana yang tersedia pada item mana (dan item mana yang memiliki aksi massal yang sama).

1
Marjan Venema

Tampaknya solusi kedua yang ditawarkan dalam pertanyaan itu sendiri paling berhasil:

Hanya aktifkan tindakan ketika semua item yang dipilih mendukungnya.

Anda bisa memperlihatkannya dinonaktifkan, dengan penjelasan di sebelahnya, atau di tooltip untuk memberi tahu pengguna mengapa tindakan ini dinonaktifkan.

Saya percaya itu bisa sangat membingungkan untuk memungkinkan pengguna untuk melakukan tindakan yang mempengaruhi hanya sebagian dari pilihan mereka, bahkan memberi tahu mereka setelah atau sebelum fakta mungkin tidak berfungsi sejak pengguna tidak membaca teks.

Karenanya kemungkinan peringatan atau penjelasan apa pun tidak akan mencegah pengguna dari cukup mengklik tombol DAN kemudian segera mengabaikan dialog pemberitahuan.

Karena itu, itu tergantung pada tindakan dan aplikasi - jika tindakan memicu perubahan siklus hidup suatu objek, mempengaruhi keadaannya, dll. Saya akan memberlakukan "izinkan tindakan hanya ketika semua item yang dipilih mendukungnya". Untuk hal-hal non-mission-critical, Anda mungkin lebih memilih aliran yang lebih baik daripada akurasi.

1
Dan Barak

Saya akan menerapkan tindakan ke item yang menerimanya dan biarkan sisanya. Saya pikir pengguna cukup pintar untuk mengetahui bahwa tindakan tidak dapat diterapkan ke item lain.

Jika Anda membuat sisa antarmuka sehingga pengguna akan langsung memahami hal ini, seharusnya tidak menjadi masalah, dan Anda dapat meninggalkan item lain tanpa pesan khusus.

Ini juga cara yang dilakukan di Gmail misalnya. Ambil dua pesan, satu belum dibaca dan satu dibaca, pilih keduanya, dan pilih tandai sebagai sudah dibaca. Pesan yang belum dibaca ditandai sebagai sudah dibaca dan yang sudah dibaca tidak berubah. Sisa antarmuka (teks tebal dan warna latar belakang lainnya) memperjelas bahwa pesan yang sudah dibaca sudah dibaca.

(Gmail bahkan mengatakan bahwa 2 pesan ditandai sebagai sudah dibaca, yang agak aneh, tapi oke.)

1
Lode

Pendekatan saya:

Biarkan pengguna memilih item yang mereka inginkan, biarkan pengguna memilih tindakan yang mereka inginkan jika setidaknya suatu item dapat dipengaruhi oleh tindakan dan setelah tindakan dilakukan, kembalikan pesan info: "item x, y, z tidak mendukung * aksi karena * motif. "

Memfilter tindakan yang dapat diterapkan ke setidaknya satu item yang dipilih dapat sedikit rumit.

0
Bobby Tables

Saya akan melakukan sesuatu seperti: memposting pesan bahwa tidak semua item memiliki kemungkinan untuk menghapus/mengedit/memindahkan/dll. dan memiliki daftar dengan entitasnya yang menentukan nilai bidang setelahnya. Atau jika mereka tidak banyak memiliki temp. pemesanan ulang dengan n/a item di atas daftar, disorot.

0
Billy