User inter Face
Design
طراحی لایه واسط کاربر
موفقیت ما در طول ساختن برنامه های کاربردی بستگی به توانایی ما در پیش بینی اجرای برنامه ها دارد . برخی از جنبه های اجرای برنامه تقریبا برای پیش بینی آسان می باشد . مثلا به راحتی می توانیم ظرفیت برنامه را در ترم های بخش های داده ای یا عناصر تصویر تخمین بزنیم . دیگر جنبه های اجرا مثل اندازه ی برنامه و سرعت پاسخ گویی یا قابلیت اطمینان برنامه برای تعیین کردن سخت است . اغلب موضوعات عمده ای هستند که به طور بهینه در طول برنامه تخمین زده شده اند تاثیر بهینه سازی در این تخمین ها در برنامه هنگام کامل شدن در مواجه با نیازهای اساسی با شکست روبرو می شود . واسط کاربر تنها جزء قابل تعامل برنامه است که در اجرا قابل پیش بینی نمی باشد . مثلا آن جزء از برنامه که تصمیم می گیرد چگونه کاربر و کامپیوتر با هم ارتباط داشته باشند ( و این قابل تاسف است که باید این گونه باشد ) برای طراحی واسط کاربر تاثیر زیادی بر مقبولیت برنامه دارد . ناتوانی ما در پیش بینی اجزای واسط کاربر باعث می شود که کاربر در راه ها ی غیر منتظره واکنش نشان دهند در جاییکه آنان برای اولین بار از برنامه استفاده می کنند بیشترین شگفتی زمانی اتفاق می افتد که برنامه نویس با اولین کاربر و کاربر مبتدی همراه شود تا اجرای برنامه را توضیح دهد :
بدین صورت
برنامه نویس : حالا که شما این مدار را کشیده اید ممکن است بخوا هید چند راه آن را تغییر دهید .
کاربر : بله پس باید یک عنصر را حذف کنیم . چه طور باید این کار را انجام دهیم ؟
برنامه نویس : روی آیتمی که برچسب CD دارد کلیک کنید .
کاربر : CD ؟
برنامه نویس : این برای حذف کردن یک عنصر است .
کاربر : بله . خوب اجرا می کنیم راستی چه اتفاقی می افتد ؟
برنامه نویس : شما در مود تحلیل هستید باید AM را به جای CD انتخاب کنید .
کاربر : چه جالب من در حال اشاره کردن به CD هستم . چگونه می توانیم از مود تجزیه بیرون بیاییم ؟
برنامه نویس : کافی است control-Q را تایپ کنید .
کاربر : ( Type C-O-N-T-R )
برنامه نویس : نه ، کلید کنترل ( Kontrol-Key ) را فشار بده و بعد دکمه ی Q را بزن .
کاربر : متاسفم اشتباه کردم بله من باید دوباره شروع کنم .
برنامه نویس : حالا به عنصر برای پاک کردن اینها ؟
کاربر : بله هیچ اتفاقی رخ نداد . آیا من اشتباهی انجام داده ام ؟
برنامه نویس : نه تو هیچ اشتباهی مرتکب نشدی : تو عناصر را پاک کردی اما هنوز برنامه این را از صفحه ی نمایش Remove نکرده است .
کاربر : پس کی Remove خواهد شد ؟
برنامه نویس : هنگامی که تو Control-j را برای دوباره کشیدن تصویر تایپ کنی .
کاربر : من این کار را انجام خواهم داد ما این هستیم ولی تنها یک قسمت Component ها ، Remove شده است .
برنامه نویس : ببخشید من فراموش کردم . شما باید نصفی از این عناصر را به طور جداگانه پاک کنید . و تنها دوباره به CD اشاره کنید .
کاربر : خیلی خوب حالا چه اتفاقی می افتد ؟
برنامه نویس : تو الان دوباره در مود تجزیه هستی Control-Q را تایپ کن .
کاربر : کنترل پس Q کجاست ؟ اینجاست چرا همه جا خالی شد و هیچ اثری نمایش داده نشده است .
برنامه نویس : شما Q را تایپ کردید . نه Control-Q ، بنابر این برنامه سیستم عملیاتی رها می شود . من واقعا متاسفم ، اما ما خیلی چیزها را از دست دادیم و باید دوباره از اول شروع کنیم .
کاربر : بله چقدر بد ما می توانیم تا هفته ی دیگر این کار را عقب بیندازیم ؟
آنچه که تا این جا دیدید نمونه ای از یک لایه واسط کاربر طراحی شده ناچیز بود و تاثیر آن که می تواند یک برنامه ی تعاملی سودمند داشته باشد .
کاربر بدشانس مجبور است تلاش کند که دستوراتی که خارج از کنترل هستند مانند C D و
Control-Q را به خاطر بسپارد .
برنامه اغلب به دستورات داده شده جواب نمی دهد وقتی که جواب می دهد کاربر اغلب به خاطر نتیجه متعجب یا گیج می شود .
و همچنین این اشتباهات کوچک در برنامه هستند که باعث واکنش های غافلگیر کننده توسط برنامه می شود .
این امر خیلی مهم است که به طراحی واسط کاربر تعاملی ، توجه ویژه نشان دهیم . نه تنها واسط کاربر کم تجربه و ضعیف در امور کلیدی برای یادگیری سخت است بلکه باعث می شود برنامه برای اجرا کردن برای استفاده ی یک کاربر با تجربه بی مصرف باشد .