امروزه براي هر يک از محيطهاي ميز کار گرافيکي مجموعه مدون و جامعي از اين اصول، راهکارها و استانداردها تدوين شده است. از زمان ظهور اولين رابط کاربري موفق گرافيکي سالهاي بسياري گذشته است(1) و در طي اين مدت، اگرچه شکل ظاهري رابطهاي کاربري گرافيکي تغييرات قابل توجهي کرده است، ولي اصول حاکم بر طراحي آنها، ضمن توسعه و تکميل، دچار تغييرات اندکي شده است. ثبات نسبي اين اصول تا حدودي عجيب مينمايد؛ چرا که در طي بيش از دو دهه اي که از آغاز رواج يافتن رابطهاي کاربري گرافيکي مي گذرد، تغييرات بسياري در کاربرد رايانهها و حجم و نوع اطلاعات مورد پردازش با آنها ايجاد شده است. به همين دليل، سالها است که لزوم بهبود رابطهاي کاربر گرافيکي و ابتکارات جديد دررابطه انسان و رايانه مطرح شده است. در طي دو دهه گذشته نيز تلاشهاي متعددي دراين زمينه صورت گرفته است(2)، اما تاکنون موفقيت اين تلاشها در جلب مخاطبان محدود بوده است.
به خصوص با نگاهی به نرمافزارهای اسلامی می بینیم که گرافیک آن تغییرات چندانی نکرده است و تغییراتِ انجام شده بسیار محدود بوده است.
نتيجهاي که از اين امر گرفته مي شود، دشواري ابتکارات موفق در رابط کاربري است. بنابراين، بايد سعي کنيم که به اصول و استانداردهايي که در زمينه طراحي رابطهاي کاربري گرافيکي جا افتاده است، پايبند بمانيم و از ابتکارات نسنجيده بپرهيزيم.
نکته مورد توجه در هنگام طراحي يا بوميسازي رابط کاربري هر نرمافزار آن است که از مستندات طراحي رابط کاربري موجود براي بستر يا بسترهاي هدف استفاده کرده، رهنمودها و ضوابط آن را رعايت کنيد. بر حسب بستر هدف، مطالعه و رعايت حداقل يکي از مراجع ذيل براي سازگاري با اين آييننامه لازم است:
- محيط بستر گنوم؛(3)
- محيط بستر کي دي ئي؛(4)
- محيط بستر جاوا. (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: به کاربر اعتماد به نفس بدهيد
رابط کاربري بايد به کاربر اين احساس را القا کند که رايانه در خدمت انسان است و نه برعکس. براي رسيدن به اين هدف، نرمافزار بايد ويژگيهاي خاصي داشته باشد، كه از آن جمله ميتوان به موارد ذيل اشاره كرد:
- نرمافزار بايد آن کاري را انجام دهد که کاربر اراده کرده است. کنشهاي کاربر بايد نتيجه و واکنش واضح و مورد انتظار را داشته باشد؛ به طوري که احساس تسلط به ابزار (رايانه) را به کاربر القا کند. البته هشدار در مورد امور خطرناک و سعي در پيشگيري از خطاهاي سهوي کاربر، جايگاه خود را دارد؛ ولي نبايد اصل فوق را تحت الشعاع قرار دهد.
- نرمافزار بايد کارش را خودش انجام دهد؛ يعني نبايد براي انجام کاري که به آن محول شده، کاربر را مورد سوالهاي خسته كننده قرار دهد و يا به خدمت خود بگيرد و کارهاي تکراري و ملالآور را ازکاربر بخواهد؛ به عنوان نمونه، اگر کاربر فرمان «چاپ کن» را صادر کند، نرمافزار بايد با فرضيات متناسب و گرفتن تأييد بابت اين فرضيات (از قبيل: نام چاپگر، اندازه کاغذ و يا تعداد نسخه چاپي) به سرعت عمل چاپ را انجام دهد.
- کاربرد نرمافزار بايد تا حدّ امکان امن و بيخطر باشد. پس بايد از عمليات غير قابل برگشت تا حد امکان اجتناب نمود و انجام آنها را تا موقعي که واقعاً لازم نشده باشد، به تأخير انداخت(6) تا کاربر فرصت تجديد نظر داشته باشد.
- نرمافزار نبايد خود را توانا يا دانا و کاربر را ناتوان يا نادان جلوه دهد؛ به عنوان مثال، در مورد بخشهايي از نرمافزار که وظيفه ياري کاربر و تسهيل کار را دارند، از انتخاب نامهايي چون «ساحر»(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. مشکلات طراحي در بسترهاي گنوم و کي دي ئي
بسترهاي گرافيکي موجود در گنو/لينوکس که مهمترين آنها گنوم و کي دي ئي از مشکلاتي در پيشفرضهاي طراحي رنج ميبرند، باعث ميشوند كه در پشتيباني بهينه بوم فارسي ايران اخلال ايجاد شود. با توجه به اين که محدوديت و پيشفرضهاي مشکلآفرين به خودي خود نسبتاً ساده هستند، ولي تغيير آنها ميتواند تأثير گستردهاي در نرمافزارها ايجاد کند. به همين دليل، اميد نميرود که اين محدوديتها در آينده نزديک مرتفع شوند. مهمترين مشکلات موجود، حاصل پيشفرضها و اختلاط مفاهيم ذيل است:
- تعيين صريح جهت متن و اجزاي شبهمتن مانند خانه تأييد، پيشبيني نشده است.
- ترازبندي کيفي كه وابسته به جهت نوشتار است، جداي از ترازبندي کمي، يعني چپچين و راستچين صريح و مستقل از جهت نوشتار، به صورت تفکيک شده وجود ندارد.
- چپ و راست و قبل و بعد، در بسياري از موارد با يکديگر مخلوط شده يا به شکل نادرستي نامگذاري شدهاند. مثال بارز از اين قبيل نامگذاري غلط، نام نويسه يونيکد U+0028 است که مفهوم آن «پرانتز باز» است؛ اما نام آن Left Parenthesis است.
- فرض شده که در بوم راست به چپ همه چيز قرينه بوم چپ و راست است.
- واسط برنامهنويسي براي دسترسي و کنترل رفتار جهتپذيري اجزاي نمايشي ارائه نشده است.
- پشتيباني محيط چند تقويمي پيشبيني نشده است.
- معماري ويرايش متن آنها براي عملکرد دو جهته (فارسي - لاتين) کاربر پسند و بهينه نيست.
مشکلات فوق، نمودهاي مختلفي در عمل و به هنگام بوميسازي دارند و مانع از کسب نتيجه بهينه مي شوند. كاستيهاي ياد شده و ساير مسائل موجود بايد به صورت شفاف و دقيق با مسئولان راهبرد محيطهاي فوق مطرح شود تا اميد رفع آنها در آينده فراهم شود. افزايش کاربرد، توليد و بوميسازي نرمافزار براي بوم فارسي ايران مي تواند به تسريع اين امر کمک کند.■
پي نوشت ها: