بحث کاربرپسند بودن طراحی ها ذهن ها رو به سمت گرافیک وب سایت و یا اپلیکشن سوق می ده اما کاربرپسند بودن تنها در گرافیک خلاصه نمیشه . نحوه ارائه اطلاعات هم بخشی از این داستانه . روش های مختلفی برای بیان یک مطلب وجود داره و مسئله ای که تعیین کننده برتری یک روش است سرعت آن در تفهیم منظور به گیرنده است . هممون می دونیم که یک تصویر جای هزاران کلمه رو می تونه پر کنه .
امروز به وب سایتی برخوردم که تاریخ انتشار کامنت کاربران رو به جای اینکه در قالب ۱۳/۱۲/۲۰۱۱ ۱۷:۰۳ نشون بده از اصطلاحات روزمره ای که بکار می بریم استفاده کرده بود مثل “چند لحظه پیش” یا “یک ساعت پیش” و… . به نظرم جالب اومد . کاربران با دیدن این تاریخ ها خیلی سریع متوجه زمان انتشار کامنت می شن در مقایسه با قالب همیشگی تاریخ یا حداقل کاربران تنبل مثل من . این می تونه مثالی از یک طراحی رابط کاربرپسند باشه .
من هم تصمیم گرفتم برای خودم همچین کدی رو بنویسم و استفاده کنم . کار سختی نیست . یک سری شرط بصورت if و switch و نه بیشتر . سورس و dll رو برای استفاده کسانی که دوست دارن اینجوری تاریخ رو نشون بدن برای دانلود گذاشتم . البته این کلاس طوری است که در صورتی که تفاوت زمانی کمتر از ۳۰ روز باشه به صورت اصطلاحی نشون می ده و بیشتر از اون رو خود تاریخ ارسال شده رو به صورت رشته برمیگردونه .
اگر سورس رو دستکاری کنید که هیچ اما اگر از dll استفاده کردید روش استفاده به صورت ذیل ! می باشد :
- اضافه کردن dll به پوشه bin پروژه ( از طریق کپی و پیست یا دادن رفرنس )
- در صفحه ای که می خواید از این کلاس استفاده کنید فضانام Royasaz.OpenSource رو اضافه کنید .
- کلاسی به نام FriendlyDate در اون صفحه در دسترس قرار می گیره . این کلاس تنها یک تابع به نام Convert داره که یک تاریخ میلادی در قالب DateTime رو می گیره و اصطلاح متناسب رو در قالب رشته برمی گردونه . ایراد کار همینجاست که اگه تاریخ تون در قالب شمسی است اول باید اونرو به میلادی تبدیل کنید و بعد به تابع بفرستید .
using Royasaz.OpenSource; DateTime DateInPast=new DateTime(2011,12,12,12,12); Response.Write(FriendlyDate.Convert(DateInPast));
نیاز به گفتن هم نیست که این کلاس کامل نیست و جای کار زیاد داره .



