اصول طراحي واسط كاربرگرافیکی

مقدمه
اصول طراحي واسط كاربرگرافیکی
طراحي سيستم كامپيوتري،طيفي از فعاليتها را ، از طراحي سخت افزار تا طراحي واسط كاربر ، در بر مي گيرد. گر چه متخصصين براي طراحي سخت افزار به كار گرفته مي شوند ، ولي اغلب سازمانها متخصصين واسط كاربر را در اختيار ندارند . بنابراين مهندسين نرم افزار بايد مسئوليت طراحي واسط كاربر را به عهده گيرند متخصصين عوامل انساني به اين امر كمك مي كنند .
طراحي خوب واسط كاربر در موفقيت سيستم نقش مهمي دارند . واسطي كه استفاده از آن

دشوار باشد ، منجر به خطاهاي سطح بالايي از كاربر مي شود . در بدترين حالت ،كاربران نمي توانند از سيستم استفاده كنند . اگر اطلاعات به شكل نادرستي ارائه شوند ، كاربران معناي آن را نمي فهمند. ممكن است دنباله اي از فعاليت ها را آغاز كنند كه منجر به خرابي داده وسيستم شوند .
در گذشته ،واسط هاي كاربر ، متني يا فرمي بودند . تقريبا” تمام كاربران يك PC در اختيار دارند . اين ها واسط گرافيكي دارند كه از نمايشگررنگي با دقت بالا پشتيباني می كنند و از طريق موس و صفحه كليد كار مي كنند . گرچه واسط های متني هنوز رواج دارند ، كاربران انتظار دارند كه سيستم هاي واسط گرافيكي GUL داشته باشند .

امتيازات GUL عبارتند از :
۱- آموزش و كاربرد آن ها آسان است كاربران كه هيچ تجربه اي با كامپيوتر ندارند ، پس از يك جلسه آموزش مي توانند با آن كار كنند .

۲- كاربر، صفحات(پنجره هاي) مختلفي براي تعامل با سيستم دارد حركت از وظيفه ای به وظيفه ديگر ، بدون از دست دادن اطلاعات ، ممكن است .
۳-تعامل سريع و تمام صفحه از طريق دستيابي فوري به هر جايي در صفحه ممكن است .

طراحان نرم افزار و برنامه نويسان ، كاربران فناوري هايي مثل كلاس هاي swing در جاوا يا HTML هستند كه اساس پياده سازي واسط كاربراند.

توسعه اكتشافي ، موثرترين روش براي طراحي واسط است فرايند ساخت نمونه اوليه با واسط مبتني بر كاغذ شروع مي شود كه تعامل كاربر راشبيه سازي مي كند و بايد از روش كاربر محوري استفاده كرد كه در آن كاربران سيستم نقش فعالي در فرايند طراحي دارد در بعضي موارد ، نقش كاربر ، ارزيابي است . در موارد ديگر ، به عنوان اعضاي تيم طراحي حضور دارد .
فعاليت مهم طراحي واسط كاربر تحليل فعاليت هاي كاربر است كه سيستم كامپیوتری بايد از آن پشتيباني كند بدون درك خواسته هاي كاربر ، طراحي واسط موفق نخواهد بود . براي درك خواسته ها ، مي توانيد از تكنيك هايي مثل تحليل وظيفه ،مطالعات اتناگرافي ، مصاحبه با كاربر و مشاهدات و يا تركيبي از آنها استفاده كنيد .

اصول طراحي واسط كاربر:
طراحان واسط كاربر بايد قابليت هاي فيزيكي و رواني كاربران را در نظر داشته باشند . افراد يك حافظه كوتاه مدت محدود دارند و وقتي كه اطلاعات زيادي را دستكاري مي كنند ، دچار اشتباهاتي مي شوند .

قابليت هاي انساني ، مبنايي براي اصول طراحي اند . اين اصول كلي بر تمام طراحي

هاي واسط كاربر اعمال مي شود .و بايد به عنوان راهنماي طراحي مشروح براي سازمانهاي ويژه با انواع سيستم ها ، نمونه سازي شود .
اصل آگاهي كاربر پيشنهاد مي كند كه كاربران نبايد مجبور به تطبيق با واسطي شوند كه پياده سازي آن آسان است . واسط بايد از اصطلاحات آشناي كاربر استفاده كند و اشياي

دستكاري شده در سيستم بايد مستقيما با محيط كاربر رابطه داشته باشند . به عنوان مثال اگر سيستمي براي استفاده كنترلگر ترافيك هوايي طراحي شود ، اشيا بايد هواپيما ، مسيرهاي پرواز ، دستگاه هدايت راديويي و غيره باشند . عمليات بايد بتوانند سرعت هواپيما راافزايش يا كاهش دهد، دماغه هواپيما را تنظيم وارتفاع آن را تغيير دهند . پياده سازي واسط بر حسب فايل ها و ساختمان داده ها ، بايد از ديد كاربر مخفي باشد .
معناي اصل سازگاري اين است كه فرمان ها و منوهاي سيستم بايد فرمت يكساني داشته باشند، پارامترها بايد به طور يكسان به فرمان ها ارسال شوند ، و فرمان ها از سياق يكساني پيروي كنند . واسط هاي سازگار ، از زمان آموزش كاربران مي كاهد . اطلاعات به دست آمده از طريق يك فرمان يا برنامه كاربردي ، در بخش هاي ديگر سيستم قابل استفاده است .
سازگاري واسط در زير سيستم ها نيز مهم است . حتي الا مكان فرمانهايي با معني مشابه در زير سيستم هاي مختلف بايد به روشني بيان شوند. اگر تركيب هاي خاصي از كليدهاي صفحه كليد ، در سيستم هاي مختلف معناي مختلفي داشته باشند، منجر به خطا مي شود . به عنوان مثال در ويراستاري كه اين كتاب ( كتاب اصلي) تايپ شد، كليد Ctrl+ b به معناي پر رنگ كردن متن بود ولي همين كليد در برنامه گرافيكي به معناي قرار دادن تصويري در پشت تصوير ديگر بوده
است . اين موضوع ، جالب نيست.
اين سطح سازگاري، سطح پايين است . طراحان واسط همواره بايد سعي كنند آن را در واسط كاربر اعمال نمايند. سازگاري در سطح بالاتر نيز مطلوب است به عنوان مثال ، مناسب است در تمام نهادهاي سيستم، از عمليات يكساني( مثل چاپ –كپي و غيره) استفاده شود. اما، گرودين (۱۹۸۹) پيشنهاد كرد كه سازگاري كامل نه ممكن است و نه مطلوب عمل حذف، اين طور پياده سازي
مي شود كه نهادها در ميز كار به سمت سطل زباله حركت داده مي شوند. اين شيوه براي حذف متن در واژه پرداز مرسوم نيست .
اصل حداقل تعجب به اين دليل مناسب است كه وقتي سيستم به طور غير منتظره اي عمل مي كند ، كاربران متعجب مي شوند . وقتي سيستم در حال كار است ، كاربران يك مدل ذهني از چگونگي كار سيستم مي سازند. اگر عملي در اين زمينه منجر به نوعي تغيير شود،انتظار مي رود كه همان عمل در زمينه ديگر نيز منجر به چنين تغييري شود . اگر غير از اين باشد، كاربر تعجب خواهد كرد . طراحان واسط بايد مطمئن باشند كه فعاليت هاي يكسان ، اثرات يكساني دارند .
اهميت اصل قابليت ترميم اين است كه كاربران هنگام كار با سيستم دچار اشتباه مي شوند. طراحي واسط مي تواند اين اشتباهات را به حداقل برساند ولي كاملا حذف نمي شوند. واسط هاي كاربر بايد حاوي امكاناتي باشتد كه كاربران بتوانند خطا را ترميم كنند . اين كار به دو صورت است :

۱- تاييد اعمال مخرب : اگر كاربر، عملي را مشخص كرد كه مخرب است، بايد از آنان خواسته شود كه آن را تاييد كنند.
۲- وجود امكان خنثي سازي: عمل خنثي سازي سيستم را به حالت قبل از رخ دادن عمل مي برد . سطوح مختلفي از عمل خنثي سازي مفيد است.
يكي از اصول مرتبط ، دستيار كاربر است. واسط بايد حاوي دستيار كاربر يا امكانات كمكي با

شد . اين ها بايد با سيستم مجتمع شده باشند و بايد سطوح مختلفي از كمك رساني را ارائه كنند . اين سطوح بايداز اطلاعات مربوط به راه اندازي گرفته تا توصيف كاملي از امكانات سيستم را شامل شود ،بايد ساخت يافته باشد .
اصل تنوع كاربرمي گويد كه براي بسياري از سيستم هاي محاوره اي ، انواع مختلفي از كاربران وجود دارند . بعضي از كاربران گاهي با سيستم سرو كار دارند، ولي بعضي ديگر در هر روز چن

د ساعت با سيستم كار مي كنند . كاربران موردي، نياز به واسط هايي دارند كه رهنمودهايي را فراهم كنند و كاربران دائمي از ميانبرها استفاده مي كنند تا به سرعت با سيستم تعامل داشته باشند. علاوه بر اين ، كاربران ممكن است از ناتوانايي ها رنج ببرند و در صورت امكان ، واسط بايد با اين ها قابل تطبيق باشد. لذا ممكن است به امكاناتي نياز باشد كه متن درشت را نشان دهد، متني را به جاي صوت قرار دهد ، دكمه هاي بزرگي را توليد كند و غيره.
اصل تشخيص تنوع كاربر مي تواند با ساير اصول واسط تضاد داشته باشد ، زيرا بعضي از انواع كاربران ممكن است به جاي سازگاري نياز به تعامل سريع داشته باشند. به همين ترتيب، سطح راهنمايي مورد نياز می تواند براي انواع مختلف كاربران ، متفاوت باشد و شايد بتوان تمام كاربران را پشتيباني كرد. طراح واسط بايد اين مسائل را حل كند .

تعامل كاربر:
طراح واسط كاربر ، با دو موضوع سر و كار دارد . اطلاعات چگونه از كاربر به سيستم مي رسند
و چگونه اطلاعات از كامپيوتر به كاربر نمايش داده مي شود واسط كاربر منسجم بايد تعامل كاربر
و نمايش اطلاعات را مجتمع كند .
معناي تعامل كاربر ، صدور فرمانها و داده هاي مربوط ، به سيستم كامپيو تري است . دركامپيوترهاي اوليه ، تنها راه انجام اين كار، استفاده از واسط خط فرمان بود كه در آن ، زبان
ويژه اي براي ارتباط با ماشين به كار مي رفت . اين روش فقط توسط متخصصين قابل استفاده بود. ولي به تدريج روش هاي آسانتري به وجود آمدند تعامل هاي مختلف به پنج سبك انجام مي شوند :
۱- دستكاري مستقيم: كه در آن كاربر مستقيما با اشياي صفحه تعامل برقرار مي كند . به عنوان مثال براي حذف فايل، مي توان آن را به طرف سطح زباله حركت داد .
۲- انتخاب منو : كه در آن كاربر فرماني را از ليستي از گزينه هاي مختلف انتخاب مي كند .
در اين روش براي حذف فايل ، فايل انتخاب شده سپس فرمان حذف انتخاب مي گردد .
۳- پر كردن فرم : كه در آن ، كاربر فيلد هاي فرم را پر مي كند .بعضي از فيلد ها ممكن است
منو هايي داشته باشند و فرم ممكن است داراي دكمه عملكرد باشد كه وقتي فشار داده مي شود ، فعاليتي صورت مي گيرد . در اين روش ، براي حذف فايل نام آن وارد شده دكمه حذف فشار داده مي شود .
۴-زبان فرمان : كه در آن ، كاربر فرمان خاصي را صادر مي كند و به سيستم مي گويد چه عملي

را انجام دهد. براي حذف فايل ، كاربر بايد دستور حذف را صادر كرد ، نام فايل را به عنوان پارامتر
ذكر كند.
۵- زبان طبيعي : كه در آن ، كاربر فرماني را به زبان طبيعي صادر مي كند . براي حذف فايل ، به زبان طبيعي به آن دستور مي دهد:” فايل x را حذف كن” .

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

خاصي مناسب اند . البته ، اين سبك هاي تعامل را مي توان تركيب كرد و در يك كاربرد از چند سبك استفاده نمود . به عنوان مثال ، ويندوز ميكروسافت، نمايش آيكني فايل ها و دايركتوري ها
و انتخاب از طريق منو ها را پشتيباني مي كند .و براي فرمان هايي مثل فرمان هاي
پيكربندي ، كاربر بايد فرم هاي خاصي را پر كند .
واسط هاي كاربر در وب جهاني توسط HTML و زبان هايي مثل جاوا پشتيباني مي شود كه
مي تواند برنامه هايي را براي مولفه هاي صفحه
د رنظر بگيرد . چون اين واسطه هاي مبتني بر وب ، اغلب براي كاربران موردي طراحي مي شوند ، از واسط هاي فرمي استفاده مي نمايند.مي توان در وب نيز واسط هايي با دستكاري مستقيم استفاده كرد ، ولي فعلا كار دشواري است.
در اصل، مي توان سبك تعامل را از نهاد هايي تفكيك كرد كه از طريق واسط كاربر دستكاري
مي شوند .اين موضوع ، مبنايي براي مدل سيستمي (پی فاف هاجز ۱۹۸۵) در مديريت واسط كاربران بود .در اين مدل ، نمايش اطلاعات ، مديريت ديالوگ ها و برنامه هاي كاربردي ، جدا هستند . در واقع اين مدل ايده ال است و براي كاربران مختلف (مثلا كاربران موردي و ماهر)
واسط هاي گوناگوني دارند .
تفكيك نمايش ، تعامل و نهادهايي كه در واسط كاربر وجود دارند،اساس مدل MVC است، اين مدل با مدل سيستمي قابل مقايسه است ، ولي براي پياده سازي واسط كاربر با اشياء به كار مي رود نه با كل برنامه كاربردي.

نمايش اطلاعات
تمام سيستم هاي محاوره اي بايد راهي براي نمايش اطلاعات به كاربران داشته باشند . نمايش اطلاعات ممكن است نمايش مستقيم اطلاعات ورودي باشد ( مثل متن در واژه پرداز ) يا نمايش گرافيكي اطلاعات باشد . خوب است كه نرم افزار مورد نياز براي نمايش اطلاعات جدا از خود اطلاعات باشد، اين موضوعت، تا حدي فلسفه شيء گرايي را محدود مي كند ، زيرا اين فلسفه
مي گويد كه عمليات بر روي داده ها بايد با خود داده ها تعريف شود. اما فرض مي شود كه طراح اشياء همواره بهترين روش نمايش اطلاعات را مي داند. اين فرض همواره درست نيست . هنگام تعريف داده ها نمي توان بهترين روش نمايش آن تشخيص داد و ساختمان داده ها نبايد وابسته به عمليات نمايش باشد .
با تفكيك سيستم نمايش از داده ها نمايش بر روي صفحه نمايش كاربر، بدون نياز به تغيير سيستم محاسبات ، مي تواند تغييركند.
روش MVCكه ابتدا در اسمالتاك استفاده شد ، روش موثري براي نمايش چندگانه اطلاعات است . كاربران مي توانند از طريق سبكي مناسب داده ها با هر نمايش تعامل داشته باشند. داده اي كه بايد نمايش داده شود در شيء مدل بسته بندي مي گردد . ممكن است به هر مدل شيء ، چند شيءنما وابسته باشد كه هر نما يك نمايش از اين مدل است .
هر نما داراي شيء كنترلگري است كه ورودي كاربر و تعامل دستگاه را اداره مي كند .

 

لذا، مدلي كه داده عددي را نشان مي دهد ، نمايي دارد كه داده را به صورت هيستوگرام و نماي ديگري دارد كه ان را به صورت جدول نمايش مي دهد . اين مدل را مي توان با تغيير مقادير جدول يا كوتاه و بلند كردن ميله ها در نمودار هيستوگرام ،ويرايش كرد.

يافتن بهترين نمايش اطلاعات ، مستلزم آگاهي از كاربران اطلاعات و روشي است كه كاربران از سيستم استفاده مي كنند .در تصميم گيري براي نمايش اطلاعات طراح بايد عوامل زيادي را در نظر بگيرد :

۱- آيا كاربر به اطلاعات دقيق علاقمند است يا روابط بين مقادير مختلف داده ها .
۲- مقادير اطلاعات با چه سرعتي تغيير مي كنند؟ آيا تغيير در يك مقدار بايد فورا” به كاربر نمايش داده شود؟
۳- آيا كاربر بايد به تغيير اطلاعات عكس العمل نشان دهد؟
۴- آيا لازم است كاربر از طريق واسط دستكاري مستقيم ، با اطلاعات نمايش داده شده تعامل داشته باشد؟
۵-اطلاعات باید به صورت عددی یا متنی نمایش داده شود؟آیا مقادیر نسبی اقلام اطلاعات مهم است؟

اطلاعاتي كه در اثناي يك جلسه تغيير نمي كند بر حسب نوع كاربرد مي تواند به صورت متني يا گرافيكي نمايش دهده شود.نمايش متني فضاي كمتري از صفحه نمايش را اشغال مي كند و قابليت خوانايي آن پايين است . اطلاعاتي كه تغيير نمي كنند بايد از طريق سبك نمايش مختلفي ، از اطلاعات پويا تفكيك شود. به عنوان مثال، تمام اطلاعات متني با فونت مشخصي يا رنگ خاصي چاپ شوند يا آيكن خاصي داشته باشند .
وقتي نياز به اطاعات عددي دقيقي باشد و تغييرات اطلاعات نسبتا” اندك است ، اطلاعات بايد به صورت متني نمايش داده شود . اگر تغييرات داده ها سريع باشد يا روابط بين داده ها مهم باشد ، نمايش گرافيكي بهتر است .
به عنوان مثال ، سيستمي را در نظر بگيريد كه ميزان فروش ماهانه شركتي را ذخيره مي كند .
مديراني كه ميزان فروش را مطالعه مي كنند. به نمايش گرافيكي تمايل بيشتري دارند . اطلاعات عددي كه زياد تغيير مي كنند ، بهتر است به صورت گرافيكي نمايش داده شوند در نمايشگر هاي ديجيتال مي توان از نمودارهاي گرافيكي به عنوان مكمل استفاده كرد .
نمايشگرهاي قياسي مداوم، مقادير نسبي را به بيننده نمايش مي دهند. در نمايش ديجيتال نياز به دانستن بيشترين مقدار است.
وقتي اطلاعات الفبا عددي دقيقي بايد نمايش داده شوند ، گرافيك مي تواند براي استخراج اطلاعات از آن ها به كار رود. به جاي نمايش يك خط اطلاعات مي توان آن را در يك كادر يا با يك آيكن نمايش داد . كادر نمايش دهنده پيام ، با نمايش صفحه فعلي همپوشاني دارد. توجه كاربر فورا” به آن جلب مي شود.
برجسته كردن گرافيكي نيز مي تواند توجه كاربر را به بخشي از صفحه نمايش جلب كند كه تغييراتي در آن حاصل شده است اما اگر اين تغييرات سريع باشند، نبايد از اين نوع برجسته كردن استفاده شود. زيرا تغييرات سريع ممكن است صفحه نمايش را به حالت چشمك زدن در آورد . اين حالت كاربران را خسته مي كند.
براي نمايش حجم زيادي از اطلاعات مي توان از نمايش انتزاعي استفاده كرد كه اقلام داده مرتبط به هم را پيوند مي دهد. اين كار ممكن است منجربه اطلاعاتي شود كه در داده هاي خام مشهود نيست. طراحان واسط كاربر بايد از احتمال تجسم آگاهي داشته باشند، به خصوص وقتي كه واسط كاربر سيستم مي خواهد نهاد هاي فيزيكي را نمايش دهد. نمونه هايي از مجسمه سازي داده عبارتند از :
۱- اطلاعات هوا شناسي كه از منابع مختلفي جمع مي شوند مي تواند با خطوط هم فشار نمايش داده شود .
۲- حالت شبكه تلفن به صورت گرافيك نمايش داده مي شود كه مجموعه اي از گره هاي مرتبط به هم در مركز مديريت شبكه است.
۳- حالت كارخانه شيميايي با نمايش فشار و دما در مجموعه اي از تانكها و لوله ها مجسم
مي شود .
۴- مدلي از ملكول با استفاده از سيستم واقعيت مجازي ، در فضاي سه بعدي نمايش داده شده دستكاري مي شوند.
۵- مجموعه اي از صفحات وب به صورت درخت هذلولي نمايش داده مي شود .

شيدرمن (۱۹۹۸) روشهاي مختلف مجسمه سازي را تشريح كرد و دسته هاي مختلفي از مجسمه سازي را شناسايي كرد كه مي توان از آنها استفاده كرد . اين دسته ها شامل مجسمه سازي داده ها با نمايش دو بعدي و سه بعدي و درخت ها يا شبكه ها است اغلب اين ها با نمايش حجم زيادي از اطلاعات سرو كار دارند كه در كامپيوتر وجود دارند. اما، متداول ترين استفاده از مجسم سازي در واسط هاي كاربر ، نمايش ساختارهاي فيزيكي مثل ساختار ملكولي دارو ، پيوندها در شبكه ارتباطات راه دور و غيره است . نمايش هاي سه بعدي كه ممكن است از تجهيزات واقعيت مجازي استفاده كنند ، در مجسم سازي محصول موثرند . دستكاري مستقيم اين مجسمه ها ، روش موثري براي تعامل با داده ها است .

رنگ در طراحي واسط
تمام سيستم هاي محاوره اي ، صرفنظر از سيستم ها ي ويژه و با صفحات كوچك ، از نمايشگرهاي رنگي پشتيباني مي كنند و واسط هاي كاربر به شكل هاي مختلفي از رنگ استفاده مي كنند.
در بعضي از سيستم ها(مثل واژه پردازها) رنگ معمولا” براي برجسته كردن مورد استفاده قرار
مي گيرد و در سيستم هاي ديگر ( مثل سيستم هايCAD) براي نمايش لايه هاي مختلف طراحي به كار مي رود .
استفاده از رنگ در واسط كاربر ، به كاربر كمك مي كند تا پيچيدگي ها را درك و مديريت كند. واسط هايي كه بدون استفاده از رنگ طراحي مي شوند جذاب نبوده مولد خطا هستند. به عنوان يك قائده كلي ، طراحان واسط كاربر بايد در استفاده از رنگ ها در نمايشگرهاي كاربرمحافظ باشند شيدرمن(۱۹۹۸) چهارده نكته را براي استفاده موثر از رنگها در واسط كاربر مطرح كرد كه مهم ترين آنها عبارتند از :

۱- تعداد رنگهاي مورد استفاده را محدود كنيد ودر بكارگيري آنها محتاط باشيد در يك پنجره نبايد از بيش از ۴ يا ۵ رنگ استفاده كرد و در واسط كاربر نبايد بيش از ۷ رنگ را به كار برد. رنگ ها بايد انتخابي و سازگار باشند . نبايد از رنگها براي درخشيدن واسط استفاده كنيم.
۲- تغيير در حالت سيستم را با تغيير رنگ نشان دهيد وقتي رنگ نمايشگر تغيير كرد به معناي وقوع رويداد مهمي است. لذا در اندازه گيري سوخت تغيير رنگ ممكن است تمام شدن سوخت را نشان دهد. برجسته كردن از طريق رنگ، در نمايشهاي پيچيده مهم است.
۳- براي پشتيباني از وظيفه اي كه كاربران انجام مي دهند، از كد گذاري رنگ استفاده كنيد اگر كاربران بخواهند نمونه هاي غير عادي را شناسايي كنند ، اين نمونه ها را برجسته كنيد . اگر شباهت ها با يد شناسايي شوند آن ها را با رنگ ديگري برجسته كنيد.

۴- از كد گذاري رنگ به طور دقيق و سازگار استفاده كنيد اگر بخشي از سيستم، پيام هاي خطا را با رنگ قرمز نشان مي دهد، در بخش هاي ديگر نيز بايد از همين رنگ استفاده شود . در اين
صورت ، كاربر رنگ قرمز را به معني پيام خطا مي شناسد توجه داشته باشيد كه بعضي از كاربران از رنگ ها معناي خاصي را مي فهمند .
۵- در تركيب رنگ ها دقت داشته باشيد به دليل فيزيولوژيكي ، چشم نمي تواند به طورهمزمان به قرمز و آبي ذخيره شود.

دو خطاي متداول طراحان در استفاده از رنگ ها در واسط كاربر عبارتند از در نظر گرفتن معنايي براي رنگ هاي خاص و استفاده از رنگ هاي زياد.
به دو دليل ، رنگ نبايد براي معناي خاصي به كار رود . در حدود ۱۰ درصد مردان كور رنگ هستند و معنا را در ست تفسير نمي كند. افراد مختلف رنگ ها را به شيوه هاي مختلفي درك
مي كنند. به عنوان مثال ، راننده رنگ قرمز را خطرناك و شيميدان رنگ قرمز را حساس مي داند .
اگر از رنگ هاي زيادي استفاده شود يا رنگ ها خيلي روشن باشند، صفحه نمايش مي تواند خسته كننده باشند . رنگ هاي ناسازگار نيز براي كاربران گيج كننده است .

پشتيباني كاربر
يك اصل طراحي اين بود كه واسط هاي كاربر همواره بايد كمك رساني فوري داشته باشند . سيستم هاي كمك رساني سه دسته هستند :

۱- پيام هايي از سيستم كه در پاسخ به فعاليت كاربران ارائه مي شود .
۲- سيستم كمك رسانيon-line
3- مستندات سيستم.

طراحي اطلاعات مفيد و خبر رساني براي كاربران بايد با دقت صورت گيرد . مديران بايد زمان كافي و تلاش فراواني را صرف طراحي پيام ها كنند. براي اين كار بايد از نويسندگان حرفه اي
و متخصصين گرافيك استفاده كرد .

پيام هاي خطا
اولين اثر سيستم نرم افزاري بر روي كاربران از طريق پيام هاي خطا است . كاربران بي تجربه ممكن است كار را شروع كنند ، با خطايي مواجه شوند و بايد پيام خطا را درك كنند. اين كار براي كاربران بي تجربه دشوار است .
هنگام طراحي پيام هاي خطا تجربه و سابقه كاربران بايد در نظر گرفته شود . به عنوان مثال ، كاربر پرستاري را در يك سیستم بيمارستاني در نظر بگيريد. سيستم كامپيوتر ، بيماران را نظارت
مي كند . براي مشاهده حالت فعلي بيمار( ضربان قلب، دما و غيره ) كاربر، گزينه display را از منويي انتخاب مي كند و نام بيمار را در كادري وارد مي كند .

در اين مورد اگر نام بيمار patesباشد نهBates ، نام وارد شده توسط كاربر قابل تشخيص نيست ، سيستم پيام خطايي صادر مي كند . پيام هاي خطا بايد مودبانه ، دقيق، سازگار و ساختاري باشد . پيام نبايد همراه با بوق باشد كه ممكن است كاربر را آزار دهد . در صورت امكان ، پيام خطا بايد شيوه رفع خطا را مطرح كند . پيام خطا بايد با سيستم ، كمك رساني on-line ارتباط داشته باشد .
پيام منفي نباید باشد ( كاربر را مقصر بداند ) ،پیام منفی مهارت و سطح تجر

به كاربر را در نظر
نمي گيرد و به اطلاعات متني توجهي ندارد مشخص نمي كند كه چگونه بايد از اين وضعيت خارج شد . از اصطلاحات سيستمي pationt-id استفاده مي كند . پيام بهتر است مثبت باشد ، تاكيد مي كند كه خطا مربوط به سيستم است نه كاربر . مشكل را با توجه به اصطلاحات بيان
مي كند و راه حل مشكل را مطرح مي نمايد . سيستم كمك رساني نيز مهيا است .
طراحي سيستم كمكي
وقتي كاربران با پيام خطايي مواجه مي شوند كه آن را درك نمي كنند . براي كسب اطلاعات به سيستم كمكي مراجعه مي كنند. نمونه اي از كمك رساني ! help است و معنايش اين است كه كمك كنيد ، من مشكل دارم . شكل ديگري از درخواست كمك ؟ help است و معنايش اين است كه كمك كنيد ، به اطلاعات نياز دارم ، براي ارائه اين كمك رساني هاي مختلف ، به امكانات مختلفي از سيستم و ساختارهاي گوناگوني از پيام نياز است.
سيستم هاي كمكي بايد اجازه دهند كه كاربر از راه هاي مختلفي وارد اين سيستم ها شود اين نقاط ورود بايد به كاربر اجازه دهد تا در بالاي سلسله مراتب پيام وارد سيستم كمكي شود
و اطلاعات را مرور نمايد . از طرف ديگر ممكن است بخواهند وارد سيستم كمكي شوند تا توضيحي راجع به پيام خطا بيابند يا در مورد دستور خاصي تحقيق كنند.
تمام سيستم ها ي كمكي جامع ، ساختار شبكه اي پيچيده اي دارند كه در آن ، هر قاب اطلاعات كمكي ممكن است به ساير قاب هاي اطلاعات مراجعه كنند . ساختار اين شبكه معمولا” به صورت سلسله مراتبي است و داراي پيوندهاي متقابل است . اطلاعات كلي در بالاي سلسله مراتب
و اطلاعات مشروح در پايين قرار دارند.
وقتي كاربران با بروز خطايي وارد اين شبكه مي شوند و در آن مرور مي كنند ، ممكن است مشكلاتي پيش بيايد . ممكن است در مدت كوتاهي در شبكه گم شوند ، بايد به كارشان خاتمه دهند و از نقطه ورودي ديگري وارد شوند .
نمايش اطلاعات كمكي در چندين پنجره مي تواند اين وضعيت را بهبود بخشد.
در سيستم كمكي ، متن بايد متناسب با زمينه كاري باشد. قاب كمكي نبايد فقط راهنماي كاربرد را فراهم كند، به طوري كه متن كمكي و صفحه نمايش هيچ ارتباطي با هم نداشته باشند. خود
متن ، طرح بندي و سبك آن بايد طوري باشد كه در يك پنجره كوچك قابل خواندن باشد. نبايد كاربران را در اطلاعات زياد غرق كنيد
سيستم هاي كمكي ممكن است به صورت مجموعه اي از صفحات وب يا سيستم ابر متن كلي پياده سازي شوند كه مي تواند با برنامه كاربردي مجتمع شود . اين سلسله مراتب را مي توان با انتخاب بخش هايي از پيامي كه به صورت پيوند مشخص شده اند ، پيمايش كرد . امتياز سيستم هاي وب جهاني اين است كه پياده سلزي انها آسان است و به نرم افزار خاصي نياز ندارد . اما پيوند اينها به برنامه كاربردي ، جهت در يافت اطلاعات كمكي مربوط به زمينه كاري، دشوار است.

مستندات كاربر
مستندات كاربر، بخشي از طراحي واسط است، اما خوب است كه اين مستندات كاغذيآماده شوند . كتاب هاي راهنماي سيستم بايد اطلاعات بيشتري را فراهم كنند و بايد طوري طراحي شوند كه كاربران مختلفي از آنها استفاده كنند .
براي ارضا كردن كاربران مختلف پنج سند بايد همراه نرم افزاري تحويل داده شوند :
۱- توصيف اسامي كه بايد به طور خلاصه خدمات سيستم را توصيف كنند كاربران بايد اين مستندات را مطالعه كنند .

۲- سند نصب بايد جزييات چگونگي نصب سيستم رامشخص كند .باید دیسک هایی را توصیف کند كه سيستم بر روي آنها قرار دارد ، فايل هاي اين ديسك ها و حد اقل سخت افزار مورد نياز را نيز بايد توصيف نمايد . دستورات نصب و پيكر بندي نيز بايد در اين متندات وجود داشته باشد.

۳- راهنماي معرفي كه بايد سيستم را به طور غير رسمي معرفي نمايد و كاربرد عادي

آن را توصيف نمايد . چگونگي شروع به كار و استفاده از امكانات سيستم با يد توصيف شود بايد با مثالهايي تشريح شود . ترميم خطا و از سر گيري كارها نيز بايد مشخص شود .
۴- راهنماي مرجع بايد امكانات سيستم و كاربرد آنها را توصيف كند . ليستي از پيامهاي خطا
و علل آنها را تشريح كند . ترميم خطا نيز مطرح شود .
۵- راهنماي مديران نيز ممكن است براي بعضي از سيستم ها تهيه شود . اين راهنما بايد پيام هاي حاصل از تعامل سيستم با سيستم هاي ديگر و چگونگي برخورد با اين پيام ها را مشخص كند . چگونگي بر طرف كردن خطاهاي سخت افزازي با يد توصيف شود .
علاوه بر اين راهنما ها ، ممكن است مستندات به كارگيري آن سيستم نيز فراهم شود . مرجع سريع براي امكانات سيستم، ضروري است.

ارزيابي واسط
ارزيابي واسط ، فرايند برآورد قابليت به كارگيري واسط است و كنترل مي كند كه خواسته هاي كاربر بر آورده مي شود يا خير. لذا ، بايد به عنوان بخشي از فرآيند وارسي و اعتبار سنجي
سيستم هاي نرم افزاري باشد .

در حالت ايده ال ، ارزيابي بايد بر اساس مشخصات قابليت به كارگيري و با توجه به صفات به كارگيري انجام شود. مي توان ملاك هايي را براي اين صفات قابليت به كارگيري در نظر گرفت . به عنوان مثال ملاك قابليت يادگيري ممكن است بيان كند كه اپراتوري كه با اين كار آشنا است ، بايد پس از۳ تا۴ ساعت آموزش ، ۸۰ در صد از عملكرد سيستم را بفهمد . اما معمولا قابليت به كارگيري به صورت كميت بيان مي شود . لذا، طراحان در ارزيابي واسط بايد از تجربيات و قضاوت خود استفاده كنند .
ارزيابي سيستماتيك طراحي واسط كاربردي كه حاوي متخصصين تشخيص و طراحان گرافيك است، گران تمام مي شود . ارزيابي اين نوع واسط كاربر ، براي سازمانهاي كوچك مقرون به صرفه نيست .
تكنيك هاي ساده و ارزاني براي ارزيابي واسط كاربر وجود دارند كه مي توانند معايب طراحي واسط را پيدا كنند:
۱- پرسشنامه هايي كه اطلاعاتي راجع به نظر كاربران در مورد واسط جمع آوري مي كند.
۲- مشاهده كاربران در حين كار با سيستم .
۳- عكس فوري از عملكرد خاص سيستم .
۴- اضافه كردن كلي به سيستم كه اطلاعاتي راجع به متداولترين خطاها و پر استفاده ترين امكانات جمع آوري مي كند.
استفاده از پرسشنامه ارزان است . پرسش ها بايد دقيق باشند ، نه كلي از طرح اين نوع پرسش خود داري كنيد’ راجع به قابليت به كارگيري واسط توضيح دهيد‘، زيرا پاسخ مي تواند وسيع باشد و نتيجه خاصي را ارائه نكند . پرسش هاي خاصي مثل’ لطفا” قابليت درك پيام هاي خطا را با مقياس ۱تا۵ مشخص كنيد‘ را مطرح نماييد . ۱ به معناي بالا بودن قابليت درك و ۵ به معناي پايين بودن درك است.
بايد از كاربران در مورد تجربه و زمينه كاري آنها سوال شود . بدين ترتيب، طراحان مي توانند تشخيص دهند كه كاربرانی با زمينه كاري و تجربه خاص ، با واسط مشكل دارند.
در ارزيابي بر اساس مشاهده ، هنگامي كه كاربر در حال استفاده از سيستم است ، تحت نظر قرار ميگيرد ، چگونگي استفاده از امكانات مشاهده مي شود و غيره. مي توان از ويديويي با قيمت ارزان براي مشاهده استفاده كرد . تحليل كامل ويديو گران است و به تجهيزات ويژه اي نياز دارد . اما ،ثبت حركات كاربر از طريق ويديو مي تواند به يافتن مشكلات كمك كند .
طراحان با تحليل ويديو تشخيص مي دهند كه آيا كاربران بايد دست خود را زياد حركت دهند و يا چشم بايد حركات زيادي داشته باشد يا خير. در صورتي كه دست و چشم خيلي حركت داشته باشند احتمال خطا زياد تر است . استفاده از كد براي جمع آوري اطلاعات آماري ، مي تواند واسط را بهبود بخشد . متداول ترين عمليات مي توانند پيدا شوند و واسط مي تواند دوباره سازمان دهي شود تا اين عمليات زود تر دستيابي شوند . به عنوان مثال ، اگر از منو هاي pop-up pull-down استفاده شود ، متداولترين عمليات بايد در بالاي منو قرار گيرند . استفاده از كد مي تواند فرمان هاي مولد خطا را نيز تشخيص دهد.
سرانجام ، اگر هر برنامه داراي فرماني به نام ’gripe‘ باشد كه كاربران از طريق آن بتوانند پيام ها را به نگهدارنده ابزار بفرستند ، كاربر به آساني مي تواند پاسخ دهد . بدين ترتيب ، كاربران احساس مي كنند كه ديدگاه هاي آن ها در نظر گرفته شده است . طراحان واسط و ساير طراحان مي توانند بازخورد سريعي از مسائل داشته باشند .
هيچ كدام از اين روشهاي ارزيابي كاربر كامل نيستند و تمام مشكلات واسط را پيدا نمي كنند . اما ، اين تكنيك ها را مي توان قبل از تحويل سيستم، با استفاده از داوطلباني انجام داد . بدين ترتيب ، بسياري از مسائل روشن مي شوند .

نكات كليدي
o فرآيند طراحي واسط بايد كاربر محوري باشد واسط بايد با اصطلاحات آشناي كاربر با آن تعامل برقرار كند . بايد منطقي و سازگار باشد و بايد حاوي اطلاعات كمكي باشد.
o سبك هاي تعامل با سيستم نرم افزاري شامل دستكاري مستقيم ، سيستم هاي منو ، پركردن فرم ، زبان هاي دستوري و زبان طبيعي است .

o براي برآورد مقادير بايد اطلاعات را به صورت گرافيكي نمايش داد . در صورت نياز به دقت بايد از نمايش ديجيتال استفاده كرد .

o رنگ ها بايد به طور سازگار و يكنواخت در واسط هاي كاربر به كار گرفته شوند . طراحان بايد اين حقيقت را در نظر بگيرند كه افراد زيادي كور رنگ هستند .

o سيستم هاي كمكي كاربر بايد دو نوع كمك رساني را ارائه دهند . help? Help.
o پيام هاي خطا نبايد كاربر را سرزنش كنند بايد پيشنهادا تي براي ترميم و پيوند به سيستم كمكي ارائه كنند .
o مستندات كاربر بايد شامل را هنماي مبتديان مرجع باشد بايد مستندات كاربر نيز فراهم شود .

o مشخصات سيستم ، در صورت نياز بايد شامل مقادير كميتي براي صفات قابليت به كارگيري باشد و فرآيند ارزيابي بايد سيستم را با اين صفات مقايسه كنيد .

ابزارهای پیاده سازی
هنگامی که یک مدل طراحی ایجاد شد ،توسط کاربرانی امتحان می شود و براساس توضیحات آن ها اصلاح می شود برای انجام این روش طراحی تکراری ، انواع ابزارها ی طراحی واسط و ساخت نمونه اولیه به وجود آمده است. این ابزار ها که کیت ابزار واسط کاربر یا سیستم توسعه واسط کاربر (UIDS) نام دارند ، مولفه ها یا اشیایی را فراهم می آورد که ایجاد پنجره ها ، منوها ،تعامل با دستگاه ها ، پیام های خطا ، فرمان ها و بسیاری از عناصر دیگر محیط تعاملی را تسهیل می کنند .
UIDS با استفاده از مولفه های نرم افزار ی که از قبل بسته بندی شده اند و برای ایجاد واسط کاربر قابل استفاده هستند ، راهکاری جهت موارد زیر فراهم می آورد :
o مدیریت دستگاه های ورودی (مثل ماوس یا صفحه کلید ) .

o اعتبار سنجی ورودی کاربر.
o کنترل خطا و نمایش پیام های خطا .
o فراهم آوردن باز خورد (مثلا بازتاب ورودی خودکار) .
o فراهم آوردن راهنما و پیام .
o کنترل پنجره ها و فیلد ها ، حرکت در داخل پنجره ها .
o بر قراری ارتباط میان نرم افزار کاربردی و واسط .
o جدا کردن برنامه کاربردی از عملکرد های مدیریت واسط .
o مجاز کردن کاربر به سفارشی کردن واسط .
این عملکرد ها را می توان با استفاده از یک روش گرافیکی پیاده سازی نمود .

گذشته، حال و آينده ابزارهاي نرم افزارسازي واسط كاربر
ابزار نرم افزار سازي واسط كاربر به توليد كننده ها كمك مي كند تا واسط كاربر را طراحي و محقق سازند. تحقيق در خصوص ابزارهاي گذشته تأثير بسزايي بر روي توليد كننده هاي امروزي داشته است. تقريباً همه نرمافزارهاي كاربردي امروز با استفاده از نوعي ابزار واسط كاربر ساخته شده اند. در اين مقاله، ما موارد موفقيت و عدم مو فقيت ابزارهاي گذشته واسط كاربررا بررسي مي كنيم. از ميان اين موارد، مجموعه اي از موضوعات را كه مي توانند بعنوان تجربه هايي، كمكي براي كار آينده باشند را استخراج مي كنيم. با استفاده از اين موضوعات، ابزارهاي گذشته با آن جنبه هايي از واسط كاربر كه اين ابزارها به آن پرداختند، آستانه و حداكثر استفاده مجاز از اين ابزارها، شيوه حداقل مقاومتي كه پيشنهاد مي كنند، و اينكه تا چه حد قابل پيش بيني مورد استفاده قرار
مي گيرند و آيا آنها به هدفي كه بي ارتباط بود پرداختند يا خير، توصيف شدند. ما معتقديم كه اكنون تجربه هاي به دست آمده از مو ضوعات گذشته مهم هستند، چون تغييرات سريع و روز آمد فني بطور قابل ملاحظه اي براي تغيير واسط هاي كاربر مناسب مي باشند. ما در آغاز

قرني هستيم كه واسط هاي كاربر قصد دارند تا جعبه دسك تاپ را كه ۱۵ سال گذشته راه اندازي كرده بودند را تغيير دهند. هزاره بعدي با اختلاف صعودي واسط هاي كاربر بر روي اختلاف فزاينده ابزارهاي كامپيوتري آغاز خواهد شد. اين ابزارها شامل دستياران شخصي رقمي، تلفنها ديواره كامپوتر و همچنين ابزارهايي كه در اشياء روزمره استفاده مي شوند(مثل ابزارهايي كه بر روي يخچالها نصب مي شوند و ابزارهايي كه در لاستيكهاي تراكتور كار گذاشته مي شوند) مي باشند. اتصال فزاينده كامپيوترها در ابتدا بوسيله سايت جهاني وب نشان داده شد. اما همراه با توسعه فناوريهايي مثل شبكه هاي ناحيه شخصي، تأثير شديدي بر روي واسط كاربر نسبت به كامپيوتر خواهد داشت. عامل مهم ديگر واسط هاي كاربر شناخت-بنياد، بويژه گفتار و سيستمهاي بينايي دوربين- بنياد مي باشد. تغييرات ديگر را كه مشاهده مي كنيم، نياز فزاينده اي به تصاوير سه بعدي و مشتري پسند سازي پايانه اي، برنامه نويسي و نوشتن مي باشد. همه اين تغييرات نياز به حمايت قابل ملاحظه از جانب ابزارهاي بنيادي نرم افزار سازي واسط كاربر دارند.
طبقه بندي ها و توصيف گران موضوع به اين شرح مي با شند‌‌‍:‌ ‌‌‌‌‌‌‌‌‌[مهندسي نرم افزار‌‌‍‍]‍‍‌‌‌‌، ابزارهاي و تكنيكهاي طراحي، واسطهاي كاربر، الگوها و اصول، سيستمهاي كامپيوتر- كاربر، عوامل بشري، مجموعه نگاره ها و واسطهاي اطلاعاتي، واسطهاي كاربر، سيستمهاي مديريت واسط كاربر، سيستمهاي پنجره سازي.
اصطلاحات كلي: عوامل بشري، زبانهاي برنامه سازي.
واژه هاي كليدي و عبارات اضافي: زبانهاي رويداد، پيمانكاران واسط، زبانهاي نوشتاري، كيت ابزارها، محيط پيشرفت واسط كاربر، نرم افزار واسط كاربر.
مقدمه
جاي هيچ گونه پرسش و سؤالي نيست كه تحقيق در ناحيه ابزارهاي نرم افزار سازي واسط كاربرتأثير شديدي بر روي عمل كنوني فرابرد نرم افزار داشته است. تقريباً همه نرم افزارهاي كاربردي امروز با استفاده از مديران پنجره، كيت ابزارها، پيمانكاران واسط ساخته شده اند كه منشأ آنها در تحقيق دهه هاي ۸۰ و ۹۰ مي باشد. اين ابزارها سطح بالايي از پيشرفت را تا حدي بواسطه تجانس واسطهاي كاربر امروز و همچنين سكوهاي سخت افزاري و نرم افزاري كه اين واسطها اجرا مي كنند به دست آ ورده اند. در حاليكه در دهه ۷۰ شاهد تعداد زيادي آزمايش با نوعي از دستگاههاي ورودي و روشهاي واسطهاي كاربر بوديم. اكنون، خيلي از اين اختلافات از واسطهاي كاربر دور شده است. تقريباً همه نرم افزارهاي كاربردي در ويندوز، يونيكس و مكينتاش با يك شيوه خيلي مشابه، عمدتاً با استفاده از مجموعه محدودي از ساختارهاي اختراع شده در ۱۵ يا سالها قبل كار مي كنند. تكنيكهاي خاص واسط كاربر گرافيكي كه اولين بار به خاطر تأثير تجاري شديد توسط مكينتاش( درشروع سال ۱۹۸۴) نشان داده شده بود به طور گسترده اي صرفاً با اندك تغييراتي و رشد نسبتاً آرام تكنيكهاي جديد اتخاذ شده بودند. علاوه بر اين، سكوي كامپيوتري تا حد زيادي بر روي كامپيوتر دسك تاپ شناخته شده- كامپيوتري با يك صفحه بيت نگاشت بزرگ (معمولا رنگي)، يك صفحه كليد، و يك ماوس(با يك، دو يا سه كليد) تثبيت شده است. اين ثبات مزاياي مثبت مهمي داشته است. سازگاري واسطهاي كاربر قابل دسترس اين امكان را براي كاربران پايانه اي فراهم مي سازد تا مهارتهايي را ايجاد كنند كه تا حد زيادي بين سكوها و نرم افزارهاي كاربردي منتقل مي شوند- يعني شناختن يك واسط كاربر گرافيكي مهارتهايي را فراهم

مي سازد كه با خيلي از نرم افزارهاي ديگر قابل اجرا مي باشد.علاوه بر اين، فقدان تنوع نسبي به پيمانكاران ابزار اين اجازه را داده است تا به اصلاح مهم مفاهيم بپردازند. در خيلي از جهات ابزارها توانائي اين را داشتند تا به يك هدف غير متحرك برسند. بنابراين، خيلي ها احساس مي كنند كه فرصتهاي مهم براي بهبود واسطها به خاطر ركود از بين رفتند. علاوه بر اين، تكنيكهاي رايج GUI )واسط كاربر گرافيكي( بوجود آمده براي خيلي از انواع سكوهاي تعاملي كه با ابزارهاي فراگير داراي امكانات مثل برنامه سازي كاربر-پايانه اي بوجود آمدند مناسب نمي باشند. به طوريكه بوسيله “مارك ويزر” در زيراكس پارك پيش بيني شد، دوره كامپيوتر فراگير نزديك مي باشد. دستياران شخصي رقمي(PDAs) مثل “تري كام پالم پايلت” و سازمانهاي شخصي مثل”شارپ ويزرد” تا كنون مشهور بودند. تلفنهاي همراه رقمي به اين منظور با فراخوانيارهاي رقمي و PDAs ادغام مي شوند تا ابزارهاي ارتباطي بي سيم و قابل حمل كه صدا را همراه با پست الكترئنيكي و اطلاعات شخصي مثل برنامه ها و فهرستهاي رايج حمايت مي كنند را شكل دهند. اندازه ديواره نمايشگرها هم اكنون بعنوان ابزارهاي فرا فكني مثل اسمارت برد ۱۶۱۰ يا قابهاي پلاسماي بزرگ مثل “ايمج سايت از فوجيتسو” كه ۴۲اينچ عرض دارد قابل دسترس مي باشد. اين مسئله كه هزينه هاي سخت افزار پائين مي آيد و فرصتهاي كامپيوتري جديد بوجود مي آيد اجتناب نا پذير مي باشد. براي مثال بخاطر فناوريهاي بي سيم جديد شبكه داخلي راديويي”بلو توث” اتصال آسانتر
مي شود[هارت سن و ديگر محققين. ۱۹۹۸].
معمولاً واسطها در اين نمايشگرهاي خيلي بزرگ و خيلي كوچك نمي توانند از الگوي استاندارد دسك تاپ استفاده كنند و مردم ضرورتاً انتظار ندارند كه اين ابزارها مثل كامپيوتر هاي عادي عمل كنند. مطالعاتي كه “تري كام پايلت” با ابزارهاي ويندوزCE مقايسه مي كند اغلب اظهار مي كنند كه روش واسط كاربر- ويندوز براي اين بوجود آمده كه دسك تاپ در ابزارهاي دستي خوب عمل نمي كند(بعنوان مثال لسكي و ديگر محققين.[۱۹۹۸]). و مسلماً براي يك نمايشگر كوچك بر روي تلفن كار نمي كند . بعنوان مثال، بخاطر اينكه اين احتمال وجود دارد كه منوها براي كاربران كوته فكر خيلي در سطح بالائي باشند به طوريكه نمي توانند به آن دسترسي پيدا كنند، بنابراين، ابزارهاي استاندارد ويندوز مثل منوي بيرون كشيدني در نمايشگرهايي با ديواره بزرگ مناسب نمي باشند(پير و لندي ۱۹۶۲). علاوه براين، در همين زمان مردم علاقمند به برقراري ارتباط با ابزارهاي چند گانه مي باشند بطوريكه لازم است اين ابزارها فعاليتهاي خود را هماهنگ و سازگار كنند. معني اين تغييرات اين است كه مي توان افزايش چشمگيري را در اختلاف انواع ابزارهاي كامپيوتري قابل استفاده و بافتهاي برنامه اي كه اين ابزارها اعمال مي كنند انتظار داشت. اين مسئله دلالت بر اين دارد كه ما براي يك تغيير عمده در واسطهاي كاربر آماده هستيم و همچنين براي ايجاد اين ابزارها نياز به ابزارهاي جديد قابل ملاحظه اي مي باشد. مهم است كه با صراحت تأثيراتي را كه ابزارهاي ما بر روي آنچه كه مي توانيم انجام دهيم دارند را مورد بررسي قرار دهيم و ابزارهاي جديدي را كه خصوصيات مورد نياز براي رويارويي با توليد جديد نيازها را دارند را ايجاد كنيم. مثالهاي فراواني وجود دارد كه نشان مي دهند ابزارها تأثير مهمي بر روي شيوه واسطهايي كه بوجود آمده اند دارند. بعنوان مثال، در سايت جهاني وب، بهتر است به جاي استفاده از ابزارهاي كليد real از تصاوير بعنوان كليد استفاده كنيم. بنابراين، گرافيستها، واسطهاي جالب و پيچيده كاربر را با طراحي ديداري غني و ارزشهاي توليدي بالا ايجاد مي كنند.
چرا ابزارها مهم و مفيد مي باشند؟ بطور كلي ابزارها به كاهش مقدار رمزي كه برنامه سازان بهنگام ايجاد يك واسط كاربر براي توليد به آن نياز دارند كمك مي كنند. واسطهاي كاربر مجاز مي باشند كه بسرعت ايجاد شوند. اين مسئله پيش نمونه سازي سريع بيشتر و همچنين تكرار بيشتر طراحي تكراري يعني يك جزء بسيار مهم واسطهاي كاربر با كيفيت بالاي قابل دسترسي را ميسر مي سارد. چون همه واسطهاي كاربري كه با يك ابزار معين ايجاد شدند مشابه مي باشند.

مزيت مهم ديگر ابزارها اين است كه به رسيدن به نگاه و احساس هماهنگ كمك مي كنند. اين مقاله به طور مختصر تاريخچه موفقيتها و ناكاميهاي تحقيق ابزار نرم افزار سازي واسط كاربر را مورد بحث قرار مي دهد تا بافتي براي گسترش پيشرفتهاي آينده فراهم سازد. سپس نتايج تغييرات قريب الوقوع ابزارها را مورد بحث قرار مي دهد. سر انجام براي تأمين اين ابزارها به نيازهاي سيستم عامل

مي پردازد. مقالات ديگر نيز درمورد مسائل آينده در رابطه با ابزارهاي HCI شامل گزارش كارگاه NCF-ACM در سال ۱۹۹۶ در زمينه دستورالعملهاي استراتژيك در تعامل انسان- كامپيوتر [مايرس و ديگر محققين. ۱۹۹۶ ] وكارگاه NSF در سال ۱۹۹۱ در زمينه دستورالجلسه تحقيقي HCI[السن و ديگر محققين. ۱۹۹۳] صحبت مي كند.
بعد نماي تاريخي
در زمينه ارزيابي ابزارهاي گذشته و آينده، بعضي موضوعات را كه به نظر مي رسد در تعيين ابزارهاي مؤثر مهم باشند را مشخص كرده ايم.
قسمتهايي از وا سط كاربر كه عنوان شده اند: ابزارهاي موفق فقط در جاهايي كه اين ابزارها مورد نياز بودند كمك كردند.
آستانه و حد اكثر استفاده مجاز از اين سيستم: آستانه يعني تا چه حد فراگيري چگونگي استفاده از اين سيستم مشكل مي باشد و حد اكثر استفاده مجاز يعني چقدر مي توان با استفاده از اين سيستم كار كرد. به نظر مي رسد كه موفق ترين سيستمها ي فعلي يا آستانه پائين و حد اذكثر مجاز پائين و يا آستانه بالا و حد اكثر مجاز بالا باشد. بنابراين يك چالش مهم باقي مي ماند تا در يك زمان شيوهاي براي بدست آوردن پيامد خيلي مطلوب سيستمها به همراه يك آستانه پايين و حد اكثر مجاز پايين پيدا كند.
شيوه حد اقل مقاومت: ابزارها، انواع واسطهاي كاربر را كه مي توانند ايجاد شوند را تحت تأ ثير قرار مي دهند. ابزارهاي موفق از اين شيوه با هدايت ابزارها به سمت انجام كارهاي درست و دوري از انجام كارهاي اشتباه به نفع خود استفاده مي كنند.
پيش بيني پذيري: ابزارهايي كه از تكنيكهاي خود كار سازي كه گاهي اوقات غير قابل استفاده مي شوند استفاده مي كنند به ندرت توسط برنامه سازان پذيرفته مي شوند.
اهداف متحرك: مشكل است كه ابزارها را بدون داشتن تجربه و فهم قابل ملا حظه از برنا مه هايي كه اين ابزارها فراهم مي سازند ايجاد كنيم. بنابراين، توسعه سريع فناوري و تكنيكهاي واسط جديد، ابزارها را در ايجاد برابري دچار مشكل مي كند.
وقتي يك برنامه جديد متحقق سازي واسط كاربر به حد كافي براي ايجاد ابزارهاي خوب در نظر گرفته شده است ابن برنامه ممكن است از اهميت كمتري بر خوردا شود يا حتي قديمي شود.
تحقيقهايي كه در اين زمينه انجام شده:
ابزارهاي واسط كاربر ناحيه اي مي باشند كه در آن تحقيق تأثير عمده اي در عمل كنوني فرابرد نرم افزار داشته است. البته، مديران پنجره سازي و نتايج شيوه GUI از پژوهشي مؤثر در مؤسسه پژوهشي استنفورد
و مركز پژوهشي” زيراكس پالُ آلتُ(PARC)” و MIT در دهه ۷۰ ناشي مي شود. پيمانكاران واسط
در آزمايشگاههاي پژوهشي در “بي بي اِن،دانشگاه ترانتُ، زيراكس پارك” و غيره ابداع شده بودند. اكنون پيمانكاران واسط حد اقل ۱۰۰ ميليون دلار تجارت ساليانه آمريكا مي باشند و به طور گسترده براي فرابرد نرم افزار استفاده مي شوند. زبان رويداد كه به طور گسترده در بيسيك تصويري و اَبَر متن استفاده مي شوند، اولين بار در آزمايشگاههاي پژوهشي بررسي شده بودند. توليد فعلي محيطهاي سيستم عامل مثل، OLE ميكروسافت (پيوند زني و كار گذاري موجودها ) و “جاوا بينز” بر اساس سازنده اي كه در محيط سيستم عامل “اندرو” (پلي و ديگر محققين. ۱۹۹۸) از دان

شگاه كارنجي توسعه پيدا كرده بود قرار گرفته است. بخشهاي زير اين موفقيتها را با جزئيات بيشتر مورد بحث قرار مي دهند. تاريخچه كاملتري در مقالات ديگر(مايرز ۱۹۹۸) نشان داده مي شود و مقاله ديگر شامل يك بررسي و توضيح جامع از ابزارهاي واسط مي باشد(مايرز ۱۹۹۵).
مديران پنجره سازي و كيت ابزارها: خيلي از سيستمهاي پژوهشي دهه ۶۰، مثلNLS [سيستمهاي انگليسي
و ديگر سيستمها، ۱۹۶۷] كارايي ويندوز چند گانه را دريك زمان نشان دادند. در سال ۱۹۶۹

“الن كي” در تز دكتراي خود در “دانشگاه آتاه” نظريه ويندوز همپوش را پيشنهاد كرد. اين سيستمهاي پژوهشي براي اولين بار در سال ۱۹۷۴ در سيستم “اسمال تاك الن” از” پارك زيراكس” آشكار شدند. خيلي از سيستمهاي
تجاري- پژوهشي ديگر اين نظريه را ازآنجا بويژه از استار زيراكس، مكينتاش اپل، و ويندوز ميكروسافت انتخاب كردند. پنجره هاي همپوش به اين دليل موفق بوده اند چون مثل سيستمهاي عاملي كه قبل از آنها وجود داشتند به كنترل منابع كمياب كمك مي كردند. بنابراين، در اين مورد، منابع كمياب مورد بحث هم شامل منابع كامپيوتري (مثل تعداد نسبتاً محدود پيكسلها) و هم منابع ادراكي- شناختي بشر (مثل يك فيلد ديداري محدود و توجه دهي كاربر) مي باشد. با دادن اختيار به كاربر براي كنترل مجموعه سطوح نمايشگر همپوش، نمايشگر مي تواند به اين دليل ايجاد شود تا تمركز و توجه دهي كاربر را متناسب كند. علاوه براين، با تأمين همپوش ناقص، اشاره وارها براي حافظه بشري ميسر مي شوند تا هنگاميكه همه موضوعات مورد علاقه نمي توانند فوراً نشان داده شوند به ايجاد فعاليتهايي مثل كليد زني آسانتر برنامه كمك كنند. با توجه دقيق به خصوصيات بشري، پنجره هاي همپوش مي توانند به طور مؤثر هم منابع محدود فضاي نمايشگر پرده اي قابل دسترس و هم توجه دهي بشر و فيلد تصويري را كنترل كند. مديران پنجره سازي يك الگوي برنامه سازي اساسي براي طراحي روز آمد كردن نمايشگر پرده اي (يك الگوي تصويري) و براي پذيرفتن ورودي كاربر(يك الگوي ورودي) ميسر مي سازد. در نتيجه برنامه سازي مستقيماً در سطح مدير پنجره سازي، برنامه اي وقت گير و خسته كننده مي باشد.علاوه براين، وقتي هر كدام از برنامه سازان همه اجزاء واسط را بدون هيچ دانش قبلي نسبت به آن ايجاد مي كنند، عملاً غير ممكن مي باشد كه سازگاري گسترده تري را براي كاربر فراهم ساخت. با بيان اين مسائل، كيت ابزارهاي واسط در ايده هاي كلي كه مديران پنجره سازي ميسر ساختند توسعه پيدا كرده بودند. كيت ابزارها معمولاً هم يك كتابخانه شامل سازنده هاي تعاملي و هم يك چارچوب ساختاري فراهم مي سازند تا عمليات واسط هايي كه از اين سازنده ها ايجاد شده اند را كنترل كنند. استفاده از يك چارچوب اثبات شده و كتابخانه اي شامل سازنده هاي قابل استفاده مجدد، ساختار واسط كاربر را آسانتر از واسط هاي برنامه سازي مي كند. همانطور كه در ابتدا جعبه ابزار مكينتاش اپل نشان داد، حقيقت اين است كه يك كيت ابزار كار برنامه سازان را آسانتر مي سازد بطوريكه مي توانند به عنوان اهرمي براي دستيابي به هدف مشكل حفظ سازگاري استفاده شوند. از اين قرار با دستيابي به هدف

آسان سازي كار برنامه سازان، كيت ابزارها شيوه حداقل مقاومت را ميسر مي سازند تا به هدف سازگاري رايج واسط تأميني برسند. دليل ديگر موفقيت كيت ابزارها اين است كه بر روي جنبه هاي پائين واسط كاربر متمركز مي شود، كه اين ابزارها بعنوان عاملي مهم به خاطر داشتن خصوصيات نا مطلوب و سازگار براي تحقق بخشيدن محدود به خوبي شناخته شده مي باشند.
زبان رويداد: با زبان رويداد، وقوع هر رويداد مهم- مثل گردانش يك دستگاه ورودي توسط كاربر- در ساختار داده اي ضبط رويداد قرار گرفته است(اغلب به سادگي يك رويداد ناميده مي شود). سپس اين رويدادها به گردانشگران فردي رويداد كه شامل برنامه لازم براي پاسخ صحيح به آن دستگاه ورودي مي باشند فرستاده مي شوند. محققين اين شيوه را در تعدادي از سيستمها شامل سيستم مديريت واسط كاربر دانشگاه البرتا(گرين ۱۹۸۵)،سَسفراس[هيل ۱۹۸۶]، و سيستمهاي ديگر را بررسي كرده اند. اين شيوه منجر به كاربردهاي خيلي محبوب زبان رويداد در خيلي از ابزارهاي تجاري مثل” زبان هايپر-تاك هايپر-كارد اپل”، بيسيك تصويري ميكروسافت، و و زبان نوشتاري “ماكرو مديا ديركتور”مي شود. موفقيت زبان رويداد به اين دليل بوده است كه به خوبي با شيوه گردانش مستقيم واسط كاربر گرافيكي نقشه نمايي كردند. اين سيستمها براي هر عمل كاربر با ماوس و صفحه كليد كه با نرم افزار كاربردي مناسب كه بايد پاسخگو باشد كنترل مي شوند رويداد ايجاد
مي كنند. چون كاربر مسئول ايجاد رويدادهايي است كه نرم افزار كاربردي كنترل مي كند بنابر اين زبان رويداد به ترغيب شيوه وضعيت آزاد واسط ها كمك مي كند. بنابر اين بطوريكه بعد توضيح خواهيم داد ممكن است واسط هاي كاربر شناخت-بنياد كه براي گونه هايي مثل اشاره و گفتار بوجود مي آيند با اين شيوه رويداد-بنياد به خوبي نقشه نمايي نكنند. بنابراين، احتمال اين وجود دارد كه به يك نمونه جديد نياز پيدا كنيم.
ابزارهاي گرافيكي تعاملي: نقش مهم ديگر تحقيق در زمينه واسط-كاربر ايجاد پيمانكاران واسط مي باشد. ابزارهاي تعاملي به سازنده هاي تعاملي اين اختيار را مي دهند تا با استفاده از ماوس براي ايجاد پنجره ها
و جعبه گفتگو نصب شوند. مثالها شامل بيسيك ديداري و ويراستاران منبع و سازنده ها مي باشند كه با كمك سي پلاس پلاس ديداري ميكرو سافت و اكثر محيطهاي ديگر به دست مي آيند. تحقيق اخير بر روي اين دسته از ابزارها شامل تريليوم از پارك زيراكس (هندر سن ۱۹۸۶) و “منلي” از دانشگاه ترنتو (باكستن و ديگران ۱۹۸۳) مي باشد. اين عقيده توسط جين مارهالوت كه محققي در “انريا” بود اصلاح شد و بعد هالوت اين عقيده را با كمك او به نكست آورد كه با كمك پيمانكار واسط نكست محبوبيت پيدا كرد. دليل مهم موفقيت پيمانكاران واسط اين بود كه از معاني گراقيكي براي بيان مفاهيم گرافيكي استفاده مي كردند(بعنوان مثال، صفحه آرايي واسط) با انتقال برخي از جنبه هاي متحقق سازي واسط كاربر از رمز قرار دادي به داخل يك سيستم مشخص سازي تعاملي، اين

جنبه هاي متحقق سازي تعاملي براي برنامه سازان نا متعارف قابل دسترس بوده اند. اين مسئله به خيلي از خبرگان حوزه اين اختيار را مي دهد كه تا حد زيادي واسط هاي پيش نمونه
و پياده سازي را با برنامه هاي خود سازگار كنند و به متخصصين طراحي ديداري اين امكان ر

ا مي دهد كه در ايجاد وضعيت واسط ها بيشتر درگير شوند. به محض اينكه سرعت ايجاد به طور قابل ملا حظه اي كاهش پيدا مي كند برنا مه سازان از اين وضعيت سود مي برند. مي توان خوصوصيات پيمانكاران واسط را بعنوان فراهم سازي يك آستانه پائين براي استفاده و اجتناب از يك منحني ياد گيري نا معقول در نظر گرفت(حد اقل در ابتدا). در اين سيستمها مي توان كارهاي ساده را به شيوه اي ساده انجام داد. سيستمهاي سازنده: ايده ايجاد نرم افزارهاي كاربردي با تركيب فعالانه و تك به تك سازنده هاي ترجمه و نوشته شده اولين بار در سيستم اندرو از مركز فناوري اطلاعات دانشگاه كارنجي ملن نشان داده شده بود. هر سازنده مستطيل نمايشگر پرده اي خود را كنترل مي كند و ديگر سازنده ها مي توانند ضميمه آن شوند. بعنوان مثال، طراحي داخل فايل متني توسط يك سازنده طراحي كه مستقل از سازنده واژه پرداز مي باشد كنترل مي شود. اين عقيده توسط OLE ميكروسافت و AtiveX، اپن داك اپل، جوا بينز سان اتخاذ شده بود. دليل موفقيت الگوي سازنده اين است كهجنبه مهم و مفيد ايجاد نرم افزار سازي كاربردي را بيان مي كند، يعني چطور به نحوي شايسته نرم افزار را كه هنوز در حال فراهم سازي توانشهاي مهم و پيشرفته براي كاربران مي باشد به بخشهاي كوچكتر تنظيم كنيم.
زبانهاي نوشتاري:
پيش بيني شده است كه كيت ابزارهاي اوليه با استفاده از زبانهاي تفسير شده برنامه سازي توسعه پيدا كرده بودند. اسمال تاك[تسلر ۱۹۸۱] و بعد از آن دليسپ[تيتل من ۱۹۷۹] كه توسط محققين در پارك زيراكس توسعه پيدا كرده بودند كيت ابزارهاي كوچكي داشتند. زبان مفسر كه برگشت دهي را ميسر مي كند توليد كننده ها را قادر مي سازد تا به سرعت و فوراً تغييراتي را در الگوي اصلي ايده هاي متفاوت واسط كاربر ايجاد كنند. با ترقي سي و سي پلاس پلاس بيشترين پيشرفت واسط كاربر به زبانهاي كامپايلري منتقل شد و اين توانشها از بين رفته بودند. محققين شيوه هايي را بررسي كرده اند تا اين مزايا را كه به زبانهاي نوشتار ي مثل TCL/TK [استرهت ۱۹۹۱]، پي تون[لوتز ۱۹۹۱] ، پرل[وال و چوارتز ۱۹۹۱] دوباره كسب كنند. ما مشاهده مي كنيم كه هر زبان نوشتاري كه استفاده گسترده اي را كسب مي كند به نظر ميرسد نياز به ساختارهاي كنترل همه منظوره مثل متغير، حلقه و شرطي دارد. گر چه كه اين زبانها براي برنامه سازان غير حرفه اي در نظر گرفته شده اند اما تقريباً براي اين استفاده مي شوند تا به فراسوي آنچه كه طراحان در اصل
در ذهن دارند بروند. بنابراين، به طور اجتناب نا پذيري برنامه پذيري كامل ضروري مي باشد. در واقع با فرض اينكه هر زباني كه شخص(از يك زبان همه منظوره) توليد مي كند ساده باشد، به نظر مي رسد كه كاربران هميشه خواستار اين باشند كه اين زبان نفوذ بيشتري داشته باشد. بنابراين گستره كامل ساختارهاي كنترل عموماً آهسته آهسته پيش مي رود. به نظر مي رسد يك معضل مصالحه وجود داشته باشد كه غير ممكن است بتوان بر آن غلبه پيدا كرد. به اثبات رسيده است كه تركيب توانشهاي نوشتاري با سازنده ها و پيمانكاران واسط يك شيوه نفوذ پذير خاصي باشد. بعنوان مثال، هزاران سازنده براي بيسيك ديداري قابل دسترس از بردارهاي سه قسمتي وجود دارد. استفاده از پيمانكار واسط براي صفحه آرايي و زبان بيسيك ديداري براي نوشتن”glue” كه همه چيز را به هم وصل مي كند، برنامه سازان غير حرفه اي را قادر مي سازد تا نرم افزارهاي كاربردي تعاملي مفيد و پيشرفته بوجود آورند. بيسيك ديداري نشان مي دهد كه يك برنامه سازي كوچك- اگر بطورصحيح بسته بندي شده باشد –براي خبرگان واسط اين امكان را بوجود مي آورد ك

ه واسط هايي را ايجاد كنند كه دانش برنامه و حوزه آنها را منعكس مي كند.
ابر متن: سايت جهاني وب (WWW) موفقيت مهم ديگر تحقيق در زمينه فناوري و نرم افزار واسط كاربر
مي باشد. اين سايت بر مبناي نظريه ابر متن قرار گرفته است. “تد نلسن”اصطلاح اب

ر متن را در سال ۱۹۶۵ وضع كرد و در يكي از سيستمهاي اوليه ابر متن بنام سيستم ويرايش ابر متن در” دانشگاه برون” كار كرد. سيستم”NLS”[سيستم انگل بارت و انگليسي ۱۹۹۸] (اولين بار در سال ۱۹۶۴ چاپ شد) نيزخصوصيات
ابر متن را دارا بود. دانشگاه ابر متنهاي مريلند اولين سيستمي بود كه بر روي موارد مهم متن كليك مي كرد
تا به صفحات بعدي برود[كود و شنيدر من ۱۹۸۶].
هايپر-كارد از اپل براي كمك به معرفي اين سيستم به يك جمعيت جامع مهم بود. براي تاريخچه كاملتر سيستم ابر متن مقاله نيلسن را مشاهده كتيد. بنابراين تا زمان پيداش سيستم جهاني وب بوسيله وب” برنرز لي” در سال ۱۹۹۰ و چند سال بعد توسط گشت زن موزائيك، ابر متن به كاربرد جهاني دست نيافت. برخي از عوامل موفقيت سيستم جهاني وب، سهولت كاربرد موزائيك، سادگي و قابل دسترس بودن زبان”HTML” كه با صفحات مؤلف استفاده مي شد، سهولت ايجاد صفحات قابل دسترس در وب، و توكار گذاري تصاوير با متن مي باشند. سيستم جهاني وب يك آستانه پائين هم براي بيننده و هم براي مؤلف ميسر ساخت. بيننده ها داراي مكانيزم ساده اي بودند كه با خيلي از منابع فعلي شبكه در طي چار چوب ابر متن قابل دسترس بود. و مؤلفين از زبان ويژه متني خيلي ساده HTML استفاده كردند. اين مسئله به سيستم اين اختيار را مي دهد تا با حد اكثر ياد گيري توسط تأمين كننده هاي بافت استفاده شود. دوم اينكه موفقيت ابزار گشت زن موزائيك به وضوح ويژگي توان و جالب تصاوير ديداري را نشان داد (و به طور كلي بافت با معيارهاي توليدي بالا).
برنامه سازي موجود گرا: برنامه سازي موجود گرا و تحقيق واسط كاربر تاريخچه پيچيده و طولاني دارد كه با انگيزه اسمال تاك براي آسان سازي در ايجاد برنامه هاي گرافيكي و تعاملي شروع شد. وقتي برنامه سازي واسط هاي كاربر گرافيكي به طور گسترده اي براي ويندوز۱٫۳٫ مورد نياز بود سي پلاس پلاس رايج شد. برنامه سازي موجود گرا بويژه از زمانيكه سازنده هاي واسط كاربر (كليد ها، لغزنده ها،…) بعنوان موجودات قابل ملاحظه نسبت به موقعيتشان (كه با متغيرهاي مصداق مطابقت دارند) و عملكردهاي خود(كه با روشها مطابقت دارد) نشان داده شده اند براي برنامه سازي واسط كاربر طبيعي مي باشند.
رويكرد هاي اميد بخشي كه مورد توجه قرار نگرفته بودند : علاوه بر تجربه هايي كه از اين موفقيتها كسب شد، مي توان از نگاه به عقايدي كه به نظر مي رسد در ابتدا نشان دهنده اميد زيادي بودند اما در پايان در عمل به آن موفق نبودند (يا حد اقل هنوز موفق نشده اند) تجربه هاي زيادي كسب

كرد. خيلي از اين عقايد تسليم مشكل هدف متحرك مي شوند. همانطور كه اين سيستم مورد بررسي قرار مي گيرد شيوه هاي واسط كاربر به سمت GUIاستاندارد امروزي تغيير پيدا مي كند.