One of the most frustrating messages you can encounter online is: “Your session has expired.” Especially when the 15 minutes you spent filling out a form have apparently expired along with it.
You’re almost finished. Your phone rings. You step away for a couple of minutes, come back, and discover that everything you entered is gone.
From the system’s perspective, a session simply expired. From the user’s perspective, 15 minutes of their life just disappeared.
We spend considerable time on performance, architecture, interface design, optimization, and countless technical details. But people don’t use our products under perfect laboratory conditions. Connections drop, tabs close accidentally, attention shifts, and buttons get clicked twice.
A well-engineered product should account for those everyday realities. A lost connection shouldn’t automatically mean re-entering everything. A frozen submission shouldn’t leave someone guessing whether their request was processed. Non-sensitive input should, where appropriate, survive navigation and interruption.
None of this is trivial. Data security, state management, duplicate requests, and recovery all need deliberate engineering.
But those complexities are our responsibility, not the user’s burden.
The purpose of automation is to simplify processes. Users shouldn’t need to understand what happens behind a button, and they shouldn’t have to pay for its technical shortcomings.
In the age of AI, these decisions are an important part of what makes our work valuable: respecting people’s time, attention, and trust.
Read the original perspective in Persian
به نظرم یکی از حالگیر ترین جملههای اینترنت اینه: نشست شما منقضی شد... مخصوصا وقتی میفهمی اون ۱۵ دقیقهای که داشتی فرم پر میکردی هم همراهش منقضی شده! :)
یه فرم طولانی پر کردی، رسیدی نزدیک اخرش یه نفر زنگ زده دو دقیقه رفتی یه کار دیگه کردی برگشتی و دیدی همهچی پریده.. از نظر سیستم اتفاق خاصی نیفتاده یه Session تموم شده همین. ولی از نظر کسی که اون طرف صفحه نشسته ۱۵ دقیقه از زندگیش رفته هوا!
چیزی که برام جالبه اینه که ما توی توسعه نرمافزار کلی وقت میذاریم روی چیزایی مثل سرعت، معماری، ظاهر، بهینهسازی و هزار تا جزئیات دیگه ولی بعضی وقتا یادمون میره ادمها توی شرایط ازمایشگاهی از محصولمون استفاده نمیکنن..
وسط کارشون تلفن زنگ میخوره اینترنت قطع میشه اشتباهی یه تب رو میبندن حواسشون پرت میشه یا حتی یه دکمه رو دوبار میزنن و به نظرم یه محصول خوب باید برای این اتفاقهای کاملا معمولی هم برنامه داشته باشه.
مثلا وقتی اینترنت قطع میشه لازم نباشه همهچی رو دوباره وارد کنی وقتی روی ثبت کلیک کردی و صفحه هنگ کرد مجبور نباشی حدس بزنی درخواستت ثبت شده یا نه یا وقتی از یه صفحه برمیگردی اطلاعات غیرحساسی که وارد کردی هنوز سر جاش باشه..
البته این کارها همیشه هم ساده نیستن بحث امنیت اطلاعات نگهداری وضعیت کاربر ثبت تکراری درخواستها و کلی جزئیات فنی وسطه. ولی خب این پیچیدگیها مشکل ماست نه کاربر.. هدف از ساخت اتوماسیون ها مشخصه.. اتوماتیک سازی فرایندها.
کاربر قرار نیست بدونه پشت اون دکمه چه خبره فقط نباید تاوانش رو بده. امیرحسین مولودی هستم و از نظرات همه افراد عزیزی که ممکنه این پست رو ببینند استقبال میکنم. بنظرم توی عصر هوش مصنوعی همین تفاوت هاست که به کار ارزش میده و تفاوت ایجاد میکنه.