RAIL মডেল দিয়ে কর্মক্ষমতা পরিমাপ করুন

RAIL হল একটি ব্যবহারকারী-কেন্দ্রিক পারফরম্যান্স মডেল যা পারফরম্যান্স সম্পর্কে চিন্তাভাবনার জন্য একটি কাঠামো প্রদান করে। এই মডেলটি ব্যবহারকারীর অভিজ্ঞতাকে মূল ক্রিয়াগুলিতে (যেমন, ট্যাপ, স্ক্রোল, লোড) বিভক্ত করে এবং প্রতিটির জন্য পারফরম্যান্স লক্ষ্য নির্ধারণ করতে আপনাকে সহায়তা করে।

RAIL ওয়েব অ্যাপের জীবনচক্রের চারটি স্বতন্ত্র দিককে বোঝায়: প্রতিক্রিয়া, অ্যানিমেশন, নিষ্ক্রিয়তা এবং লোড। এই প্রতিটি প্রসঙ্গে ব্যবহারকারীদের বিভিন্ন কর্মক্ষমতা প্রত্যাশা থাকে, তাই কর্মক্ষমতা লক্ষ্যগুলি প্রেক্ষাপট এবং ব্যবহারকারীরা কীভাবে বিলম্ব বোঝেন তার উপর UX গবেষণার উপর ভিত্তি করে সংজ্ঞায়িত করা হয়।

RAIL পারফরম্যান্স মডেলের ৪টি অংশ: প্রতিক্রিয়া, অ্যানিমেশন, নিষ্ক্রিয়তা এবং লোড।
RAIL পারফরম্যান্স মডেলের ৪টি অংশ

ব্যবহারকারীর উপর মনোযোগ দিন

ব্যবহারকারীদের আপনার কর্মক্ষমতা প্রচেষ্টার কেন্দ্রবিন্দু করুন। ব্যবহারকারীরা কর্মক্ষমতা বিলম্ব কীভাবে উপলব্ধি করেন তার মূল মেট্রিক্স নীচের সারণীতে বর্ণনা করা হয়েছে:

কর্মক্ষমতা বিলম্ব সম্পর্কে ব্যবহারকারীর ধারণা
০ থেকে ১৬ মিলিসেকেন্ড ব্যবহারকারীরা গতি ট্র্যাক করার ক্ষেত্রে অসাধারণভাবে দক্ষ, এবং অ্যানিমেশনগুলি মসৃণ না হলে তারা তা অপছন্দ করে। তারা অ্যানিমেশনগুলিকে মসৃণ বলে মনে করে যতক্ষণ প্রতি সেকেন্ডে 60টি নতুন ফ্রেম রেন্ডার করা হয়। এর অর্থ হল প্রতি ফ্রেমে 16 মিলিসেকেন্ড, যার মধ্যে ব্রাউজারটি নতুন ফ্রেমটি স্ক্রিনে রঙ করতে যে সময় নেয় তা অন্তর্ভুক্ত, যার ফলে একটি অ্যাপ একটি ফ্রেম তৈরি করতে প্রায় 10 মিলিসেকেন্ড সময় নেয়।
০ থেকে ১০০ মিলিসেকেন্ড এই সময়ের মধ্যে ব্যবহারকারীর ক্রিয়ায় সাড়া দিলে ব্যবহারকারীরা মনে করেন যে ফলাফল তাৎক্ষণিক। আর বেশি সময় লাগলে, ক্রিয়া এবং প্রতিক্রিয়ার মধ্যে সংযোগ বিচ্ছিন্ন হয়ে যায়।
১০০ থেকে ১০০০ মিলিসেকেন্ড এই উইন্ডোর মধ্যে, জিনিসগুলি কাজের একটি স্বাভাবিক এবং ক্রমাগত অগ্রগতির অংশ বলে মনে হয়। ওয়েবে বেশিরভাগ ব্যবহারকারীর জন্য, পৃষ্ঠা লোড করা বা ভিউ পরিবর্তন করা একটি কাজ।
১০০০ মিলিসেকেন্ড বা তার বেশি ১০০০ মিলিসেকেন্ড (১ সেকেন্ড) এর পরে, ব্যবহারকারীরা তাদের সম্পাদিত কাজের উপর মনোযোগ হারিয়ে ফেলেন।
১০০০০ মিলিসেকেন্ড বা তার বেশি ১০০০০ মিলিসেকেন্ড (১০ সেকেন্ড) এর বেশি সময় না নিলে ব্যবহারকারীরা হতাশ হয়ে পড়েন এবং কাজগুলো ছেড়ে দেওয়ার সম্ভাবনা থাকে। পরে আবার কাজগুলো নাও আসতে পারে।

লক্ষ্য এবং নির্দেশিকা

RAIL-এর প্রেক্ষাপটে, লক্ষ্য এবং নির্দেশিকা শব্দগুলির নির্দিষ্ট অর্থ রয়েছে:

  • লক্ষ্য । ব্যবহারকারীর অভিজ্ঞতার সাথে সম্পর্কিত মূল কর্মক্ষমতা মেট্রিক্স। উদাহরণস্বরূপ, ১০০ মিলিসেকেন্ডের কম সময়ে রঙ করার জন্য ট্যাপ করুন। যেহেতু মানুষের ধারণা তুলনামূলকভাবে স্থির, তাই এই লক্ষ্যগুলি শীঘ্রই পরিবর্তন হওয়ার সম্ভাবনা কম।

  • নির্দেশিকা । লক্ষ্য অর্জনে সহায়তা করে এমন সুপারিশ। এগুলি বর্তমান হার্ডওয়্যার এবং নেটওয়ার্ক সংযোগের অবস্থার জন্য নির্দিষ্ট হতে পারে এবং তাই সময়ের সাথে সাথে পরিবর্তিত হতে পারে।

প্রতিক্রিয়া: ৫০ মিলিসেকেন্ডের কম সময়ের মধ্যে প্রক্রিয়া ইভেন্ট

লক্ষ্য : ব্যবহারকারীর ইনপুট দ্বারা শুরু হওয়া একটি রূপান্তর ১০০ মিলিসেকেন্ডের মধ্যে সম্পন্ন করুন, যাতে ব্যবহারকারীরা মনে করেন যে ইন্টারঅ্যাকশনগুলি তাৎক্ষণিকভাবে সম্পন্ন হয়েছে।

নির্দেশিকা :

  • ১০০ মিলিসেকেন্ডের মধ্যে দৃশ্যমান প্রতিক্রিয়া নিশ্চিত করতে, ব্যবহারকারীর ইনপুট ইভেন্টগুলি ৫০ মিলিসেকেন্ডের মধ্যে প্রক্রিয়া করুন। এটি বেশিরভাগ ইনপুটের ক্ষেত্রে প্রযোজ্য, যেমন বোতামে ক্লিক করা, ফর্ম নিয়ন্ত্রণ টগল করা বা অ্যানিমেশন শুরু করা। এটি টাচ ড্র্যাগ বা স্ক্রোলের ক্ষেত্রে প্রযোজ্য নয়।

  • যদিও এটি স্বজ্ঞাতভাবে বিপরীত মনে হতে পারে, ব্যবহারকারীর ইনপুট অবিলম্বে সাড়া দেওয়া সবসময় সঠিক সিদ্ধান্ত নয়। আপনি অন্যান্য ব্যয়বহুল কাজ করার জন্য এই 100 ms উইন্ডোটি ব্যবহার করতে পারেন, তবে ব্যবহারকারীকে ব্লক না করার বিষয়ে সতর্ক থাকুন। সম্ভব হলে, ব্যাকগ্রাউন্ডে কাজ করুন।

  • যেসব কাজ সম্পূর্ণ হতে ৫০ মিলিসেকেন্ডের বেশি সময় লাগে, তাদের জন্য সর্বদা প্রতিক্রিয়া জানান।

৫০ মিলিসেকেন্ড নাকি ১০০ মিলিসেকেন্ড?

লক্ষ্য হলো ১০০ মিলিসেকেন্ডের কম সময়ে ইনপুট সাড়া দেওয়া, তাহলে আমাদের বাজেট কেন মাত্র ৫০ মিলিসেকেন্ড? এর কারণ হলো ইনপুট হ্যান্ডলিং ছাড়াও সাধারণত অন্যান্য কাজ করা হয় এবং সেই কাজ গ্রহণযোগ্য ইনপুট সাড়া দেওয়ার জন্য উপলব্ধ সময়ের কিছু অংশ দখল করে। যদি কোনও অ্যাপ্লিকেশন অলস সময়ে প্রস্তাবিত ৫০ মিলিসেকেন্ড অংশে কাজ করে, তাহলে এর অর্থ হল ইনপুট ৫০ মিলিসেকেন্ড পর্যন্ত সারিবদ্ধ হতে পারে যদি এটি সেই অংশগুলির মধ্যে একটিতে ঘটে। এর জন্য হিসাব করলে, ধরে নেওয়া নিরাপদ যে কেবলমাত্র অবশিষ্ট ৫০ মিলিসেকেন্ড প্রকৃত ইনপুট হ্যান্ডলিং এর জন্য উপলব্ধ। এই প্রভাবটি নীচের চিত্রে দৃশ্যমান করা হয়েছে যা দেখায় যে একটি নিষ্ক্রিয় কাজের সময় প্রাপ্ত ইনপুট কীভাবে সারিবদ্ধ করা হয়, যা উপলব্ধ প্রক্রিয়াকরণের সময় হ্রাস করে:

একটি নিষ্ক্রিয় কাজের সময় প্রাপ্ত ইনপুট কীভাবে সারিবদ্ধ করা হয় তা দেখানো চিত্র, যা উপলব্ধ ইনপুট প্রক্রিয়াকরণ সময়কে 50 মিলিসেকেন্ডে হ্রাস করে।
নিষ্ক্রিয় কাজগুলি কীভাবে ইনপুট প্রতিক্রিয়া বাজেটকে প্রভাবিত করে।

অ্যানিমেশন: ১০ মিলিসেকেন্ডে একটি ফ্রেম তৈরি করুন

লক্ষ্য :

  • প্রতিটি ফ্রেমকে ১০ মিলিসেকেন্ড বা তার কম সময়ে অ্যানিমেশনে তৈরি করুন। টেকনিক্যালি, প্রতিটি ফ্রেমের সর্বোচ্চ বাজেট ১৬ মিলিসেকেন্ড (১০০০ মিলিসেকেন্ড / ৬০ ফ্রেম প্রতি সেকেন্ড ≈ ১৬ মিলিসেকেন্ড), কিন্তু প্রতিটি ফ্রেম রেন্ডার করতে ব্রাউজারগুলির প্রায় ৬ মিলিসেকেন্ড প্রয়োজন, তাই প্রতি ফ্রেমে ১০ মিলিসেকেন্ডের নির্দেশিকা।

  • দৃশ্যমান মসৃণতার লক্ষ্য রাখুন। ব্যবহারকারীরা লক্ষ্য করেন যখন ফ্রেম রেট পরিবর্তিত হয়।

নির্দেশিকা :

  • অ্যানিমেশনের মতো উচ্চ চাপের বিন্দুতে, মূল কথা হল যেখানে সম্ভব কিছুই না করা, এবং যেখানে সম্ভব নয় সেখানে সর্বনিম্ন কাজ করা। যখনই সম্ভব, ব্যয়বহুল কাজ প্রাক-গণনা করার জন্য 100 মিলিসেকেন্ড প্রতিক্রিয়া ব্যবহার করুন যাতে আপনি 60 fps পৌঁছানোর সম্ভাবনা সর্বাধিক করতে পারেন।

  • বিভিন্ন অ্যানিমেশন অপ্টিমাইজেশন কৌশলের জন্য রেন্ডারিং পারফরম্যান্স দেখুন।

  • ভিজ্যুয়াল অ্যানিমেশন, যেমন প্রবেশপথ এবং প্রস্থান, টুইনস এবং লোডিং সূচক।
  • স্ক্রোলিং। এর মধ্যে রয়েছে ফ্লিং, যা ব্যবহারকারী যখন স্ক্রোলিং শুরু করে, তারপর ছেড়ে দেয়, এবং পৃষ্ঠাটি স্ক্রোলিং চালিয়ে যায়।
  • টেনে আনা। অ্যানিমেশনগুলি প্রায়শই ব্যবহারকারীর মিথস্ক্রিয়া অনুসরণ করে, যেমন একটি মানচিত্র প্যান করা বা জুম করার জন্য পিঞ্চ করা।

নিষ্ক্রিয়: নিষ্ক্রিয় সময় সর্বাধিক করুন

লক্ষ্য : ৫০ মিলিসেকেন্ডের মধ্যে ব্যবহারকারীর ইনপুটে পৃষ্ঠাটির সাড়া দেওয়ার সম্ভাবনা বাড়ানোর জন্য নিষ্ক্রিয় সময় সর্বাধিক করুন।

নির্দেশিকা :

  • স্থগিত কাজ সম্পন্ন করার জন্য অলস সময় ব্যবহার করুন। উদাহরণস্বরূপ, প্রাথমিক পৃষ্ঠা লোডের জন্য, যতটা সম্ভব কম ডেটা লোড করুন, তারপর বাকিগুলি লোড করার জন্য অলস সময় ব্যবহার করুন।

  • অলস সময়ে ৫০ মিলিসেকেন্ড বা তার কম সময়ে কাজ করুন। এর বেশি সময় থাকলে, ৫০ মিলিসেকেন্ডের মধ্যে ব্যবহারকারীর ইনপুটের প্রতি সাড়া দেওয়ার অ্যাপের ক্ষমতায় ব্যাঘাত ঘটার ঝুঁকি থাকে।

  • যদি কোনও ব্যবহারকারী অলস সময়ের কাজের সময় কোনও পৃষ্ঠার সাথে ইন্টারঅ্যাক্ট করে, তাহলে ব্যবহারকারীর ইন্টারঅ্যাকশনকে সর্বদা সর্বোচ্চ অগ্রাধিকার দেওয়া উচিত এবং অলস সময়ের কাজকে ব্যাহত করা উচিত।

লোড করুন: ৫ সেকেন্ডের মধ্যে কন্টেন্ট সরবরাহ করুন এবং ইন্টারেক্টিভ হয়ে উঠুন

যখন পৃষ্ঠাগুলি ধীরে ধীরে লোড হয়, তখন ব্যবহারকারীর মনোযোগ অন্যদিকে চলে যায় এবং ব্যবহারকারীরা কাজটি ব্যর্থ বলে মনে করেন। দ্রুত লোড হওয়া সাইটগুলির গড় সেশন দীর্ঘ হয়, বাউন্স রেট কম হয় এবং বিজ্ঞাপনের দর্শনযোগ্যতা বেশি থাকে

লক্ষ্য :

নির্দেশিকা :

RAIL পরিমাপের জন্য সরঞ্জাম

আপনার RAIL পরিমাপ স্বয়ংক্রিয় করতে সাহায্য করার জন্য কয়েকটি সরঞ্জাম রয়েছে। আপনি কোনটি ব্যবহার করবেন তা নির্ভর করে আপনার কী ধরণের তথ্য প্রয়োজন এবং আপনি কোন ধরণের কর্মপ্রবাহ পছন্দ করেন তার উপর।

Chrome DevTools সম্পর্কে

Chrome DevTools আপনার পৃষ্ঠা লোড হওয়ার সময় বা চলার সময় যা কিছু ঘটে তার গভীর বিশ্লেষণ প্রদান করে। পারফরম্যান্স প্যানেল UI এর সাথে পরিচিত হতে "রানটাইম পারফরম্যান্স বিশ্লেষণ" দেখুন।

নিম্নলিখিত DevTools বৈশিষ্ট্যগুলি বিশেষভাবে প্রাসঙ্গিক:

বাতিঘর

লাইটহাউস Chrome DevTools, PageSpeed ​​Insights -এ, Chrome এক্সটেনশন হিসেবে, Node.js মডিউল হিসেবে এবং WebPageTest-এর মধ্যে পাওয়া যায়। আপনি এটিকে একটি URL দেন, এটি একটি ধীর 3G সংযোগ সহ একটি মধ্য-পরিসরের ডিভাইসকে সিমুলেট করে, পৃষ্ঠায় একাধিক অডিট চালায় এবং তারপর আপনাকে লোড কর্মক্ষমতা সম্পর্কে একটি প্রতিবেদন দেয়, সেইসাথে কীভাবে উন্নতি করা যায় সে সম্পর্কে পরামর্শ দেয়।

নিম্নলিখিত নিরীক্ষাগুলি বিশেষভাবে প্রাসঙ্গিক:

প্রতিক্রিয়া

লোড

ওয়েবপেজটেস্ট

WebPageTest হল একটি ওয়েব পারফরম্যান্স টুল যা ওয়েব পৃষ্ঠাগুলি অ্যাক্সেস করতে এবং সময় মেট্রিক্স সংগ্রহ করতে আসল ব্রাউজার ব্যবহার করে। ধীর 3G সংযোগ সহ একটি আসল Moto G4 ডিভাইসে পৃষ্ঠার লোড পারফরম্যান্স সম্পর্কে বিস্তারিত প্রতিবেদন পেতে webpagetest.org/easy এ একটি URL লিখুন। আপনি এটিকে একটি Lighthouse অডিট অন্তর্ভুক্ত করার জন্যও কনফিগার করতে পারেন।

সারাংশ

RAIL হল একটি ওয়েবসাইটের ব্যবহারকারীর অভিজ্ঞতাকে বিভিন্ন মিথস্ক্রিয়ার সমন্বয়ে গঠিত একটি যাত্রা হিসেবে দেখার একটি দৃষ্টিকোণ। ব্যবহারকারীরা আপনার সাইটকে কীভাবে দেখেন তা বুঝুন যাতে ব্যবহারকারীর অভিজ্ঞতার উপর সর্বাধিক প্রভাব ফেলে কর্মক্ষমতা লক্ষ্য নির্ধারণ করা যায়।

  • ব্যবহারকারীর উপর মনোযোগ দিন।

  • ১০০ মিলিসেকেন্ডের মধ্যে ব্যবহারকারীর ইনপুটের উত্তর দিন।

  • অ্যানিমেটিং বা স্ক্রলিং করার সময় ১০ মিলিসেকেন্ডের কম সময়ে একটি ফ্রেম তৈরি করুন।

  • প্রধান থ্রেডের অলস সময় সর্বাধিক করুন।

  • ৫০০০ মিলিসেকেন্ডের কম সময়ে ইন্টারেক্টিভ কন্টেন্ট লোড করুন।