مطالبی که اینجا مینویسم مواردی است که گهگاه برای خودم پیش آمده است و بیشتر حالت روزمره دارد.
فرم های لاگین: رایج ترین مشکلات و راه حل های آن
قبل از خواندن مقاله، لازم است که پیشگفتار را بخوانید تا تصمیم بگیرید که آیا مطلب زیر برای سایت یا اپلیکیشن شما مفید خواهد بود یا نه!
پیشگفتار
توجه کنید که اگر یک سایت خیلی مهم و امنیتی دارید شاید برخی موارد ذکر شده در این مقاله به درد شما نخورد. این نکته خیلی مهم است که تقریبا قانونی کلی در این زمینه وجود ندارد و شما براساس نیاز و شرایط سایت خود، جریان لاگین و پیام ها را تعیین می کنید.
ولی به نظر من مهمترین مساله در UX یک اپلیکیشن یا سایت این است که کاربر بتواند از سرویس شما به درستی استفاده کند و اپ یا سایت شما را به دلایل واهی ترک نکند.
تجربه به من نشان داده است که کاربران خیلی کم حوصله تر از آن هستند که شما فکر می کنید و بسیاری از ریزش ها در همین فرم های لاگین اتفاق می افتد. هر چه لاگین سریعتر و روان تر باشد امکان ادامه روند توسط کاربر (مخصولا در فروشگاه ها) بیشتر است.
قبلها بر این عقیده بودم که امنیت یک نرم افزار مهمترین مسالهای است که در نرم افزار با آن مواجه هستیم و فکر میکردم که همه چیز باید فدای این مساله شود. برای همین همیشه مخالف نمایش پیام های خطای دقیق، به کاربران بودم با این استدلال که این خطاها، راههایی برای حمله کنندگان به سایت ها و اپلیکیشنها فراهم میکند.
اما به مرور متوجه شدم که یک راه حل کلی، برای یک مساله وجود ندارد و در اپلیکیشنهای متفاوت، تعریف متفاوتی از مساله امنیت وجود دارد. ارایه راهکار و هدایت کاربر به سمت و سوی صحیح، یکی از مهمترین مسایلی است که کاربر را در سایت نگه میدارد و این یکی از مهمترین مسایلی است که برای یک کسب و کار مهم است.
مقاله زیر یک جمع بندی از مقالهای است که خواندم و امیدوارم که برای شما هم مفید باشد.
مسایل و مشکلات فرم های لاگین
برای بسیاری از ما، ورود به سایت ها یا برنامه ها، بخشی از برنامه روزانه است. احتمال اینکه در یک خرید یا بازدید از سایت به صفحه های لاگین بربخورید، بسیار زیاد است.
مشکل زمانی پیش میآید که رمز عبور، نام کاربری یا آدرس ایمیلی که با آن ثبت نام کردهایم را فراموش میکنیم، یا حتی ممکن است ندانیم که آیا اصلا ثبتنام کردهایم یا نه؟
تجزیه و تحلیل دقیق یک سایت تجارت الکترونیک، نشان داده است که 45 درصد از مشتریان چندین ثبت نام در سیستم داشتند، 160 هزار نفر هر روز، رمز عبور خود را درخواست میکردند و 75 درصد از این افراد، هرگز خریدی را که پس از درخواست رمز عبور خود شروع کرده بودند تکمیل نکردند.
شاید باور اعداد و ارقام بالا سخت باشد ولی این اعداد به وضوح نشان میدهد که تجربه ورود به سیستم، یک مساله بسیار مهم است. طراحان همیشه باید تلاش کنند تا تجربهای روان و راحت ایجاد کنند و البته برنامه نویسان Back-end که بتوانند با رعایت مسایل امنیتی دست Front-end Developer را باز بگذارند تا UX طراحی شده را اجرا کند.
در اینجا چند نکته وجود دارد که باید برای ایجاد تجربه کاربری خوب، باید روی آنها تمرکز کنید:
۱- در مورد خطاها با کاربران روراست باشید
وقتی کاربران با مشکلی در ورود به سیستم روبرو میشوند، میخواهند بدانند چه چیزی باعث این مشکل شده است. از دادن پیامهای کلی و به اصلاح گرد خودداری کنید.
ترکیب اشتباه نام کاربری و گذرواژه می تواند منجر به چندین تلاش قبل از ورود موفقیت آمیز به سیستم شود، یا باعث ناامیدی و خروج کاربر از سایت شود.
پاسخ های عمومی (مانند "ایمیل یا رمز عبور شما مطابقت ندارد") بازخورد معنیداری به کاربران شما ارائه نمیدهد و به آنها اجازه نمیدهد مشکل خود را برطرف کنند. کاربرانی که وارد سیستم نشدهاند، "یکی از این دو مورد اشتباه است اما من به شما نمی گویم کدامیک" را می خوانند، و این میزان تبدیل و تعامل را کاهش میدهد. خلاصهی مطلب این که کاربران سایت شما را می بندند و می روند!
شما باید به کاربر کمک کنید تا کار ورود به سیستم را درست و کامل انجام دهد. در پاسخ باید دقیق توضیح داده شود که کدام بخش مساله دارد: گذرواژه یا آدرس ایمیل.
یک مثال جالب اینکه در MailChimp، استرس فراموش کردن نام کاربری/رمز عبور ترکیبی کاهش داده شده است. بدین صورت که اگر نام کاربری وجود ندارد، قبل از اینکه شروع به وارد کردن رمز عبور کنید، به شما می گوید که شناسهای که وارد کردید اصلا وجود ندارد.
سایت به صورت اتوماتیک مشکل را تشخیص داده و پیوندی ارائه میدهد که راه حل مشکل کاربر است و به کاربر اجازه میدهد آن را برطرف کند.
سرویس پرسش و پاسخ Quora رویکرد مشابهی را در پیش گرفته است. فرم ورود به Quora به شما می گوید که هیچ حسابی با آدرس ایمیلی که وارد کردهاید مرتبط نیست و به شما این امکان را می دهد که یک حساب جدید درست در آنجا ایجاد کنید.
اما این تکنیک یک نقطه ضعف بزرگ نیز دارد: ممکن است به بعضی ها اجازه دهد که بدانند که یک ایمیل، شخص، نام خاص در یک سایت یا برنامه ثبت شده است. امنیت و حریم خصوصی داده ها بخش مهمی از طراحی UX است به همین دلیل این راه حل برای بانکداری آنلاین (دلایل امنیتی) یا خدماتی که ممکن است کاربران نگران وضعیت عضویت خود باشند (دلایل حفظ حریم خصوصی) توصیه نمیشود.
۲- به کاربران یادآوری کنید که رمز عبور خود را تغییر دادهاند.
کاربران میتوانند آنقدر به تایپ گذرواژه قدیمی خود عادت کنند که فراموش کنند آن را تغییر دادهاند و وقتی پیام خطا "رمز شما اشتباه است" را مشاهده میکنند، به سادگی متقاعد شوند که رمز عبور را اشتباه وارد کردهاند.
آنچه کاربران در این مورد نیاز دارند یادآوری این است که رمز عبور آنها تغییر کرده است. به جای این که به کاربران پیغام خطای "گذرواژه شما اشتباه است" بدهید، به آنها بگویید چه مدت پیش رمز عبور خود را تغییر داده اند. این پیام فقط زمانی ظاهر می شود که کاربران گذرواژه قدیمی خود را تایپ کنند. اگر کاربران رمز عبور را اشتباه وارد کرده اند، سیستم باید پیغام خطای معمولی "رمز عبور اشتباه" را نمایش دهد.
۳- یک مسیر خوب و درست برای وقتی که کاربر رمز عبورش را فراموش کرده، طراحی کنید.
اکثر کاربران رمز عبور خود را فراموش می کنند. بنابراین بسیار مهم است که این وضعیت به خوبی توسط فرایند ورود، مدیریت شود. برای بازنشانی گذرواژه، فرم های ورود باید دارای پیوند "رمز عبور فراموش شده" باشند.
- این پیوند را همیشه نشان بدهید و این طور نباشد که فقط در شرایط خاص نمایش داده شود.
- در صورتی که آدرس ایمیل خود را وارد کرده اند و سپس از ویژگی رمز فراموش شده استفاده کرده اند، مجدداً مجبور نشوید آدرس ایمیل خود را در صفحه رمز فراموش شده وارد کنید.
- رمز عبور فعلی یا موقت را از طریق ایمیل ارسال نکنید (دلایل امنیتی)
کار درست این است که پیوند بازنشانی رمز عبور را در آدرس ایمیل ثبت شده ارسال کنید. همچنین، مطمئن شوید ایمیل بازنشانی رمز عبور، در اسرع وقت ارسال می شود. هنگامی که دریافت پیوند بازنشانی گذرواژه چند دقیقه (یا حتی چند ساعت) طول می کشد، ممکن است کاربران از این رفتار به راحتی ناراحت شوند.
همین مورد در مورد گذرواژه های یکبار مصرفی که با اس ام اس ارسال می شود هم صادق است. اگر تاخیری در ارسال پیام وجود داشته باشد، کاربر سایت شما را ترک می کند.
۴- قبل از قفل شدن حساب کاربری به کاربر هشدار بدهید
برای جلوگیری از Brute Force، حساب های کاربری اغلب پس از تعدادی تلاش ناموفق برای ورود، به طور موقت قفل می شوند. البته این یک اقدام امنیتی ضروری است، اما قبل از قفل شدن حساب کاربری، به کاربران هشدار دهید.
برای مثال MailChimp پس از سومین تلاش به کاربران هشدار می دهد که پس از 9 بار تلاش ناموفق دیگر، حساب آنها به مدت 30 دقیقه قفل می شود.
مطلبی دیگر از این انتشارات
کالبدشکافی مشکلات و حوادث: یادگیری از شکست
مطلبی دیگر از این انتشارات
آیا از CSS Framework ها مانند Tailwind یا Bootstrap استفاده کنیم یا نه؟
مطلبی دیگر از این انتشارات
هایدرشن - Hydration چیست؟ چگونگی حل مشکلات مربوط به آن در React