অ্যাপ ভেঙে গেলে কী বলা উচিত: মানুষ সত্যিই বোঝে এমন এরর মেসেজ লেখার নিয়ম

একটি ভালো এরর মেসেজ বলে দেয় কী হয়েছে, দোষ কার, এরপর কী করতে হবে — আর ব্যবহারকারীর করা কাজ মুছে ফেলে না। এভাবেই একটি ভাঙা মুহূর্ত পরিণত হয় আবার চেষ্টা করার সুযোগে, বদলে কেউ চিরতরে আপনার অ্যাপ ছেড়ে যাওয়ার বদলে।

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

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

কেন অ্যাপ নীরবে ফেল করে বা ভয়ংকর এরর মেসেজ দেখায়?

অ্যাপ দুই ভাবে খারাপভাবে ভেঙে পড়ে: কিছু ফেল করলে একেবারে চুপ থাকে, অথবা এমন একটা টেকনিক্যাল এরর দেখায় যা একজন সাধারণ মানুষ পড়তেই পারে না। দুটো ক্ষেত্রেই ব্যবহারকারীকে অনুমান করতে ছেড়ে দেওয়া হয়, আর অনুমানই মানুষকে হাল ছেড়ে দেওয়ায়।

নীরব ব্যর্থতা। মায়া নামে ডাকি এমন একজন ফ্রিল্যান্সার তার ফটোগ্রাফি ব্যবসার জন্য একটা বুকিং ফর্ম বানিয়েছিলেন। একজন ক্লায়েন্ট “Confirm Booking”-এ চাপলেন, বাটনটা একবার ঝিলিক দিল, আর… কিছুই না। কোনো কনফার্মেশন নেই, কোনো এরর নেই, কোনো স্পিনার নেই। এটা কি কাজ করেছে? ক্লায়েন্ট নিশ্চিত ছিলেন না, তাই তিনি আবার বুক করলেন। এবার মায়ার কাছে একই স্লটে দুটো বুকিং, আর একজন বিভ্রান্ত ক্লায়েন্ট। অ্যাপটা ক্র্যাশ করেনি — শুধু সেভ ফেল করেছিল, আর অ্যাপ কিছু বলেনি, তাই যিনি সামনে বসে ছিলেন তার কোনো ধারণাই ছিল না আসলে কী ঘটেছে।

ভয়ংকর টেক এরর। অন্য ব্যর্থতাটা আরও জোরালো, আর কোনোভাবে আরও খারাপ। একটি কমিউনিটি ফান্ডরেইজার চালানো একজন স্বেচ্ছাসেবী একটা স্প্রেডশিট আপলোড করার চেষ্টা করলেন আর একটা লাল বাক্স পেলেন যাতে লেখা ছিল Error 500: Internal Server Error। তিনি এটাকে পড়লেন “আমি কিছু একটা নষ্ট করে ফেলেছি” হিসেবে। তিনি আর চেষ্টা করলেন না, সাহায্যের জন্য ইমেইলও করলেন না, শুধু ট্যাবটা বন্ধ করে দিলেন — কারণ মেসেজটা সমস্যাটাকে তার নিজের দোষ বলে মনে করিয়ে দিয়েছিল, আর মনে হয়েছিল হয়তো আবার হাত দেওয়াটা নিরাপদ নয়।

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

ভালো এরর মেসেজ কীভাবে হওয়া উচিত?

একটা ভালো এরর মেসেজ সহজ ভাষায় চারটে ছোট কাজ করে: এটা বলে কী ঘটেছে, বলে দোষটা কার, বলে এরপর কী করতে হবে, আর ব্যবহারকারীর করা কাজ হারিয়ে ফেলে না।

  1. কী ঘটেছে সেটা বলে — “আমরা আপনার বুকিং সেভ করতে পারিনি,” চুপ থাকা বা 500 দেখানো নয়।
  2. দোষটা কার সেটা বলে — সাধারণত সৎ উত্তর হলো “আমাদের,” আর এটা বললে মানুষ শান্ত হয়ে যায়।
  3. এরপর কী করতে হবে সেটা বলে — “কিছুক্ষণ পরে আবার চেষ্টা করুন” বা “আপনার ইন্টারনেট সংযোগ দেখে আবার চেষ্টা করুন।”
  4. তাদের কাজ হারায় না — তারা যা কিছু টাইপ করেছিল সেটা মেসেজ দেখানোর সময়েও ফর্মে থেকে যায়।

ব্যস, এতটুকুই। কোনো ক্ষমা-প্রার্থনার প্রবন্ধ নয়, হেডলাইন হিসেবে কোনো এরর কোড নয়, কাউকে দোষারোপ নয়। এখানে আগের তিনটে ব্যর্থতাই নতুন করে লেখা হলো:

  • ❌ (কিছুই ঘটে না) → ✅ “এই মুহূর্তে সেটা সেভ করতে পারিনি। আপনার তথ্য এখনো এখানেই আছে — আবার চেষ্টা করতে Confirm-এ চাপুন।”
  • ❌ Error 500: Internal Server Error → ✅ “সেই ফাইলটা আপলোড করার সময় আমাদের দিকে কিছু একটা গোলমাল হয়েছে। এটা আপনার দোষ নয়। এক মিনিট পরে আবার চেষ্টা করুন।”
  • ❌ Invalid input → ✅ “সেই ফোন নম্বরটা ঠিক মনে হচ্ছে না — এটা ১০ সংখ্যার হওয়া উচিত, যেমন 555-123-4567।”

খেয়াল করুন শেষ উদাহরণটা নির্দিষ্ট ফিল্ডের দিকে ইঙ্গিত করে আর দেখায় সঠিক জিনিসটা দেখতে কেমন। “Invalid input” মানুষকে খুঁজে বেড়াতে বাধ্য করে; “সেই ফোন নম্বরটা ১০ সংখ্যার হওয়া উচিত” তাদের ঠিক ঠিক বলে দেয় কী বদলাতে হবে।

কোন অ্যাপ এরর আগে ঠিক করা উচিত?

প্রতিটা সম্ভাব্য ব্যর্থতার জন্য আলাদা মেসেজ বানানোর দরকার নেই — একটা সাধারণ অ্যাপে যা কিছু ভুল হতে পারে তার প্রায় সবটাই কভার করে তিনটে জিনিস: সেভ বা সাবমিট যেটা ফেল করে, যে ইনপুট অ্যাপ ব্যবহার করতে পারে না, আর যেটা আপনার দিক থেকে ভেঙে যায়।

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

“আপনি যা টাইপ করেছেন সেটা আমরা ব্যবহার করতে পারছি না” (ভ্যালিডেশন)। এটা আসলে কোনো এরর নয় — এটা একটা ভুল বোঝাবুঝি। যে মুহূর্তে তারা ফিল্ড থেকে বেরিয়ে যায় সেই মুহূর্তে এটা ধরুন, ঠিক সেই ফিল্ডের দিকে ইঙ্গিত করুন, আর সঠিক ফরম্যাটের একটা উদাহরণ দেখান। তারা Submit চাপার পর লাল রঙের দেয়াল দেখানোর জন্য অপেক্ষা করবেন না।

“আমাদের দিকে কিছু একটা ভেঙে গেছে।” সত্যিকারের সার্ভার বা নেটওয়ার্ক সমস্যা। বলুন যে এটা আপনার দিক থেকে, শান্ত থাকুন, আর তাদের একটা রিট্রাই দিন। ব্যবহারকারী আপনার সার্ভার ঠিক করতে পারবে না, তাই তাদের এমন মনে করাবেন না যে তাদেরই এটা ঠিক করতে হবে।

তিনটে অভ্যাস যা নীরবে সাহায্য করে

কিছু জিনিস আলাদা করে দেয় সেই অ্যাপগুলোকে যারা ব্যর্থতা সুন্দরভাবে সামলায়, আর যারা পারে না:

  • কখনো কাঁচা এরর কোডকে পুরো মেসেজ হিসেবে দেখাবেন না। সাপোর্টের জন্য নিচে ছোট টেক্সটে একটা কোড থাকতে পারে, কিন্তু একজন মানুষ যা পড়বে সেই হেডলাইনটা একটা বাক্য হওয়া উচিত, ERR_CONN_RESET নয়।
  • কখনো ব্যবহারকারীকে দোষারোপ করবেন না। “আপনি ভুল কিছু লিখেছেন” আঘাত করে; “সেই তারিখটা যেন অতীতের মনে হচ্ছে — আপনি কি পরের মাসের কথা বলছিলেন?” সাহায্য করে। একই তথ্য, একদম আলাদা অনুভূতি।
  • সবসময় তাদের ইনপুট রেখে দিন। যদি অ্যাপ রিলোড হয়ে যায় বা সেভ ফেল করে আর ফর্ম খালি হয়ে যায়, তাহলে আপনি একটা ছোট্ট হোঁচটকে বদলে দিয়েছেন দশ মিনিটের পুনরায় টাইপ করায়। মানুষ একটা ফেল হওয়া সেভ ক্ষমা করে দেয়। তারা দুবার একই কাজ করাটা ক্ষমা করে না।

কীভাবে আপনার AI বিল্ডারকে দিয়ে আরও ভালো এরর মেসেজ লেখাবেন?

এর বেশিরভাগটাই আপনি একটা মাত্র অনুরোধেই পেতে পারেন — নিচের মতো একটা প্রম্পট পেস্ট করুন, আর আপনার AI বিল্ডার উপরের সহজ-ভাষার নিয়মগুলো আপনার পুরো অ্যাপ জুড়ে প্রয়োগ করবে।

“কোনো সেভ বা আপলোড ফেল করলে, নীরবে ফেল করবেন না আর কোনো টেকনিক্যাল এরর কোডও দেখাবেন না। একটা ছোট, বন্ধুত্বপূর্ণ মেসেজ সহজ ভাষায় দেখান যা বলে কী ঘটেছে, বলে যে আবার চেষ্টা করা ঠিক আছে, আর ব্যবহারকারী যা কিছু ইতিমধ্যে টাইপ করেছে সেটা রেখে দেয়। ফর্ম ফিল্ডের ক্ষেত্রে, ব্যবহারকারী প্রতিটা ফিল্ড থেকে বেরিয়ে যাওয়ার সময় ভ্যালিডেট করুন আর সঠিক ফরম্যাটের একটা উদাহরণসহ নির্দিষ্ট মেসেজ দেখান।”

এরপর এটাকে বলুন তিনটে ক্ষেত্রে কী ঘটে তা আপনাকে বুঝিয়ে দিতে: ইন্টারনেট বন্ধ থাকলে, একটা প্রয়োজনীয় ফিল্ড খালি থাকলে, আর সার্ভার ধীর হলে। যদি এদের যেকোনো একটার উত্তর হয় “এটা কিছুই দেখায় না” বা “এটা কাঁচা এরর দেখায়,” তাহলে সেটাই আপনার পরবর্তী ফিক্স।

কীভাবে আপনার অ্যাপের এরর মেসেজ পরীক্ষা করবেন?

আপনার ওয়াই-ফাই বন্ধ করুন, আপনার অ্যাপ খুলুন, আর মূল কাজটা করার চেষ্টা করুন — পুরো পরীক্ষাটা এতটুকুই, আর এতে দুই মিনিট লাগে।

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

বেশিরভাগ অ্যাপ প্রথমবার এই পরীক্ষায় ফেল করে, আর এটা ঠিক আছে — এটা শুধু আপনাকে ঠিক দেখিয়ে দেয় কোথা থেকে শুরু করতে হবে। প্রতিটা এরর মেসেজ নিখুঁত বানাতে হবে না। আপনার অ্যাপে যে জিনিসটা সবচেয়ে বেশি ভাঙে সেটা খুঁজে বের করুন, আর সেই মেসেজটাকেই প্রথমে সদয়, স্পষ্ট আর সৎ বানান। পরের বার যখন কোনো সত্যিকারের মানুষ সেটার মুখোমুখি হবে, তারা চলে যাওয়ার বদলে আবার চেষ্টা করবে — আর আবার চেষ্টা করাটাই পুরো খেলা।