Mekanisme bagi Chrome untuk menguji fitur browser baru
Anda mungkin pernah mendengar tentang Chrome Variations, atau Chrome Field Trials—atau bahkan mungkin nama kode internal, Chrome Finch.
Semua nama tersebut memiliki tujuan yang sama: mekanisme untuk menguji fitur baru atau perubahan pada browser Chrome, atau untuk ChromeOS, sistem operasi Chrome yang berjalan di Chromebook.
Apa kegunaan Variasi Chrome?
Variasi Chrome memungkinkan Chrome mengaktifkan fitur baru, menonaktifkan fitur, atau mencoba perubahan pada fitur untuk sebagian pengguna.
Tidak semua yang ada di Chrome diperkenalkan menggunakan mekanisme Chrome Variations. Namun, tim Chrome dapat menggunakan Chrome Variations setiap kali kami perlu sangat berhati-hati dalam melakukan perubahan, atau jika ada risiko bahwa perubahan dapat memengaruhi performa dengan cara yang tidak kita duga. 'Perubahan' dapat berarti peningkatan performa dalam kode Chrome, perubahan pada tampilan atau fungsi browser, atau bahkan perubahan pada JavaScript API.
Variasi Chrome juga dapat digunakan untuk memvalidasi hipotesis tentang perubahan atau pembaruan. Misalnya, untuk sebagian pengguna di grup Variasi Chrome, kami mencoba menyesuaikan parameter protokol jaringan QUIC untuk mempercepat Chrome bagi kondisi jaringan pengguna yang sebenarnya.
Area lain tempat Anda mungkin menemukan Variasi Chrome adalah jika Anda menggunakan uji coba origin Chrome. Secara default, fitur uji coba origin diaktifkan di semua halaman yang menyediakan token uji coba yang valid, tetapi dalam beberapa kasus Variasi Chrome digunakan untuk mengontrol aktivasi fitur. Artinya, fitur uji coba origin mungkin tidak tersedia untuk pengguna tertentu, meskipun mereka mengunjungi halaman yang menyediakan token uji coba yang valid. Informasi tentang proporsi pengguna yang memenuhi syarat untuk aktivasi fitur uji coba origin disediakan dalam dokumentasi dan update untuk setiap uji coba origin.
Bagaimana cara kerja Variasi Chrome?
Setiap 30 menit di desktop atau perangkat seluler, atau setiap kali Anda memulai Chrome, browser membuat permintaan ke backend Chrome untuk mendapatkan file konfigurasi Variasi Chrome, yang dikenal sebagai seed variasi. Dengan kata lain, ada server khusus untuk menyediakan seed Chrome Variations. Chrome membuat permintaan HTTPS ke server, dan server merespons dengan seed yang dikompresi delta.
Saat Chrome di perangkat menghubungi backend Variasi Chrome untuk mendapatkan file seed, Chrome juga akan memberikan informasi tentang versi Chrome dan sistem operasi yang digunakan. File yang ditampilkan oleh backend Chrome Variations digunakan untuk mengaktifkan fitur, menonaktifkan fitur, atau menentukan variasi dalam fitur.
Chrome menggunakan data dalam file seed, dan seed acak yang disimpan secara lokal, untuk menetapkan browser secara acak ke grup variasi. Dengan kata lain, seed acak, yang digabungkan dengan file seed dari backend Chrome Variations, dapat digunakan untuk mengaktifkan atau menonaktifkan fitur di browser, untuk sebagian pengguna. Di perangkat Anda, browser Anda melacak grup variasi grup tersebut.
Peluncuran fitur dan saluran Chrome
Salah satu kegunaan yang paling penting untuk Variasi Chrome adalah secara bertahap melakukan perubahan atau fitur baru secara bertahap ke sebagian klien Chrome. Hal itu sangat penting untuk aplikasi kompleks seperti Chrome yang memiliki miliaran pengguna, dengan ribuan jenis perangkat di berbagai platform, yang menggunakan puluhan bahasa untuk jutaan aplikasi dan situs yang berbeda.
Chrome mendapatkan masukan berharga dari penggunaan dan pengujian di Chrome Canary, Dev, dan Beta. Kita dapat menggunakan Chrome Variations untuk mengaktifkan atau menonaktifkan fitur dalam salah satu saluran rilis ini. Namun, saluran tersebut utamanya digunakan oleh developer dan pakar lainnya. Pengguna Chrome Stabil berinteraksi dengan Chrome secara berbeda dan dalam jumlah yang jauh lebih besar, sehingga kami selalu perlu melakukan validasi di saluran Stabil. Hal ini memungkinkan kami mengatasi masalah apa pun yang dihadapi dalam penggunaan browser normal. Engineer Chrome tidak dapat selalu memprediksi bagaimana pengguna sebenarnya akan merespons perubahan dan fitur baru, dalam skala besar.
Chrome Variations adalah mekanisme penting untuk membantu hal ini, sehingga memungkinkan untuk memeriksa penggunaan dan metrik untuk Chrome Stabil dengan fitur yang diaktifkan atau dinonaktifkan. Dengan mengukur dampak perubahan di Chrome Stabil, kami dapat mengirimkan fitur terbaik dan membuat browser yang lebih baik—bahkan ketika konsekuensinya kompleks.
Kapan engineer Chrome menggunakan Variasi Chrome?
Ada tiga alasan utama Chrome memerlukan Variasi Chrome.
Aktifkan fitur baru
Menggunakan Variasi Chrome untuk memberikan kontrol atas aktivasi fitur baru sangat berguna untuk segala hal yang mungkin lebih berisiko, atau yang mungkin memengaruhi performa.
Variasi Chrome memungkinkan kami menyediakan fitur baru kepada sebagian pengguna. Engineer Chrome kemudian dapat memeriksa perbedaan performa, atau melihat jenis masukan lain dari grup variasi.
Menonaktifkan fitur
Variasi Chrome dapat digunakan sebagai mekanisme keamanan untuk menonaktifkan fitur, meskipun hal ini jarang terjadi.
Misalnya, fitur jaringan baru bisa saja menjadi sasaran serangan {i>denial-of-service<i}. Chrome Variations dapat digunakan untuk segera menonaktifkan fitur seperti ini, karena konfigurasi Chrome Variations didownload setiap 30 menit dan setelan diaktifkan setiap kali Anda memulai ulang Chrome. Sebaliknya, mengupdate Chrome dan menunggu versi baru disebarkan kepada miliaran pengguna akan jauh lebih lambat.
Coba perubahan pada fitur
Terakhir, Variasi Chrome dapat digunakan untuk memvalidasi perubahan dan update. Misalnya, kita dapat menyesuaikan tingkat kesulitan untuk game Chrome Offline Dino agar interaksi terasa lebih menyenangkan.
Chrome Variations juga dapat digunakan untuk mempelajari efek jangka panjang dari fitur baru. Hal ini dilakukan dengan menggunakan mekanisme Chrome Variations untuk menahan fitur bagi sebagian kecil pengguna, mungkin 1% atau kurang. Grup penahanan dapat berguna untuk memeriksa perubahan dan efek samping yang hanya terlihat dari waktu ke waktu.
Grup penahanan dapat sangat penting untuk perubahan antarmuka pengguna, di mana pengguna kemungkinan akan berinteraksi dengan fitur saat masih baru, tetapi mungkin berperilaku berbeda dalam jangka panjang.
Misalnya, kami meluncurkan pemilih foto di Chrome, tetapi fitur ini dihentikan sementara dari sebagian kecil pengguna untuk membandingkan hasil. Kami meluncurkan Pemilih Foto Android yang baru kepada sebagian besar pengguna, dan pada awalnya mengalami peningkatan signifikan dalam jumlah gambar yang dibagikan grup tersebut di Web. Namun, dalam enam bulan setelah kami melakukan variasi penahanan, kami melihat peningkatan penggunaan menurun secara signifikan. Hal ini karena ketersediaan pemilih foto baru mendorong situs untuk menambahkan atribut terima ke elemen input file, yang menghasilkan pengalaman yang lebih baik bagi semua pengguna.
Bagaimana Variasi Chrome digunakan untuk validasi?
Jika setelan untuk membantu meningkatkan fitur dan performa Chrome diaktifkan (chrome://settings/syncSetup?search=improve
), Chrome dapat otomatis memantau dan mengirim metrik ke backend Chrome, menggunakan mekanisme yang dikenal sebagai User Metrics Analysis (UMA). Anda dapat melihat contoh statistik penggunaan anonim Chrome di chromestatus.com/metrics, seperti persentase pemuatan halaman yang menggunakan properti CSS atau fitur HTML atau JavaScript.
Variasi Chrome sangat berguna untuk membandingkan statistik dari satu grup pengguna dengan grup pengguna lainnya. Misalnya, fitur dapat diaktifkan untuk beberapa pengguna dan tidak untuk yang lain, dan Chrome dapat membandingkan metrik untuk setiap grup. Metrik ini dapat mencakup penggunaan memori, waktu muat halaman, atau penggunaan fitur browser. Hal ini memungkinkan engineer Chrome membandingkan performa atau metrik lainnya antara pengguna yang mengaktifkan fitur, pengguna yang menonaktifkan fitur tersebut, atau pengguna dengan variasi fitur berbeda.
Uji coba lapangan Chrome Variations
Setiap kumpulan variasi untuk sebuah fitur disebut studi atau uji coba lapangan, dan masing-masing memiliki durasi tetap. Setelah studi selesai untuk suatu fitur, setiap pengguna yang disertakan dalam grup perilaku non-default akan mendapatkan setelan Chrome default untuk fitur tersebut: diaktifkan atau dinonaktifkan.
Sebagian besar fitur yang dapat dikontrol oleh Variasi Chrome berkaitan dengan tanda yang dapat disetel dari
halaman chrome://flags
. Atau, jika menjalankan Chrome dari command line, Anda dapat menggunakan tanda --enable-features
dan --disable-features
untuk mengonfigurasi Variasi Chrome.
Tanda --reset-variation-state
memaksa reset status Variasi Chrome untuk klien saat ini. Hal ini berarti bahwa klien dapat berpindah ke grup Variasi Chrome yang berbeda.
Variasi Chrome untuk perusahaan
Untuk pelanggan perusahaan, Chrome juga menyediakan kebijakan ChromeVariations untuk mengelola Variasi Chrome. Tentu saja, sebaiknya tetap aktifkan Variasi Chrome, agar Chrome dapat dengan cepat menyediakan perbaikan keamanan penting.