اصول طراحی رابط کاربری

شنبه, 30 آذر 1387 ساعت 16:16
    نویسنده: امیر چنگیزی
این مورد را ارزیابی کنید
(0 رای‌ها)

اشاره

آشنايي با اصول، مباني و فلسفه طراحي User Interfaces، يکي از مهم‌ترين پيش نيازهاي طراحي رابط کاربري و بومي­سازي نرم‌افزارها، به خصوص نرم افزارهای اسلامی است. هدف اين مقاله ارائه تعريف کاربردی قابل قبول از خصوصيات مشترک رابط کاربري گرافيکي نرم‌افزار‌هايي است که برا ی اهداف از پيش تعيين شده طراحی شده­اند. اين امر به ايجاد هماهنگي بين نرم‌افزار‌ها و سهولت فراگيری و کاربرد آن‌ها کمک می­کند.

اصول کلی طراحي رابط کاربری (User Interfaces) و سال­ها تجربه طراحي رابط کاربري نشان داده است که پاي­بندي به اصول و چارچوب­هاي مشخص، به بهبود کيفيت و کارآيي رابط کاربري گرافيکي يا User Interfaces کمک مي­کند. حفظ اين اصول هنگام طراحي و بومي­سازي يک نرم‌افزار، لازمه تضمين کيفيت آن است.

امروزه براي هر يک از محيط‌هاي ميز کار گرافيکي مجموعه مدون و جامعي از اين اصول، راهکارها و استانداردها تدوين شده است. از زمان ظهور اولين رابط کاربري موفق گرافيکي سال‌هاي بسياري گذشته است(1) و در طي اين مدت، اگرچه شکل ظاهري رابط‌هاي کاربري گرافيکي تغييرات قابل توجهي کرده است، ولي اصول حاکم بر طراحي آن‌ها، ضمن توسعه و تکميل، دچار تغييرات اندکي شده است. ثبات نسبي اين اصول تا حدودي عجيب مي­نمايد؛ چرا که در طي بيش از دو دهه اي که از آغاز رواج يافتن رابط‌هاي کاربري گرافيکي مي گذرد، تغييرات بسياري در کاربرد رايانه‌ها و حجم و نوع اطلاعات مورد پردازش با آن‌ها ايجاد شده است. به همين دليل، سال‌ها است که لزوم بهبود رابط‌هاي کاربر گرافيکي و ابتکارات جديد دررابطه انسان و رايانه مطرح شده است. در طي دو دهه گذشته نيز تلاشهاي متعددي دراين زمينه صورت گرفته است(2)، اما تاکنون موفقيت اين تلاش­ها در جلب مخاطبان محدود بوده است.

به خصوص با نگاهی به نرم‌افزارهای اسلامی می بینیم که گرافیک آن تغییرات چندانی نکرده است و تغییراتِ انجام شده بسیار محدود بوده است.

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

نکته مورد توجه در هنگام طراحي يا بومي­سازي رابط کاربري هر نرم‌افزار آن است که از مستندات طراحي رابط کاربري موجود براي بستر يا بسترهاي هدف استفاده کرده، رهنمودها و ضوابط آن را رعايت کنيد. بر حسب بستر هدف، مطالعه و رعايت حداقل يکي از مراجع ذيل براي سازگاري با اين آيين­نامه لازم است:

  1. محيط بستر گنوم؛(3)
  2. محيط بستر کي دي ئي؛(4)
  3. محيط بستر جاوا. (5)

علاوه بر منابع فوق، مطالعه کتب و مقالات ديگر در اين زمينه مي تواند بسيار مفيد باشد و توصيه مي گردد همچنين به دليل شباهت مباني طراحي بسترهاي مختلف گرافيکي، مطالعه و مقايسه مستندات بسترهاي مختلف مي تواند به درک بهتر مطالب آن‌ها کمک کند؛ به عنوان نمونه، مقايسه مستندات رابط کاربري اپل (Apple-HIG) با مراجع فوق مفيد است.

اصول طراحي رابط­ هاي كاربري در فارسي

برخي از اصول طراحي بين تمام بسترها مشترک هستند؛ هر چند ممکن است به شکل­هاي متفاوتي بيان شده باشند، يا در برخي محيط­ها تأکيد کمتري داشته باشند. برخي از اين اصول در نرم‌افزارهاي جهاني موجود به هنگام کاربرد در بوم ايران به طور کلي بوم‌هاي راست به چپ و دو جهت، دچار اخلال مي­شوند. در اين جا اشاره­اي به برخي از اين اصول خواهيم داشت و در طي آن به بيان بعضي از مشکلاتي مي پردازيم که رعايت اين اصول را در بوم‌هاي راست به چپ و دو جهته مشکل­تر ساخته است:

اصل1: کاربر را غافلگير نکنيد

يکي از مهم‌ترين اصول طراحي يک رابط کاربري خوب، اجتناب از غافلگير کردن کاربر است. منظور از « غافلگير کردن» کنش يا واکنشي از طرف نرم‌افزار است که بر خلاف انتظار کاربر باشد. شرط موفقيت در اجتناب از غافلگير کردن کاربر، داشتن درک درستي از انتظارات و پيش­ذهني‌هاي کاربر است. بسياري از طراحان نرم‌افزارهاي جهاني در مورد انتظارات و پيش­ذهني‌هاي کاربران بوم‌هاي با جهت اصلي نوشتار راست به چپ، اطلاعات ناقص يا نادرستي دارند. همين امر، موجب غافلگير شدن کاربران اين بوم‌ها مي­شود.

برخي معتقدند غافلگير کردن مثبت کاربر از طريق هوشمندي نرم‌افزار مفيد است؛ مثلاً اگر نرم‌افزار حدس بزند که کاربر قصد انجام چه کاري را دارد و آن کار را به طور خودکار انجام دهد، بهره­وري کاربر بيشتر مي شود. اين امر به شرطي درست است که در اغلب موارد (بيش از 95 درصد) حدس نرم‌افزار درست باشد و طوري عمل کند که تمرکز حواس و روال کار کاربر را به هم نزند. در غير اين صورت، کنش­هاي غافلگير کننده نرم‌افزار کاربر را کلافه خواهد کرد.

يکي از مهم‌ترين فرضيات نادرستي که باعث غافلگيري کاربران مي شود، در مورد جايگاه استاندارد يونيکد است. بسياري از دست اندرکاران نرم‌افزارهاي جهاني فکر مي­کنند با پياده کردن الگوريتم دو جهته يونيکد، قسمت عمده کار لازم براي پشتيباني بوم­هاي راست به چپ را انجام داده­اند و ديگر حاضر نيستند براي درک درست نيازهاي کاربران اين بوم‌ها سرمايه گذاري کنند.

همچنين، از آن جا که يونيکد استانداردي براي مبادله و ذخيره متن با تأکيد بر سهولت پردازش ماشيني متن است، طراحي آن مبتني بر مفهوم نويسه‌ها (Encodig Semantic Character) است؛ مثلاً در يونيکد يک نويسه با مفهوم «پرانتز باز» در محيط گرافيکي دو جهته دشوار است و نماش مجرد «(» يا «)» (مثلاً آنچه روي صفحه­کليد حک شده است)، هيچ کدام مفهوم درست نويسه يونيکد U+0028 را نمي­رسانند.

در مقابل اين گرايش به مفاهيم در يونيکد، يکي از ويژگي­هاي مهم User Interfaces تأکيد بر ارتباط ديداري(Visual Communication) است. در بسياري از نرم‌افزارهاي جهاني موجود، مدل مفهومي يونيکد به­نادرستي در جاهايي که يک مدل ارتباط ديداري مورد نياز است به کار رفته است، اين امر مخصوصاً انتخاب و ويرايش ديداري متن‌هاي دو جهته را به دليل حرکت و پرش‌هاي ناگهاني و غافلگير کننده نويسه‌ها و مکان نما  (Cursor) دشوار مي­سازد.

يکي ديگر از مواردي که کاربران محيط دو جهته راغافلگير مي­کند، پيش­فرض‌هاي نامناسب در مورد مکان و جهت مناسب و مورد انتظار چيزهاي مختلف است. در اين مورد، در اصل بعدي توضيح بيشتري خواهيم داد.

اصل2: کاربر را وارد تلاش‌هاي ذهني زايد نکنيد

يکي از دلايل گسترش روزافزون کاربرد رايانه، کمک آن به کاهش فعاليت‌هاي ذهني غير خلاق، تکراري و زايد انسان‌ها است. از طرفي، روش طبيعي، کاستن از تلاش ذهني انسان و سرعت دادن به کارها و آسان کردن آن‌ها، فراگيري، تمرين و عادت است. بنابراين، يک محيط رايانه­اي خوب بايد امکان فراگيري و عادت کردن به کاربر بدهد؛ بدون اين که کاربر را درگير تلاش­هاي ذهني اضافي و امور دست و پاگير و تکراري سازد.

يکي از نقاط قوت User Interfaces که باعث فراگير شدن آن‌ها شده است، کاهش تلاش ذهني کاربر از طريق ارائه ديداري و عملکرد مستقيم روي اشيا (Manipulation Direct Object) است. يکي از عواملي که براي کاربران بوم‌هاي داراي نوشتار از راست به چپ اين خصوصيت را تضعيف مي کند، تأثير گذاري نادرست مدل مفهومي يونيکد روي زبان ديداري رابط کاربري است. به اين موضوع در اصل قبل نيز اشاره شد.

مشکل ديگر، ثابت نبودن جاي برخي عناصر و ادوات (Widgets) در رابط کاربري دو جهته است. توجه داشته باشيد که کاربران به مکان ادوات User Interfaces عادت مي کنند و در اين حالت، به طور انعکاسي و بدون تلاش ذهني اضافي، دست آن‌ها ماوس را هدايت مي­کند، به سوي اين ادوات حرکت مي کند. اگر جاي ادوات اصلي User Interfaces مکرراً تغيير کند، کاربر امکان ياد گرفتن و عادت کردن به محل آن‌ها را از دست مي دهد. اين امر، موجب تلاش ذهني غير سازنده براي کاربر خواهد بود؛ به عنوان نمونه، اين نادرست است که نوار پيمايش (Scrollbar) گاهي در لبه سمت چپ و گاهي در لبه سمت راست کادر ظاهر شود. متغير و مشروط کردن مکان اجزاي رابط کاربري، نفع آشکاري ندارد و کاربرد نرم‌افزارها را دشوارتر مي­کند.

اصل 3: به کاربر اعتماد به نفس بدهيد

رابط کاربري بايد به کاربر اين احساس را القا کند که رايانه در خدمت انسان است و نه برعکس. براي رسيدن به اين هدف، نرم‌افزار بايد ويژگي­هاي خاصي داشته باشد، كه از آن جمله مي­توان به موارد ذيل اشاره كرد:

  1. نرم‌افزار بايد آن کاري را انجام دهد که کاربر اراده کرده است. کنش­هاي کاربر بايد نتيجه و واکنش واضح و مورد انتظار را داشته باشد؛ به طوري که احساس تسلط به ابزار (رايانه) را به کاربر القا کند. البته هشدار در مورد امور خطرناک و سعي در پيشگيري از خطاهاي سهوي کاربر، جايگاه خود را دارد؛ ولي نبايد اصل فوق را تحت الشعاع قرار دهد.
  2. نرم‌افزار بايد کارش را خودش انجام دهد؛ يعني نبايد براي انجام کاري که به آن محول شده، کاربر را مورد سوال­هاي خسته كننده قرار دهد و يا به خدمت خود بگيرد و کارهاي تکراري و ملال­آور را ازکاربر بخواهد؛ به عنوان نمونه، اگر کاربر فرمان «چاپ کن» را صادر کند، نرم‌افزار بايد با فرضيات متناسب و گرفتن تأييد بابت اين فرضيات (از قبيل: نام چاپگر، اندازه کاغذ و يا تعداد نسخه چاپي) به سرعت عمل چاپ را انجام دهد.
  3. کاربرد نرم‌افزار بايد تا حدّ امکان امن و بي­خطر باشد. پس بايد از عمليات غير قابل برگشت تا حد امکان اجتناب نمود و انجام آن‌ها را تا موقعي که واقعاً لازم نشده باشد، به تأخير انداخت(6) تا کاربر فرصت تجديد نظر داشته باشد.
  4. نرم‌افزار نبايد خود را توانا يا دانا و کاربر را ناتوان يا نادان جلوه دهد؛ به عنوان مثال، در مورد بخش‌هايي از نرم‌افزار که وظيفه ياري کاربر و تسهيل کار را دارند، از انتخاب نام­هايي چون «ساحر»(7) يا «خبره»(8) بپرهيزيد و به جاي آن از نام­هايي چون«دستيار»(9) يا «پيشکار» استفاده کنيد.

در طراحي يک نرم‌افزار خوب، بر روي روش انجام هر کاري بايد دقت نمود و نرم‌افزار را طوري طراحي كرد که کار را براي کاربر راحت­تر، بديهي­تر و امن­تر جلوه دهد؛ حتي اگر نتيجه اين امر، مشکل شدن کار توليد کننده نرم‌افزار باشد. در بهترين حالت، کاربر وجود نرم‌افزار و نقش آن را در کاري که انجام مي­دهد، فراموش مي کند و فقط موقعي متوجه وجود آن مي شود که نرم‌افزار به کمک کاربر در نجات او از امور تکراري و خسته کننده مي شتابد.(10)

مشکلات ذکر شده در ذيل دو اصل قبلي، در اين جا هم توليد اشکال مي­کنند؛ چرا که احساس امنيت، ثبات و تحت فرمان بودنِ نرم‌افزار را کاهش مي­دهند.

اصل4: نرم‌افزارهاي خود را جهاني طراحي کنيد

رعايت اين امر ملاحظات ويژه­اي را در طراحي نرم‌افزار طلب مي­کند که در اين سند مورد بحث قرار نگرفته­اند؛ ولي رعايت آن‌ها يکي از ملاحظات اساسي براي ايجاد رابط کاربري فارسي است. از اين رو، بايد اصول جهاني­سازي نرم‌افزار  (Internationalization) را براي ايجاد نرم‌افزار فارسي رعايت کنيد.

براي اين منظور، نکات مطرح شده در مستندات جهاني­سازي و بومي­سازي محيط بستر مورد استفاده خود را رعايت کنيد.

براي رعايت ضابطه فوق، به منابع مربوط به هر يک از بسترها از جمله منابع ذيل مراجعه کنيد:

  • - Unicode How To [Unicode-HT] ;
  • - KDE Internationalization Site(i18n.kde.org)[KDE- i18n] ;
  • - Internationalization with Qt[Qti 18n] ;
  • - GTKmm Tutorial, Chapter 20 [GTKmm- i18n] ;
  • - Internationlizing GNOME Applications [GNOME-18n] ;
  • - GNOME L 10N Guidelines for Developers[GNOME- L 10N] .

گرفتن کرسي يکسان فاصله سطر مورد نياز در متن فارسي - لاتين معمولاً بيشتر از متن فقط فارسي يا فقط لاتين مي باشد.

با توجه به اين که متن مورد استفاده در رابط کاربري بالقوه فارسي، لاتين است، موضوع فوق ملاحظاتي را در طراحي و انتخاب قلم فارسي مناسب رابط کاربري پديد مي آورد.

توصيف اجزاي رابط­ هاي كاربري

1. مقدمه

اين بخش، مرجعي از جزئيات است و به صورت يک کاتالوگ از عناصر و ادوات گرافيکي به همراه توصيف خلاصه نکات ويژه مربوط به کاربرد و بومي­سازي صحيح آن‌ها گردآوري شده است.

2. پنجره

نام اين جزء، به زبان اصلي Window است. شکل دقيق پنجره وابسته به تم (Theme) فعال در رابط کاربري است. شکل پنجره در بيشتر تم‌ها نيازي به تغيير براي بومي­ سازي ندارد. تنها موردي که ممکن است پيش بيايد، نياز به راست­چين کردن عنوان پنجره در صورت چپ­چين بودن آن است.  براي اجتناب از اين امر، استفاده از تم‌هايي که عنوان پنجره را در وسط مي­گذارند، توصيه مي­شود.

نکته ديگري که بايد براي بومي­سازي مد نظر باشد، مکان اوّليه باز شدن پنجره و چگونگي دسته شدن پنجره‌ها روي يکديگر است. با توجه به اين که اسنادي که در بوم فارسي ايران مورد استفاده هستند؛ يعني به طور متعارف راست به چپ هستند، بهتر است که گوشه بالا سمت سند همواره در مکان مشخص و قابل پيش­بيني قرار داشته باشد. به همين دليل، بهتر است که گوشه بالا سمت راست پنجره در مکان مشخص باز شده يا چيده شود؛ نه گوشه سمت چپ آن. راه حلّ قابل قبول ديگر، وسط کردن پنجره‌ها است.

3. پنجره گفتگو

نام متداول اين جزء به زبان اصلي  Dialog Box است و شکل دقيق آن وابسته به تم (Theme) فعال در رابط کاربري است. اين جزء در واقع پنجره­اي با کاربرد ويژه است که مشخصه اصلي آن، وجود يک يا چند دکمه براي اعلام تصميم کاربر است. اين جزء نيز نکته جداگانه خاصي براي بومي­سازي ندارد.

4. نوار پيمايش

نام اين جزء به زبان اصلي  Scrollbarاست. اين نوار در لبه‌هاي پنجره اسناد و در لبه‌هاي جدول‌ها و فهرست‌هاي داخل پنجره وجود دارد. نکات مربوط به بومي­سازي آن عبارت­اند از:

اوّل اين كه مکان نوار پيمايش عمودي در بوم‌هاي چپ و راست لبه سمت چپ پنجره يا جدول است. اين بدان معنا نيست که براي بوم فارسي ايران حتماً نيازي به جابه­ جايي آن داشته باشيم. ولي انتقال آن به لبه سمت راست است؛ به شرطي که اين عمل در همه جا انجام شود و کليه نوار پيمايش عمودي صرف نظر از زبان سند يا نرم‌افزار، يک مکان ثابت داشته باشد.

نکته دوم مربوط به نوار پيمايش افقي است. مکان اوّليه پيمايش آن بستگي به جهت سند فعال دارد. اگر سند فعال راست به چپ باشد، نقطه شروع پيمايش در انتهاي سمت راست، و در غير اين صورت، در انتهاي سمت چپ قرار مي­گيرد.

5. متن ثابت

نام اين جزء به زبان اصلي Static Text است. متن ثابت در نقاط مختلف پنجره ممکن است به کار رود و ممکن است فارسي يا لاتين باشد. ضمن اين كه جهت نوشتار و ترازبندي آن بايد قابليت پشتيباني از هر دو جهت را داشته باشد.

6. حوزه ورود تقويمي و زماني

نام متداول اين جزء به زبان اصلي Date and/or Time Entry Field است. اين حوزه‌ها به ورود و ويرايش ساعت و تاريخ يا ترکيب اين دو اختصاص دارند. در بوم ايران جهت اين حوزه‌ها به دليل ماهيت عددي ورودي آن، مي توانند چپ به راست باقي بمانند و مکان دکمه تقويم کنار حوزه در صورت وجود مي تواند مشابه بوم‌هاي چپ و راست باقي بماند.

براي بوم فارسي ايران، ترکيب نمايشي تاريخ و ساعت در اين حوزه، مطابق سند «نيازهاي شرايط محلي براي زبان فارسي ايران» مي­باشد كه بخشي از پروژه «مرتب سازي فارسي، جستجوي نادقيق فارسي، نيازهاي شرايط محلي فارسي ايران» از طرح ملي نرم‌افزارهاي ازاد - متن باز است.

براي بوم فارسي اسلامی و ايرانی، ترتيب ورود تقويم در اين حوزه‌ها به ترتيب: روز، ماه و سال است و ممکن است برحسب هر يک از سه تقويم رسمي ايران باشد. در اين حالت تقويم پيش­فرض ورودي هجري شمسي است؛ مگر آن که کاربر اين پيش­فرض را تغيير دهد و دو تقويم ديگر بايد با افزودن پسوند« قمري» يا «ق»، «ﻫ.ق»و يا «ه‍.ق» براي هجري قمري، و پسوند «ميلادي» يا «م» براي ميلادي قابل ورود باشند. در صورتي که تاريخ وارد شده يا نمايش داده شده در اين حوزه غير از هجري شمسي باشد، اين امر بايد با متن يا آرمي (نشانه­اي) در کنار حوزه تصريح شود.

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

7. ساير اجزا

کاربردها مي­توانند اجزاي کاملاً جديدي از پايه ايجاد کنند که بر اساس هيچ يک از ادوات موجود نباشد. نمونه اين اجزاء مي­تواند وسيله­اي براي استقرار اجسام سه بعدي در يک نرم‌افزار مدل­سازي سه بعدي باشد. در اين قبيل موارد، طراح اين اجزاي جديد بايد ملاحظات جهاني­سازي همچون اثر جهت متن را بر اين اجزا در طراحي خود در نظر بگيرند.

8. مشکلات طراحي در بستر‌هاي گنوم و کي دي ئي

بسترهاي گرافيکي موجود در گنو/لينوکس که مهم­ترين آن‌ها گنوم و کي دي ئي از مشکلاتي در پيش­فرض‌هاي طراحي رنج مي­برند، باعث مي­شوند كه در پشتيباني بهينه بوم فارسي ايران اخلال ايجاد شود. با توجه به اين که محدوديت و پيش­فرض‌هاي مشکل­آفرين به خودي خود نسبتاً ساده هستند، ولي تغيير آن‌ها مي­تواند تأثير گسترده­اي در نرم‌افزارها ايجاد کند. به همين دليل، اميد نمي­رود که اين محدوديت‌ها در آينده نزديک مرتفع شوند. مهم‌ترين مشکلات موجود، حاصل پيش­فرض‌ها و اختلاط مفاهيم ذيل است:

  1. تعيين صريح جهت متن و اجزاي شبه­متن مانند خانه تأييد، پيش­بيني نشده است.
  2. ترازبندي کيفي كه وابسته به جهت نوشتار است، جداي از ترازبندي کمي، يعني چپ­چين و راست­چين صريح و مستقل از جهت نوشتار، به صورت تفکيک شده وجود ندارد.
  3. چپ و راست و قبل و بعد، در بسياري از موارد با يکديگر مخلوط شده يا به شکل نادرستي نام­گذاري شده­اند. مثال بارز از اين قبيل نام­گذاري غلط، نام نويسه يونيکد U+0028 است که مفهوم آن «پرانتز باز» است؛ اما نام آن Left Parenthesis است.
  4. فرض شده که در بوم راست به چپ همه چيز قرينه بوم چپ و راست است.
  5. واسط برنامه­نويسي براي دسترسي و کنترل رفتار جهت­پذيري اجزاي نمايشي ارائه نشده است.
  6. پشتيباني محيط چند تقويمي پيش­بيني نشده است.
  7. معماري ويرايش متن آن‌ها براي عملکرد دو جهته (فارسي - لاتين) کاربر پسند و بهينه نيست.

مشکلات فوق، نمودهاي مختلفي در عمل و به هنگام بومي­سازي دارند و مانع از کسب نتيجه بهينه مي شوند. كاستي­هاي ياد شده و ساير مسائل موجود بايد به صورت شفاف و دقيق با مسئولان راهبرد محيط­هاي فوق مطرح شود تا اميد رفع آن‌ها در آينده فراهم شود. افزايش کاربرد، توليد و بومي­سازي نرم‌افزار براي بوم فارسي ايران مي­ تواند به تسريع اين امر کمک کند.■

پي­ نوشت­ ها:

اطلاعات تکميلي

  • تاریخ انتشار نسخه چاپی: دوشنبه, 25 آذر 1387
  • صفحه در فصلنامه: صفحه 24
  • شماره فصلنامه: فصلنامه شماره 24
بازدید 13835 بار
شما اينجا هستيد:خانه سایر مقالات فصلنامه شماره 24 (پائیز 1387) اصول طراحی رابط کاربری