شیوههای تعامل (Interaction Styles) چیست؟
💡 این متن «بازنویسی آزاد» است: ایدهها و مفاهیم مطلب اصلی با نگارش کاملاً مستقل فارسی و مثالهای تازه بازگو شدهاند و ترجمهٔ کلمهبهکلمه نیست. بخشهای افزودهٔ مترجم در جعبهٔ منبع مشخص شدهاند.
هر نرمافزاری پیش از هر چیز باید به یک سؤال ساده جواب بدهد: کاربر چطور به آن بگوید چه میخواهد؟
میتواند فرمانی را تایپ کند، از فهرستی انتخاب کند، یا جاهای خالی یک فرم را پر کند. میتواند هم خودِ چیزی را که روی صفحه است بگیرد و جابهجا کند.
این چهار راه، چهار «شیوهٔ تعامل» کلاسیکاند. انتخاب میانشان خیلی بیشتر از ظاهر رابط را تعیین میکند: چه کسی زود یاد میگیرد، چه کسی سریع کار میکند، و خطا کجا رخ میدهد.
شیوهٔ تعامل چیست؟
شیوهٔ تعامل به همهٔ راههایی گفته میشود که کاربر با آنها با یک سامانهٔ رایانهای ارتباط برقرار میکند. به زبان ساده، شکلِ گفتوگوی میان آدم و ماشین است.
این مفهوم در حوزهٔ تعامل انسان و رایانه (HCI) شکل گرفت و ریشهاش در رایانهٔ رومیزی است. ولی به آن محدود نمیماند. منوی یک گوشی ساده یا یک دستگاه کارتخوان هم همان «انتخاب از منو» است.
کتابهای درسی این رشته، مثل کتابهای Ben Shneiderman و Jenny Preece، معمولاً چهار شیوه را نام میبرند: زبان فرمان، پر کردن فرم، انتخاب از منو، و دستکاری مستقیم.
یک نکته را باید از همین ابتدا گفت. شیوهٔ تعامل با دستگاه ورودی یکی نیست. صفحهکلید میتواند فرمان تایپ کند یا فرم پر کند.
شیوه به ساختار گفتوگو مربوط است. چه کسی گزینهها را پیشنهاد میدهد؟ کاربر چقدر باید از حافظه بیاورد؟ سامانه کی میفهمد که منظور کاربر چه بوده؟
زبان فرمان: قدیمیترین، و هنوز زنده
زبان فرمان نخستین شیوهٔ تعامل است. کاربر یک فرمان تایپ میکند، شاید با چند پارامتر، و سامانه اجرایش میکند.
مثال کلاسیکش ls -al در خط فرمان لینوکس است. ls یعنی «فهرست کن» و -al میگوید فهرست کامل و با جزئیات باشد.
همین مثال کوچک مشکل اصلی را نشان میدهد. هیچ چیزی روی صفحه به شما نمیگوید این فرمان وجود دارد، یا آن دو حرف بعدش چه معنایی دارند.
زبان فرمان بر بازیابی بهجای بازشناسی تکیه میکند. فرمانها و گزینههایشان باید از حفظ باشند. کوتاهنویسی آنها برای صرفهجویی در تایپ هم بهخاطر سپردنشان را سختتر میکند.
نتیجهاش یادگیری کند است، فراموشی زیاد است، و نرخ خطا بالاست.
پس چرا هنوز زنده است؟ چون برای کاربر حرفهای چیزی دارد که شیوههای دیگر ندارند.
انعطاف دارد، چون هر فرمان را میشود با فرمان دیگری ترکیب کرد. میشود یک رشته کار را در یک اسکریپت نوشت و هزار بار تکرار کرد. روی اتصال کند شبکه هم خوب کار میکند.
یعنی زبان فرمان هزینهاش را یکجا و در آغاز میگیرد. بعد از آن، برای همیشه سریع است.
فرم و منو: وقتی سامانه گزینهها را جلوی چشم میگذارد
دو شیوهٔ بعدی برای گروه دیگری ساخته شدند: کاربری که متخصص نیست و قرار هم نیست فرمان حفظ کند.
پر کردن فرم در آغاز کل رابط بود. صفحه شکل یک فرم کاغذی داشت، با میدانهایی از پیش تعریفشده.
کاربر با کلید Tab میان میدانها جابهجا میشد و با Enter فرم را میفرستاد. جدا بودن هر داده در میدان خودش یک امتیاز بزرگ داشت: سامانه میتوانست همانجا ورودی را اعتبارسنجی کند.
برای همین فرم هنوز بهترین شیوه برای کارهای دفتری و ورود دادهٔ انبوه است، مثل نرمافزار حقوق و دستمزد.
هزینهٔ آشکارش جایی است که روی صفحه میگیرد. هزینهٔ پنهانترش این است که فرم روال کار را خشک میکند. جزئیات یک میدان خوب را در میدانهای ورودی آوردهام.
انتخاب از منو یک قدم جلوتر میرود. سامانه مجموعهای از گزینهها را نشان میدهد و کاربر یکی را برمیدارد و نتیجه را میبیند.
اگر برچسبها روشن باشد، کاربر تقریباً بدون یادگیری کار را انجام میدهد، چون فقط باید گزینهٔ درست را بشناسد.
منو اجازهٔ گشتوگذار هم میدهد. کاربر میتواند سر بزند و ببیند چه چیزهایی هست، بیآنکه اسم و املای فرمانی را بداند. مدیریت خطا هم سادهتر است، چون کاربر فقط چیزی را انتخاب میکند که وجود دارد.
ضعفهایش هم به همین برمیگردد. منوی زیاد به سرریز اطلاعات میرسد. برای کسی که روزی صد بار همان گزینه را میزند کند است. روی صفحههای کوچک هم جا نمیگیرد.
منو فقط وقتی کاربر حرفهای را راضی میکند که سریع باز شود و میانبر داشته باشد. انواع و قاعدههای منوی کشویی را جدا نوشتهام.
دستکاری مستقیم: خودِ شیء، نه اسمش
اصطلاح دستکاری مستقیم را Ben Shneiderman در سال ۱۹۸۲ مطرح کرد و یک سال بعد دقیقترش کرد. ریشهاش اما به Sketchpad برمیگردد، سامانهای که Ivan Sutherland در ۱۹۶۳ ساخت.
ایده این است که چیزی که کاربر به آن اهمیت میدهد، بهصورت یک شیء قابل تشخیص روی صفحه باشد. کاربر هم همان شیء را مستقیم تغییر میدهد، بهجای اینکه دربارهٔ آن فرمان بنویسد.
سه ویژگی این شیوه را میسازد:
- - دیده شدن شیء: فایل، تصویر یا متن همیشه جلوی چشم است.
- - کنشهای سریع، کوچک و برگشتپذیر: هر حرکت نتیجهاش را فوراً نشان میدهد و میشود برش گرداند.
- - کنش بهجای نحو: کشیدن یک فایل روی پوشه جای یک فرمان پیچیده را میگیرد.
مثال درسیاش مدیر فایل است و یکی از نخستین نمونههای تجاریاش MacPaint بود. یادگیری آسان است، خطا کمتر پیش میآید، و کاربر به کشف تشویق میشود.
محدودیتهایش کمتر گفته میشوند. ساختنش برای تیم فنی سختتر است و روی صفحههای کوچک جا نمیشود.
هر کاری هم بازنمایی فضایی خوبی ندارد. «همهٔ فاکتورهای بالای ده میلیون را که هنوز تسویه نشدهاند علامت بزن» را نمیشود با کشیدن گفت.
مشکل ظریفتر، استعاره است. به تعبیر Lakoff و Johnson، استعاره یعنی فهمیدن یک چیز بر حسب چیز دیگر؛ پس همیشه با آنچه نشان میدهد فرق دارد.
کاربری که میترسد کشیدن یک دیسک روی سطل زباله محتوایش را پاک کند، درگیر همین فاصله است. همین بحث را در اسکیومورفیسم از زاویهٔ دیگری دیدهایم.
سه محور یک انتخاب
این بخش افزودهٔ من است. منبع مزایا و معایب هر شیوه را جداگانه فهرست میکند، ولی آنها را روی محور مشترکی نمیگذارد.
اگر همان فهرستها را کنار هم بگذارید، سه محور از دلشان بیرون میآید: یادگیری، سرعت کارکشته، و زمان گرفتن خطا. نمودار بالای صفحه همین سه محور را برای پنج شیوه نشان میدهد. محور سوم از همه جالبتر است. شیوهها در آن فقط «بیشتر» یا «کمتر» نیستند؛ خطا را در لحظههای متفاوتی میگیرند.
در منو و دستکاری مستقیم، بیشتر خطاها پیش از وقوع بسته میشوند. گزینهای را که وجود ندارد نمیشود انتخاب کرد. فایل را هم نمیشود روی جایی رها کرد که پذیرایش نیست.
در فرم، خطا در مرز هر میدان گرفته میشود. تاریخ نامعتبر همانجا قرمز میشود، پیش از آنکه به میدان بعدی برسید.
در زبان فرمان، خطا بعد از فرستادن معلوم میشود. کل خط تایپ و اجرا شده، و تازه آنوقت میفهمید یک حرف جا افتاده است.
بدترین حالت وقتی است که فرمان اشتباه خودش معتبر باشد. آنوقت اصلاً خطایی گزارش نمیشود.
این نگاه یک قاعدهٔ عملی میدهد. هرجا اشتباه گران است، مثل حذف داده یا پرداخت، شیوهای را انتخاب کنید که خطا را زودتر میگیرد. هرجا تکرار زیاد است، سراغ شیوهای بروید که برای کارکشته سریعتر است.
هیچ شیوهای روی هر سه محور برنده نیست. به همین دلیل محصول خوب معمولاً فقط یک شیوه ندارد.
ترکیب شیوهها، و بازگشت خط فرمان
این بخش هم در منبع نیست. منبع فقط اشاره میکند که نرمافزار امروز فرم را با شیوههای دیگر مخلوط میکند و جلوتر نمیرود.
جالبترین ترکیب این سالها جعبهٔ فرمان (command palette) است. همان پنجرهای که در VS Code یا Figma یا Slack با یک میانبر باز میشود.
ظاهرش خط فرمان است: یک خانهٔ خالی و یک مکاننمای چشمکزن. ولی بهمحض اینکه دو حرف تایپ میکنید، به منو تبدیل میشود و گزینههای نزدیک را نشان میدهد.
نمودار بالا این ترکیب را نشان میدهد. کاربر کارکشته فرمان را از حفظ تایپ میکند و سرعت خط فرمان را دارد. تازهکار چند حرف مینویسد و گزینه را از فهرست بازمیشناسد.
یک ورودی واحد هر دو گروه را راضی میکند. خطا هم پیش از اجرا گرفته میشود، چون فقط گزینهای اجرا میشود که در فهرست آمده.
ترکیبهای قدیمیتر هم همهجا هستند. منوی راستکلیک، منو را روی شیء دستکاری مستقیم مینشاند. خودکاملکن، فرم را با منو ترکیب میکند. در رابط گرافیکی کاربر دیدیم که همین لایهٔ دوم است که کار هزارم را ممکن میکند.
حالا به شیوهٔ پنجم برسیم. زبان طبیعی در فهرست چهارتایی منبع نیست، ولی خود شنایدرمن آن را هم کنار چهار شیوهٔ دیگر آورده است.
سالها بیشتر یک وعده بود تا اینکه مدلهای زبانی آمدند. از نزدیک، یک پرامپت شبیه همان خط فرمان است: یک خانهٔ خالی، بدون هیچ گزینهای.
تفاوت در تجزیهگر است. خط فرمان فقط نحو دقیق را میپذیرفت، ولی مدل زبانی تقریباً هر جملهای را میپذیرد. پس مانع یادگیری تقریباً برداشته شده است.
ولی خطا ناپدید نشده، فقط جابهجا شده است. سامانه دیگر پیام «فرمان ناشناخته» نمیدهد. منظورتان را با اطمینان اشتباه میفهمد و کار دیگری انجام میدهد.
این همان بدترین حالت زبان فرمان است که حالا عادی شده. برای همین محصولات خوبِ گفتوگومحور، پیش از هر کار پرهزینه برداشت خود را به شکل یک فرم کوچک یا پیشنمایش نشان میدهند. یعنی باز هم ترکیب: زبان طبیعی برای گفتن، فرم برای تأیید.
در چتباتها نوشتهام کجا گفتوگو اصلاً انتخاب درستی نیست. رابط صوتی هم همین شیوه است، بدون صفحهای که بشود برداشت سامانه را رویش دید.
در بافت فارسی
هر پنج شیوه در فارسی یک لایهٔ اضافه پیدا میکنند. چهار موردش پرتکرارتر است.
یک: دستکاری مستقیم باید جهتِ معنا را آینه کند، نه فقط چیدمان را. اسلایدر در رابط فارسی از راست پر میشود. کشیدن یک کارت به چپ در فهرست مرتبشده یعنی جلو بردنش.
ولی نقشه، نمودار قیمت، و نوار پخش ویدیو معمولاً آینه نمیشوند. پس پیش از آینه کردن هر کشیدنی بپرسید آن محور از جهت خواندن میآید یا از جهان بیرون. بحث حرکتها را در تعامل مبتنی بر حرکت دیدهایم.
دو: جعبهٔ فرمان باید چیدمان اشتباه صفحهکلید را بفهمد. کاربر فارسیزبان دائم میان دو چیدمان جابهجا میشود. زیاد پیش میآید که «تنظیمات» را با چیدمان انگلیسی تایپ کند و روی صفحه رشتهای بیمعنا از حروف لاتین بیاید.
در هر شیوهای که به تایپ تکیه دارد، همین یک لغزش جستوجو را خالی برمیگرداند. جعبهٔ فرمانی که رشته را با چیدمان دیگر هم امتحان کند، خطا را پیش از آنکه کاربر متوجه شود میگیرد.
سه: ورودی دوخطی عادی است، نه استثنا. کاربر ایرانی در یک عبارت مینویسد «خروجی PDF گزارش مهر». نام خیلی از قابلیتها هم در ذهن تیم و کاربر نیمهانگلیسی است.
پس جعبهٔ فرمان باید هم نام فارسی و هم نام انگلیسی هر قابلیت را بشناسد. نرمالسازی «ی» و «ک» و نیمفاصله، که در مقالهٔ بازشناسی و بازیابی آمد، اینجا شرط اول است.
چهار: زبان طبیعیِ فارسی، دو فارسی است. کاربر در جعبهٔ گفتوگو شکسته مینویسد: «یه گزارش از فروش ماه پیش بده». گاهی هم فینگلیش مینویسد.
سامانهای که فقط فارسی رسمی را خوب بفهمد، همان خطای بیصدا را میکند. پس باید برداشتش را پیش از اجرا، به زبان خود کاربر، نشان بدهد.
جمعبندی
شیوهٔ تعامل شکل گفتوگوی کاربر با سامانه است. به چهار شیوهٔ کلاسیک، حالا زبان طبیعی هم واقعاً پیوسته است.
هیچکدام بهترین نیست. هر کدام میان سه چیز معامله میکند: سرعت یادگیری، سرعت کاربر کارکشته، و لحظهای که خطا گرفته میشود.
محصول خوب شیوهها را روی هم میچیند. مسیری دیدنی برای تازهکار میگذارد، مسیری تایپی برای کارکشته، و تأییدی دیدنی پیش از هر کار برگشتناپذیر.
اگر بخواهم یک پرسش بگذارم: پرتکرارترین کار محصول شما امروز با کدام شیوه انجام میشود؟ اگر کاربر روزی صد بار انجامش بدهد، باز هم همان شیوه درست است؟
منبع
این نوشته «بازنویسی آزاد» است از موضوع Interaction Styles منتشرشده در وبسایت بنیاد طراحی تعامل (Interaction Design Foundation — IxDF) و فصل Interaction Styles از کتاب The Glossary of Human Computer Interaction نوشتهٔ Mads Soegaard که آن صفحه به آن ارجاع میدهد. مفاهیم پایه — تعریف شیوهٔ تعامل بهعنوان همهٔ راههای ارتباط کاربر با سامانه، ارجاع به Shneiderman (۱۹۹۷) و Preece و همکاران (۱۹۹۴) و چهار شیوهٔ زبان فرمان و پر کردن فرم و انتخاب از منو و دستکاری مستقیم، مثال ls -al و تکیهٔ زبان فرمان بر بازیابی، فرمهای اولیهٔ مبتنی بر Tab و Enter، منو بهعنوان کار بازشناسی، ریشهٔ دستکاری مستقیم در Shneiderman (۱۹۸۲ و ۱۹۸۳) و Sketchpad، سه ویژگی آن، مثالهای مدیر فایل و MacPaint، نکتهٔ استعاره به نقل از Lakoff و Johnson، و مزایا و معایب برشمرده برای هر شیوه — از این منبع گرفته شده، اما متن فارسی و توضیحها کاملاً مستقل نوشته شدهاند.
متن مقالهٔ اصلی تحت هیچ لایسنس بازی منتشر نشده است؛ به همین دلیل اینجا ترجمهٔ کلمهبهکلمه ارائه نشده و متن کامل انگلیسی (بههمراه همهٔ تصاویر) در لینک زیر در دسترس است.
بخشهای افزودهٔ مترجم: تمایز شیوهٔ تعامل از دستگاه ورودی و تعریفش بهعنوان ساختار گفتوگو؛ جمعبندی زبان فرمان بهعنوان شیوهای که هزینه را یکجا در آغاز میگیرد؛ مثال فاکتورهای تسویهنشده برای کاری که بازنمایی فضایی ندارد؛ کل بخش «سه محور یک انتخاب» شامل مقایسهٔ شیوهها روی سه محور مشترک، این استدلال که شیوهها خطا را در لحظههای متفاوتی میگیرند (پیش از وقوع، در مرز میدان، پس از اجرا)، خطر فرمان اشتباهی که خودش معتبر است، و قاعدهٔ انتخاب بر پایهٔ هزینهٔ اشتباه و میزان تکرار؛ کل بخش «ترکیب شیوهها، و بازگشت خط فرمان» شامل جعبهٔ فرمان بهعنوان ترکیب زبان فرمان و منو، منوی راستکلیک و خودکاملکن و میانبر بهعنوان ترکیبهای قدیمیتر، زبان طبیعی بهعنوان شیوهٔ پنجم، شباهت پرامپت مدل زبانی به خط فرمان، و این استدلال که خطا در زبان طبیعی جابهجا و بیصدا شده و باید با فرم یا پیشنمایش تأیید مهار شود؛ و کل بخش «در بافت فارسی» شامل آینه کردن جهت معنا در دستکاری مستقیم و استثناهای آن، تشخیص چیدمان اشتباه صفحهکلید در جعبهٔ فرمان، ورودی دوخطی و نام دوزبانهٔ قابلیتها، و فارسی شکسته و فینگلیش در رابط گفتوگومحور.
تصاویر: هر سه نمودار این صفحه طراحی اختصاصی مترجم است. تصاویر منبع (نماگرفتهایی از خط فرمان، فرمها، منوها، مدیر فایل و MacPaint) تحت لایسنس بازی معرفی نشدهاند و هیچکدام بازتولید نشده است.
مشاهدهٔ مقالهٔ اصلی
شیوههای تعامل