เผยแพร่: 3 เมษายน 2025
เมื่อถึงเวลาเปิดตัวฟีเจอร์ใหม่ใน Chrome เราจะมีการตรวจสอบและถ่วงดุลหลายอย่างเพื่อให้มั่นใจว่าฟีเจอร์จะทำงานได้ เป็นไปตามข้อกำหนด และเชื่อถือได้ หนึ่งในความสมดุลเหล่านั้นคือการทดลองของ Finch อย่าปล่อยให้ส่วน "การทดลอง" ของชื่อทำให้คุณคิดว่าไม่ปลอดภัย เพราะจริงๆ แล้วตรงกันข้าม การเปิดตัว Finch ช่วยให้เราเพิ่มฟีเจอร์ที่อาจทำให้เกิดปัญหาความเข้ากันได้อย่างปลอดภัย เนื่องจากช่วยให้เราปิดใช้ฟีเจอร์ได้อย่างรวดเร็วหากพบปัญหาที่ไม่คาดคิด บทความนี้จะอธิบายวิธีและเหตุผลที่เราใช้ Finch สำหรับการเปิดตัวฟีเจอร์บางอย่างใน Chrome
โดยทั่วไป การเปิดใช้ฟีเจอร์ใน Chrome หมายถึงการสลับบูลีนจากปิดเป็นเปิดใน Chrome เมื่อฟีเจอร์ใหม่ "เปิดตัว" ก็หมายความว่าสถานะเริ่มต้นของบูลีนนี้จะเปลี่ยนเป็น "เปิด" สำหรับผู้ใช้ทุกคน ซึ่งคุณทำได้หลายวิธีดังนี้
- เปิดใช้ฟีเจอร์ "ในโค้ด": ซึ่งหมายความว่าไฟล์ปฏิบัติการของ Chrome เองมีการตั้งค่าที่เปิดใช้โดยค่าเริ่มต้น
- เปิดใช้ฟีเจอร์ "โดยช่วงทดลองใช้จากต้นทาง": ระบบช่วงทดลองใช้จากต้นทางเป็นวิธีที่เว็บไซต์หนึ่งๆ จะเลือกให้ผู้ใช้ Chrome ทุกคนเข้าร่วมการทดลอง ซึ่งจะเปิดใช้ฟีเจอร์หนึ่งๆ ในเว็บไซต์นั้นเท่านั้น
- เปิดใช้ฟีเจอร์ "โดยใช้ Finch": Chrome จะดึงข้อมูลไฟล์การกำหนดค่าจากเซิร์ฟเวอร์เป็นระยะๆ และไฟล์นี้อาจมีวิธีการเปิดหรือปิดใช้ฟีเจอร์
- "สวิตช์หยุดทำงานของ Finch": คือการปิดใช้ "การใช้ Finch" ในกรณีนี้ ฟีเจอร์จะเปิดใช้ "ในโค้ด" แต่จะปิดใช้โดยใช้ระบบ Finch ซึ่งมักเกิดจากปัญหาที่ตรวจพบหลังจากเปิดตัว
กรณีการใช้งาน Finch
หัวข้อของบล็อกโพสต์นี้คือ Finch ดังนั้นเราจะไม่พูดถึงการเปิดใช้ "ในโค้ด" หรือ "ช่วงทดลองใช้จากต้นทาง" มากนัก แต่ Finch มี Use Case ที่น่าสนใจหลายอย่าง
ทดสอบกับผู้ใช้กลุ่มเล็กๆ (การทดสอบ A/B)
โดยส่วนใหญ่ Finch จะใช้เพื่อทำ "การทดสอบ A/B" ของฟีเจอร์หรือการเพิ่มประสิทธิภาพ ในกรณีนี้ ระบบจะเปิดใช้ฟีเจอร์สำหรับผู้ใช้เพียงไม่กี่เปอร์เซ็นต์ เพื่อให้สามารถรวบรวมข้อมูลเกี่ยวกับความแตกต่างในด้านประสิทธิภาพ พฤติกรรม หรือการใช้งานเมื่อเปิดใช้ฟีเจอร์เทียบกับเมื่อปิดใช้
ตัวอย่างของการทดสอบ A/B คือตอนที่เราเปิดตัวการถอดรหัสรูปภาพแบบคาดการณ์ การปรับปรุงนี้จะช่วยเพิ่มประสิทธิภาพ ซึ่งนักพัฒนาซอฟต์แวร์หรือผู้ใช้ไม่ควรสังเกตเห็นการเปลี่ยนแปลงใดๆ นอกเหนือจากการที่ Chrome โหลดหน้าเว็บได้เร็วขึ้น แต่เพื่อให้แน่ใจว่าไม่มีอะไรที่ไม่คาดคิดเกิดขึ้น และเพื่อให้วัดผลกระทบต่อประสิทธิภาพได้อย่างแม่นยำ เราจึงใช้ Finch เพื่อทำการทดสอบ A/B
ปิดใช้ฟีเจอร์ที่มีปัญหา
Chrome สามารถใช้ระบบ Finch เพื่อปิดใช้ฟีเจอร์ที่มีปัญหาซึ่งเปิดใช้ "ในโค้ด" จากระยะไกลเพื่อความปลอดภัยของผลิตภัณฑ์และประสบการณ์ของผู้ใช้ ตัวอย่างเช่น หากฟีเจอร์เปิดใช้โดยค่าเริ่มต้น แต่ปัญหาเกิดขึ้นหลังจากที่ Chrome มีสถานะเป็นเวอร์ชันเสถียรแล้ว เราจำเป็นต้องมีวิธีปิดใช้ฟีเจอร์อย่างรวดเร็วเพื่อนำผู้ใช้และธุรกิจกลับสู่สถานะที่ปลอดภัย ซึ่งอาจจำเป็นในกรณีที่ฟีเจอร์มีข้อบกพร่องที่ยังไม่พบ หรือเมื่อฟีเจอร์ทำให้เว็บไซต์ที่มีอยู่ใช้งานไม่ได้ด้วยเหตุผลที่คาดไม่ถึง
เปิดใช้ฟีเจอร์ที่มีความเสี่ยงในวิธีที่ปลอดภัยยิ่งขึ้น
ฟีเจอร์ส่วนใหญ่ที่ Chrome เปิดตัวมีความเสี่ยงน้อย เนื่องจากเราสามารถทดสอบและยืนยันได้ว่าโค้ดใหม่ใช้งานได้ในทุกเว็บไซต์
อย่างไรก็ตาม บางครั้งการเปิดตัวฟีเจอร์อาจมีความเสี่ยงสูงเนื่องจากปัญหาด้านความเข้ากันได้ที่ไม่รู้จักหรือการโต้ตอบที่ซับซ้อนอื่นๆ ในกรณีนี้ คุณสามารถใช้ระบบ Finch เพื่อเปิดใช้ฟีเจอร์นี้จริงๆ แทนที่จะเก็บไว้เป็นสวิตช์ปิดการทำงาน
ตัวอย่างเช่น "การผ่อนปรน" ของโปรแกรมแยกวิเคราะห์ HTML เป็นการเปลี่ยนแปลงที่เกี่ยวข้องกับฟีเจอร์ใหม่ที่เลือกได้ซึ่งอนุญาตให้วางเนื้อหาภายในองค์ประกอบ <select> ได้มากกว่าเดิม เนื่องจากการเปลี่ยนแปลงนี้อาจทำให้เว็บไซต์ที่มีอยู่เสียหายได้ เราจึงต้องเปิดตัวอย่างระมัดระวัง
การเปิดใช้ฟีเจอร์โดยใช้ Finch อาจปลอดภัยกว่าการใช้ Finch เพื่อนำฟีเจอร์ออก เนื่องจาก Finch ไม่ได้เข้าถึงผู้ใช้ 100% ด้วยเหตุผลต่างๆ เช่น ผู้ใช้ระดับองค์กรบางรายมีนโยบายที่ห้ามการกำหนดค่า Finch โดยสิ้นเชิง ผู้ใช้เหล่านั้นจะยังคงมีความเสี่ยงในกรณีที่เปิดใช้ฟีเจอร์ในโค้ด แล้วปิดใช้โดยใช้ Finch เนื่องจากผู้ใช้จะไม่ได้รับการตั้งค่า Finch และจะยังคงเปิดใช้ฟีเจอร์ต่อไป แต่หากเปิดใช้ฟีเจอร์โดยใช้ Finch เราจะรับประกันได้ว่าผู้ใช้ทุกคนจะสามารถปิดใช้ฟีเจอร์นี้ได้ในกรณีฉุกเฉิน
วิธีตรวจสอบว่าคุณกำลังใช้การทดสอบ Finch
ซึ่งผู้ใช้ทำได้ยากโดยตรง วิธีที่แนะนำคือติดต่อวิศวกรของ Chrome (โดยส่วนใหญ่จะอยู่ในบริบทของข้อบกพร่องของ Chromium) แล้วส่ง "รายการการเปลี่ยนแปลง" ให้ นี่คือรายการการตั้งค่า Finch ทั้งหมดสำหรับเบราว์เซอร์ที่กำหนดในเวอร์ชันที่เข้ารหัสพิเศษ คุณสามารถดึงข้อมูลได้ง่ายๆ โดยทำดังนี้
- นำทางไปยัง
chrome://version - คัดลอกรายการข้อความทั้งหมด (อาจยาวมาก) ที่แสดงข้าง "รูปแบบที่ใช้งานอยู่"
- วางข้อความนั้นลงในไฟล์ข้อความ (เช่น
variations.txt) แล้วแนบไปกับข้อบกพร่อง
รายการการเปลี่ยนแปลงนี้ช่วยให้วิศวกรของ Chrome ถอดรหัสรายการและดูได้ว่าฟีเจอร์ใดที่เปิดหรือปิดใช้ในเบราว์เซอร์ของคุณ
จะเกิดอะไรขึ้นเมื่อการทดสอบ Finch ทำงานได้ 100% และพร้อมใช้งาน
เมื่อเรามั่นใจว่าการทดสอบ "ประสบความสำเร็จ" และฟีเจอร์ที่เป็นประเด็นไม่ได้ก่อให้เกิดความเสี่ยงต่อนักพัฒนาแอปหรือผู้ใช้ เราจะเปิดใช้ฟีเจอร์ "ในโค้ด" เสมอ ตอนนี้คุณสามารถกำหนดวันที่สิ้นสุดการกำหนดค่า Finch ได้อย่างปลอดภัย เพื่อให้การกำหนดค่าดังกล่าวไม่มีผลกับเบราว์เซอร์หลังจากเวอร์ชันที่เปิดใช้ฟีเจอร์ในโค้ด