قوانین UX به زبان ساده- قانون پاستل

قوانین UX به زبان ساده- قانون پاستل

دوستان سکان آکادمی امیدوارم خوب و سلامت باشید. توی بخش های قبلی از سری مقالات قوانین تجربه کاربری، باهم قوانینJacobFittsHick, Miller رو بررسی کردیم. در این قسمت پنجمین قانون با نام قانون Postel رو باهم بررسی می کنیم.

قانون پاستل در یه جمله اینطوری تعریف میشه: 

‌‌« در کاری که انجام می دهید محافظه کار باشید، در آنچه از دیگران می پذیرید لیبرال (آزادی خواه) باشید.»

اما این جمله یعنی چی؟ طراحی تجربه های خوب کاربر، به معنای طراحی تجربیات خوب انسانیه. انسان ها مثل ماشین رفتار نمی کنن: ما بعضی اوقات متناقض در عمل و گفتار، غالباً حواس پرت، گاهی اوقات مستعد خطا و معمولاً تحت تأثیر احساساتمون هستیم. ما انتظار داریم محصولات و خدماتی که با اونها ارتباط داریم به صورت شهودی ما رو بفهمن و بخشنده باشن. ما انتظار داریم همیشه روی اوضاع کنترل داشته باشیم و معمولاً از ما خواسته می شه اطلاعات بیشتری از اونچه لازمه ارائه بدیم. در عین حال، دستگاه ها و نرم افزارهایی که ما استفاده می کنیم به لحاظ پشتیبانی از ویژگی ها، قابلیت ها و عوامل شکل گیری خیلی متفاوت هستن. برای اینکه بتونیم انتظارات کاربرانمون رو برآورده کنیم، محصولات و خدماتی که ما به عنوان طراح می سازیم باید قوی و سازگار باشه.

قانون Postel به عنوان اصل مقاومت

قانون Postel به عنوان اصل مقاومت هم شناخته می شه، یه اصل راهنما برای طراحی تجربه های انسانیه که هم مقیاس و هم پیچیدگی رو به ما ارائه میده. تو نیمه ی اول قانون Postel عنوان شده که "شما باید در کاری که انجام می دهید محافظه کار باشید." در چارچوب طراحی، می شه این طور برداشت کرد که خروجی تلاش های ما، خواه یه رابط باشه یا یه سیستم جامع، باید قابل اعتماد و در دسترس باشه. این ها از ویژگی های مهم یه محصول یا خدمات دیجیتاله، چون نه تنها استفاده از رابط کاربری باید بدون زحمت باشه، بلکه برای بزرگ ترین طیف ممکن از کاربرا هم باید آسون باشه. یعنی طراحی برای هر کسی، صرف نظر از اندازه ی دستگاه، پشتیبانی از ویژگی، مکانیزم ورودی، فناوری کمکی یا حتی سرعت اتصال، باید کارایی داشته باشه.

نیمه ی دوم اصل عنوان می کنه که شما باید "در آنچه از دیگران می پذیرید لیبرال باشید." در چارچوب طراحی، این می تونه به معنای پذیرش ورودی از کاربر، از طریق هر مکانیزم ورودی و در قالب های مختلف باشه. این داده ها برای اطلاعات وارد شده به فرم از طریق ماوس و صفحه کلید (یا شاید فقط صفحه کلید)، فناوری کمکی، ورودی لمسی و اشاره ای از کاربران تلفن همراه  هست و حتی ورودی صوتی در تمام تغییرات زبان، گویش و نامگذاری اعمال می شه. این قانون برای صفحه هایی با هر اندازه (Size) و وضوح (Resolution)، از رابط ساعت تا تلویزیون، اعمال می شه. این شامل اختلاف هایی در پهنای باند شبکه، قدرت اتصال و سایر تغییرات احتمالی می شه. توی این مقاله، بعضی از نمونه های عملی قانون Postel و چگونگی استفاده ی طراحا از این اصل برای طراحی محصولات و خدمات، متناسب با شرایط واقعی مردم رو بررسی می کنیم.

Postel و پروتکل کنترل انتقال (TCP)

Postel، دانشمند آمریکایی در حوزه ی رایانه بود و به پروتکل های اساسی ایجاد شده برای شکل گیری اینترنت کمک قابل توجهی کرد. یکی از اون مشارکت ها اجرای اولیه ی پروتکل کنترل انتقال (TCP) بود، شالوده و بنیانی که داده ها از طریق شبکه اون ارسال و دریافت می شن. در  بیان مشخصات، پاستل اصل مقاومت رو معرفی كرد که عنوان می کرد: « TCP از یک اصل كلی استحكام پیروی خواهد كرد: در كاری كه انجام می دهید محافظه كار باشید، در آنچه از دیگران می پذیرید لیبرال باشید.» ایده، این بود که برنامه هایی که داده ارسال می کنن (یا به ماشین های دیگه یا به برنامه های مختلف روی همون ماشین) باید با مشخصات مقصد مطابقت داشته باشن، در حالی که برنامه هایی که داده ها رو دریافت می کنن باید به اندازه ی کافی قوی باشن تا ورودی غیر سازگار رو بپذیرن و تجزیه کنن، تا زمانی که معنی اون روشن باشه. اصل Postel در اصل به عنوان راهنمایی برای مهندسی شبکه در نظر گرفته شد، به خصوص در رابطه با انتقال داده ها از راه  شبکه های رایانه ای. Fault tolerance یا همان میزان تحمل خطای سیستم در اصل استحکام کمک کرد تا گره ها (nodes) در اینترنت اولیه (Early enternet) بتونن با اطمینان ارتباط برقرار کنن، اما تأثیر اون فراتر از مهندسی شبکه ی رایانه است و معماری نرم افزار هم تحت تأثیر این اصل قرار گرفته. 

مثال پروتکل کنترل انتقال

برای مثال، زبان های اعلامی مثل HTML و CSS رو در نظر بگیرید. مدیریت خطاهای اون ها به این معنیه که مشکلاتی مثل اشتباه های نوشتن یا نبود پشتیبانی مرورگر از ویژگی های خاص توسط نرم افزار مرورگر برطرف می شه. اگه مرورگر چیزی رو نمی فهمه، اون رو نادیده می گیره و ادامه میده. این مساله مقدار قابل توجهی از انعطاف پذیری رو برای این زبان ها فراهم کرده که این امر باعث تسلط این زبان ها در عرصه ی اینترنت شده. فلسفه ای که در قانون Postel عنوان شده می تونه در طراحی تجربه ی کاربر و شیوه ی برخورد ما با ورودی کاربر و خروجی سیستم هم اعمال بشه. همون طور که قبلاً اشاره کردم، طراحی تجربه های خوب کاربر به معنای طراحی تجربیات خوب انسانیه. از اونجایی که انسان ها و رایانه ها از طریق روش های اساسی با هم دیگه ارتباط برقرار کرده و پردازش می کنن، مسئولیت طراحی اینه که شکاف ارتباطی رو برطرف کنه. بیاید نگاهی به چند مثال بندازیم تا ببینیم چطور  این کار انجام میشه.

قانون Postel روشی رو برای طراحی توصیف می کنه که بیشتر شبیه فلسفه ی تعامل انسان و کامپیوتره: ما باید از نظر ورودی، دسترسی و قابلیت دریافت تقریباً هر نوع ورودی رو پیش بینی کنیم در حالی که یه رابط قابل اطمینان و قابل دسترسی ارائه می دیم. نمونه های بی شماری وجود داره که این رویکرد فلسفی رو نشون میده، اما ما با یه روش شروع می کنیم که توی دنیای دیجیتال وجود داره:

اشکال ورودی:

 مدت هاست که فرم ها وسیله ی اصلی برای ارائه ی اطلاعات به سیستم ها توی فضای دیجیتال برای مردم هستن. در اصل، اون ها واسطه ای هستن که انسان و سیستم به واسطه ی اون ها باهم تعامل می کنن. یه محصول یا خدمات به اطلاعات نیاز داره و کاربر این اطلاعات رو از راه عناصر فرم که برای پردازش ارسال می شن، ارائه می ده. با استفاده از قانون Postel به عنوان راهنما در مورد فرم ها، اولین ملاحظه اینه که در میزان اطلاعاتی که از مردم می خوایم محافظه کار باشیم. هرچه ورودی بیشتری از کاربرا برای پر کردن بخوایم، انرژی شناختی و تلاش بیشتری ازشون می خوایم، که می تونه منجر به کاهش کیفیت تصمیمات گرفته شده بشه (که معمولاً به عنوان خستگی تصمیم گیری ازش یاد میشه) و احتمال اینکه اون ها فرم ها رو تکمیل کنن کاهش میده. 

با درخواست فقط موارد ضروری و درخواست نکردن اطلاعاتی که از قبل داریم، مثل آدرس ایمیل یا رمز عبور، می تونیم تلاش لازم برای پر کردن فرم رو به حداقل برسونیم. همچنین این نکته در نظر گرفته می شه که سیستم نسبت به ورودی کاربر چقدر انعطاف پذیره. ازاونجایی که انسان و کامپیوتر به روش های مختلف ارتباط برقرار می کنن، گاهی اوقات بین اطلاعاتی که انسان ارائه می ده و اطلاعاتی که کامپیوتر انتظار داره ارتباط وجود داره. قانون Postel حکم می کنه که رایانه ها باید به اندازه کافی قوی باشن تا انواع مختلفی از ورودی های انسانی رو بپذیرن و نه تنها معنای اون رو به دست بیارن بلکه اون رو به شکلی قابل خواندن برای خودشون پردازش کنن. این کار رو میشه به روش های مختلفی انجام داد، اما شاید هیجان انگیزترین روشیه که به کمترین تلاش نیاز داره. به عنوان مثال، Face ID Apple (تصویر 1-5) ، یه سیستم تشخیص چهره هست که این امکان رو به کاربرای اپل میده که در دستگاه های تلفن همراهشون بدون هیچ تلاشی و بدون نیاز به ارائه ی نام کاربری یا رمز عبور برای باز کردن قفل دستگاه خودشون، احراز هویت رو انجام بدن.

(تصویر 1-5)  Face IDبه شما امکان می دهد با خیال راحت قفل iPhone یا iPad خود را باز کنید، خریدها را تأیید کنید، به برنامه ها وارد شوید و موارد دیگر (منبع: Apple، 2020)

در مرحله ی بعدی ، بیاید مثالی رو ببینیم که در عصر کامپیوتری پس از دسک تاپ همه جا حضور داره:

طراحی واکنش گرا (Responsive Design):

در طی چند دهه ی گذشته، هرچه تعداد بیشتری از دستگاه ها توانایی اتصال به وب رو پیدا کردن، نیاز به ارائه ی محتوایی که می تونه با هر اندازه ی صفحه نمایش سازگار بشه، افزایش پیدا کرد. Ethan Marcotte در سال 2010 روشی رو مطرح كرد و اسمش رو (Responsive Web Design) گذاشت كه با تكیه بر "fluid Grids ، flexible Images و Media queries" وب سایت هایی رو ایجاد می كنه كه به محتوای مختلف اجازه می ده تا به طور متفاوتی به بستر هایی با اندازه ی متفاوت پاسخ بدن. این یه رویکرد کاملاً جدید برای طراحی و ساخت وب سایت ها بود، در زمانی که استراتژی اصلی، ایجاد وب سایت های جداگانه برای دسک تاپ و دستگاه های موبایل بود.

طراحی واکنش گرا، طراحان رو فراتر از ایجاد تجربیات خاص دستگاه و به سمت رویکردی که ماهیت وب رو در بر می گیره، سوق می ده. قابلیت رو به رشد Cascading Style Sheets (CSS) به طراحان این امکان رو می ده تا تعریف کنن که چطور محتوا می تونه به طور انعطاف پذیر با هر بستری با اندازه متفاوت (سیستم) متناسب بشه، شامل ساعت هوشمند، تلفن هوشمند، کنسول بازی، لپ تاپ، کامپیوتر رومیزی یا تلویزیون (تصویر 2-5). امروزه زمان خلق تجربیات، طراحی واکنش گرای وب استانداردی بالفعله و این فلسفه رو دربرمی گیره که طیف وسیعی از ورودی رو می پذیره در حالی که خروجی، قابل اطمینان و سازگاره و با ابعاد یا دستگاه های خاص محدود نمی شه.

طراحی واکنش گرا از طبیعت سیال وب استقبال می کند (تصویر 2-5)

پیشرفت تدریجی (Progressive enhancement):

پیشرفت تدریجی (Progressive enhancement) یک فلسفه طراحیه که یه زمینه اساسی از محتوای اساسی و عملکرد رو برای بیشترین تعداد ممکن از کاربرا فراهم می کنه، در حالی که بهترین تجربه ممکن رو فقط به کاربرای مدرن ترین مرورگرهایی می ده که می تونن همه کد های مورد نیاز  رو اجرا کنن. این فلسفه هم می تونه به عنوان نمونه ای از قانون Postel تلقی بشه. این استراتژی که برای اولین بار توسط Steve Champeon  و  Nick Finckدر SXSW در سال 2003 در ارائه ای با عنوان "طراحی وب فراگیر برای آینده" معرفی شد، تأکید بر دسترسی به محتوای اساسی و عملکرد برای همه ی کاربرا، صرف نظر از پشتیبانی از ویژگی مرورگر، ویژگی های دستگاه و قابلیت هاش، یا سرعت اتصال به اینترنت از موارد این ارائه بود.

لایه های سبک و تعاملی اضافی به تدریج با شناسایی پشتیبانی و قابلیت ها اضافه می شن، و اطمینان حاصل می شه، افرادی که دارای مرورگر جدیدتر، دستگاه های پیشرفته تر  یا اتصالات سریع تر هستن، بدون پنهان کردن محتوای اصلی، تجربه ی بهتری دریافت می کنن. این رویکردیه که در تضاد با استراتژی قبلی موسوم به " graceful degradation " هست (Graceful degradation هم یه فلسفه طراحیه که در تلاش برای ایجاد یه وب سایت/ برنامه مدرنه که توی جدیدترین مرورگرها کار کنه، اما به تجربه ای برمی گرده که اگرچه به همون خوبی نیست اما همچنان محتوای اساسی و عملکردی رو توی مرورگرهای قدیمی ارائه می ده)، که بر تحمل خطا تأکید داره و ابتدا روی نرم افزار و سخت افزار پیشرفته تر تمرکز می کنه و درعین حال بازدهی رو برای دیگران فراهم می کنه.

توانایی افزایش پیشرفت (Progressive enhancement’s strength) درکنار قابلیت اینه که آزادانه هر دامنه از پشتیبانی از ویژگی مرورگر، هر سطح از قابلیت دستگاه و هر سرعت اتصال رو بپذیره و با حفظ محتوای اصلی، پیشرفت های لایه رو به صورت محافظه کارانه انجام بده، بنابراین دسترسی جهانی رو برای همه امکان پذیر می کنه. به عنوان مثال یک قاب جستجوی ساده رو در نظر بگیرید، که به هر کسی امکان انتخاب اون و ورود به یه جستجو رو می ده اما برای پشتیبانی از ورودی صدا برای دستگاه هایی که از  تشخیص صدا پشتیبانی می کنن، بهبود پیدا کردن (تصویر 5-3) در ابتدا همه یه قاب جستجوی پیش فرض دریافت می کنن و برای همه قابل استفاده هست، از جمله کاربرایی که از فن آوری کمکی مثل صفحه خوان استفاده می کنن. در صورت شناسایی پشتیبانی تشخیص صدا، با اجازه دادن به کاربر برای انتخاب نماد میکروفون برای صدا زدن یه دستیار صوتی که رونویسی گفتار رو به متن انجام می ده، یه سطح بهبود عملکرد به اون اضافه می شه، در نتیجه روش های ورودی جعبه ی جستجو بدون اینکه از عملکرد اصلی اون کم بشه، گسترش پیدا می کنن .

(تصویر 3-5) یک مولفه جستجوی پیشرفته که به طور پیش فرض یک جعبه جستجو و سپس پشتیبانی صوتی برای دستگاه هایی که از تشخیص صدا پشتیبانی می کنند ، ارائه می شود

نمونه هایی از قانون Postel فقط به رابط هایی محدود نیستن که در فرایندهای ما هم یافت می شن. به عنوان مثال، سیستم های طراحی (Design Systems) رو در نظر بگیرید، که مجموعه ای از اجزای قابل استفاده ی مجدد و الگوهای هدایت شده با استانداردهایی هستن که شیوه ی استفاده از اون ها رو تعیین می کنند. هدف یک سیستم طراحی (Design System) اینه که بتونه این اجزا و الگوها رو برای ساخت هر تعداد برنامه ی کاربردی جمع کنه و چارچوبی برای اطمینان از توسعه پذیری طرح ها فراهم کنه. این ابزار فوق العاده ارزشمند به اثبات رسیده و به شرکت ها این امکان رو می ده تا طراحی رو به صورت سازگار در کل سازمان مقیاس بندی کنن (تصویر 4-5). برای ایجاد یک سیستم طراحی کارآمد، سازمان ها باید از نظر اون چیزی که پذیرفته شده لیبرال باشن: از طراحی، محتوا و کد گرفته تا استراتژی، نظرات و انتقادات ممکنه توسط تیم متنوعی از همکاران ارائه بشه. در مقابل، خروجی سیستم طراحی محافظه کارانه است: دستورالعمل ها، مولفه ها، الگوها و اصول همه باید روشن و هدفمند باشن.

شکل 5-4 سیستم های طراحی امکان طراحی و مقیاس بندی طراحی را در تعدادی از شرکت های معروف فراهم کرده است - در اینجا، از چپ به راست، تصاویر Carbon Design System با IBM، Lightning Design System با Salesforce و Polaris با Shopify

(منبع: IBM ، Salesforce ، Shopify ، 2020)

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

نکته های کلیدی

  • نسبت به هر یک از اقدام های مختلفی که کاربر می تونه انجام بده یا هر ورودی ای که ارائه می ده، همدل و انعطاف پذیر باشید و در مورد اون مدارا کنید.
  • با ارائه ی یه رابط قابل اطمینان و قابل دسترسی، تقریباً از نظر ورودی، دسترسی و قابلیت، هر چیزی رو پیش بینی کنید.
  • هر چقدر بتوانیم در طراحی پیش بینی و برنامه ریزی کنیم، طراحی قدرتمندتر و منعطف تر میشه.
  • ورودی متغیر رو از کاربرا بپذیرید، آن ورودی رو برای تأمین نیازهای خود ترجمه کنید، مرزهایی رو برای ورودی تعیین کنید و بازخورد واضحی به کاربر ارائه دهید.

شما هم مثالی از قانون پاستل بیارید. در مقاله بعد به قانون اوج- پایان می پردازیم.

از بهترین نوشته‌های کاربران سکان آکادمی در سکان پلاس


online-support-icon