Apa yang dimaksud dengan Intent Blink?

Saat engineer ingin melakukan perubahan pada mesin rendering Blink, mereka memposting di daftar milis blink-dev untuk mendapatkan persetujuan agar dapat melanjutkan. Postingan milis ini disebut Maksud Blink.

Browser web berbasis Chromium menggunakan mesin rendering Blink untuk mengubah kode dan resource menjadi halaman web yang dapat Anda lihat dan gunakan.

Milis blink-dev.

Pelajari cara kerja Maksud Blink, alasan pentingnya, dan cara fitur baru masuk ke Blink.

Chromium adalah project browser open source yang menjadi dasar pembuatan Chrome dan beberapa browser serta framework lainnya. Blink adalah mesin rendering yang digunakan oleh Chromium.

Agar fitur baru dapat masuk ke Blink, fitur tersebut harus melalui proses pengembangan terbuka project Chromium. "Fitur baru" adalah setiap perubahan atau penambahan pada kode atau arsitektur browser. Hal ini dapat berupa JavaScript API baru, peningkatan performa yang signifikan dalam kode Blink, atau perubahan lain, pada tampilan atau fungsi browser.

Proses yang terbuka dan kolaboratif

Chromium adalah project besar dan kompleks dengan ribuan kontributor. Saat ada perubahan pada Chromium, setiap tonggak pencapaian adalah kesempatan untuk mengundang ekosistem web yang lebih luas untuk mengomentari desain dan implementasi.

Jika memungkinkan, fitur baru harus dapat beroperasi di seluruh platform web, dan tidak diimplementasikan hanya di satu browser. Developer web tidak ingin ada kejutan: saat browser tidak berfungsi seperti yang Anda harapkan—atau saat Anda harus menulis kode yang berbeda untuk browser dan platform yang berbeda. Maksud Blink membantu menyusun dan mengatur proses perubahan, untuk membuat perubahan lebih dapat diprediksi, dan tidak terlalu mengejutkan, yang bagus untuk developer web.

Untuk pengguna, vendor browser harus berhati-hati agar perubahan tidak menyebabkan situs berhenti berfungsi. Pemilik situs sering kali berhenti memelihara situs. Beberapa situs belum diperbarui selama beberapa dekade. Vendor browser perlu mempertimbangkan hal ini saat melakukan perubahan yang dapat menyebabkan kerusakan.

Dari ide hingga proposal

Usulan perubahan dan update pada platform web berasal dari riset: berkonsultasi dengan pengguna, bisnis, engineer browser, developer web, dan pemangku kepentingan lainnya. Penelitian ini memungkinkan tim Chrome mengetahui apa yang kurang dari platform, atau apa yang perlu diubah. Awalnya, proposal untuk perubahan atau fitur baru di platform web hanyalah kata-kata di halaman. Para engineer membagikan dokumen untuk mendapatkan masukan dan diskusi dari rekan kerja mereka.

Contoh: FedCM

Penjelasan FedCM di GitHub.

Federated Credential Management (FedCM) adalah API yang menawarkan pendekatan yang berfokus pada privasi dan mudah digunakan untuk pendaftaran dan login pengguna, yang dikenal sebagai identitas gabungan. Misalnya, hal ini berlaku untuk Login dengan Google dan login melalui media sosial lainnya.

Untuk membuat API browser, langkah pertama adalah menyiapkan proposal untuk diskusi publik. Proposal FedCM dipublikasikan di GitHub sebagai penjelasan. Semua orang diundang untuk mengajukan pertanyaan atau mengomentari desain fitur, dengan membuat Masalah GitHub di repositori penjelasan. Masukan dapat mencakup deskripsi developer tentang kasus penggunaan tambahan, batasan, ide untuk peningkatan, atau janji dukungan.

Setelah proposal diadopsi oleh badan standardisasi, seperti W3C, pemangku kepentingan dapat bergabung dalam diskusi dan menonton presentasi di grup standar web, seperti Grup Kerja W3C.

Untuk setiap tonggak pencapaian saat engineer mengerjakan fitur baru atau perubahan pada mesin rendering Blink, mereka memublikasikan postingan di grup diskusi blink-dev, yang menjelaskan bahwa mereka bermaksud untuk beralih ke fase berikutnya menuju penerapan fitur. Postingan ini disebut "niat". Siapa pun dapat berlangganan grup blink-dev untuk mendapatkan notifikasi saat ada progres dengan fitur baru di Blink, atau berlangganan fitur tertentu untuk mendapatkan info terbaru.

Maksud untuk Membuat Prototipe

Pada tahap ini, engineer Chromium dapat mulai menerapkan fitur. Artinya, fungsi prototipe untuk fitur ini dapat tersedia untuk pengujian developer di balik flag fitur, awalnya di Chrome Canary, lalu di saluran rilis lainnya. Setiap pengguna dapat menyetel tanda dari halaman chrome://flags untuk mengaktifkan dan menguji fitur di browser mereka.

Namun, tidak semua tanda dapat disetel dari halaman chrome://flags. Untuk kontrol yang lebih mendetail, Anda dapat menjalankan Chrome dari terminal, menggunakan flag command line. Perlu diingat bahwa beberapa fitur baru tidak tersedia hingga fitur tersebut diluncurkan untuk pengujian di Chrome Canary—meskipun hal ini cukup jarang terjadi. Beberapa fitur tidak memiliki tanda sendiri, tetapi tersedia jika tanda experimental-web-platform-features diaktifkan. Hal ini biasanya terjadi pada fitur "lebih kecil" yang memerlukan waktu paling lama tiga hingga enam bulan untuk diterapkan.

Mengumpulkan masukan tentang prototipe

Setelah pembuatan prototipe fitur baru dimulai, engineer Chromium mengundang diskusi dan eksperimen awal. Masukan pada tahap ini sangat penting untuk memvalidasi dan melakukan iterasi pada proposal. Bug Chromium adalah tempat untuk mengomentari penerapan di Chrome.

Buat masalah di Pelacak Masalah Chromium.

Maksud untuk Bereksperimen: Pengujian di dunia nyata

Postingan Niat untuk Bereksperimen di blink-dev adalah langkah berikutnya yang opsional, jika engineer Chrome ingin meminta untuk menjalankan uji coba origin.

Niat untuk Melakukan Eksperimen untuk FedCM.

Uji coba origin adalah cara untuk menguji fitur platform web baru atau eksperimental. Anda mendaftar ke uji coba origin suatu fitur, lalu mendapatkan token untuk uji coba tersebut. Fitur akan diaktifkan di halaman mana pun yang menyediakan token.

Daftar Uji Coba Origin Chrome yang tersedia.

Agar progres penerapan fitur dapat dilanjutkan, pemilik API Blink harus memberikan persetujuan dengan membalas maksud dengan postingan "looks good to me", yang dikenal sebagai LGTM.

Pemilik API Blink adalah sekelompok kecil kontributor Chromium, yang sangat berpengalaman dengan platform web dan API-nya, dan disetujui oleh komunitas Blink sebagai orang yang memiliki reputasi baik, dengan komitmen terhadap misi dan nilai-nilai Blink. Selain memberikan persetujuan (atau tidak!) agar fitur dapat dilanjutkan ke tahap penerapan, Pemilik API mengawasi proses Maksud Blink itu sendiri.

Niat untuk Melakukan Eksperimen harus mendapatkan setidaknya satu LGTM dari pemilik API.

LGTM di postingan FedCM Intent to Experiment.

Nilai uji coba origin

Developer dapat mendaftar ke uji coba origin suatu fitur, lalu menguji fitur tersebut dalam produksi di lingkungan dunia nyata, dengan pengguna sungguhan—tanpa pengguna perlu melakukan tindakan agar fitur tersebut diaktifkan. Developer dapat membagikan hasil pengujian mereka, dan hal ini memberikan insight dan data berharga untuk membantu melakukan iterasi dan mengembangkan fitur.

Maksud Pengiriman: Tonggak pencapaian terakhir

Maksud untuk Meluncurkan menandakan bahwa suatu fitur kini telah selesai dan siap diterapkan untuk ketersediaan umum, bagi semua pengguna di Chrome Stabil tanpa memerlukan tanda atau token uji coba. Maksud untuk Mengirim harus mendapatkan tiga LGTM dari pemilik API, sebelum penerapan dapat dilanjutkan.

Meluncurkan fitur baru

Setelah disetujui, fitur akan digabungkan ke rilis mendatang, lalu diproses melalui saluran rilis Chrome. Pengujian dan penerapan fitur baru sering kali ditangani dengan sangat hati-hati. Beberapa fitur diluncurkan secara bertahap, kepada proporsi pengguna yang terus meningkat. Fitur juga dapat di-roll back dan dikerjakan ulang, jika ada efek samping yang tidak terduga.

Mengelola penghentian penggunaan dan penghapusan

Ada dua jenis intent Blink lainnya:

  • Niat untuk Menghentikan Penggunaan
  • Maksud Penghapusan

Mungkin terdengar agak menyedihkan, tetapi sebenarnya sangat penting untuk keberhasilan pengembangan Blink.

Intent untuk Menghentikan Penggunaan diposting oleh engineer saat mereka ingin mulai memperingatkan developer bahwa suatu fitur dijadwalkan untuk dihentikan penggunaannya. Misalnya, dengan memberikan dukungan dan informasi tentang penghentian penggunaan di konsol Chrome DevTools.

Maksud untuk Menghapus diposting saat engineer bermaksud agar kode dinonaktifkan secara default.

LGTM di Intents to Deprecate di blink.dev.

Pentingnya penghentian penggunaan dan penghapusan

Penghentian penggunaan dan penghapusan keduanya sangat penting untuk kesehatan platform web. Mereka memastikan Chrome dapat menghapus fitur yang tidak berfungsi dengan baik bagi pengguna akhir atau developer web—dan membantu mengurangi kompleksitas codebase. Misalnya, masalah pada desain AppCache ditemukan setelah digunakan di situs produksi dalam browser stabil, dan API akhirnya dihapus. Penghentian penggunaan dan penghapusan juga membantu menjaga keamanan Chrome, dengan mengurangi potensi vektor serangan.

Seperti semua maksud Blink, tim Chrome berupaya sebaik mungkin untuk mendekati keputusan dengan hati-hati. Mereka meninjau tingkat penggunaan fitur dan data lainnya sebelum melanjutkan. Standar untuk menghapus fitur sebenarnya sangat tinggi, dan fitur hanya akan dihapus jika digunakan oleh sebagian kecil pengguna, dan jika alternatif yang lebih baik tersedia.

Anda dapat melacak progres fitur di Status Chrome, tempat Anda dapat berlangganan info terbaru, melaporkan bug, dan menemukan sumber daya lainnya.

Roadmap fitur Chrome di chromestatus.com.

Untuk memantau fitur baru, ikuti Blog Chromium dan bergabung dengan grup diskusi blink-dev. Grup ini dapat menghasilkan banyak email, jadi sebaiknya Anda berlangganan satu maksud. Anda dapat melihat spreadsheet maksud Blink.

Jika sangat menyukai Maksud Blink, Anda bahkan dapat membangun layanan Pelacak Maksud Blink otomatis.

Langkah berikutnya

Lihat Apa itu saluran rilis Chrome?.