מהן וריאציות של Chrome?

מנגנון שמאפשר ל-Chrome לבדוק תכונות דפדפן חדשות

אולי שמעת על 'וריאציות של Chrome', על 'ניסויי שטח של Chrome' - או אולי אפילו על שם הקוד הפנימי, Chrome Finch.

אלו כולם שמות של אותו הדבר: מנגנון לבדיקת תכונות חדשות או שינויים בדפדפן Chrome, או מנגנון של Chrome OS למערכת ההפעלה של Chrome שפועלת במכשירי Chromebook.

למה משמשות הווריאציות של Chrome?

וריאציות של Chrome מאפשרות ל-Chrome להפעיל תכונה חדשה, להשבית תכונה או לנסות לשנות את התכונה עבור קבוצת משנה של משתמשים.

לא כל דבר ב-Chrome מוצג באמצעות מנגנון הווריאציות של Chrome. עם זאת, צוות Chrome יכול להשתמש בווריאציות של Chrome בכל פעם שאנחנו צריכים להיות זהירים במיוחד לגבי ביצוע שינויים, או כשיש סיכון ששינוי עלול להשפיע על הביצועים בדרכים שלא ציפינו להן. המשמעות של 'שינוי' יכולה להיות שיפור בביצועים בקוד של Chrome, עדכון במראה או בתפקוד של הדפדפן, או שמדי פעם גם שינוי ב-JavaScript API.

אפשר להשתמש בווריאציות של Chrome גם כדי לאמת השערה לגבי שינוי או עדכון. לדוגמה, לאחוז מסוים מהמשתמשים בקבוצת גרסאות של Chrome, ניסינו לבצע התאמות בפרמטרים של פרוטוקול רישות QUIC כדי ש-Chrome יפעל מהר יותר בתנאי הרשת האמיתיים של המשתמשים.

תחום נוסף שבו אתם עשויים להיתקל בגרסאות של Chrome הוא אם אתם עובדים עם גרסאות המקור לניסיון של Chrome. כברירת מחדל, תכונה של גרסת מקור לניסיון מופעלת בכל הדפים שמספקים אסימון חוקי לניסיון, אבל במקרים מסוימים נעשה שימוש בווריאציות של Chrome כדי לשלוט בהפעלה של תכונה. כלומר, יכול להיות שתכונה של גרסת מקור לניסיון לא תהיה זמינה למשתמשים מסוימים, גם כשהם נכנסים לדף שמספק אסימון תקף של תקופת ניסיון. המסמכים והעדכונים של כל גרסת מקור לניסיון מספקים מידע על שיעור המשתמשים שעומדים בדרישות להפעלת תכונה לניסיון של גרסת המקור.

איך פועלות הווריאציות של Chrome?

כל 30 דקות במחשב או בנייד, או בכל פעם שמפעילים את Chrome, הדפדפן שולח בקשה לקצה העורפי של Chrome כדי לקבל את קובץ התצורה של הווריאציות של Chrome, שנקרא וריאציות של seed. במילים אחרות, יש שרת ייעודי שמספק לו גרסאות ראשוניות של Chrome. Chrome שולח לשרת בקשת HTTPS, והשרת מגיב באמצעות בסיס דחוס באמצעות דלתא.

מידע על הדפדפן ומערכת ההפעלה שעוברים לגרסה העורפית של הגרסאות של Chrome. המקור של הווריאציות של Chrome עובר לדפדפן, שמכיל מקור אקראי של וריאציות.

כש-Chrome במכשיר יוצר קשר עם הקצה העורפי של הווריאציות של Chrome כדי לקבל את קובץ המקור, הוא מספק גם מידע על גרסת Chrome ועל מערכת ההפעלה שבה היא פועלת. הקובץ שמוחזר מהקצה העורפי של וריאציות Chrome משמש להפעלת תכונות, לכיבוי תכונות או לציון וריאציות בתכונה.

כדי להקצות את הדפדפן לקבוצת גרסאות באופן אקראי, Chrome משתמש בנתונים שבקובץ המקור ובמקור אקראי שמאוחסן באופן מקומי. במילים אחרות, קבוצת משתמשים מסוימת יכולה להשתמש במקור האקראי, בשילוב עם קובץ המקור מהקצה העורפי של וריאציות Chrome, כדי להפעיל או להשבית תכונות בדפדפן. הדפדפן, במכשיר, עוקב אחר קבוצת הגרסאות שאליה הוא שייך.

השקת תכונה וערוצי Chrome

אחד השימושים החשובים ביותר בווריאציות של Chrome הוא השקה הדרגתית של שינויים או תכונות חדשות לאחוז מסוים מהמשתמשים. זה חיוני לאפליקציה מורכבת כמו Chrome עם מיליארדי משתמשים, עם אלפי סוגי מכשירים בפלטפורמות שונות, שמשתמשים בעשרות שפות במיליוני אפליקציות ואתרים שונים.

Chrome מקבל משוב חשוב מהשימוש והבדיקות ב-Chrome Canary, Dev ו-בטא. אנחנו יכולים להשתמש בווריאציות של Chrome כדי להפעיל או להשבית תכונות בכל אחד מערוצי ההפצה האלה. עם זאת, הערוצים האלה משמשים בעיקר מפתחים ומומחים אחרים. משתמשי Chrome יציבים מבצעים פעולות שונות ב-Chrome, ובמספרים גדולים בהרבה, לכן אנחנו צריכים תמיד לבצע אימות בערוץ היציב. כך אנחנו יכולים לפתור בעיות בשימוש הרגיל בדפדפן. המהנדסים של Chrome לא יכולים תמיד לחזות איך משתמשים אמיתיים יגיבו לשינויים ולתכונות חדשות, בקנה מידה נרחב.

הווריאציות של Chrome הן מנגנון חיוני שעוזר בכך, ומאפשר לבדוק את השימוש והמדדים לגרסה היציבה של Chrome באמצעות תכונה שמופעלת או מושבתת. מדידת ההשפעה של השינויים בגרסה היציבה של Chrome מאפשרת לנו לספק את התכונות הטובות ביותר שאפשר ולבנות דפדפן טוב יותר – גם אם הפשרות שלנו מסובכות.

מתי מהנדסי Chrome משתמשים בווריאציות של Chrome?

יש שלוש סיבות עיקריות שבגללן Chrome זקוק לגרסאות Chrome.

הפעלת תכונה חדשה

השימוש בווריאציות של Chrome על מנת לשלוט בהפעלה של תכונה חדשה הוא שימושי במיוחד לכל דבר שעשוי להיות מסוכן יותר באופן כלשהו או שעשוי להשפיע על הביצועים.

הווריאציות של Chrome מאפשרות לנו להשיק תכונה חדשה לקבוצת משנה של משתמשים. לאחר מכן, מהנדסי Chrome יכולים לבדוק אם יש הבדלים בביצועים או לבחון סוגים אחרים של משובים מקבוצת הווריאציות.

השבתה של תכונה

אפשר להשתמש בווריאציות של Chrome כמנגנון בטיחות לכיבוי תכונה, אבל זה קורה לעיתים רחוקות.

לדוגמה, תכונת רישות חדשה עשויה להיות כפופה להתקפה מסוג מניעת שירות (DoS). ניתן להשתמש בווריאציות של Chrome כדי להשבית במהירות תכונה כזאת, מכיוון שמתבצעת הורדה של התצורה של וריאציות Chrome בכל 30 דקות, וההגדרות מופעלות בכל פעם שאתה מפעיל מחדש את Chrome. לעומת זאת, עדכון Chrome וההמתנה להפצת הגרסה החדשה למיליארדי משתמשים יהיו הרבה יותר איטיים.

אפשר לנסות לשנות תכונה

לסיום, ניתן להשתמש בווריאציות של Chrome כדי לאמת שינויים ועדכונים. לדוגמה, אפשר לשפר את רמת הקושי במשחק Chrome אופליין Dino כדי שהאינטראקציה תהיה כיפית יותר.

אפשר להשתמש בווריאציות של Chrome גם כדי לחקור את ההשפעות לטווח הארוך של תכונות חדשות. לשם כך, נעשה שימוש במנגנון הווריאציות של Chrome כדי להשהות תכונות לחלק קטן מהמשתמשים, אולי 1% או פחות. כדאי להשתמש בקבוצת מכשולים כדי לבדוק אם יש שינויים ותופעות לוואי שאפשר לראות רק לאורך זמן.

קבוצת השהיה יכולה להיות חשובה במיוחד לשינויים בממשק המשתמש, שבהם יש סיכוי גבוה שמשתמשים יבצעו אינטראקציה עם תכונה חדשה, אבל הם עשויים להתנהג באופן שונה בטווח הארוך.

לדוגמה, השקנו פונקציונליות של בוחר תמונות ב-Chrome, אבל אחוז קטן מהמשתמשים מונע את השימוש בתכונה הזו כדי להשוות בין התוצאות. שלחנו את הכלי החדש לבחירת תמונות ב-Android לחלק גדול מהמשתמשים, ובהתחלה ראינו עלייה משמעותית במספר התמונות שהקבוצה שיתפה באינטרנט. עם זאת, בששת החודשים שבהם היה שינוי משמעותי ראינו ירידה משמעותית בשימוש. הסיבה לכך היא שהזמינות של הכלי החדש לבחירת תמונות עודדה את האתרים להוסיף את מאפיין האישור לאלמנטים של קלט בקובץ, וכך ליהנות מחוויה טובה יותר לכל המשתמשים.

איך המערכת משתמשת בווריאציות של Chrome לאימות?

אם מפעילים את ההגדרה לסיוע בשיפור התכונות והביצועים של Chrome (chrome://settings/syncSetup?search=improve), Chrome יכול לעקוב אוטומטית אחרי מדדים ולשלוח אותם לקצה העורפי של Chrome, באמצעות מנגנון שנקרא 'ניתוח מדדי משתמשים' (UMA). ניתן לראות דוגמאות לסטטיסטיקות שימוש אנונימיות ב-Chrome בכתובת chromestatus.com/metrics, כמו אחוז טעינות הדפים שמשתמש במאפיין CSS או בתכונת HTML או JavaScript.

הווריאציות של Chrome שימושיות במיוחד להשוואת נתונים סטטיסטיים מקבוצת משתמשים אחת מול קבוצה אחרת. לדוגמה, אפשר להפעיל תכונה למשתמשים מסוימים ולא למשתמשים אחרים, ו-Chrome יכול להשוות בין מדדים לכל קבוצה. המדדים האלה עשויים לכלול שימוש בזיכרון, זמני טעינה של דפים או שימוש בתכונות בדפדפן. כך מהנדסי Chrome יכולים להשוות ביצועים או מדדים אחרים בין משתמשים שהפעילו תכונה מסוימת, משתמשים שהשביתו אותה או משתמשים עם וריאציות שונות של תכונות.

ניסויי שדה של הווריאציות של Chrome

כל קבוצת וריאציות של תכונה נקראת מחקר או ניסוי שטח, ולכל אחת מהן יש משך זמן קבוע. אחרי שמחקר לגבי תכונה מסוימת מסתיים, משתמשים שנכללו בקבוצת התנהגות שלא מוגדרת כברירת מחדל יקבלו את הגדרת ברירת המחדל של Chrome לתכונה: מופעלת או מושבתת.

רוב התכונות שאפשר לשלוט בהן באמצעות וריאציות של Chrome תואמות לסימון שניתן להגדיר בדף chrome://flags. לחלופין, אם מריצים את Chrome משורת הפקודה, אפשר להשתמש בדגלים --enable-features ו---disable-features כדי להגדיר וריאציות של Chrome.

וריאציות של Chrome לארגונים

ללקוחות ארגוניים יש ב-Chrome גם את מדיניות הגרסאות של Chrome לניהול וריאציות של Chrome. כמובן, אנחנו ממליצים להשאיר את הווריאציות של Chrome מופעלות כדי ש-Chrome יוכל לספק במהירות תיקוני אבטחה קריטיים.

למידע נוסף