מנגנון שמאפשר ל-Chrome לבדוק תכונות דפדפן חדשות
ייתכן ששמעת על וריאציות של Chrome או על Chrome Field trials - או אפילו על שם הקוד הפנימי, Chrome Finch.
אלה כל השמות של אותו דבר: מנגנון לבדיקת תכונות חדשות או שינויים בדפדפן Chrome, או ב-ChromeOS, מערכת ההפעלה של Chrome שפועלת במכשירי Chromebook.
למה משמשות הווריאציות של Chrome?
וריאציות של Chrome מאפשרות ל-Chrome להפעיל תכונה חדשה, להשבית תכונות או לנסות לבצע שינוי בתכונה מסוימת לקבוצת משנה של משתמשים.
לא הכול מתבצע ב-Chrome באמצעות מנגנון הווריאציות של Chrome. עם זאת, צוות Chrome יכול להשתמש בווריאציות של Chrome בכל פעם שצריך להיזהר במיוחד לפני ביצוע שינוי, או כאשר קיים סיכון ששינוי ישפיע על הביצועים בדרכים שלא ציפינו להן. 'שינוי' יכול להיות שיפור בביצועים בקוד של Chrome, עדכון במראה או בתפקוד של הדפדפן או אפילו שינוי ב-JavaScript API מדי פעם.
אפשר להשתמש בווריאציות של Chrome גם כדי לאמת השערה לגבי שינוי או עדכון. לדוגמה, ניסינו לשנות את הפרמטרים של QUIC Networking Protocol ביחס לאחוז מסוים מהמשתמשים בקבוצת וריאציות של Chrome כדי ש-Chrome יהיה מהיר יותר בהתאם לתנאי הרשת האמיתיים של המשתמשים.
תחום נוסף שבו אתם עשויים להיתקל בווריאציות של Chrome הוא אם אתם עובדים עם גרסאות המקור לניסיון של Chrome. תכונה של גרסת מקור לניסיון מופעלת כברירת מחדל בכל הדפים שמספקים אסימון תקף לניסיון, אבל במקרים מסוימים נעשה שימוש בווריאציות של Chrome כדי לשלוט בהפעלה של תכונה. כלומר, יכול להיות שתכונה בגרסת מקור לניסיון לא תהיה זמינה למשתמשים מסוימים, גם כשהם נכנסים לדף שמספק אסימון תקף לניסיון. המסמכים והעדכונים לכל גרסת מקור לניסיון מספקים מידע על החלק היחסי של המשתמשים שזכאים להפעלה של פיצ'ר של גרסת מקור לניסיון.
איך עובדות הווריאציות של Chrome?
בכל 30 דקות במחשב או בנייד, או בכל פעם שמפעילים את Chrome, הדפדפן שולח בקשה לקצה העורפי של Chrome כדי לקבל את קובץ התצורה של וריאציות Chrome, שנקרא המקור. במילים אחרות, יש שרת ייעודי שמספק גרסאות בסיסיות של וריאציות Chrome. Chrome שולח בקשת HTTPS לשרת, והשרת מגיב עם מקור דחוס דלתא.
כש-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). בכתובת chromestatus.com/metrics תוכלו לראות דוגמאות לסטטיסטיקות שימוש אנונימיות, למשל, אחוז הטעינה של דפים שמשתמשים בנכס CSS או בתכונות של HTML או JavaScript.
וריאציות של Chrome שימושיות במיוחד להשוואה בין נתונים סטטיסטיים של קבוצת משתמשים אחת לבין קבוצת משתמשים אחרת. לדוגמה, אפשר להפעיל תכונה מסוימת למשתמשים מסוימים ולא לאחרים, ו-Chrome יכול להשוות בין המדדים של כל קבוצה. המדדים האלה יכולים לכלול שימוש בזיכרון, זמני טעינה של דפים או שימוש בתכונה בדפדפן. כך מהנדסי Chrome יכולים להשוות ביצועים או מדדים אחרים בין משתמשים שהפעילו תכונה, משתמשים שהשביתו אותה או משתמשים עם וריאציות שונות של התכונות.
גרסאות ניסיון של Chrome
כל קבוצת וריאציות של תכונה נקראת מחקר או ניסוי שטח, ולכל אחת מהן יש משך זמן קבוע. אחרי שמחקר מסוים מסתיים, משתמשים שנכללו בקבוצה שלא מוגדרת כברירת מחדל יקבלו את הגדרת ברירת המחדל של Chrome לאותה תכונה: מופעלת או מושבתת.
רוב התכונות שאפשר לשלוט בהן באמצעות וריאציות של Chrome מתאימות לסימון שאפשר להגדיר מהדף chrome://flags
. לחלופין, אם מריצים את Chrome משורת הפקודה, אפשר להשתמש בדגלים --enable-features
ו---disable-features
כדי להגדיר וריאציות של Chrome.
הדגל --reset-variation-state
מאלץ איפוס של מצב הווריאציות של Chrome עבור הלקוח הנוכחי. המשמעות היא שהלקוח עשוי לעבור לקבוצות וריאציות שונות של Chrome.
וריאציות של Chrome לארגונים
ללקוחות ארגוניים, Chrome מספק גם את המדיניות בנושא וריאציות של Chrome לניהול וריאציות של Chrome. כמובן שמומלץ להשאיר את הווריאציות של Chrome מופעלות, כדי ש-Chrome יוכל לספק במהירות תיקוני אבטחה קריטיים.