Mengapa ComboBox Saja Tidak Cukup
Anda membangun aplikasi bisnis. Anda menyelesaikan masalah yang sama berulang kali.
Anda membangun pencarian pelanggan. Anda membangun kolom autocomplete produk. Anda membangun popup pilihan.
Sebagian besar pustaka UI memperlakukan ini sebagai widget yang terpisah. Mereka menyebutnya lookup atau kotak autocomplete. Ini adalah sebuah kesalahan.
Ini bukanlah masalah yang berbeda. Ini adalah masalah yang sama. Saya menyebut konsep ini sebagai Locator.
Aplikasi bisnis bergantung pada referensi.
- Sebuah pesanan penjualan mereferensikan pelanggan.
- Sebuah faktur mereferensikan pemasok.
- Sebuah transaksi mereferensikan produk.
Database menyimpan ini sebagai ID. Pengguna tidak berpikir dalam bentuk ID. Pengguna berpikir dalam nama, kode, atau barcode.
Masalah sebenarnya bukanlah bagaimana Anda menyimpan sebuah ID. Masalahnya adalah bagaimana pengguna menemukan entitas yang tepat menggunakan apa yang mereka ketahui.
ComboBox berfungsi untuk daftar yang kecil. Gunakan untuk negara atau mata uang. Daftar ini hanya memiliki beberapa lusin baris.
ComboBox gagal untuk dataset yang besar. Anda tidak bisa menggulir melalui 100.000 pelanggan. Pada skala ini, Anda tidak lagi memilih dari sebuah daftar. Anda sedang mencari sebuah rekaman.
Locator bukanlah kontrol UI. Ia adalah sebuah perilaku.
Locator melakukan lebih dari sekadar mengembalikan nilai. Ia menyelesaikan sebuah referensi bisnis.
Saat pengguna memilih produk, aplikasi membutuhkan lebih dari sekadar ProductId. Aplikasi membutuhkan harga satuan. Aplikasi membutuhkan tarif PPN. Aplikasi membutuhkan satuan ukuran.
Locator menyediakan semua ini dengan menyelesaikan referensi dalam konteks tertentu.
UI mungkin berubah:
- Di desktop, tampilannya seperti dua kolom yang dapat dicari.
- Dalam sebuah grid, tampilannya seperti editor kustom.
- Di perangkat mobile, tampilannya seperti layar pencarian.
Tampilannya berubah, tetapi perilakunya tetap sama.
Locator yang baik menghormati pengguna. Pengguna berpengalaman menggunakan keyboard. Sebuah Locator harus segera menyelesaikan pilihan jika menemukan kecocokan yang unik. Ia hanya boleh meminta pilihan jika terdapat beberapa kecocokan.
Berhentilah memperlakukan pencarian, autocomplete, dan popup sebagai widget yang tidak saling terkait. Kenali Locator sebagai konsep fundamental untuk perangkat lunak bisnis.
