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