יכול להיות ששמעתם על 'וריאציות של Chrome', שנקראות לפעמים 'ניסויים בשטח של Chrome', או אפילו על הכינוי הפנימי שלהן, Chrome Finch.
כל השמות האלה מתייחסים לאותו הדבר: מנגנון לבדיקה של תכונות חדשות או שינויים בדפדפן Chrome או ב-ChromeOS, מערכת ההפעלה של Chrome שפועלת במכשירי Chromebook.
מהן וריאציות של Chrome?
וריאציות של Chrome מאפשרות ל-Chrome להפעיל תכונה חדשה, להשבית תכונה או לנסות שינוי בתכונה עבור קבוצת משנה של משתמשים.
לא כל התכונות ב-Chrome מוצגות באמצעות 'גרסאות Chrome'. עם זאת, צוות Chrome יכול להשתמש ב-Chrome Variations בכל שלב. אפשר להשתמש בווריאציות של Chrome כדי:
- מאפשרים למהנדסי Chrome להיזהר במיוחד כשהם מבצעים שינוי מסוים. יכול להיות שהם רואים סיכון לביצועים של הדפדפן או שיש להם חששות אחרים.
- אימות השערה לגבי שינוי או עדכון. לדוגמה, שינינו את הפרמטרים של פרוטוקול הרשת QUIC לאחוז מסוים של משתמשים בקבוצת וריאציות של Chrome, כדי לגרום ל-Chrome לפעול מהר יותר בתנאים האמיתיים של הרשת של המשתמשים.
- שליטה בהפעלה של תכונה של תקופת ניסיון במקור. כברירת מחדל, גרסת הטרום-השקה מופעלת בכל הדפים שמספקים אסימון טרום-השקה תקף. עם זאת, במקרים מסוימים תכונה מסוימת עשויה לא להיות זמינה למשתמשים מסוימים, גם אם הם נכנסים לדף שמספק אסימון תקף לתקופת ניסיון.
איך פועלות הווריאציות של Chrome?
כל 30 דקות במחשב או בנייד, או בכל פעם שמפעילים את Chrome, הדפדפן שולח בקשה לקצה העורפי של Chrome כדי לקבל את קובץ התצורה של Chrome Variations, שנקרא seed של הווריאציות. יש שרת ייעודי שמספק זרעים של וריאציות ב-Chrome. Chrome שולח בקשת HTTPS לשרת, והשרת משיב עם זרע דחוס בדלתה.
כש-Chrome במכשיר שלכם יוצר קשר ומבקש את קובץ המקור, Chrome מספק את מספר הגרסה ואת מערכת ההפעלה שבה הוא פועל. הקובץ שמוחזר על ידי הקצה העורפי של 'וריאציות של Chrome' משמש להפעלת תכונות, להשבתת תכונות או לציון וריאציות של תכונה.
Chrome משתמש בנתונים בקובץ המקור ובגרעין אקראי שנשמר באופן מקומי, כדי להקצות את הדפדפן באופן אקראי לקבוצת וריאציות. הדפדפן במכשיר עוקב אחרי קבוצת הווריאציות שאליה הוא שייך.
השקת תכונות וערוצים של Chrome
אחד מהשימושים החשובים ביותר של 'וריאציות של Chrome' הוא להטמיע בהדרגה שינויים או תכונות חדשות באחוז מסוים של לקוחות Chrome. זה חיוני לאפליקציה מורכבת כמו Chrome, שיש לה מיליארדי משתמשים, אלפי סוגים של מכשירים בפלטפורמות שונות, עשרות שפות שונות ומיליונים של אפליקציות ואתרים שונים.
אנחנו מקבלים משוב חשוב על Chrome מהשימוש והבדיקות ב-Chrome Canary, Dev ו-Beta. אנחנו יכולים להשתמש ב-Chrome Variations כדי להפעיל או להשבית תכונות בכל אחד מערוצי ההפצה האלה. עם זאת, הערוצים האלה משמשים בעיקר מפתחים ומומחים אחרים.
משתמשי Chrome Stable מקיימים אינטראקציה עם Chrome בצורה שונה, ובמספרים גדולים בהרבה, ולכן אנחנו תמיד צריכים לאמת בערוץ היציב. כך אנחנו יכולים לטפל בבעיות שנתקלים בהן במהלך שימוש רגיל בדפדפן. מהנדסי Chrome לא תמיד יכולים לחזות איך משתמשים אמיתיים יגיבו לשינויים ולתכונות חדשות בקנה מידה נרחב.
בעזרת וריאציות Chrome אפשר לבדוק את השימוש והמדדים של Chrome Stable. מדידת ההשפעה של השינויים בגרסת Chrome היציבה מאפשרת לנו לשלוח את התכונות הטובות ביותר האפשריות וליצור דפדפן טוב יותר, גם כשהפשרות מורכבות.
מתי מהנדסי Chrome משתמשים ב-Chrome Variations?
יש שלוש סיבות עיקריות לכך ש-Chrome זקוק ל-Chrome Variations.
הפעלת תכונה חדשה
שימוש ב-Chrome Variations כדי לשלוט בהפעלה של תכונה חדשה שימושי במיוחד בכל דבר שעלול להיות מסוכן יותר בדרך כלשהי או שעלול להשפיע על הביצועים.
וריאציות ב-Chrome מאפשרות לנו לספק תכונה חדשה לקבוצת משנה של משתמשים. לאחר מכן, מהנדסי Chrome יכולים לבדוק אם יש הבדלים בביצועים או לבחון סוגים אחרים של משוב מקבוצת הווריאציות.
השבתת תכונה
אפשר להשתמש ב'וריאציות של Chrome' כמנגנון בטיחות כדי להשבית תכונה, אבל זה קורה לעיתים רחוקות.
לדוגמה, יכול להיות שתכונה חדשה ברשת תהיה חשופה להתקפת מניעת שירות (DoS). אפשר להשתמש ב-Chrome Variations כדי להפעיל את התכונה הזו במהירות, כי ההגדרות של Chrome Variations מורידות כל 30 דקות וההגדרות מופעלות בכל פעם שמפעילים מחדש את Chrome.
לעומת זאת, עדכון Chrome והמתנה להפצה של הגרסה החדשה למיליארדי משתמשים יהיו הרבה איטיים יותר.
ניסיון של שינויים בתכונה
אפשר להשתמש ב-Variations של Chrome כדי לאמת שינויים ועדכונים. לדוגמה, נוכל לשפר את רמת הקושי של המשחק Chrome Dino במצב אופליין כדי שהאינטראקציה תהיה מהנה יותר.
אפשר להשתמש ב-Chrome Variations גם כדי לבדוק את ההשפעות לטווח הארוך של תכונות חדשות. כדי לעשות זאת, אנחנו משתמשים במנגנון של Chrome Variations כדי להסתיר תכונות מחלק קטן של משתמשים, אולי 1% או פחות. קבוצת החזקה יכולה להיות שימושית כדי לבדוק שינויים ותופעות לוואי שגלויים רק לאורך זמן.
קבוצת בקרה יכולה להיות חשובה במיוחד כשמדובר בשינויים בממשק המשתמש, כי סביר להניח שהמשתמשים יתנהגו בצורה שונה בטווח הארוך, אבל הם ייטו לבצע אינטראקציה עם תכונה כשהיא חדשה.
לדוגמה, השקנו בורר תמונות ב-Chrome, אבל השתכנו את התכונה באופן זמני אצל אחוז קטן של משתמשים כדי להשוות בין התוצאות. השקנו את הכלי החדש לבחירת תמונות ב-Android לחלק גדול מהמשתמשים שלנו, ובהתחלה ראינו עלייה משמעותית במספר התמונות שהקבוצה הזו שיתפה באינטרנט. עם זאת, בששת החודשים שבהם הופעלה הווריאציה של החזקה זמנית, ראינו ירידה משמעותית בעלייה בנפח השימוש. הסיבה לכך היא שהזמינות של הכלי החדש לבחירת תמונות עודדה את האתרים להוסיף את המאפיין accept לרכיבי קלט של קבצים, וכך לשפר את החוויה של כל המשתמשים.
איך משתמשים ב'וריאציות של Chrome' לאימות?
אם ההגדרה 'עזרה בשיפור התכונות והביצועים של Chrome' מופעלת (chrome://settings/syncSetup?search=improve
), Chrome יכול לעקוב אחרי מדדים ולשלוח אותם באופן אוטומטי לקצה העורפי של Chrome באמצעות ניתוח מדדי המשתמשים (UMA).
דוגמאות לנתונים סטטיסטיים אנונימיים של השימוש ב-Chrome זמינות בכתובת chromestatus.com/metrics, למשל אחוז הטעינות של דפים שמשתמשות במאפיין CSS או בתכונה של HTML או JavaScript.
'גרסאות שונות של Chrome' שימושיות במיוחד להשוואה בין נתונים סטטיסטיים של קבוצת משתמשים אחת לבין קבוצה אחרת. לדוגמה, אפשר להפעיל תכונה אצל חלק מהמשתמשים ולא אצל אחרים, ואז Chrome יכול להשוות בין המדדים של כל קבוצה. המדדים האלה יכולים לכלול שימוש בזיכרון, זמני טעינת דפים או שימוש בתכונה של הדפדפן. כך מהנדסי Chrome יכולים להשוות בין ביצועים או מדדים אחרים של משתמשים שהתכונה מופעלת אצלם, משתמשים שהתכונה מושבתת אצלם או משתמשים עם וריאציות שונות של התכונה.
ניסויים בשטח
כל קבוצה של וריאציות של תכונה נקראת מחקר או ניסוי שדה, וכל אחת מהן נמשכת פרק זמן קבוע. בסיום המחקר, כל המשתמשים שכללו בקבוצת התנהגות שאינה ברירת המחדל יקבלו את הגדרת ברירת המחדל של התכונה ב-Chrome: מופעלת או מושבתת.
רוב התכונות שאפשר לשלוט בהן באמצעות 'וריאציות של Chrome' תואמות לדגל שאפשר להגדיר בדף chrome://flags
. לחלופין, אם אתם מריצים את Chrome משורת הפקודה, תוכלו להשתמש בדגלים --enable-features
ו---disable-features
כדי להגדיר את Chrome Variations.
הדגל --reset-variation-state
מאלץ איפוס של המצב של וריאציות Chrome עבור הלקוח הנוכחי. כלומר, הלקוח עשוי לעבור לקבוצות שונות של ניסויים ב-Chrome.
וריאציות של Chrome לארגונים
ללקוחות ארגוניים, Chrome מספק גם את המדיניות של Chrome Variations לניהול של Chrome Variations. מומלץ להשאיר את התכונה 'וריאציות של Chrome' מופעלת, כדי שמערכת Chrome תוכל לספק במהירות תיקוני אבטחה קריטיים.