Error Message (پیام خطا) همواره یکی از بخشهای لاینفک توسعهٔ نرمافزار، بهخصوص وب اپلیکیشنها، است به طوری که دولوپرها سعی میکنند که تا حد ممکن چنین پیامهایی را در معرض دید کاربران قرار ندهند اما جاهایی هم که مجبور به این کار میشوند، معمولاً به خلاصهترین شکل ممکن این کار را انجام میدهند. در همین راستا، در ادامه قصد داریم یکسری اصطلاحاً Best Practice در فرایند نوشتن پیامهای خطا ارائه کنیم که در نهایت منجر به ایجاد تجربهٔ کاربری بهتری برای کاربران سایت یا اپلیکیشن میگردند.
وقتی که کاربری شروع به استفاده از یک اپلیکیشن، نرمافزار و یا وب اپلیکیشن میکند، ممکن است پیامهای مختلفی از جانب سیستم دریافت کند اما در نظر داشته باشیم که این پیامها همیشه دستورالعملی نیستند که از طرف برنامهنویس در قالب یک راهنما برای کاربر در نظر گرفته شده باشند بلکه این پیام میتواند مرتبط با اروری باشد که از طرف خود اپلیکیشن در معرض دید کاربر قرار گرفته است. اساساً پیامهای خطا میبایست توسط افرادی نوشته شوند که در این زمینه تخصص دارند و چنین چیزی با وجود اینکه در بسیاری موارد نادیده گرفته میشود، اما بسیار مهم بوده و بخشی از کار یک دولوپر است.
حال شاید این پرسش ایجاد گردد که چرا نوشتن پیامهای خطا توسط افراد متخصص حائز اهمیت است که در پاسخ به این سؤال بایستی گفت بسیاری از ارورهایی که در اپلیکیشنها نمایش داده میشوند، راهنمای خوبی برای کاربران نیستند و در حل مشکل به ایشان کمکی نمیکنند چون از دید کاربران عادی بیش از حد فنی هستند. در واقع، بیشتر به نظر میآید که این ارورها توسط یک ربات برای رباتی دیگر نوشته شده باشند! مثلاً تا به حال چند بار با ارورهایی همچون An Unexpected Error Occurred و یا Object Reference Not Set To An Instance Of An Object مواجه شدهاید؟
نوشتن یک پیام خطا آنچنان که به نظر میرسد، کار آسانی نیست و به همین دلیل در ادامه قصد داریم تکنیکی را با شما به اشتراک بگذاریم تا بتوانید با استفاده از آن، یک پیام خطای تأثیرگذار بنویسید که در نهایت منجر به سردرگمی کمتر کاربرانتان خواهد شد.
نیاز به توضیح نیست که پیامهای خطا باید بامعنی باشند و این در حالی است که این معنی نه تنها برای دولوپر، بلکه برای کاربر نیز باید قابلدرک و فهم باشد. در همین راستا، به طور خلاصه میتوان گفت که یک پیام خطای بامعنی میبایست حاوی مشخصات زیر باشد:
- کوتاه باشد اما در عین حال کامل باشد.
- حاوی توضیحی به زبان ساده از خطایی که رخ داده باشد.
- از لحنی در آن استفاده شود که کاربر، سرزنش و تحقیر نشود!
این پیام همچنین میتواند شامل یک کد یا فایل برای سهولت کار مخاطب برای استفاده از بخش پشتیبانی اپلیکیشن شود. علاوه بر این، چنین پیامی میتواند شامل یک لینک حاوی اطلاعات بیشتر، برای حل مشکلات به وجود آمده نیز باشد.
به طور مثال، فرض کنیم که قصد داریم پیام خطایی برای یک دستگاه پرینتر بنویسیم. اگر پیامی با متنی همچون Printing Failed بنویسید، بعید به نظر میرسد که به راحتی بتوانید مفهومی را که مد نظر دارید به کاربر منتقل کنید اما در عوض میتوانید از پیام خطایی همچون .Couldn't print your file. Check your printer or refer to troubleshooting documentation به معنی «عدم موفقیت در پرینت فایل شما. پرینتر خود را چک کرده و یا به اسناد عیبیابی مراجعه کنید.» استفاده نمایید.
همانطور که مشاهده میشود، متن پیام خطای فوق حاوی سه نکتهٔ فوقالذکر میباشد به طوری که کوتاه است، یک توضیح خلاصه در مورد ماهیت خطا ارائه کرده و جملهٔ ارائه شده به صورتی است که تمرکز روی مشکل به وجود آمده است و نَه کسی که آن مشکل را ایجاد کرده است که اگر غیر این بود، به صورت ناخودآگاه کاربر را به خاطر مشکل به وجود آمده سرزنش میکردیم.
بسیاری از دولوپرهایی که از تکنیک فوق استفاده کردهاند، آن را مؤثر یافته و شما هم حتماً با استفاده از آن موفق خواهید شد. به طور کلی، اگر قصد دارید که یک پیام خطا را بازنویسی کنید، ابتدا متن موجود را روی یک برگه نوشته و بالای مانیتور خود بچسبانید و یا اگر میخواهید پیام جدیدی بنویسید، تا حد ممکن در مورد ماهیت آن ارور اطلاعات جمعآوری کنید.
در گام بعدی قلم و کاغذ خود را آماده کرده و شروع به نوشتن کنید به طوری که هدف از چنین کاری این است تا به ایدهها و کلمات اجازه دهید تا از مغز شما بیرون بیایند و هرگز نگران این نباشید که متن شما خوب است یا نه چرا که خیلی چیزهایی که از مغز شما بیرون میآیند، لزوماً عالی نیستند و از قضا خیلی هم بیربط هستند و بعداً باید آنها را ویرایش کنید.
همواره سعی کنید بین ۴ تا ۱۰ متن به عنوان متن پیام خطای خود بنویسید (هرچه بیشتر، بهتر) و همیشه متن ارور خود را به صورت مکالمهای بنویسید، ولی تا حد ممکن آن را با لحن عامیانه ننویسید. به طور مثال، پیامهای خطایی مانند Oops! Something went wrong between your printer and me. Better check to see if everything is OK به معنی «وای! یک اشتباهی میان پرینتر شما و من رخ داده. بهتره بررسی کنین که آیا همهچیز مرتبه یا نَه.» با وجود اینکه به راحتی خوانده میشوند، اما بسیار طولانی هستند و مفهوم مد نظر را به راحتی منتقل نمیکنند (البته امروزه بسیاری از استارتاپها را میبینیم که برای دکمههای CTA و یا پیامهای خطایی از این است با لحنی بسیار عامیانه با کاربران خود ارتباط برقرار میکنند اما این در حالی است که ما در وبسایتهای کمپانیهای حرفهای، بزرگ و مطرح هرگز چنین لحنی را نخواهیم دید.)
در ادامهٔ کار، از میان لیست متونی که نوشتید تعدادی را طوری خط بزنید که ۲ تا ۵ متن بیشتر باقی نمانده سپس متون نهایی را برای سایر اعضای تیم توسعهٔ نرمافزار ارسال کنید چرا که این امر موجب توافق تکتک اعضای تیم برای انتخاب یک متن خطا میشود (البته لازم به ذکر است که این کار همیشه اتفاق نمیافتد که در این صورت، دو مورد از آنها با بیشترین نظر مثبت را به عنوان گزینهٔ نهایی انتخاب کنید.)
آشنایی تست A/B
به طور خیلی خلاصه، A/B Testing عبارت از این است که دو گروه از مخاطبین نرمافزار را ایجاد کرده و دو نسخهٔ مختلف از چیزی که قصد داریم تست کنیم را در معرض دید ایشان قرار دهیم و به بررسی عکسالعمل ایشان بپردازیم.
در ارتباط با پیادهسازی این تست برای پیامهای خطا، میتوانیم دو مورد از پیامهای انتخابی که بیشترین نظر مثبت از طرف اعضای تیم توسعهٔ نرمافزار گرفته را انتخاب کرده و در معرض دید کاربران خود قرار دهیم و فیدبک ایشان را در ارتباط با پیام بسنجیم. به عبارت دیگر، بررسی کنیم ببینیم که کدام یک از گروهها کمتر سردرگم شده و پس از مواجه با پیام خطا، سریعتر توانسته گام بعدی را بر دارد که همین مسئله منجر به ایجاد تجربهٔ کاربری به مراتب بهتری نسبت به گروهی که پس از مواجه با پیام خطا سردرگم شده خواهد شد.
نتیجهگیری
Error Message (پیام خطا) در فرایند توسعهٔ نرمافزار اجتنابناپذیر است و کاری که ما به عنوان یک دولوپر حرفهای میتوانیم انجام دهیم این است که استرس مواجه با آن از جانب کاربران را به حداقل برسانیم که در همین راستا و برای کسب اطلاعات بیشتر در مورد پیامهای خطا، میتوانید به آموزش تا حد ممکن از نمایش ارورها برای کاربر اجتناب کنید! مراجعه نمایید.
حال نوبت به نظرات شما میرسد. شما از چه استراتژیهایی برای مدیریت پیامهای خطای نرمافزار خود استفاده میکنید و آیا تاکنون دست به A/B Testing برای یافتن بهترین پیامهای خطا زدهاید؟ نظرات، پیشنهادات و تجربیات خود را با سایر کاربران سکان آکادمی به اشتراک بگذارید.