Roda Putar Undian
Pemenang diundi dengan crypto.getRandomValues sebelum roda bergerak, lalu animasinya diarahkan ke potongan itu. Cara memutar tidak bisa mengubah hasilnya, dan setiap isian punya peluang yang persis sama. Tulis satu nama berulang kali untuk memberinya lebih banyak potongan.
Apa pun yang Anda masukkan di sini tidak disimpan, dicatat, atau dibagikan.
Tempel daftar nama atau angka lalu putar rodanya untuk mengundi salah satu secara acak. Pemenang diundi sebelum roda bergerak, jadi animasinya tidak bisa memengaruhi hasil.
Cara memakai
- Ketik atau tempel isian Anda, satu per baris.
- Tekan Putar. Pemenang diumumkan saat roda berhenti.
- Hapus pemenang lalu putar lagi untuk mengundi tanpa pengulangan.
Mengapa pemenang dipilih sebelum roda berputar
Urutan operasinya adalah inti desain ini. Sebuah nilai diambil dari sumber acak kriptografis browser dengan rejection sampling, sehingga setiap entri punya peluang yang persis sama. Baru setelah itu rotasi akhirnya dihitung - putaran penuh secukupnya agar terlihat seperti berputar, ditambah offset yang membuat jarum berhenti di irisan yang sudah menang.
Alternatif yang paling jelas adalah memutar roda dengan tenaga acak lalu membaca irisan mana yang berhenti di bawah jarum. Cara itu terasa lebih jujur tetapi kurang adil, karena hasilnya bergantung pada animasi: kurva easing, frame rate, pembulatan floating-point dalam perhitungan fisika, cara browser membatasi tab di latar belakang. Tidak ada yang merata, dan sebagian di antaranya secara konsisten menguntungkan irisan tertentu. Roda yang berjalan sedikit berbeda di laptop yang lambat adalah roda dengan distribusi peluang yang sedikit berbeda.
Mengundi lebih dulu membuat animasi murni menjadi hiasan, sebagaimana mestinya. Hasilnya tetap sama, entah Anda menonton putarannya atau memuat ulang halaman di tengah putaran.
Bobot, dan mengundi beberapa pemenang
Satu-satunya cara membuat sebuah entri lebih mungkin menang adalah menuliskannya lebih dari sekali. Entri ganda dipertahankan, tidak digabung, dan setiap baris adalah satu irisan, jadi nama yang muncul tiga kali dalam daftar berisi sepuluh menempati tiga dari sepuluh irisan dan menang tiga kali dari sepuluh.
Ini disengaja. Kolom bobot yang tersembunyi di panel pengaturan tidak terlihat oleh siapa pun yang menonton, sedangkan nama yang menempati tiga irisan roda bisa dilihat dan dihitung semua orang di ruangan. Jika sebuah undian perlu terlihat adil bagi pesertanya, bobotnya harus tampak di roda.
Untuk beberapa pemenang tanpa pengulangan, putar, hapus pemenangnya, lalu putar lagi. Setiap penghapusan membuang irisan itu, sehingga undian berikutnya diambil dari yang tersisa - model yang tepat untuk membagi tim, menentukan urutan presentasi, atau hadiah berperingkat. Menghapus alih-alih mengundi ulang juga membuat roda terlihat mengecil, yang lagi-lagi bisa diikuti semua orang.
Di mana daftar Anda disimpan
Tidak di mana pun, kecuali Anda memintanya. Jika Anda mencentang kotak simpan, daftar ditulis ke local storage, yaitu penyimpanan per situs di dalam browser Anda sendiri pada perangkat itu saja. Ini bukan akun, tidak disinkronkan, dan tidak pernah dikirim ke situs ini atau ke mana pun.
Konsekuensinya mengikuti dari situ. Daftar yang disimpan di laptop tidak akan ada di ponsel. Menghapus data browser akan menghapusnya. Jendela penyamaran tidak bisa melihatnya, begitu pula browser lain di mesin yang sama. Menghapus centang langsung menghapusnya.
Inilah konsekuensi dari tidak meminta Anda mendaftar. Jika Anda butuh daftar yang sama di dua tempat, simpan di catatan lalu tempelkan.
Kapan roda bukan alat yang tepat
Untuk menunjuk siswa di kelas, urutan standup, memandu retro, memilih tempat makan, atau undian hadiah di antara orang-orang yang sudah memercayai penyelenggaranya, roda adalah pilihan yang pas: cepat, terlihat, dan menghilangkan rasa canggung karena ada orang yang harus memutuskan.
Roda bukan alat yang tepat jika hasilnya harus bisa dibuktikan kepada orang yang tidak menonton, atau yang punya alasan meragukan penyelenggaranya. Tidak ada yang menghasilkan bukti di sini: tidak ada seed yang dipublikasikan, tidak ada komitmen yang dibuat sebelumnya, dan tangkapan layar hanya membuktikan bahwa tangkapan layar itu ada. Undian yang melibatkan uang atau kekuatan hukum memerlukan prosedur yang terdokumentasi - seed yang dipublikasikan, komitmen yang dibuat sebelum pendaftaran ditutup, atau pengamat independen - dan itu jenis instrumen yang sama sekali berbeda.
Mengapa undian yang terlihat mengubah rasanya
Keputusan yang dibuat diam-diam lalu diumumkan secara prosedur sama persis dengan undian yang ditonton semua orang, tetapi keduanya diterima dengan cara yang sangat berbeda. Penelitian tentang keadilan prosedural secara konsisten menemukan bahwa orang mau menerima hasil yang tidak mereka sukai apabila mereka menganggap prosesnya adil dan transparan, dan undian acak yang terlihat adalah cara termurah untuk mendapatkan itu.
Karena itulah roda undi tetap berguna dalam situasi ketika keacakan sebenarnya bukan intinya. Tidak ada yang khawatir fasilitator akan mengatur siapa yang bicara lebih dulu dalam retrospektif; nilainya ada pada berpindahnya rasa canggung memilih dari seseorang ke mekanisme yang bisa dilihat semua orang.
Logika yang sama menjelaskan mengapa roda yang menyusut lebih baik daripada mengundi ulang. Ketika pemenang dihapus dan potongan yang tersisa membesar, semua orang bisa melihat bahwa peluangnya berubah dan bagaimana perubahannya - dan itu jauh lebih mudah diterima daripada undian kedua dari daftar yang tampak persis sama dengan yang pertama.
Di mana roda undi benar-benar berguna
Di ruang kelas, menunjuk siswa lewat roda menyebarkan partisipasi lebih merata daripada mengandalkan ingatan guru, sekaligus menghapus kesan bahwa ditunjuk berarti sedang dinilai. Penyesuaian yang lazim adalah menghapus setiap nama setelah keluar, sehingga seluruh kelas kebagian sebelum ada yang terulang.
Dalam standup atau retrospektif, roda menentukan urutan bicara tanpa senioritas ikut memutuskan, dan itu lebih terasa pada tim yang tersebar, di mana orang yang pertama membuka mikrofon cenderung orang yang sama setiap hari. Untuk fasilitasi, roda berisi pertanyaan - apa yang mengejutkanmu, apa yang memperlambatmu - memecah pola ketika retrospektif menghasilkan tiga pengamatan yang itu-itu saja tiap sprint.
Di luar pekerjaan, roda menangani keputusan yang biayanya lebih besar untuk didiskusikan daripada diputuskan: restoran mana, siapa duluan, mana di antara empat pilihan yang sama bagusnya. Roda tidak lebih pandai memilih daripada Anda; ia hanya lebih pandai mengakhiri perdebatan.
Membuat undian yang dipercaya orang yang tidak hadir
Untuk apa pun yang menyangkut uang atau kewajiban, rekaman layar tidak membuktikan apa-apa - rekaman itu menunjukkan hasil, bukan bahwa hasilnya ditentukan secara adil. Konstruksi standarnya adalah commit-and-reveal: sebelum pendaftaran ditutup, umumkan hash dari daftar peserta beserta sebuah seed rahasia. Setelah undian, umumkan daftar dan seed-nya sehingga siapa pun bisa menghitung ulang pemenangnya dan memeriksa bahwa hash-nya cocok dengan yang sudah diumumkan sebelumnya.
Seed juga bisa diambil dari sesuatu yang tidak dikendalikan siapa pun dan bisa diverifikasi semua orang setelahnya, misalnya hash sebuah blok Bitcoin pada ketinggian yang disebutkan, atau sebuah randomness beacon publik. Dengan begitu, peluang penyelenggara untuk mengutak-atik seed sampai hasilnya sesuai selera pun ikut hilang.
Pada promosi berhadiah yang diatur undang-undang, persyaratannya ditentukan oleh hukum, bukan oleh kriptografi, dan umumnya mencakup prosedur terdokumentasi serta pengawasan pihak independen. Alat seperti ini ditujukan untuk undian yang tidak mencapai ambang itu, yang berarti hampir semuanya.
Ini penjelasan umum, bukan nasihat hukum; jika promosi Anda tunduk pada aturan perjudian atau perlindungan konsumen di wilayah hukum Anda, persyaratan yang berlaku di sanalah yang didahulukan.
Pembobotan yang tetap terlihat
Satu-satunya cara membuat sebuah entri lebih mungkin menang di sini adalah menuliskannya lebih dari sekali, dan itu batasan yang disengaja, bukan fitur yang belum ada. Kolom bobot di panel pengaturan tidak terlihat oleh siapa pun yang menonton; sebuah nama yang menempati tiga dari sepuluh potongan bisa dihitung sendiri oleh orang seruangan.
Ini juga lebih mudah dinalar. Tiga entri dari sepuluh berarti tiga puluh persen, dan Anda bisa melihat tiga puluh persen roda itu. Bobot 3.0 di sebelah entri berbobot 1.0 menuntut semua orang melakukan hitungan yang tidak akan mereka lakukan, sekaligus menuntut mereka percaya bahwa hitungan itu memang seperti yang Anda maksud.
Kalau pembobotan memang perlu sangat rinci - misalnya undian di mana tiap orang membeli jumlah tiket yang berbeda - daftar dengan satu baris per tiket tetap merupakan representasi yang jujur, dan membuat daftar itu dari data penjualan Anda cukup dengan skrip dua baris, bukan sebuah fitur.
Animasi, sensitivitas gerak, dan membaca hasilnya
Roda yang berputar adalah elemen bergerak berukuran besar, dan bagi sebagian orang itu bukan hiasan yang netral: gangguan vestibular membuat rotasi yang berlangsung lama terasa benar-benar tidak nyaman, dan itulah sebabnya sistem operasi menyediakan preferensi pengurangan gerak dan antarmuka sebaiknya menghormatinya.
Karena pemenang sudah diundi sebelum animasi dimulai, animasi hanyalah lapisan tampilan. Memperpendek atau melewatinya sama sekali tidak mengubah hasil, dan itu sifat yang tepat untuk gerakan apa pun di antarmuka: gerakan itu harus bisa dihilangkan tanpa menghilangkan informasi.
Hasilnya juga harus ada dalam bentuk teks, bukan cuma posisi jarum. Mengumumkan pemenang di live region berarti pembaca layar akan membacakannya, sekaligus berarti hasilnya terbaca oleh siapa pun yang sempat mengalihkan pandangan, bergabung terlambat, atau menonton layar bersama pada resolusi yang membuat label di roda terlalu kecil untuk dibaca.
Pertanyaan umum
- Apakah undian ini benar-benar adil?
- Ya, dan urutan prosesnyalah yang menjamin itu. Pemenang diundi lebih dulu dari crypto.getRandomValues, sumber acak peramban yang aman secara kriptografis, memakai rejection sampling sehingga tidak ada isian yang diuntungkan. Baru setelah itu sudut putarannya dihitung agar berhenti di potongan tersebut. Banyak roda undian melakukan sebaliknya - menjalankan animasi lalu membaca potongan yang kebetulan berada di bawah penunjuk - sehingga waktu frame dan kurva perlambatan ikut menentukan hasilnya.
- Bisakah saya membuat satu nama lebih besar peluangnya?
- Bisa. Tulis nama itu di lebih dari satu baris. Isian yang sama tidak digabung dan setiap baris menjadi satu potongan, jadi nama yang muncul tiga kali dari sepuluh punya peluang 30 persen. Hanya itu cara pembobotan yang disediakan, dan itu disengaja: bobotnya terlihat langsung di rodanya, bukan tersembunyi di panel pengaturan.
- Di mana daftar saya disimpan?
- Hanya di peramban ini, di perangkat ini, dan hanya jika Anda mencentang kotaknya. Daftarnya disimpan di penyimpanan lokal, yang tidak pernah meninggalkan perangkat Anda dan tidak pernah dikirim ke situs ini maupun ke siapa pun. Hapus centangnya untuk menghapusnya seketika. Membersihkan data peramban juga menghapusnya.
- Apakah daftar saya muncul di perangkat lain?
- Tidak. Tidak ada akun dan tidak ada sinkronisasi, jadi daftar yang disimpan di laptop tidak akan muncul di ponsel. Itu konsekuensi dari tidak meminta Anda mendaftar dan tidak menyimpan data Anda di server.
- Bagaimana cara mengundi beberapa pemenang tanpa pengulangan?
- Putar, tekan Hapus pemenang, lalu putar lagi. Setiap penghapusan mengeluarkan isian itu dari roda, sehingga undian berikutnya diambil dari sisanya - cara biasa untuk membagi tim atau menentukan hadiah berurutan.
- Berapa banyak isian yang muat di rodanya?
- Sampai 500. Di atas sekitar 40, label pada potongannya disembunyikan karena akan terlalu kecil untuk dibaca, tetapi rodanya tetap berputar dan pemenangnya tetap diumumkan lengkap.
Terakhir diperbarui:
Sertakan langkah, hasil yang diharapkan, dan hasil sebenarnya. Hapus rahasia dan data pribadi.
