উইন্ডোজের প্রথম GUI থেকে আমরা প্রগ্রেস বারের বাস্তবতার সাথে জীয়েছি। এগুলো সবসময় একটি ডাল্লা বন্ধুর মতো, যেন তারা বলছে সে تقریبا শেষ করল কিছু, কিন্তু বাস্তবে সে শেষ থেকে দূরে। প্রগ্রেস বারে "99%" পড়ে ৫ মিনিট ধরে "১ সেকেন্ড বাকি" বলতে শুনতে আপনার মনে হতাশা ভরে যায়। আমরা আপনার হতাশা বুঝি, তাই আমি ব্যাখ্যা করবো কেন এই জিনিসগুলো হয়।
প্রথমে দেখি প্রগ্রেস বার কীভাবে কাজ করে
একটি প্রগ্রেস বার বানানো হয় একটি ডায়লগে একটি বার রাখা। সেই বারটি একটি টাস্ক সম্পন্ন করার প্রগ্রেসের পërsেন্টেজ অনুযায়ী ফিল হয়, তাই নাম "প্রগ্রেস বার"। প্রোগ্রামাররা একটি টাস্কের নির্দিষ্ট মাইলস্টোনকে একটি পërsেন্টেজ এট্রিবিউট করে প্রগ্রেস বার টিক করান। তাই, একবার প্রগ্রেস বার ১০০ পার্টের টাস্কের তৃতীয় অংশে পৌঁছালে, এটি জানে এটি শুধু ৩% ফিল করতে হবে।
কখনো কখনো প্রোগ্রামাররা প্রগ্রেস বারের ওপর একটি টাইমারও রেখে দেন। এটি (সবসময় ভুলে) নির্ধারণ করে একটি নির্দিষ্ট টাস্ক কতক্ষণ নেবে ফিনিশ হওয়ার জন্য। পূর্বের উদাহরণ ব্যবহার করলে, প্রথম ৩ পার্ট ১০০-পার্ট টাস্কের ৩ সেকেন্ডে হয়। বাকি ১ মিনিট ৩৭ সেকেন্ড (মোট ৯৭ সেকেন্ড) বাকি। কিন্তু এই জিনিস শুধু একটি পারফেক্ট ওয়ার্ল্ডে কাজ করে। নিচে ব্যাখ্যা করছি।
কেন বারটি আটকে যায়
প্রগ্রেস বার নির্দিষ্ট পয়েন্টে আটকে থাকার জন্য বিখ্যাত। এটি খুব ফ্রাস্ট্রেটিং, কিন্তু এর পেছনে কারণ আছে। যখন প্রগ্রেস বার একটি টাস্কের প্রগ্রেস মাপে, এটি নির্দিষ্ট ক্রাইটেরিয়া ব্যবহার করে। উদাহরণস্বরূপ, ১,০০০ ফাইল কপি করছি। প্রতিটি ফাইল প্রায় ভিন্ন সাইজের। কিছু লোক ১,০০০ কে ১০০ দিয়ে ভাগ করবে। শুনতে ভালো লাগে, কিন্তু ফাইল সাইজের পার্থক্য হিসাবে নয়। কিছু ফাইল কয়েক MB, অন্যদের ১০ GB পর্যন্ত হতে পারে!

সকল ফাইলের টোটাল সাইজ কে ১০০ দিয়ে ভাগ করাও পারা যায়। এটি প্র্যাক্টিক্যাল এবং বেশি এক্যুরেট লাগে, কিন্তু এটিও ডাড। মেথডটি একাউন্ট করে না হ্যাড ড্রাইভের স্পিড ফ্লাকচুয়েশন সেজন্য যখন বিভিন্ন টাইপের ফাইল কপি হয়, বা অন্য শর্ট টাস্ক পারফর্ম করার সময় কপি হয়। শেষে আপনি পাবেন একটি বার যা শুধু দেখাবে আপনি কত দূর এসেছেন, কিন্তু কতক্ষণ অপেক্ষা করতে হবে টাস্ক ফিনিশ হওয়ার জন্য সেটি না।
হ্যাড ড্রাইভ ছোট ফাইলগুলো (বা বড় কিন্তু ফিজিক্যালি ফ্র্যাগমেন্টেড ফাইল) কপি করতে বড় চান্কের চেয়ে ধীরে। কারণ এর ফিজিক্যাল প্ল্যাটারগুলোর মধ্যে নতুন সেগমেন্ট সিক করার প্রসেস ১০০টি ছোট ফাইল অ্যাক্সেস করার সময় বেশি ক্লান্তিকর বনাম দুটি বড় চান্ক হান্ট ডাউন করার প্রসেস। রেজিস্ট্রি এন্ট্রি নিয়েও একই কথা বলা যায়—লেন্থ ও সোফিস্টিকেশন ভিন্ন।
কিছু চূড়ান্ত চিন্তা
প্রায় সব কিছুর সাথে এতটুকু ভেরিয়েবল থাকায়, একটি টাস্কের প্রগ্রেস সঠিকভাবে প্রিডিক্ট করা অসম্ভব। আপনি ছাড়া একটি বেহুদা বার পাওয়া যায় স্ক্রিনে যা শুধু আপনাকে ফিট থামানো থেকে বাঁচাতে থাকে। লড়াই শেষ। আপনার জিদ्दी কম্পিউটার সবসময় জিতবে যেকোনো অ্যাকুরেট প্রিডিকশনের ওপর, যা ভ্যাকুয়ামে অন্যথায় টাইমলি ম্যানারে সম্পন্ন হতো। আপনি প্রগ্রেস বারের বিষয়ে কিছু করতে পারবেন না, কিন্তু কমপক্ষে জানেন কেন এগুলো এত ফ্রাস্ট্রেটিংভাবে আচরণ করে!
ওহ, আর প্রগ্রেস बार সম্পর্কিত একটি আকর্ষণীয় গেম: Progress Wars।
আপনি যদি টাস্ক প্রিডিক্ট করার আরও এক্যুরেট উপায় চিন্তা করতে পারেন, কমেন্টে জানান!
Dark loading or progress bar by BigStockPhoto