Skip to main content
UX Law

৪টা ১৫ বেজে গেছে। কেউ কিছু বলছে না।

যশোর রেলওয়ে স্টেশনে দাঁড়িয়ে আছেন। ট্রেনের কোনো খবর নেই। মাইকে কী বলছে সেটা earphone এর কারণে শুনতে পাচ্ছেন না। এই অস্থিরতার একটা নাম আছে। Design এর ভাষায় বলে "Visibility of System Status এর অভাব।

Mehedihas
Mehedihas
April 17, 202614 min read
Visibility of System Status

বিকেল ৪টার গল্প

বিকেল ৩টা ৫০। আপনি যশোর রেলওয়ে স্টেশনে আছেন। ঢাকায় যাবেন। ট্রেন ৪টা ১৫ মিনিটে ছাড়ার কথা।

Platform এ দাঁড়ালেন। কানে earphone, পছন্দের playlist চলছে। চারদিকে মানুষের ভিড়, ট্রলির চাকার শব্দ, কোথাও কেউ চিৎকার করে কাউকে ডাকছে। আপনার চোখ বারবার ঘড়িতে।

৪টা ১৫ বেজে গেলো।

ট্রেন নেই।

৪টা ২০। তখনো নেই। ৪টা ২৫। এখনো নেই।

মাথায় চলছে: ট্রেন কি cancel হয়ে গেছে? Platform কি ভুল? মাইকে কিছু বলা হয়েছিলো কি, earphone এর কারণে শুনতে পাইনি? পাশের মানুষকে জিজ্ঞেস করলেন, সে-ও জানে না। আবার ফোন বের করে টিকিট এর pdf ওপেন করে দেখলেন টাইম ঠিক আছে কিনা। সেখানে লেখা আছে Departure, Jashore, 20 APR 4:15 PM।

যশোর local station। কোনো digital display নেই। কোনো announcement board নেই। শুধু একটা পুরনো chalk-এ লেখা schedule, সেটাও half-erased। আপনি জানেন না কী হচ্ছে।

এই না-জানাটা একটা loop তৈরি করে: ঘড়ি দেখছেন, platform দেখছেন, আবার ঘড়ি, আবার ফোন। তারপর একজন মানুষ পাশ থেকে বললেন, "ভাই, Ruposhi bangla express আজকে লেট, ২০ মিনিট পর আসবে ।"

এক নিমিষে anxiety চলে গেলো।

ট্রেন আসেনি ঠিকই, বরং জানানো হলো যে আরও ২০ মিনিট দেরি হবে। তবুও মনের মধ্যে একটা শান্তি কাজ করলো, কারণ এখন আপনি প্রকৃত অবস্থা জানেন। আসলে ট্রেন নয়, সঠিক তথ্য বা Information-ই সেই স্বস্তিটুকু এনে দিয়েছে।
আর আজ বকবক করব Jakob Nielsen Visibility of System Status নিয়ে।

যশোর রেলওয়ে স্টেশনের platform, মানুষ দাঁড়িয়ে অপেক্ষা করছে, কোনো digital display নেই
যশোর রেলওয়ে স্টেশন platform AI Generated

এবার জানা যাক মেট্রো রেল কীভাবে এটা solve করলো

কয়েক মাস পর। আপনি ঢাকায়। কমলাপুর মেট্রো স্টেশনে নামলেন, পল্লবী যাবেন।

স্টেশনে ঢুকলেন, gate দিয়ে pass করলেন, platform এ গেলেন। সেখানে একটা বড় display board।

"পল্লবী ২০:৫১।"

আপনি phone বের করলেন, একটু scroll করলেন, রাত ২০:৪৮ তে আবার তাকালেন। "মতিঝিল ২০:৫১।" তারপর ২০:৫১ এ ট্রেন এলো।

কোনো anxiety নেই। কোনো loop নেই। কারণ system জানাচ্ছিলো: পরের ট্রেন কখন আসবে, কোথায় যাবে।

যশোরে anxiety পেয়েছিলেন ট্রেন দেরি হচ্ছিলো বলে না। পেয়েছিলেন কারণ system চুপ ছিলো।

মেট্রো রেল সেই চুপ থাকার জায়গাটা ভরাট করে দিয়েছে একটা display দিয়ে।

এটাই Visibility of System Status এর ব্যবহার।

Dhaka Metro Rail
ঢাকা মেট্রো রেল platform AI Generated

Jakob Nielsen ১৯৯৪ সালে ১০টা Usability Heuristics publish করলেন। প্রথমটা:

Visibility of System Status

Jakob Nielsen এর ভাষায়

The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.

Jakob Nielsen

বাংলায়: System কী করছে সেটা user কে জানাতে হবে, সঠিক সময়ে, সঠিকভাবে।

কিন্তু "সঠিক সময়" মানে কতটুকু? ১ সেকেন্ড? ৫? ১০? এই প্রশ্নের উত্তর এসেছিলো আরো পুরনো একটা research থেকে।

যে তিনটা সংখ্যা সব বদলে দিয়েছিলো

১৯৬৮ সাল। Robert B. Miller নামে একজন গবেষক একটা প্রশ্ন নিয়ে বসলেন: কতটুকু delay মানুষ সহ্য করতে পারে? তিনি বিভিন্ন response time এ মানুষের reaction দেখলেন। আর খুঁজে পেলেন মানুষের মস্তিষ্ক তিনটা ভিন্ন threshold এ কাজ করে। Nielsen পরে এই research কে design এর ভাষায় bring করলেন, আর সেটা আজও standard হিসেবে ব্যবহার হয়।

response-times-3-important-limits
Response Times

তিনটা সংখ্যা:

০.১ সেকেন্ড। এর মধ্যে response পেলে আপনি feel করেন এটা instant। Button press করলেন, কাজ হলো। মনে হয় হাত সরাসরি screen এর সাথে connected। Figma তে একটা element drag করুন, সাথে সাথে নড়ে। আপনি Figma কে "fast" বলেন কারণ এই threshold টা মেনে চলে।

১ সেকেন্ড। এখানে delay টের পান, কিন্তু concentration ব্রেক হয় না। "একটু slow" মনে হয়, কিন্তু focus থাকে। Google search করলে একটু wait করেন, result আসে, কাজ চলে।

১০ সেকেন্ড। এখানে attention চলে যায়। Phone তুলে দেখেন, অন্যদিকে তাকান। আর এই ১০ সেকেন্ডের মধ্যে কোনো feedback না পেলে ধরে নেন system broken।

তিনটা threshold থেকে একটা সহজ নিয়ম:

  • ০ থেকে ১ সেকেন্ড: visual response দিলে ভালো
  • ১ থেকে ১০ সেকেন্ড: "Loading..." বা spinner দরকার
  • ১০ সেকেন্ডের বেশি: progress indicator দরকার, কতটুকু হলো সেটা বলতে হবে

যশোরের platform এ ২০ মিনিট কোনো feedback নেই, মানে আপনি ছিলেন "১০ সেকেন্ডের বেশি" zone এ। System silent ছিলো। মেট্রো রেলের display সেই silence ভেঙে দিয়েছে।

The 3 Response Time Limits in Interaction Design

International app গুলো কীভাবে solve করেছে

Wise: প্রতিটা ধাপ দেখা যায়

Wise এ international money transfer করলে কী হয়? আপনি পাঠালেন। Wise তখন একটা tracker খুলে দেয়, step-by-step:

✓ Friday, April 20th at 5:53 PM
You set up your transfer


✓ Friday, April 20th at 5:59 PM
We've received your transfer.


✓ Friday, April 20th at 6:00 PM
We paid out your USD


✓ Friday, April 20th at 6:10 PM
Your transfer is complete.


✓ Friday, April 20th at 6:10 PM
Nafiul has received the money."

প্রতিটা step এ timestamp আছে। কোথায় আছে, কতক্ষণ লাগবে সেটা জানা যাচ্ছে।

এখন তুলনা করুন। আপনি কোনো একটা payment করলেন, screen টা শুধু বললো "Processing..." আর তারপর চুপ। ৩ মিনিট পরেও চুপ। আপনি জানেন না গেছে কি যায়নি।

Wise আর সেই "Processing..." এর মধ্যে পার্থক্য একটাই: Wise জানাচ্ছে কী হচ্ছে, পদক্ষেপে পদক্ষেপে।

এটাই Visibility of System Status কে properly implement করা।

wise-sending-money
Wise

Claude: status দেখালেই হয় না, honest হতে হয়

আপনি যদি Claude Code এ কাজ দেন, একটু খেয়াল করুন কী হয়।

আপনি লিখলেন, send করলেন। তারপর দেখলেন:

"Thinking..." "Working on it..." "Running Skill..." "Web Search..."

আবার যদি টাস্ক বড় হয় তাহলে আপনাকে একটা information ব্যানার দেখায়, যেখানে বলে আপনি অন্য কাজ করুণ claude এর কাজ শেষ হলে সে আপনাকে notify করে দিবে।

প্রতিটা update একটাই কাজ করছে। বলছে: "আমি আছি, কাজ হচ্ছে, অপেক্ষা করুন।" আপনি চলে যান না, কারণ system জানাচ্ছে কী হচ্ছে। এটা Visibility of System Status এর ভালো দিক।

কিন্তু এবার অন্য situation। কাজ দিলেন। "Working on it..." দেখালো। তারপর দীর্ঘ নীরবতা। Status আর আসছে না। কাজও শেষ হচ্ছে না। Spinner ঘুরছে, কিন্তু কিছু হচ্ছে না। আপনি ভাবছেন: refresh করবো? আবার লিখবো? চলে যাবো? এমন অভিজ্ঞতা আমার হয়েছে। যেখানে আমি claude code এ টাস্ক দেয়ার পর সকল স্ট্যাটাস দেখেছি এবং হটাৎ কিছু আর হয় না। stop বাটন ও নরমাল। কিছুক্ষণ পর দেখি আবার কাজ করা স্টার্ট করে দিয়েছে।

এটা যশোরের platform এর মতোই। কেউ একবার বলেছিলো "ট্রেন আসছে।" তারপর চুপ। আপনি আবার সেই loop এ পড়লেন।

শুধু status দিলেই হয় না। সেই status honest হতে হয় আর সময়মতো আপডেট হতে হয়।

বাংলাদেশে কেমন দেখায়

Pathao তে ride book করলে কী দেখেন? Driver এর নাম, গাড়ির নম্বর, আর map এ real-time location। আপনি দেখতে পাচ্ছেন driver কোথায় আছে, কতটুকু কাছে। এটা Visibility of System Status।

এর উল্টোটা ভাবুন। Ride book করলেন, screen এ লেখা "Driver assigned।" তারপর কিছু নেই। Driver আসছে কি আসছে না, কতক্ষণ লাগবে, কিছু জানা যাচ্ছে না। আপনি বারবার app refresh করছেন।

দুটো situation এ আপনার wait time same হতে পারে। কিন্তু একটায় আপনি শান্ত, অন্যটায় anxious। পার্থক্য শুধু information এর।


এইসব উদাহরণ থেকে এতটুকু স্পষ্ট যে, User Interface-এ অপেক্ষা করার সময়টা সমস্যা নয়, সমস্যা হলো তথ্যের অভাব। একটি ভালো system ইউজারকে কেবল শান্ত রাখে না, বরং তাদের action এর উপর আস্থা রাখার Experience দেয়। এখন প্রশ্ন হলো, একজন ডিজাইনার হিসেবে আপনি এই সমস্যাটি কীভাবে সমাধান করবেন এবং আপনার প্রোডাক্টে 'Visibility of System Status' নিশ্চিত করবেন?

আপনি যেভাবে solve করবেন

এই law তো জানলেন। এবার সেই জ্ঞানকে বাস্তবে রূপ দেওয়ার পালা।

আপনি যখন কোনো product design করবেন, তখন এই চারটা জায়গায় Visibility of System Status নিশ্চিত আছে কিনা তা একবার পরখ করে নিন:

১. Button press করার পর কী হয়? Click করার সাথে সাথে কি button-এর state বদলায়? কোনো loading indicator কি দেখা দিচ্ছে? নাকি সব আগের মতোই স্থির? যদি তাৎক্ষণিক feedback না থাকে, user বিভ্রান্ত হয়ে বারবার click করতে থাকবে, যার ফলে double submit হওয়ার ভয় থাকে। তখন অবস্থা হবে সেই যশোর platform-এর মতো, কিছু হলো কি হলো না, সেটা অজানাই থেকে যাবে।

২. Form submit করার পর? Screen কি freeze হয়ে আছে, নাকি "Submitting..." লেবেল দেখাচ্ছে? Miller-এর research অনুযায়ী, ১০ সেকেন্ডের বেশি সময় লাগলে progress indicator কোথায়, সেটা কি user দেখতে পাচ্ছে?

৩. Process শেষ হলে কী বলছে? কাজটা যে "সফল হয়েছে", সেটা কি system স্পষ্ট করে জানাচ্ছে? নাকি শুধু একটা নিঃশব্দ page reload হচ্ছে? User কি মনে শান্তি নিয়ে নিশ্চিত হতে পারছে যে তার কাজটা সম্পন্ন হয়েছে?

৪. Error হলে কী হয়? System কি শুধু একটা blank screen দেখাচ্ছে? নাকি সোজাসুজি বলছে যে ঠিক কোথায় সমস্যা হয়েছে এবং এখন user-এর করণীয় কী?

যদি এই চারটা প্রশ্নের উত্তর "না" হয়, তবে বুঝবেন সেখানে usability-র ঘাটতি আছে। ঝটপট fix করে ফেলুন।

Wise-এর মতো স্বচ্ছ হোন: প্রতিটা ধাপ ইউজারকে দেখান। মেট্রো রেলের মতো smart হোন: সঠিক তথ্য পৌঁছে দিন একেবারে সঠিক সময়ে।

আবার কিন্তু বেশি বললেও সমস্যা

এতক্ষণ বললাম জানাতে। এখন উল্টো কথা।

ধরুন আপনার phone এ প্রতিটা app আলাদাভাবে জানাচ্ছে। Email, WhatsApp, bank balance, weather, promo, সব notification। প্রতিটা app বলছে "আমি আছি।"

এটা Visibility of System Status এর overuse। এত বেশি বললে আপনি সব ignore করা শুরু করেন। Design এ এর নাম "notification fatigue।" NNGroup এর research এ দেখা গেছে, অতিরিক্ত notification এর পর user রা গুরুত্বপূর্ণ notification ও miss করেন।

যশোর station এ যদি প্রতি ৩০ সেকেন্ডে সব ট্রেনের announcement হতো, সব platform এর জন্য, আপনি সেটাও ignore করতেন।

Law সম্পূর্ণ রূপ: System এর status জানান, প্রয়োজনীয় সময়ে, প্রয়োজনীয় পরিমাণে।

মজার একটা কথা

Wise এর transfer tracker আসার আগে international transfer এ সবচেয়ে বড় complaint ছিল uncertainty। "টাকা গেছে কি যায়নি" এই প্রশ্নে customer support এ অসংখ্য call আসতো। Wise step-by-step tracker আনার পর সেই support call এর একটা বড় অংশ কমে গেলো। কারণ মানুষ নিজেই দেখতে পাচ্ছে কী হচ্ছে।

Support call কমে গেলো কারণ product ভালো হয়েছে তা নয়; বরং system-এর visibility বাড়ার কারণেই মানুষ শান্ত থাকতে পেরেছে।

Checklist

  • প্রতিটা button এ hover আর click/active state আছে?
  • Loading এর সময় spinner বা progress bar আছে?
  • ১০ সেকেন্ডের বেশি কোনো process আছে? তাতে progress percentage দেখাচ্ছে?
  • Success বা error এর পর clear message আছে?
  • Notification কি প্রয়োজনের চেয়ে বেশি হচ্ছে?

✍️ মেহেদী হাসান mehedihas Design Notes

এই লেখাটা ভালো লেগে থাকলে আপনার designer বন্ধুদের সাথে share করুন। কোনো topic নিয়ে লিখতে চান? কোনো app এর design decode করতে চান? জানান আমাকে।

আগের পর্ব: Jakob Nielsen এর Usability Heuristics: একটা সম্পূর্ণ সিরিজ — পর্ব ০: ভূমিকা
সিরিজের পর্বগুলো

  • পর্ব ০০: ভূমিকা — কেন এই সিরিজ (এটাই পড়লেন)
  • পর্ব ০১: Visibility of System Status — (এটাই পড়লেন)
  • পর্ব ০২: Match Between System and the Real World — [আসছে]
  • পর্ব ০৩: User Control and Freedom — [আসছে]
  • পর্ব ০৪: Consistency and Standards — [আসছে]
  • পর্ব ০৫: Error Prevention — [আসছে]
  • পর্ব ০৬: Recognition Rather Than Recall — [আসছে]
  • পর্ব ০৭: Flexibility and Efficiency of Use — [আসছে]
  • পর্ব ০৮: Aesthetic and Minimalist Design — [আসছে]
  • পর্ব ০৯: Help Users Recognize, Diagnose, and Recover from Errors — [আসছে]
  • পর্ব ১০: Help and Documentation — [আসছে]

কতটুকু শিখতে পেরেছেন সেটা যাচাই করতে নিচে গিয়ে কুইজ খেলুন।


পরের পর্বে: System কী করছে জানালেন। কিন্তু সেই জানানোটা যদি আপনার ভাষায় না হয়?।"

পর্ব ০২: Match Between System and the Real World।

তথ্যসূত্র · References

  1. 1
    Jakob NielsenNielsen, J. (1994). Enhancing the Explanatory Power of Usability HeuristicsProceedings of CHI'94 Conference on Human Factors in Computing Systems. ACM Press., 1994
  2. 2
    Miller, R. B. (1968). Response time in man-computer conversational transactions. Association for Computing MachineryNew YorkNYUnited States, 1968
  3. 3
  4. 4
    Nielsen, J., & Molich, R. (1990). Heuristic evaluation of user interfaces. Proceedings of CHI'90 Conference on Human Factors in Computing Systems. ACM Press.

Fact Check Report

ClaimStatus
যশোর রেলওয়ে স্টেশন: যশোর জেলায় অবস্থিত, এটা একটা local/regional station। ঢাকার Kamalapur (কমলাপুর) থেকে আলাদা। যশোর থেকে ঢাকাগামী ট্রেন এই station থেকে ছাড়ে।Verified
যশোরের মতো local station এ digital display নেই: বাংলাদেশের অধিকাংশ local railway station এ real-time digital display নেই। Dhaka এর Kamalapur এ কিছু display আছে, কিন্তু regional stations এ নেই।Verified
মেট্রো রেল display format: ঢাকা MRT Line 6 এর platform display তে পরের ট্রেনের destination station আর arrival time দেখায়। Format: station name + time (যেমন "পল্লবী ২০:৫১")Verified
Jakob Nielsen Usability Heuristics (1994): Nielsen, J. (1994).Verified
Robert B. Miller (1968) response time research: Miller, R. B. (1968). "Response time in man-computer conversational transactions.Verified
Nielsen এর 3 thresholds (0.1s, 1s, 10s): Nielsen, J. (1993, updated 2010). "Response Times: The 3 Important Limits."Verified
Wise (wise.com) এ international transfer করলে step-by-step tracker দেখায়। "Received", "Converting", "Sent to bank", "Complete" ধরনের statusVerified
Claude status labels: "Thinking...", "Working on it...", "Running Skill...", "Web Search..." এই exact labels গুলো Claude এর Cowork mode এ দেখা যায়

Labels সময়ের সাথে পাল্টাতে পারে

Verified
Pathao ride-hailing app এ driver location map এ দেখায়। এটা commonly known feature, তবে Pathao এর current app version এ exact feature set verify করা হয়নি।Partially True
Wise support call reduction claim: "Support call কমে গেলো" এই specific claim টা Wise এর public case study থেকে নেওয়া নয়। এটা general principle হিসেবে বলা হয়েছে। Claim টা plausible কিন্তু specific data cite করা হয়নি।

পাঠক এটা inference হিসেবে নেবেন।

Partially True
NNGroup notification fatigue: NNGroup এ notification fatigue নিয়ে research আছে। Specific study citation দেওয়া হয়নি, "commonly cited finding" হিসেবে use করা হয়েছেPartially True

End of article quiz

·5 questions·~2 min

কুইজ: ভিজিবিলিটি অফ সিস্টেম স্ট্যাটাস

Jakob Nielsen-এর প্রথম Heuristic সম্পর্কে আপনার ধারণা কতটা স্পষ্ট, এই ৫টি প্রশ্নের মাধ্যমে যাচাই করুন। আপনার জ্ঞান পরীক্ষা করুন: যশোর রেলওয়ে স্টেশনের নীরবতা কেন দুশ্চিন্তা তৈরি করে, Millers-এর ৩টি Response Time Limit (০.১, ১, ১০ সেকেন্ড) কীভাবে কাজ করে, এবং কেন একটি ভালো System-কে সৎ ও সময়মতো তথ্য দিতে হয়।

Opens in a focused window · Esc to close