กลไกสำหรับ Chrome ในการทดสอบฟีเจอร์ใหม่ของเบราว์เซอร์
คุณอาจเคยได้ยินเกี่ยวกับ Chrome Variations หรือ Chrome Field Trials หรืออาจเคยได้ยินชื่อรหัสภายใน Chrome Finch มาแล้ว
ชื่อทั้งหมดนี้มีความหมายเหมือนกัน คือกลไกในการทดสอบฟีเจอร์ใหม่หรือการเปลี่ยนแปลงในเบราว์เซอร์ Chrome หรือระบบปฏิบัติการ Chrome ที่ทำงานบน Chromebook
Chrome รูปแบบต่างๆ ใช้ทำอะไร
รูปแบบของ Chrome ช่วยให้ Chrome เปิดใช้งานฟีเจอร์ใหม่ ปิดใช้งานฟีเจอร์ หรือลองเปลี่ยนแปลงฟีเจอร์สำหรับผู้ใช้บางส่วนได้
บางอย่างใน Chrome อาจไม่ได้นำมาใช้ผ่านกลไกของ Chrome Variation แต่ทีม Chrome สามารถใช้ Chrome เวอร์ชันอื่นๆ ได้ทุกเมื่อที่เราต้องระมัดระวังเป็นพิเศษเกี่ยวกับการเปลี่ยนแปลง หรือเมื่อมีความเสี่ยงที่การเปลี่ยนแปลงอาจส่งผลกระทบต่อประสิทธิภาพในแบบที่เราไม่ได้คาดหวัง "การเปลี่ยนแปลง" อาจหมายถึงการเพิ่มประสิทธิภาพในโค้ดของ Chrome การอัปเดตรูปลักษณ์หรือการทำงานของเบราว์เซอร์ หรือบางครั้งอาจเป็นการแก้ไข JavaScript API
คุณยังใช้ตัวแปรของ Chrome เพื่อตรวจสอบสมมติฐานเกี่ยวกับการเปลี่ยนแปลงหรือการอัปเดตได้ด้วย ตัวอย่างเช่น สำหรับเปอร์เซ็นต์ของผู้ใช้ในกลุ่มรูปแบบ Chrome เราได้พยายามปรับพารามิเตอร์โปรโตคอลเครือข่าย QUIC เพื่อให้ Chrome ทำงานได้เร็วขึ้นตามเงื่อนไขของเครือข่ายจริงของผู้ใช้
อีกพื้นที่หนึ่งที่คุณอาจพบกับ Chrome Variation คือในกรณีที่ทํางานกับช่วงทดลองใช้จากต้นทางของ Chrome โดยค่าเริ่มต้น ฟีเจอร์ช่วงทดลองใช้จากต้นทางจะเปิดใช้ในทุกหน้าที่มีโทเค็นช่วงทดลองใช้ที่ถูกต้อง แต่ในบางกรณีจะใช้ Chrome รูปแบบต่างๆ เพื่อควบคุมการเปิดใช้งานฟีเจอร์ ซึ่งหมายความว่าฟีเจอร์ช่วงทดลองใช้จากต้นทางอาจไม่พร้อมใช้งานสำหรับผู้ใช้บางราย แม้จะเข้าชมหน้าเว็บที่มีโทเค็นช่วงทดลองใช้ที่ถูกต้องก็ตาม ข้อมูลเกี่ยวกับสัดส่วนของผู้ใช้ที่มีสิทธิ์เปิดใช้งานฟีเจอร์ช่วงทดลองใช้จากต้นทางจะอยู่ในเอกสารประกอบและข้อมูลอัปเดตเกี่ยวกับช่วงทดลองใช้จากต้นทางแต่ละรายการ
รูปแบบของ Chrome ทำงานอย่างไร
ทุก 30 นาทีบนเดสก์ท็อปหรืออุปกรณ์เคลื่อนที่ หรือทุกครั้งที่คุณเริ่มใช้ Chrome เบราว์เซอร์จะส่งคำขอไปยังแบ็กเอนด์ของ Chrome เพื่อรับไฟล์การกำหนดค่ารูปแบบของ Chrome หรือที่เรียกว่า Seed รูปแบบต่างๆ กล่าวอีกนัยหนึ่งคือ มีเซิร์ฟเวอร์เฉพาะสำหรับให้เมล็ดรูปแบบ Chrome Chrome จะส่งคำขอ HTTPS ไปยังเซิร์ฟเวอร์ และเซิร์ฟเวอร์จะตอบสนองด้วย Seed ที่บีบอัดแบบเดลต้า
เมื่อ Chrome ในอุปกรณ์ติดต่อแบ็กเอนด์ของรูปแบบ Chrome เพื่อรับไฟล์ตั้งต้น จะมีข้อมูลเกี่ยวกับเวอร์ชันของ Chrome และระบบปฏิบัติการที่ Chrome ทำงานอยู่ด้วย ไฟล์ที่ส่งคืนโดยแบ็กเอนด์ของรูปแบบ Chrome จะใช้เพื่อเปิดฟีเจอร์ ปิดฟีเจอร์ หรือระบุ รูปแบบต่างๆ ในฟีเจอร์
Chrome ใช้ข้อมูลในไฟล์ตั้งต้นและ randomization Seed ที่จัดเก็บไว้ในเครื่องเพื่อสุ่มกำหนดเบราว์เซอร์ให้กับกลุ่มรูปแบบ กล่าวคือ คุณสามารถใช้ Seed การสุ่ม รวมกับไฟล์ตั้งต้นจากแบ็กเอนด์ของรูปแบบ Chrome เพื่อเปิดใช้งานหรือปิดใช้งานฟีเจอร์ในเบราว์เซอร์สำหรับผู้ใช้บางส่วนได้ เบราว์เซอร์บนอุปกรณ์ของคุณจะติดตามว่ากลุ่มรูปแบบใด ที่อยู่ในนั้น
การเปิดตัวฟีเจอร์และช่องทาง Chrome
การใช้งาน Chrome Variation ที่สำคัญที่สุดอย่างหนึ่งคือการค่อยๆ เปิดตัวการเปลี่ยนแปลงหรือฟีเจอร์ใหม่ๆ แก่ผู้ใช้ตามเปอร์เซ็นต์ และที่สำคัญต่อแอปพลิเคชันที่ซับซ้อนอย่าง Chrome ซึ่งมีผู้ใช้หลายพันล้านคน ใช้อุปกรณ์หลายพันประเภทในหลายแพลตฟอร์ม และใช้ภาษาต่างๆ ได้หลายสิบภาษาสำหรับแอปและเว็บไซต์หลายล้านรายการ
Chrome ได้รับความคิดเห็นที่เป็นประโยชน์จากการใช้งานและการทดสอบใน Chrome Canary, Dev และ Beta เราสามารถใช้ Chrome เวอร์ชันอื่นๆ เพื่อเปิดหรือปิดใช้งานฟีเจอร์ในเวอร์ชันการเผยแพร่เหล่านี้ อย่างไรก็ตาม นักพัฒนาซอฟต์แวร์และผู้เชี่ยวชาญคนอื่นๆ จะใช้ช่องทางเหล่านั้นเป็นหลัก ผู้ใช้ Chrome เวอร์ชันเสถียรจะโต้ตอบกับ Chrome แตกต่างกันและใช้กับ Chrome ได้มากขึ้น เราจึงต้องตรวจสอบเวอร์ชันเสถียรเสมอ วิธีนี้ช่วยให้เราแก้ไขปัญหาที่พบในการใช้งานเบราว์เซอร์ตามปกติได้ วิศวกร Chrome ไม่สามารถคาดการณ์ได้ว่าผู้ใช้จริงจะตอบสนองต่อการเปลี่ยนแปลงและฟีเจอร์ใหม่ๆ ในวงกว้างอย่างไรเสมอไป
รูปแบบของ Chrome เป็นกลไกสำคัญในการช่วยในเรื่องนี้ ทำให้ตรวจสอบการใช้งานและเมตริกสำหรับ Chrome เวอร์ชันเสถียรได้ด้วยฟีเจอร์ที่เปิดใช้งานหรือปิดใช้งาน การวัดผลกระทบของการเปลี่ยนแปลงใน Chrome เวอร์ชันเสถียรทำให้เราสามารถจัดส่งฟีเจอร์ที่ดีที่สุดเท่าที่จะเป็นไปได้และสร้างเบราว์เซอร์ที่ดีขึ้นได้ แม้ว่าการทำงานจะซับซ้อนก็ตาม
วิศวกร Chrome จะใช้ Chrome เวอร์ชันอื่นๆ เมื่อใด
มี 3 เหตุผลหลักที่ Chrome จำเป็นต้องใช้ Chrome เวอร์ชันอื่นๆ
เปิดใช้งานฟีเจอร์ใหม่
การใช้ Chrome รูปแบบต่างๆ เพื่อควบคุมการเปิดใช้งานฟีเจอร์ใหม่จะมีประโยชน์อย่างยิ่งสำหรับทุกสิ่งที่อาจมีความเสี่ยงมากขึ้นหรืออาจส่งผลต่อประสิทธิภาพ
Chrome Variation ช่วยให้เราเผยแพร่ฟีเจอร์ใหม่แก่ผู้ใช้บางส่วนได้ จากนั้นวิศวกร Chrome จะสามารถตรวจสอบความแตกต่างของประสิทธิภาพหรือความคิดเห็นประเภทอื่นๆ จากกลุ่มรูปแบบ
ปิดใช้งานฟีเจอร์
คุณใช้ Chrome Varis เป็นกลไกความปลอดภัยในการปิดฟีเจอร์ได้ แม้ว่ากรณีนี้จะเกิดขึ้นไม่บ่อยนัก
ตัวอย่างเช่น ฟีเจอร์ใหม่ในการสร้างเครือข่ายอาจถูกโจมตีโดยการปฏิเสธการให้บริการ คุณสามารถใช้ Chrome Variation เพื่อปิดฟีเจอร์ข้างต้นได้อย่างรวดเร็ว เนื่องจากระบบจะดาวน์โหลดการกำหนดค่ารูปแบบของ Chrome ทุกๆ 30 นาที และการตั้งค่าจะเปิดใช้งานทุกครั้งที่คุณรีสตาร์ท Chrome ในทางตรงกันข้าม การอัปเดต Chrome และการรอให้เวอร์ชันใหม่เผยแพร่ไปยังผู้ใช้หลายพันล้านคนอาจช้ากว่ามาก
ลองเปลี่ยนแปลงสถานที่
สุดท้าย คุณสามารถใช้ Chrome เวอร์ชันอื่นๆ เพื่อตรวจสอบการเปลี่ยนแปลงและการอัปเดตได้ เช่น เราสามารถปรับแต่งความยากของเกมไดโนเสาร์ Chrome แบบออฟไลน์เพื่อทำให้การโต้ตอบรู้สึกสนุกขึ้น
และยังสามารถใช้รูปแบบของ Chrome เพื่อศึกษาผลกระทบในระยะยาวของฟีเจอร์ใหม่ๆ ได้อีกด้วย โดยจะใช้กลไกของ Chrome Variation เพื่อระงับฟีเจอร์สำหรับผู้ใช้ในจำนวนน้อยๆ โดยอาจเป็น 1% หรือน้อยกว่านั้น กลุ่มเปลี่ยนแนวทางอาจมีประโยชน์ในการตรวจสอบการเปลี่ยนแปลงและผลข้างเคียงที่มองเห็นได้เมื่อเวลาผ่านไป
กลุ่มเปลี่ยนแนวทางอาจมีความสำคัญอย่างยิ่งต่อการเปลี่ยนแปลงอินเทอร์เฟซผู้ใช้ ซึ่งผู้ใช้มีแนวโน้มที่จะโต้ตอบกับฟีเจอร์เมื่อเป็นฟีเจอร์ใหม่ แต่อาจทำงานแตกต่างออกไปในระยะยาว
ตัวอย่างเช่น เราได้เปิดตัวฟังก์ชันเครื่องมือเลือกรูปภาพใน Chrome แต่ฟีเจอร์ดังกล่าวถูกระงับชั่วคราวจากผู้ใช้ส่วนน้อยเพื่อเปรียบเทียบผลลัพธ์ เราได้จัดส่งเครื่องมือเลือกรูปภาพของ Android ใหม่ให้กับผู้ใช้ที่มีสัดส่วนสูง และในระยะแรกพบว่ามีจำนวนรูปภาพที่กลุ่มแชร์บนเว็บเพิ่มขึ้นอย่างมาก อย่างไรก็ตาม ในช่วง 6 เดือนที่เราเปลี่ยนแปลงแนวทางการ "เปลี่ยนแนวทาง" เราพบว่าการใช้งานเพิ่มขึ้นอย่างมาก เนื่องจากความพร้อมใช้งานของเครื่องมือเลือกรูปภาพใหม่แนะนำให้เว็บไซต์เพิ่มแอตทริบิวต์ "ยอมรับ" ลงในองค์ประกอบอินพุตไฟล์ ซึ่งจะช่วยให้ผู้ใช้ทุกคนได้รับประสบการณ์การใช้งานที่ดีขึ้น
มีการใช้รูปแบบของ Chrome ในการตรวจสอบความถูกต้อง
หากเปิดใช้การตั้งค่าเพื่อช่วยปรับปรุงฟีเจอร์และประสิทธิภาพของ Chrome ไว้ (chrome://settings/syncSetup?search=improve
) Chrome จะตรวจสอบและส่งเมตริกไปยังแบ็กเอนด์ของ Chrome ได้โดยอัตโนมัติ โดยใช้กลไกที่เรียกว่าการวิเคราะห์เมตริกผู้ใช้ (UMA) ดูตัวอย่างสถิติการใช้งานแบบไม่ระบุชื่อของ Chrome ได้ที่ chromestatus.com/metrics เช่น เปอร์เซ็นต์ของการโหลดหน้าเว็บที่ใช้พร็อพเพอร์ตี้ CSS หรือฟีเจอร์ HTML หรือ JavaScript
รูปแบบของ Chrome มีประโยชน์อย่างยิ่งสำหรับการเปรียบเทียบสถิติของผู้ใช้กลุ่มหนึ่งกับอีกกลุ่มหนึ่ง เช่น อาจเปิดฟีเจอร์หนึ่งให้กับผู้ใช้บางส่วนเท่านั้น และ Chrome เปรียบเทียบเมตริกสำหรับแต่ละกลุ่มได้ เมตริกเหล่านี้อาจรวมถึงการใช้งานหน่วยความจำ เวลาในการโหลดหน้าเว็บ หรือการใช้ฟีเจอร์ของเบราว์เซอร์ ซึ่งช่วยให้วิศวกร Chrome เปรียบเทียบประสิทธิภาพหรือเมตริกอื่นๆ ระหว่างผู้ใช้ที่เปิดฟีเจอร์ได้ ผู้ใช้ที่ปิดฟีเจอร์ หรือผู้ใช้ที่มีฟีเจอร์แตกต่างกัน
การทดลองใช้ Chrome Variation
รูปแบบแต่ละชุดของฟีเจอร์เรียกว่าการศึกษาหรือการทดสอบภาคสนาม และแต่ละรูปแบบมีระยะเวลาที่แน่นอน เมื่อการศึกษาฟีเจอร์หนึ่งสิ้นสุดลง ผู้ใช้ที่รวมอยู่ในกลุ่มพฤติกรรมที่ไม่ใช่ค่าเริ่มต้นจะได้รับการตั้งค่า Chrome เริ่มต้นสำหรับฟีเจอร์นั้น ซึ่งจะเป็นเปิดใช้หรือปิดใช้ก็ได้
ฟีเจอร์ส่วนใหญ่ที่ควบคุมด้วย Chrome เวอร์ชันอื่นๆ ได้จะสอดคล้องกับแฟล็กที่ตั้งค่าได้จากหน้า chrome://flags
หรือหากเรียกใช้ Chrome จากบรรทัดคำสั่ง คุณสามารถใช้แฟล็ก --enable-features
และ --disable-features
เพื่อกำหนดค่า Chrome เวอร์ชันอื่นๆ
Chrome เวอร์ชันอื่นๆ สำหรับองค์กร
สำหรับลูกค้าองค์กร Chrome ยังมีนโยบาย ChromeVariations เพื่อจัดการ Chrome เวอร์ชันอื่นๆ ด้วย แน่นอนว่า เราขอแนะนำให้เปิดใช้ "รูปแบบของ Chrome" ไว้ เพื่อให้ Chrome ทำการแก้ไขด้านความปลอดภัยที่สำคัญได้อย่างรวดเร็ว