عملکرد را با مدل RAIL اندازه گیری کنید

RAIL یک مدل عملکرد کاربر محور است که ساختاری برای تفکر در مورد عملکرد ارائه می‌دهد. این مدل، تجربه کاربر را به اقدامات کلیدی (مثلاً ضربه زدن، اسکرول کردن، بارگذاری) تجزیه می‌کند و به شما کمک می‌کند تا اهداف عملکردی را برای هر یک از آنها تعریف کنید.

RAIL مخفف چهار جنبه متمایز از چرخه حیات برنامه وب است: پاسخ، انیمیشن، حالت سکون و بارگذاری. کاربران انتظارات عملکردی متفاوتی برای هر یک از این زمینه‌ها دارند، بنابراین اهداف عملکردی بر اساس زمینه و تحقیقات UX در مورد نحوه درک کاربران از تأخیرها تعریف می‌شوند.

چهار بخش مدل عملکرد RAIL: پاسخ، انیمیشن، حالت بیکاری و بارگذاری.
چهار بخش مدل عملکرد RAIL

تمرکز روی کاربر

کاربران را به نقطه کانونی تلاش‌های عملکردی خود تبدیل کنید. جدول زیر معیارهای کلیدی نحوه درک کاربران از تأخیرهای عملکردی را شرح می‌دهد:

برداشت کاربر از تأخیرهای عملکرد
۰ تا ۱۶ میلی‌ثانیه کاربران در ردیابی حرکت فوق‌العاده خوب هستند و وقتی انیمیشن‌ها روان نباشند، آن را دوست ندارند. آن‌ها انیمیشن‌ها را تا زمانی که ۶۰ فریم جدید در هر ثانیه رندر شوند، روان می‌دانند. این یعنی ۱۶ میلی‌ثانیه برای هر فریم، شامل زمانی که مرورگر برای نمایش فریم جدید روی صفحه نیاز دارد و در نتیجه یک برنامه حدود ۱۰ میلی‌ثانیه برای تولید یک فریم زمان صرف می‌کند.
۰ تا ۱۰۰ میلی‌ثانیه اگر در این بازه زمانی به اقدامات کاربر پاسخ دهید، کاربران احساس می‌کنند که نتیجه فوری است. اگر این بازه زمانی طولانی‌تر شود، ارتباط بین عمل و واکنش از بین می‌رود.
۱۰۰ تا ۱۰۰۰ میلی‌ثانیه در این پنجره، همه چیز بخشی از یک روند طبیعی و مداوم از وظایف به نظر می‌رسد. برای اکثر کاربران وب، بارگذاری صفحات یا تغییر نماها یک وظیفه محسوب می‌شود.
۱۰۰۰ میلی‌ثانیه یا بیشتر فراتر از ۱۰۰۰ میلی‌ثانیه (۱ ثانیه)، کاربران تمرکز خود را روی کاری که انجام می‌دهند از دست می‌دهند.
۱۰۰۰۰ میلی‌ثانیه یا بیشتر فراتر از ۱۰۰۰۰ میلی‌ثانیه (۱۰ ثانیه)، کاربران ناامید می‌شوند و احتمالاً وظایف را رها می‌کنند. آنها ممکن است بعداً برگردند یا نگردند.

اهداف و دستورالعمل‌ها

در متن RAIL، اصطلاحات اهداف و دستورالعمل‌ها معانی خاصی دارند:

  • اهداف . معیارهای کلیدی عملکرد مربوط به تجربه کاربری. برای مثال، برای نقاشی در کمتر از ۱۰۰ میلی‌ثانیه ضربه بزنید. از آنجایی که ادراک انسان نسبتاً ثابت است، بعید است که این اهداف به این زودی‌ها تغییر کنند.

  • دستورالعمل‌ها . توصیه‌هایی که به شما در دستیابی به اهداف کمک می‌کنند. این موارد ممکن است مختص شرایط فعلی سخت‌افزار و اتصال شبکه باشند و بنابراین ممکن است با گذشت زمان تغییر کنند.

پاسخ: پردازش رویدادها در کمتر از ۵۰ میلی‌ثانیه

هدف : تکمیل یک انتقال آغاز شده توسط ورودی کاربر در عرض ۱۰۰ میلی‌ثانیه، به طوری که کاربران احساس کنند تعاملات آنی هستند.

دستورالعمل‌ها :

  • برای اطمینان از دریافت پاسخ قابل مشاهده در عرض ۱۰۰ میلی‌ثانیه، رویدادهای ورودی کاربر را در عرض ۵۰ میلی‌ثانیه پردازش کنید. این موضوع در مورد اکثر ورودی‌ها، مانند کلیک کردن روی دکمه‌ها، تغییر وضعیت کنترل‌های فرم یا شروع انیمیشن‌ها صدق می‌کند. این موضوع در مورد کشیدن و رها کردن یا اسکرول کردن با لمس صفحه صدق نمی‌کند.

  • اگرچه ممکن است متناقض به نظر برسد، اما همیشه پاسخ فوری به ورودی کاربر، فراخوانی مناسبی نیست. می‌توانید از این پنجره ۱۰۰ میلی‌ثانیه‌ای برای انجام کارهای پرهزینه دیگر استفاده کنید، اما مراقب باشید که کاربر را مسدود نکنید. در صورت امکان، کار را در پس‌زمینه انجام دهید.

  • برای اقداماتی که بیش از ۵۰ میلی‌ثانیه طول می‌کشد تا انجام شوند، همیشه بازخورد ارائه دهید.

۵۰ میلی‌ثانیه یا ۱۰۰ میلی‌ثانیه؟

هدف، پاسخ به ورودی در کمتر از ۱۰۰ میلی‌ثانیه است، پس چرا بودجه ما فقط ۵۰ میلی‌ثانیه است؟ دلیلش این است که علاوه بر مدیریت ورودی، عموماً کارهای دیگری نیز انجام می‌شود و آن کارها بخشی از زمان موجود برای پاسخ ورودی قابل قبول را اشغال می‌کنند. اگر یک برنامه در زمان بیکاری، در بخش‌های ۵۰ میلی‌ثانیه‌ای پیشنهادی کار انجام دهد، به این معنی است که اگر ورودی در طول یکی از آن بخش‌های کاری رخ دهد، می‌تواند تا ۵۰ میلی‌ثانیه در صف قرار گیرد. با در نظر گرفتن این موضوع، می‌توان فرض کرد که فقط ۵۰ میلی‌ثانیه باقی‌مانده برای مدیریت واقعی ورودی در دسترس است. این اثر در نمودار زیر که نشان می‌دهد چگونه ورودی دریافتی در طول یک کار بیکار در صف قرار می‌گیرد، به تصویر کشیده شده است و زمان پردازش موجود را کاهش می‌دهد:

نموداری که نشان می‌دهد چگونه ورودی‌های دریافتی در طول یک وظیفه غیرفعال در صف قرار می‌گیرند و زمان پردازش ورودی‌های موجود را به ۵۰ میلی‌ثانیه کاهش می‌دهند
چگونه وظایف غیرفعال بر بودجه پاسخ ورودی تأثیر می‌گذارند.

انیمیشن: تولید یک فریم در 10 میلی‌ثانیه

اهداف :

  • هر فریم در یک انیمیشن را در ۱۰ میلی‌ثانیه یا کمتر تولید کنید. از نظر فنی، حداکثر بودجه برای هر فریم ۱۶ میلی‌ثانیه است (۱۰۰۰ میلی‌ثانیه / ۶۰ فریم در ثانیه ≈ ۱۶ میلی‌ثانیه)، اما مرورگرها برای رندر هر فریم به حدود ۶ میلی‌ثانیه نیاز دارند، از این رو دستورالعمل ۱۰ میلی‌ثانیه برای هر فریم وجود دارد.

  • هدف، روان بودن تصویر است. کاربران متوجه تغییر نرخ فریم می‌شوند.

دستورالعمل‌ها :

  • در نقاط حساس مانند انیمیشن‌ها، نکته کلیدی این است که تا جایی که می‌توانید هیچ کاری انجام ندهید و در جایی که نمی‌توانید، حداقل مطلق را رعایت کنید. هر زمان که ممکن بود، از پاسخ ۱۰۰ میلی‌ثانیه‌ای برای محاسبه اولیه کارهای پرهزینه استفاده کنید تا شانس خود را برای رسیدن به ۶۰ فریم در ثانیه به حداکثر برسانید.

  • برای استراتژی‌های مختلف بهینه‌سازی انیمیشن، به بخش عملکرد رندرینگ مراجعه کنید.

  • انیمیشن‌های بصری، مانند ورودی‌ها و خروجی‌ها، بین‌ها و نشانگرهای بارگیری.
  • پیمایش. این شامل پرتاب کردن (flinging) می‌شود، یعنی زمانی که کاربر شروع به پیمایش می‌کند، سپس آن را رها می‌کند و صفحه به پیمایش ادامه می‌دهد.
  • کشیدن. انیمیشن‌ها اغلب از تعاملات کاربر، مانند حرکت افقی روی نقشه یا زوم کردن، پیروی می‌کنند.

بیکار: زمان بیکاری را به حداکثر برسانید

هدف : به حداکثر رساندن زمان بیکاری برای افزایش احتمال پاسخگویی صفحه به ورودی کاربر در عرض ۵۰ میلی‌ثانیه.

دستورالعمل‌ها :

  • از زمان بیکاری برای تکمیل کارهای معوق استفاده کنید. به عنوان مثال، برای بارگذاری اولیه صفحه، تا حد امکان داده‌های کمتری را بارگذاری کنید، سپس از زمان بیکاری برای بارگذاری بقیه استفاده کنید.

  • انجام کار در زمان بیکاری در ۵۰ میلی‌ثانیه یا کمتر. اگر این زمان بیشتر شود، توانایی برنامه برای پاسخ به ورودی کاربر در عرض ۵۰ میلی‌ثانیه مختل می‌شود.

  • اگر کاربری در زمان بیکاری با صفحه‌ای تعامل داشته باشد، تعامل کاربر باید همیشه بالاترین اولویت را داشته باشد و کار زمان بیکاری را متوقف کند.

بارگذاری: ارائه محتوا و تعامل در کمتر از ۵ ثانیه

وقتی صفحات به کندی بارگذاری می‌شوند، توجه کاربر منحرف می‌شود و کاربران این وظیفه را ناقص می‌دانند. سایت‌هایی که سریع بارگذاری می‌شوند ، میانگین بازدید بیشتری دارند، نرخ پرش کمتری دارند و تبلیغاتشان بیشتر دیده می‌شود .

اهداف :

دستورالعمل‌ها :

ابزار اندازه‌گیری ریل

چند ابزار برای کمک به خودکارسازی اندازه‌گیری‌های RAIL شما وجود دارد. اینکه از کدام یک استفاده کنید، بستگی به نوع اطلاعاتی دارد که نیاز دارید و چه نوع گردش کاری را ترجیح می‌دهید.

ابزارهای توسعه کروم

Chrome DevTools تجزیه و تحلیل عمیقی از هر اتفاقی که هنگام بارگیری یا اجرای صفحه شما رخ می‌دهد، ارائه می‌دهد. برای آشنایی با رابط کاربری پنل Performance ، به بخش «شروع به کار با تجزیه و تحلیل عملکرد زمان اجرا» مراجعه کنید.

ویژگی‌های DevTools زیر به طور ویژه مرتبط هستند:

فانوس دریایی

Lighthouse در Chrome DevTools، در PageSpeed ​​Insights ، به عنوان یک افزونه کروم، به عنوان یک ماژول Node.js و در WebPageTest موجود است. شما یک URL به آن می‌دهید، یک دستگاه میان‌رده با اتصال 3G کند را شبیه‌سازی می‌کند، یک سری ممیزی روی صفحه اجرا می‌کند و سپس گزارشی از عملکرد بار و همچنین پیشنهادهایی برای بهبود به شما می‌دهد.

حسابرسی‌های زیر به ویژه مرتبط هستند:

پاسخ

بار

تست صفحه وب

WebPageTest ابزاری برای بررسی عملکرد وب است که از مرورگرهای واقعی برای دسترسی به صفحات وب و جمع‌آوری معیارهای زمان‌بندی استفاده می‌کند. برای دریافت گزارش دقیقی از عملکرد بارگذاری صفحه در یک دستگاه واقعی Moto G4 با اتصال 3G کند، یک URL در webpagetest.org/easy وارد کنید. همچنین می‌توانید آن را طوری پیکربندی کنید که شامل ممیزی Lighthouse نیز باشد.

خلاصه

RAIL دریچه‌ای است برای نگاه به تجربه کاربری یک وب‌سایت به عنوان سفری متشکل از تعاملات متمایز. درک کنید که کاربران چگونه سایت شما را درک می‌کنند تا بتوانید اهداف عملکردی را با بیشترین تأثیر بر تجربه کاربری تعیین کنید.

  • روی کاربر تمرکز کنید.

  • به ورودی کاربر در کمتر از ۱۰۰ میلی‌ثانیه پاسخ دهید.

  • هنگام انیمیشن یا پیمایش، یک فریم را در کمتر از 10 میلی‌ثانیه تولید کنید.

  • زمان بیکاری نخ اصلی را به حداکثر برسانید.

  • محتوای تعاملی را در کمتر از ۵۰۰۰ میلی‌ثانیه بارگذاری کنید.