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