۷ کار اشتباه برنامهنویسان که کاربران را دیوانه میکند!
امیدواریم برنامهنویسان برنامهها را به بهترین نحو کدنویسی کنند، اما قطعا هیچکس کامل نیست. برای درک این موضوع کافی است به برخی از وبسایتهای امروزی، برنامههای دسکتاپ و اپلیکیشن های گوشیهای هوشمند سری بزنید و وضعیت آنها را بررسی کنید.
برنامهنویسان به دلایل مختلفی مانند بروز یک پیشامد ناگوار، نیاز به مدیریت و یا بهدلیل عدم درک درست از آنچه کاربران واقعا به آن نیاز دارند، اغلب منجر به ایجاد رابط کاربری مزاحم برای کاربران میشوند. بیایید به تعدادی از این اشتباهات حیرتانگیز برنامهنویسان که موجب خشم، گیج کردن و یا نشاندن لبخند بر لب کاربران میشوند، نگاهی بیاندازیم.
پیامهای خطای ناخوشایند
شاید هیچ عنصری به اندازه پیامهای خطا، پتانسیل بالایی برای ایجاد خشم، اشتباه و یا استنباطهای عجیب برای پاسخهای هیجانی در کاربران را نداشته باشد. در ادامه این مطلب برخی از مضحکترین پیامهای خطا در ویندوز را مرور کردهایم، اما این موضوع فقط به این پلتفرم محدود نمیشود.
اطلاعات فنی بسیار زیاد
در این نوع پیام خطا، کادر محاوره، با ارائه جزئیات فنی زیاد کاربر را گیج میکند. اگر یک پیام خطا مانند آن توسط یک ربات نوشته شده باشد، کاربر معمولی معنای دقیق آن را درک نمیکند؛ بنابراین آنها هیچ نقطه پایانی برای حل مسئله ندارند.
یک نوع ثانویه از این خطا زمانی رخ میدهد که برنامهنویسان از کادر محاورهای نهایی استفاده میکنند تا خطاهای برنامهنویسی گزارش شوند. اما در واقع ارائه خطاهایی به کاربر که حاوی اطلاعاتی درباره نقض حافظه یا مشکلات متغیر هستند، کاملا بی فایده بوه و تنها آنها را بیشتر گیج میکند.
سرزنش کاربر
یکی دیگر از اشتباهات رایج در پیامهای خطا این است که کاربر احساس خطا کند. حتی اگر آنها واقعا اقدام ناخواستهای انجام دادهاند، نباید احساس بدی داشته باشند چراکه تنها مرتکب یک اشتباه شدهاند. استفاده از زبان سخت یک ایده بد است و کاربر را بیش از پیش درمانده میکند.
بیش از حد مبهم بودن
چرا اگر شما نمیخواهید مشکلی را بهدرستی توصیف کنید اقدام به ایجاد پیام خطا میکنید؟ وقتی یک کاربر با خطایی مواجه میشود که کاملا برای او ناشناخته است چه کاری می تواند انجام دهد؟ اگر شما بهعنوان یک برنامهنویس هیچ اطلاعاتی را در مورد اینکه چرا این اتفاق افتاده است، ارائه ندهید، کاربر تنها بر روی OK کلیک کرده و تصور میکند که هیچ اتفاقی نیفتاده است.
متاسفانه ویندوز 10 در آپدیت جدید خود به استفاده از این نوع خطای کاری که نشان از بروز مشکلی در سیستم بوده، کاملا مشهور شده است.
خطاهای غیرضروری
اکثر کاربران با نهایت سرعتی که در توان دارند به دنبال خلاصی از شر کادرهای محاورهای هستند. این در حالی است که گاهی استفاده از پیامهای خطا لازم است و بهکارگیری مداوم آنها به این معنی است که کاربر ترجیح میدهد آنها را نادیده بگیرد. بنابراین طراحی پیغام خطا برای مشکلات غیرمستقیم اصلا هوشمندانه نیست.
در مثال زیر، اگر یک کاربر مستقیما عملیات پشتیبان را لغو کند، نیازی به دیدن یک خطا نیست که اجازه دهد آنها از انجام این کار مطلع شوند. در حالیکه ممکن است خطا منشا نرمافزاری داشته باشد، آنها بهدنبال انجام این کار بودهاند، بنابراین کاربر نیازی به مشاهده یک کادر محاورهای خطا نخواهد داشت.
اشتباهات مضحک
گاهی اوقات پیغام خطا یک اشتباه بسیار احمقانه بوده که کاربر به آن خیره میشود و یا آن را نادیده میگیرد. مثال زیر نمونهای از این دست خطاها است:
به نظر شما آیا کسی این پیام را جدی میگیرد؟ هرچند اعلام شده که این نقص نامشخص است، اما این تنها یک احتمال است. بهتر است برنامهنویس در صورت وجود یک مشکل عمده به کاربر هشدار بدهد و در غیر اینصورت بیجهت یک پیام خطا را طراحی نکند.
فرمهای ناخوشایند و کادرهای ورود اطلاعات
بسیاری از کاربران هنگام پر کردن فرم، بهدنبال افزایش سرعت حرکت خود در میان کادرهای مربوط به ورود اطلاعات با استفاده از کلید Tab هستند. اطلاعاتی مانند نام و نام خانوادگی، نام پدر، آدرس محل سکونت و غیره از جمله اطلاعاتی هستند که در همه جای دنیا و در قالب فرمهایی بنا به نیاز از کاربران مطالبه میشوند. اما گاهی اوقات برنامهنویسان انجام این کار را سختتر از نیاز میکنند. فشردن کلید Tab میتواند شما را از قسمت نام به ZIP، و سپس به قسمت ثبت و ارسال اطلاعات هدایت کند. اما مجبور کردن کاربر به ورود اطلاعات بهصورت اتوماتیک و به ترتیب، یک درد بزرگ برای او محسوب میشود.
این موضوع در مورد کادرهای انتخاب نیز صادق است. اینکه آیا برنامهنویس از یک لیست کشویی و یا جعبه انتخاب برای ورود اطلاعات استفاده میکند و یا این که از کاربر میخواهد تا اطلاعات خود را بهصورت دستی وارد کند؛ بستگی به نوع ورودی شما دارد. در اکثر جعبههای خروجی، ترتیب حروف الفبا بیشتر رعایت میشود چرا که مرور فهرست را آسانتر میکند. اما متاسفانه این موضوع نیز از سوی بسیاری از برنامهنویسان رعایت نمیشود.
یکی دیگر از نمونههای ترسناکِ جعبههای انتخابی این است که به جای استفاده از یک جعبه متن برای ورود شماره تلفن کاربر باید از هر ترکیب احتمالی برای ورود شماره خود استفاده کند. حال خودتان زمان تایپ و ثبت یک شماره تلفن ساده را تخمین بزنید!
عدم اعتبار درونی
اکثر کاربران این احساس وحشتناک را بهخوبی درک کردهاند. ممکن است در هنگام ثبتنام برای یک سرویس، درخواست شغل یا مشابه آن، از چندین فیلد در یک صفحه گذشته باشید. پس از کلیک روی دکمه Next، شما با خطایی مواجه میشوید که میگوید فیلد آدرس ایمیل مطابقت ندارد و یا موارد مشابه دیگر.
کار به همین جا ختم نمیشود؛ مشکل این است که بارگذاری مجدد صفحه، تمام اطلاعاتی را که قبلا وارد کردهاید، حذف میکند! شما مجبورید دیگر تمامی اطلاعات را مجدادا وارد و سپس ثبت کنید؛ این کار یعنی تلف کردن وقت. اگر برنامهنویس بهسادگی اعتبار درون خطی را اجرا کرد بهتر است قبل از ثبت اطلاعات از معتبر بودن آنها مطمئن شوید. صفحه شما میتواند از این کار جلوگیری کند.
باگهای نرمافزاری
باگهای نرمافزاری از عمدهترین دلایل ناراحتی کاربران در این زمینه هستند. برای مثال هنگامیکه شما iTunes را نصب میکنید، یک پک کامل از نرمافزارهای اپل مانند Bonjour ،QuickTime و Apple Software Update نیز همراه آن به شما ارائه میشود. پس از نصب، iTunes با پیشنهادهای مختلف کاربر را کاملا سردرگم میکند. شما میتوانید برای موسیقی، فیلم، کتابهای صوتی و پادکستها و برنامههای مختلف، فروشگاه اپل را کاملا مرور کنید، همچنین میتوانید دستگاه خود را همگامسازی کنید و بسیاری کارهای متنوع دیگر را انجام دهید.
جدا از میزان فضای زیادی که iTunes از سیستم شما اشغال میکند، رابط کاربری آهسته و گیجکننده آن برای کاربران بسیار خستهکننده است. از طرف دیگر همگامسازی موسیقیهای مختلف مانند یک کابوس برای کاربران است چراکه باید منتظر حذف تصادفی آهنگهای مورد علاقهتان در زمان همگامسازی باشید. در واقع iTunes تلاش میکند تا ده کار را به جای یک یا دو کار واقعا خوب، انجام دهد.
بنابراین اگر شما نیز آن را نصب کردهاید، لازم است تا گاهی اوقات از اطلاعات آیفون خود یک نسخه پشتیبان تهیه کنید.
نادیده گرفتن استانداردهای طراحی سیستمعامل
هر سیستمعامل عمده (OS) دارای مجموعهای از استانداردها است که توسعهدهندگان باید هنگام ایجاد و طراحی برنامهها از آن پیروی کنند. بهعنوان مثال، انتظار میرود که یک برنامه Android متفاوت از یک برنامه iOS باشد. پیروی از دستورالعملها، حتی اگر برنامه شما چندان خیره کننده هم نباشد باعث میشود تا حداقل قابل ارائه باشد. اما مقابله شما در برابر این دستورالعملها، کاربران را دیوانه و عصبی میکند.
بهعنوان مثال، دکمه برگشت در Android را در نظر بگیرید. ضربه زدن به آن به منزله بازگشت به صفحه قبلی است که اخیرا باز شده است؛ بنابراین اگر شما در حال مشاهده یک ایمیل در Gmail هستید، با استفاده از Back باید به صندوق ورودی خود بازگردید. اگر برنامه شما این موضوع را نادیده بگیرد شما با زدن این دکمه، برنامه خود را میبندید و از آن خارج میشوید و این برخلاف کاری است که همه کاربران اندروید آن را میدانند. از طرفی برخی الگوهای طراحی شده در iOS نیز برای کاربران ناخوشایند است.
اجبار کاربران خود به یادگیری بعضی از عادتهای عجیبوغریب برنامه بهجای برآورده کردن آنچه که کاربر به دنبال انجام آن است، نه تنها یک روش نوآورانه نیست، بلکه کاملا خستهکننده است.
مخفی کردن گزینهها در منوها
طراحی منوها در اکثر برنامهها بسیار غیرضروری و تاسفبار است. باید در نظر داشته باشید که پنهان کردن ابزارهایی که اغلب مورد استفاده قرار میگیرند تنها موجب هدر دادن وقت کاربر میشود.
اگر کاربر برای دستیابی به ابزار مورد نیاز خود به شش بار کلیک کردن نیاز داشته باشد، شک نکنید که بهسرعت عصبی خواهد شد. کلیدهای میانبر میتوانند به این موضوع کمک کنند. راحتترین این کلیدها Ctrl + S است که معمولا برای ذخیره کردن مورد استفاده قرار میگیرد.
این موضوع برای طراحی وبسایتها نیز صدق میکند. اگر شما کاربر را برای دستیابی به یک صفحه خاص مجبور به باز کردن لینکهای زیادی بکنید، باید بدانید که طراحی بدی را در نظر گرفتهاید؛ چراکه بازگشت به اولین صفحهای که کاربر آن را باز کرده بود، بسیار دشوار است.
ایجاد تغییرات بدون دلیل
به خاطر سپردن برخی کارهای روتین در نرمافزارها بسیار طول میکشد و این یکی از دلایلی است که تغییر اکوسیستم را دشوار کرده است. بنابراین توسعهدهندگان میتوانند همه کاربران را درگیر تغییراتی کنند که واقعا نیازی به انجام آنها نبوده است.
بهعنوان مثال، زمانیکه ویندوز 8 راهاندازی شد کاربران بسیار سردرگم بودند چون نمیدانستند چگونه باید سیستم خود را خاموش کنند. پیش از این و بیش از یک دهه، مایکروسافت سادهترین شیوه را برای انجام این کار در نظر گرفته بود اما یک تغییر کوچک باعث شد تا کاربران برای اطلاع از نحوه خاموش کردن سیستم خود در ویندوز 8، دست به دامن اینترنت شوند. این اتفاق در مقیاس کوچکتر نیز میافتد. به نظر شما چرا اپل بدون هیچ دلیل خاصی با انتشار هر نسخه جدید، ویژگی های iOS را تغییر میدهد؟
با ارائه هر نسخه جدید از Android ،iOS یا Windows 10، شاهد تغییرات کوچکی در منوها هستیم. بهعنوان مثال در نسخههای قدیمیتر اندروید برای دستیابی به شماره ساخت دستگاه باید مسیر زیر را دنبال میکردید:
Settings > About phone > Build number
اما در نسخه جدید باید این مسیر را دنبال کنید:
Settings > System > About phone > Build number
این یک تغییر کوچک است، اما هنگام توضیح درباره این منوها، شما هرگز نمیدانید که افراد از کدام نسخه اندروید استفاده میکنند؛ بنابراین مجبورید برای کاهش سردرگمی کاربران هر ترکیب احتمالی را توصیف کنید.
گاهی اوقات تغییر لازم است اما تغییر برخی قسمتها فقط به این دلیل که بگوییم تغییری صورت گرفته تنها کاربران را سردرگم میکند.
شما از کدام عناصر رابطهای کاربری بیشتر نفرت دارید؟
ما در این مطلب به هفت مورد از مشکلات فوقالعاده خستهکنندهای که کاربران به واسطه اشتباهات برنامهنویسان با آن مواجه هستند، پرداختیم. آیا میخواهید از بروز این اشتباهات در برنامههای خود اجتناب کنید؟ آیا نمونههای جالبی از موضوعات مورد بحث ما را دارید؟ نظرات خود را با ما در میان بگذارید.