מדידת הביצועים באמצעות מודל ה-RAIL

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

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

4 החלקים של מודל הביצועים של RAIL: תגובה, אנימציה, אי-פעילות וטעינה.
ארבעת החלקים של מודל הביצועים של RAIL

התמקדות במשתמש

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

תפיסת המשתמשים לגבי עיכובים בביצועים
0 עד 16 אלפיות שנייה המשתמשים טובים במיוחד במעקב אחר תנועות, ולא אוהבים כשהאנימציות לא חלקות. הם מתייחסים לאנימציות כרצף חלק כל עוד 60 פריימים חדשים מעובדים בכל שנייה. הפעולה הזו נמשכת 16 אלפיות השנייה לכל פריים, כולל הזמן שנדרש לדפדפן כדי לצבוע את המסגרת החדשה במסך, ונשארות לאפליקציה כ-10 אלפיות השנייה כדי ליצור פריים.
0 עד 100 אלפיות שנייה מומלץ להגיב לפעולות של משתמשים בחלון זמן זה, והמשתמשים ירגישו שהתוצאה מיידית. ארוך יותר, והקשר בין הפעולה לתגובה מנותק.
100 עד 1,000 אלפיות שנייה בחלון הזה, הדברים מרגישים חלק מהתקדמות טבעית ומתמשכת במשימות. עבור רוב המשתמשים באינטרנט, טעינת דפים או שינוי תצוגות מייצגים משימה.
1,000 אלפיות שנייה או יותר יותר מ-1,000 אלפיות השנייה (שנייה אחת), המשתמשים מאבדים מיקוד במשימה שהם מבצעים.
10,000 אלפיות שנייה או יותר יותר מ-10,000 אלפיות השנייה (10 שניות), המשתמשים מתוסכלים וסביר להניח שינטשו את המשימות. יכול להיות שהם יחזרו מאוחר יותר, אבל לא בהכרח.

יעדים והנחיות

בהקשר של RAIL, למונחים מטרות עסקיות והנחיות יש משמעויות ספציפיות:

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

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

תגובה: עיבוד אירועים בפחות מ-50 אלפיות השנייה

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

הנחיות:

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

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

  • תמיד חשוב לשלוח משוב על פעולות שנמשכות יותר מ-50 אלפיות השנייה.

50 אלפיות השנייה או 100 אלפיות השנייה?

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

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

אנימציה: יצירת פריים תוך 10 אלפיות השנייה

יעדים:

  • אפשר להפיק כל פריים באנימציה ב-10 אלפיות השנייה או פחות. מבחינה טכנית, התקציב המקסימלי לכל פריים הוא 16 אלפיות השנייה (1,000 אלפיות השנייה / 60 מסגרות לשנייה ≈ 16 אלפיות השנייה), אבל לדפדפנים נדרשים כ-6 אלפיות השנייה כדי לעבד כל פריים, ולכן ההנחיות הן 10 אלפיות השנייה לכל פריים.

  • השתדלו שהתצוגה תהיה חלקה. המשתמשים יראו כשקצב הפריימים ישתנה.

הנחיות:

  • בנקודות לחץ גבוה כמו אנימציות, המפתח הוא לעשות דבר ולא לעשות דבר. עדיף להשתמש בתגובה של 100 אלפיות השנייה כדי לחשב מראש עבודה יקרה, כדי להגדיל את הסיכויים להגיע ל-60 פריימים לשנייה.

  • בקטע ביצועי עיבוד מפורטות אסטרטגיות שונות לאופטימיזציה של אנימציה.

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

לא פעיל: מקסימום זמן ללא פעילות

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

הנחיות:

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

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

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

טעינה: אפשר להציג תוכן ולהפוך לאינטראקטיבי תוך פחות מ-5 שניות

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

יעדים:

הנחיות:

כלים למדידת RAIL

יש כמה כלים שיעזרו לכם להפוך את מדידות ה-RAIL לאוטומטיות. אופן השימוש תלוי בסוג המידע שאתם צריכים ובסוג תהליך העבודה המועדף עליכם.

כלי פיתוח ל-Chrome

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

התכונות הבאות של כלי הפיתוח רלוונטיות במיוחד:

מגדלור

Lighthouse זמין בכלי הפיתוח ל-Chrome, ב-PageSpeed Insights, כתוסף ל-Chrome, כמודול Node.js ומתוך WebPageTest. מזינים כתובת URL, מדמה מכשיר בטווח בינוני עם חיבור 3G איטי, מריץ סדרה של ביקורות בדף ואז מספק דוח על ביצועי הטעינה והצעות לשיפור.

הביקורות הבאות רלוונטיות במיוחד:

תשובה

טעינה

WebPageTest

WebPageTest הוא כלי לביצועי אינטרנט שמשתמש בדפדפנים אמיתיים כדי לגשת לדפי אינטרנט ולאסוף מדדי תזמון. הזינו כתובת URL בכתובת webpagetest.org/easy כדי לקבל דוח מפורט על ביצועי הטעינה של הדף במכשיר אמיתי של Moto G4 עם חיבור איטי לרשת 3G. אפשר גם להגדיר אותו כך שיכלול ביקורת של Lighthouse.

סיכום

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

  • לשים את המשתמש במרכז.

  • להגיב לקלט של משתמשים תוך פחות מ-100 אלפיות השנייה.

  • יצירת מסגרת בפחות מ-10 אלפיות השנייה בזמן אנימציה או בגלילה.

  • הגדלת משך הזמן ללא פעילות ב-thread הראשי.

  • טעינת תוכן אינטראקטיבי בפחות מ-5,000 אלפיות שנייה.