เมื่อวิศวกรต้องการทําการเปลี่ยนแปลงเครื่องมือแสดงผล Blink จะต้องโพสต์ในรายชื่ออีเมล blink-dev เพื่อขออนุมัติให้ดําเนินการต่อ โพสต์ในรายชื่ออีเมลเหล่านี้เรียกว่า Blink Intent
เว็บเบราว์เซอร์ที่ใช้ Chromium ใช้เครื่องมือแสดงผล Blink เพื่อเปลี่ยนโค้ดและทรัพยากรให้เป็นหน้าเว็บที่คุณดูและโต้ตอบได้

ดูวิธีการทำงานของ Blink Intents, เหตุผลที่มีความสำคัญ และวิธีที่ฟีเจอร์ใหม่ๆ เข้ามาสู่ Blink
Chromium และ Blink
Chromium เป็นโปรเจ็กต์เบราว์เซอร์โอเพนซอร์สที่ใช้สร้าง Chrome รวมถึงเบราว์เซอร์และเฟรมเวิร์กอื่นๆ บางรายการ Blink คือเครื่องมือแสดงผลที่ Chromium ใช้
ฟีเจอร์ใหม่ที่จะเปิดตัวใน Blink ต้องผ่านกระบวนการพัฒนาแบบเปิดของโปรเจ็กต์ Chromium "ฟีเจอร์ใหม่" คือการเปลี่ยนแปลงหรือการเพิ่มโค้ดหรือสถาปัตยกรรมของเบราว์เซอร์ ซึ่งอาจเป็น JavaScript API ใหม่ การเพิ่มประสิทธิภาพที่สำคัญในโค้ด Blink หรือการเปลี่ยนแปลงอื่นๆ ในลักษณะที่เบราว์เซอร์แสดงหรือทำงาน
กระบวนการแบบเปิดและการทำงานร่วมกัน
Chromium เป็นโปรเจ็กต์ขนาดใหญ่ที่ซับซ้อนซึ่งมีผู้มีส่วนร่วมหลายพันคน เมื่อ Chromium มีการเปลี่ยนแปลง แต่ละเหตุการณ์สำคัญถือเป็นโอกาสในการเชิญชวนให้ระบบนิเวศเว็บที่กว้างขึ้นแสดงความคิดเห็นเกี่ยวกับการออกแบบและการใช้งาน
ฟีเจอร์ใหม่ต้องทํางานร่วมกันได้บนแพลตฟอร์มเว็บต่างๆ ให้ได้มากที่สุด และไม่ควรติดตั้งใช้งานในเบราว์เซอร์เพียงเบราว์เซอร์เดียว นักพัฒนาเว็บไม่ต้องการสิ่งที่ไม่คาดคิด เช่น เมื่อเบราว์เซอร์ไม่ทำงานตามที่คาดไว้ หรือเมื่อคุณจำเป็นต้องเขียนโค้ดที่แตกต่างกันสำหรับเบราว์เซอร์และแพลตฟอร์มต่างๆ Blink Intents ช่วยจัดโครงสร้างและควบคุมกระบวนการเปลี่ยนแปลงเพื่อให้คาดการณ์การเปลี่ยนแปลงได้มากขึ้นและลดความประหลาดใจ ซึ่งเป็นสิ่งที่ดีสำหรับนักพัฒนาเว็บ
สําหรับผู้ใช้ ผู้ให้บริการเบราว์เซอร์ต้องระมัดระวังไม่ให้การเปลี่ยนแปลงทําให้เว็บไซต์หยุดทํางาน เจ้าของเว็บไซต์มักหยุดดูแลรักษาเว็บไซต์ บางเว็บไซต์ไม่มีการอัปเดตมานานหลายทศวรรษ ผู้ให้บริการเบราว์เซอร์ต้องคำนึงถึงเรื่องนี้เมื่อทำการเปลี่ยนแปลงที่อาจทำให้เกิดข้อขัดข้อง
จากไอเดียสู่ข้อเสนอ
คำแนะนำสำหรับการเปลี่ยนแปลงและการอัปเดตแพลตฟอร์มเว็บมาจากการศึกษาวิจัย การให้คำปรึกษากับผู้ใช้ ธุรกิจ วิศวกรเบราว์เซอร์ นักพัฒนาเว็บ และผู้มีส่วนเกี่ยวข้องอื่นๆ การวิจัยนี้ช่วยให้ทีม Chrome ทราบสิ่งที่ขาดหายไปจากแพลตฟอร์มหรือสิ่งที่ต้องเปลี่ยนแปลง ในช่วงแรก โปรเจ็กต์การเปลี่ยนแปลงหรือฟีเจอร์ใหม่บนแพลตฟอร์มเว็บเป็นเพียงถ้อยคำบนหน้าเว็บ วิศวกรแชร์เอกสารเพื่อขอความคิดเห็นและการสนทนาจากเพื่อนร่วมงาน
ตัวอย่าง: FedCM
การจัดการข้อมูลเข้าสู่ระบบแบบรวมศูนย์ (FedCM) คือ API ที่ให้กลไกใหม่และดีขึ้นสำหรับแพลตฟอร์มที่จัดการการลงชื่อสมัครใช้และการเข้าสู่ระบบของผู้ใช้ ซึ่งเรียกว่าข้อมูลประจำตัวแบบรวมศูนย์ เช่น เมื่อคุณเลือก "ลงชื่อเข้าใช้ด้วย Google" หรือ "ลงชื่อเข้าใช้ด้วย GitHub"
เมื่อข้อเสนออย่าง FedCM พร้อมสำหรับการพูดคุยแบบสาธารณะแล้ว ระบบจะเผยแพร่ข้อเสนอดังกล่าวใน GitHub เป็นคำอธิบาย เมื่อถึงจุดนี้ ทุกคนสามารถถามคำถามหรือแสดงความคิดเห็นเกี่ยวกับการออกแบบฟีเจอร์ได้โดยการสร้างปัญหาในที่เก็บคำอธิบายบน GitHub ความคิดเห็นอาจอธิบายกรณีการใช้งานหรือข้อจำกัดเพิ่มเติม แสดงแนวคิดในการปรับปรุง หรือเพียงแค่แสดงการสนับสนุน

เมื่อองค์กรมาตรฐาน เช่น W3C ยอมรับข้อเสนอแล้ว ผู้มีส่วนเกี่ยวข้องจะเข้าร่วมการสนทนาและดูงานนำเสนอในกลุ่มมาตรฐานเว็บ เช่น กลุ่มทํางานของ W3C ได้
Blink Intents: เหตุการณ์สำคัญและความคืบหน้า
สำหรับแต่ละเหตุการณ์สำคัญเมื่อวิศวกรกำลังพัฒนาฟีเจอร์ใหม่หรือเปลี่ยนแปลงเครื่องมือแสดงผล Blink วิศวกรจะเผยแพร่โพสต์ในกลุ่มสนทนา blink-dev เพื่ออธิบายว่าพวกเขาตั้งใจที่จะไปยังระยะถัดไปเพื่อติดตั้งใช้งานฟีเจอร์ โพสต์เหล่านี้เรียกว่า "Intent" ทุกคนสามารถติดตามกลุ่ม blink-dev เพื่อรับการแจ้งเตือนเมื่อมีความคืบหน้าเกี่ยวกับฟีเจอร์ใหม่ใน Blink หรือติดตามฟีเจอร์แต่ละรายการเพื่อรับข้อมูลอัปเดต
เจตนาในการสร้างต้นแบบ: จุดตรวจแรก
เมื่อถึงขั้นตอนนี้ วิศวกร Chromium จะเริ่มติดตั้งใช้งานฟีเจอร์ได้ ซึ่งหมายความว่าฟังก์ชันการทำงานแบบต้นแบบของฟีเจอร์อาจพร้อมให้นักพัฒนาซอฟต์แวร์ทดสอบผ่านFlag ฟีเจอร์ โดยเริ่มจาก Chrome Canary ก่อน แล้วจึงค่อยเปิดให้ใช้งานในช่องทางรุ่นอื่นๆ ผู้ใช้ทุกคนสามารถตั้งค่า Flag จากหน้า chrome://flags เพื่อเปิดใช้งานและทดสอบฟีเจอร์ในเบราว์เซอร์ได้
อย่างไรก็ตาม การตั้งค่า Flag บางรายการจากหน้า chrome://flags นั้นไม่สามารถทำได้ หากต้องการการควบคุมที่ละเอียดยิ่งขึ้น คุณสามารถเรียกใช้ Chrome จากเทอร์มินัลได้โดยใช้ Flag บรรทัดคำสั่ง โปรดทราบว่าฟีเจอร์ใหม่บางรายการอาจยังไม่พร้อมใช้งานจนกว่าจะมีการเปิดตัวฟีเจอร์ดังกล่าวให้ทดลองใช้ใน Chrome Canary ซึ่งกรณีนี้เกิดขึ้นไม่บ่อยนัก ฟีเจอร์บางอย่างไม่มี Flag ของตัวเอง แต่จะใช้ได้หากเปิดใช้ Flag experimental-web-platform-features โดยทั่วไปแล้ว กรณีนี้มักจะเป็นฟีเจอร์ "ขนาดเล็ก" ที่ใช้เวลาไม่เกิน 3-6 เดือนในการนำใช้งาน
การรวบรวมความคิดเห็นเกี่ยวกับต้นแบบ
เมื่อเริ่มสร้างต้นแบบของฟีเจอร์ใหม่แล้ว วิศวกร Chromium จะเชิญให้เข้าร่วมการสนทนาและการทดลองขั้นต้น ความคิดเห็นในขั้นตอนนี้มีความสำคัญอย่างยิ่งต่อการตรวจสอบและปรับปรุงข้อเสนอ ข้อบกพร่องของ Chromium เป็นแพลตฟอร์มสำหรับแสดงความคิดเห็นเกี่ยวกับการใช้งานใน Chrome

เจตนาที่จะทดสอบ: การทดสอบในชีวิตจริง
โพสต์แสดงเจตนาทดลองใน blink-dev เป็นขั้นตอนถัดไปที่ไม่บังคับ หากวิศวกรของ Chrome ต้องการส่งคำขอเรียกใช้ช่วงทดลองใช้จากต้นทาง

ช่วงทดลองใช้จากต้นทางเป็นวิธีทดสอบฟีเจอร์ใหม่หรือฟีเจอร์ทดลองของแพลตฟอร์มเว็บ คุณต้องลงทะเบียนช่วงทดลองใช้ฟีเจอร์จากต้นทาง จากนั้นจะได้รับโทเค็นสำหรับช่วงทดลองใช้ ระบบจะเปิดใช้งานฟีเจอร์นี้ในหน้าเว็บใดก็ตามที่ให้โทเค็น

การอนุมัติจากเจ้าของ Blink API
หากต้องการให้การนําฟีเจอร์ไปใช้สําเร็จ เจ้าของ Blink API จะต้องให้ความยินยอมโดยการตอบกลับความตั้งใจด้วยโพสต์ "ดูดีเลย" หรือที่เรียกว่า LGTM
เจ้าของ Blink API คือผู้มีส่วนร่วมของ Chromium กลุ่มเล็กๆ ที่มีประสบการณ์สูงในแพลตฟอร์มเว็บและ API ของแพลตฟอร์มดังกล่าว และได้รับการยอมรับจากชุมชน Blink ว่าอยู่ในสถานะดี รวมถึงมีความมุ่งมั่นในพันธกิจและคุณค่าของ Blink เจ้าของ API จะเป็นผู้ดูแลกระบวนการ Blink Intent เองนอกเหนือจากการให้อนุมัติ (หรือไม่อนุมัติ) ฟีเจอร์เพื่อนำไปใช้งาน
ความตั้งใจที่จะทดสอบต้องได้รับ LGTM จากเจ้าของ API อย่างน้อย 1 ราย

คุณค่าของช่วงทดลองใช้จากต้นทาง
นักพัฒนาแอปสามารถลงชื่อสมัครใช้ช่วงทดลองใช้เวอร์ชันต้นทางของฟีเจอร์ จากนั้นทดสอบฟีเจอร์ในเวอร์ชันที่ใช้งานจริงในสภาพแวดล้อมจริงกับผู้ใช้จริงได้โดยไม่ต้องให้ผู้ใช้ดำเนินการใดๆ เพื่อเปิดใช้งานฟีเจอร์ นักพัฒนาแอปสามารถแชร์ผลการทดสอบ ซึ่งจะให้ข้อมูลเชิงลึกและข้อมูลที่เป็นประโยชน์ในการปรับปรุงและพัฒนาฟีเจอร์
เจตนาที่จะจัดส่ง: เหตุการณ์สำคัญสุดท้าย
สัญญาณ "ตั้งใจจะเปิดตัว" บ่งบอกว่าฟีเจอร์หนึ่งๆ พร้อมใช้งานแล้วและพร้อมที่จะนำไปใช้งานในเวอร์ชันสำหรับผู้ใช้ทั่วไปสำหรับผู้ใช้ทุกคนใน Chrome เวอร์ชันเสถียรโดยไม่ต้องใช้ Flag หรือโทเค็นทดลองใช้ ความตั้งใจที่จะเปิดตัวต้องได้รับ LGTM 3 รายการจากเจ้าของ API ก่อนจึงจะติดตั้งใช้งานได้
การเปิดตัวฟีเจอร์ใหม่
เมื่อได้รับอนุมัติแล้ว ระบบจะผสานฟีเจอร์นั้นลงในรุ่นที่กำลังจะเปิดตัว จากนั้นจะพัฒนาผ่านช่องทางการเผยแพร่ของ Chrome การทดสอบและการใช้งานฟีเจอร์ใหม่มักได้รับการจัดการอย่างระมัดระวังเป็นพิเศษ ฟีเจอร์บางอย่างจะทยอยเปิดตัวแก่ผู้ใช้จำนวนมากขึ้น นอกจากนี้ เรายังอาจเปลี่ยนฟีเจอร์กลับและปรับปรุงใหม่ได้หากเกิดผลข้างเคียงที่ไม่คาดคิด
การจัดการวงจรของฟีเจอร์: การเลิกใช้งานและการนำออก
Intent ของ Blink ยังมีอีก 2 ประเภท ได้แก่
- เจตนาที่จะเลิกใช้งาน
- เจตนาที่จะนำออก
ข้อมูลเหล่านี้อาจฟังดูน่าเศร้า แต่มีความสำคัญต่อการพัฒนา Blink ให้ประสบความสำเร็จ
วิศวกรจะโพสต์ความตั้งใจที่จะเลิกใช้งานเมื่อต้องการเริ่มเตือนนักพัฒนาซอฟต์แวร์ว่าฟีเจอร์หนึ่งๆ มีกำหนดการเลิกใช้งาน เช่น การให้การสนับสนุนและข้อมูลเกี่ยวกับการเลิกใช้งานในคอนโซลเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome
ระบบจะโพสต์ความตั้งใจที่จะนําออกเมื่อวิศวกรต้องการปิดใช้งานโค้ดโดยค่าเริ่มต้น

ความสำคัญของการเลิกใช้งานและการนำออก
การเลิกใช้งานและการนำออกมีความสำคัญต่อประสิทธิภาพของแพลตฟอร์มเว็บ ทีมนี้ช่วยให้มั่นใจได้ว่า Chrome จะนำฟีเจอร์ที่ไม่เหมาะกับผู้ใช้ปลายทางหรือนักพัฒนาเว็บออกได้ และช่วยลดความซับซ้อนของโค้ดเบส ตัวอย่างเช่น เราพบว่ามีปัญหาเกี่ยวกับการออกแบบ AppCache เมื่อนำไปใช้ในเว็บไซต์เวอร์ชันที่ใช้งานจริงในเบราว์เซอร์ที่เสถียร และในที่สุดก็นํา API ดังกล่าวออก การเลิกใช้งานและการนำออกยังช่วยให้ Chrome ปลอดภัยอยู่เสมอด้วย โดยลดเวกเตอร์การโจมตีที่อาจเกิดขึ้น
เช่นเดียวกับ Intent ทั้งหมดของ Blink ทีม Chrome พยายามอย่างเต็มที่ในการตัดสินใจอย่างรอบคอบ โดยทีมจะตรวจสอบอัตราการใช้ฟีเจอร์และข้อมูลอื่นๆ ก่อนดำเนินการต่อ เกณฑ์ในการนําฟีเจอร์ออกนั้นสูงมาก และเราจะนําฟีเจอร์ออกก็ต่อเมื่อผู้ใช้ส่วนน้อยมากใช้ฟีเจอร์นั้น และหากมีทางเลือกที่ดีกว่า
ติดตามข่าวสารเกี่ยวกับ Blink Intent
คุณติดตามความคืบหน้าของฟีเจอร์ต่างๆ ได้ในสถานะ Chrome ซึ่งคุณสามารถสมัครรับข้อมูลอัปเดต รายงานข้อบกพร่อง และค้นหาแหล่งข้อมูลอื่นๆ ได้

หากต้องการติดตามฟีเจอร์ใหม่ๆ โปรดติดตามบล็อก Chromium คุณติดตามข่าวสารเกี่ยวกับ Blink Intent ทั้งหมดได้โดยเข้าร่วมกลุ่มสนทนา blink-dev ซึ่งอาจส่งผลให้มีอีเมลจำนวนมาก หรือคุณอาจต้องการติดตาม Intent รายการเดียว คุณดูสเปรดชีตของ Intent ของ Blink ได้ที่ bit.ly/blinkintents หากชอบ Blink Intent จริงๆ คุณยังสร้างบริการติดตาม Blink Intent แบบอัตโนมัติได้ด้วย