Apa yang dimaksud dengan eksperimen Finch Chrome?

Dipublikasikan: 3 April 2025

Saat tiba waktunya untuk meluncurkan fitur baru di Chrome, ada banyak pemeriksaan dan keseimbangan untuk memastikan fitur yang berfungsi, sesuai, dan andal. Salah satu keseimbangan tersebut adalah eksperimen Finch. Jangan biarkan bagian "eksperimen" dari namanya membuat Anda berpikir bahwa fitur ini tidak aman, justru sebaliknya. Peluncuran Finch membantu kami menambahkan fitur yang berpotensi menyebabkan masalah kompatibilitas dengan cara yang aman, karena memungkinkan kami menonaktifkan fitur dengan cepat jika kami mengalami masalah yang tidak terduga. Artikel ini menjelaskan cara dan alasan kami menggunakan Finch untuk beberapa rilis fitur di Chrome.

Secara umum, untuk mengaktifkan fitur di Chrome cukup berarti mengalihkan boolean dari nonaktif ke aktif di dalam Chrome. Saat fitur baru "diluncurkan", itu berarti status default boolean ini diubah menjadi "aktif" untuk semua pengguna. Ada beberapa cara untuk melakukannya:

  • Mengaktifkan fitur "dalam kode": artinya, file yang dapat dieksekusi Chrome itu sendiri memiliki setelan yang diaktifkan secara default.
  • Aktifkan fitur "dengan Uji Coba Origin": Sistem uji coba origin adalah cara bagi situs tertentu untuk mengikutsertakan semua pengguna Chrome dalam eksperimen, yang mengaktifkan fitur tertentu hanya di situs tersebut.
  • Mengaktifkan fitur "menggunakan Finch": Chrome mengambil file konfigurasi dari server secara berkala, dan file ini dapat berisi petunjuk untuk mengaktifkan atau menonaktifkan fitur.
  • "Tombol penonaktif Finch": adalah kebalikan dari mengaktifkan "menggunakan Finch". Dalam hal ini, fitur diaktifkan "dalam kode", tetapi kemudian dinonaktifkan menggunakan sistem Finch, biasanya karena masalah yang terdeteksi setelah peluncuran

Kasus penggunaan Finch

Topik postingan blog ini adalah Finch, jadi kita tidak akan membahas cara mengaktifkan "dalam kode" atau "uji coba origin" lebih lanjut. Namun, Finch memiliki beberapa kasus penggunaan yang menarik.

Uji pada sekelompok kecil pengguna (Pengujian A/B)

Finch sering digunakan untuk melakukan "pengujian A/B" pada fitur atau pengoptimalan. Dalam hal ini, fitur diaktifkan untuk sebagian kecil pengguna, sehingga data dapat dikumpulkan tentang perbedaan performa, perilaku, atau penggunaan saat fitur diaktifkan versus dinonaktifkan.

Contoh pengujian A/B adalah saat kami meluncurkan Dekode gambar spekulatif. Ini adalah peningkatan performa yang tidak akan terlihat oleh developer atau pengguna, selain menyebabkan Chrome memuat halaman lebih cepat. Namun, untuk memastikan tidak ada hal tak terduga yang terjadi, dan juga untuk dapat mengukur dampak performa secara akurat, kami menggunakan Finch untuk melakukan pengujian A/B.

Menonaktifkan fitur yang bermasalah

Untuk keamanan produk dan pengalaman pengguna, Chrome dapat menggunakan sistem Finch untuk menonaktifkan dari jarak jauh fitur bermasalah yang telah diaktifkan "dalam kode". Misalnya, jika fitur diaktifkan secara default, tetapi masalah baru muncul setelah Chrome mencapai status Stabil, kami memerlukan cara untuk menonaktifkan fitur dengan cepat agar pengguna dan bisnis dapat kembali ke kondisi yang aman. Hal ini mungkin diperlukan jika ada bug yang belum ditemukan dalam fitur, atau jika fitur merusak situs yang ada karena alasan yang tidak terduga.

Mengaktifkan fitur berisiko dengan cara yang lebih aman

Untuk sebagian besar fitur yang diluncurkan Chrome, ada sedikit risiko, karena kami dapat menguji dan memverifikasi bahwa kode baru berfungsi di semua situs.

Namun, terkadang peluncuran fitur bisa sangat berisiko, karena masalah kompatibilitas yang tidak diketahui atau interaksi rumit lainnya. Dalam hal ini, sistem Finch dapat digunakan untuk mengaktifkan fitur, bukan hanya menyimpannya sebagai tombol nonaktif.

Misalnya, "pelonggaran" parser HTML adalah perubahan yang terkait dengan fitur pemilihan yang dapat disesuaikan baru yang memungkinkan lebih banyak konten daripada sebelumnya ditempatkan di dalam elemen <select>. Karena perubahan ini dapat merusak situs yang ada, kami perlu meluncurkannya dengan hati-hati.

Mengaktifkan fitur menggunakan Finch bisa lebih aman daripada menggunakan Finch untuk menghapusnya, karena Finch tidak menjangkau 100% pengguna karena berbagai alasan. Misalnya, beberapa pengguna perusahaan memiliki kebijakan yang melarang konfigurasi Finch sepenuhnya. Pengguna tersebut akan tetap berisiko jika fitur diaktifkan dalam kode, lalu dinonaktifkan menggunakan Finch, karena pengguna tersebut tidak akan menerima setelan Finch, dan akan terus mengaktifkan fitur tersebut. Dengan mengaktifkan fitur menggunakan Finch, kita dapat menjamin kemampuan untuk menonaktifkannya bagi semua pengguna jika terjadi keadaan darurat.

Bagaimana cara memeriksa apakah Anda tergabung dalam eksperimen Finch?

Hal ini sulit dilakukan pengguna secara langsung. Cara yang direkomendasikan adalah menghubungi engineer Chrome (biasanya dalam konteks bug Chromium) dan mengirimkan "daftar variasi" Anda kepada mereka. Ini adalah daftar versi berkode khusus dari semua setelan Finch untuk browser tertentu. Dapat diambil dengan mudah:

  1. Buka chrome://version
  2. Salin seluruh daftar teks (ya, bisa cukup panjang) yang tercantum di samping "Variasi Aktif".
  3. Tempel teks tersebut ke dalam file teks (misalnya, variations.txt) dan lampirkan ke bug.

Dengan daftar variasi ini, engineer Chrome dapat mendekode daftar dan melihat fitur mana yang diaktifkan atau dinonaktifkan di browser Anda.

Apa yang terjadi saat eksperimen Finch mencapai 100% dan siap digunakan?

Setelah kami merasa yakin bahwa eksperimen kami "berhasil", dan fitur yang dimaksud tidak menimbulkan risiko bagi developer atau pengguna, kami selalu mengaktifkan fitur "dalam kode". Pada tahap ini, konfigurasi Finch dapat diakhiri, sehingga tidak lagi memengaruhi browser setelah versi tempat fitur diaktifkan dalam kode.