یک sysadmin دیگر!

علاقه مند به زیرساخت، انسان و فلسفه

تجربیات برنامه نویسی – قسمت اول: Back Button ها

بدون دیدگاه

خب میخوام از حالا به بعد تو مجموعه پست هایی شروع کنم به نوشتن تجربیات کاری و شخصی در پروژه های نرم افزاری و … ای که داشتم. خب میتونه مباحث گسترده ای رو شامل بشه از UI تا DB تا Server و … . ولی چیزی که مهمه اینه که من از تجربیات بقیه آدم ها خیلی استفاده کردم و ازشون کلی چیز یاد گرفتم. کار درست اینه که من هم اگر تجربیاتی هر چند کوچیک دارم رو در اختیار بقیه بزارم تا این چرخه برای همیشه به همین زیبایی و خوبی باقی بمونه و قطع کننده زنجیر نباشم! پس دیگه اضافه گویی نکنم و بریم سر اصل مطلب.


پروژه ای که در حال حاضر روش هستم  که یک فروشگاه و پایگاه دانش در حوزه شنوایی سنجیه، در ابتدایی که راه اندازی کرده بودیم (با pure php نوشته شده بود و jquery) رفتارهای عجیبی از کاربرا توی چرخیدن بین صفحات سر میزد. log ها رو بررسی میکردیم و سعی میکردیم علت وجود داشتن این رفتار رو درک کنیم. یکی از چیزهای خیلی مهمی که از طریق آمار و رفتار کاربران متوجه شدیم نحوه رفتارشون با دکمه های Back بود. مثلا تو وب شما دکمه back مرورگر رو دارید یا دکمه های back روی کیبرد یا حتی موس. و توی موبایل های اندرویدی معمولا یا دکمه های سخت افزاری یا جدیدا نرم افزاری برای back زدن دارید و در ios هم به شیوه خودش.

اما چیزی که مهم بود رفتار کاربرا در قبال این دکمه ها بود. شما به عنوان برنامه نویس یا توسعه دهنده و همچنین به عنوان طراح ui موظف هستید سناریو ها و مواردی که متناسب با مخاطب نرم افزارتون، مرتبط با بحث دکمه back پیش بیاد رو پیش بینی یا بررسی کنید و بهبود بدینش.

مثلا ما تو پروژه مون متوجه شدیم بالای ۹۰ درصد مخاطب هامون از گوشی به سامانه دسترسی پیدا میکنند. و بعد از اون متوجه شدیم برای جابجایی بین صفحات و یا حتی بستن یک Modal ساده یا حتی یک Collapse ساده، از دکمه Back به جای فشردن  X روی اون بخش استفاده میکردن. این ممکن بود که مخاطبی به خاطر زدن back و نگرفتن نتیجه مطلوبش از عملکرد نرم افزار ما، اون رو کنار بزاره. پس در اولین قدم شروع کردیم و به پیاده سازی سناریو های مختلف back زدن توی وب و موبایل تا بتونیم طیف زیادی از رفتارهای کاربران رو پوشش بدیم. اما چطور این کار رو کردیم ؟

کافیه با مستندات مرورگر ها و api هاشون (لینک) و event های مختلفشون کار کنید تا منطق کارشون رو متوجه بشید تا بتونید بر اساس نیازتون بازنویسی بکنیدش. کاری که ما کردیم این بود که عملکرد دکمه back رو از مرورگر گرفتیم و خودمون با توجه شرایط مخاطب، پاسخ مناسب رو میدادیم. مثلا اگر کاربری تو یک صفحه ای modal ویژگی های محصول رو باز میکرد ما میدونستیم که اگر back بزنه باید modal فقط بسته بشه و بقیه المان های صفحه دست نخورده باقی بمونن. همینطور این برای منو های همبرگری و انواع چیزهایی که میشه باز و بسته کردشون یا … صدق میکنه. البته باز هم بستگی به مخاطب و مدل نرم افزار داره و هیچ چیز مطلق و کلی ای وجود نداره.

من تا قبل از این پروژه زیاد به این موضوع توجه نداشتم اما بعد از مورد پیش اومده تقریبا هر نرم افزاری که باهاش برمیخورم رو تست میکنم تا  عملکرد دکمه back اش رو ببینم تا بفهمم برنامه نویس و طراحش چیجوری فکر میکردن یا نمیکردن 🙂



پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *