بهبود رابط های انسان و کامپیوتر – انجمن DEV

کپی رایت روی جلد متعلق به Fantasy Flight Games است
در حالت ایدهآل، بهعنوان متخصصانی که برای تکمیل کار خود با رایانهها تعامل میکنند، به حداقل رساندن اصطکاک بین افکار و جستجوی دادههای مناسب یا بهروزرسانی سوابق مناسب یا دسترسی به سیستم لازم باید یک هدف اصلی باشد. ذهنهای تخیلیتر ممکن است به تصویر ذهنی زیر برسند و فریاد بزنند که واقعیت مجازی راحت و مفید نمیتواند به این زودیها به دست بیاید.
تصویر توسط Urku 3DArt
این یک ایده عالی است، اما، اگر واقع بین باشیم، این یک راه دور است، و من اصطکاک زیادی در بازی می بینم که می تواند با تلاش متمرکز برطرف شود. نمایشگاه زیر را در نظر بگیرید:
این یک منظره معمولی است که من هر روز شاهد آن هستم، و گاهی اوقات نظری به شوخی برمیانگیزد، اما برای من، از فکر منطقه کار مجازی خود استرس دارم، جایی که بیشتر وقتم را صرف کمک به ساختن یک فضای مجازی میکنم. جای بهتر، به عنوان ژولیده بودن اینطور.
در بدترین حالت، اگر نتوانیم برگهها را ببینیم و به خاطر نیاوریم که برگه مورد نظر کجاست، بدترین نتیجه این است که مجبور باشیم تک تک برگهها را بررسی کنیم. این را در تعداد دفعاتی که برای تکمیل یک کار معمولی نیاز به تغییر رابط ها است ضرب کنید، ما در اینجا به زمان از دست رفته زیادی نگاه می کنیم. (برای شما علاقهمندان به پیچیدگی زمان، بدترین حالت هزینه زمانی xy است، که x تعداد تبهایی است که معمولاً باز میشوند و y تعداد دفعاتی است که کاربر باید به یک رابط دسترسی پیدا کند، 2 عدد معمولاً بزرگ، که هزینه آن مقدار چند جملهای است. زمانی که باید یک عملیات ثابت باشد)
به عنوان یک مهندس نرم افزار، من می خواهم وقت خود را صرف ساختن و ارائه نرم افزار کنم، نه اینکه با ابزارهای خود دست و پنجه نرم کنم.
چگونه این اتفاق افتاد؟
به عقب برگردیم، خاطره ای متمایز از مرورگر وب اپرا دارم که اولین مرورگر بزرگی بود که مرور زبانه ای را معرفی کرد. من نمیتوانم ادعا کنم که این اطلاعات دقیق است، اما از نظر تاریخی، مدت کوتاهی پس از شروع مرور زبانهها، همه مرورگرها آن را داشتند و مردم از آن استفاده کردند، زیرا این یک پیشرفت نسبت به طراحی موجود بود. متأسفانه، کاربر معمولی امروزی میتواند انتظار داشته باشد که چندین رابط وب را لمس کند، تعداد آنها برای یک کار واحد به دهها عدد برسد، و رویکرد مرور زبانهای دیگر پایدار نیست. تلاشهای نجیبانهای در قالب «برگههای گروهبندیشده» و دیگر ترفندها در حال انجام است، اما در نهایت، یک تغییر پارادایم برای مقابله صحیح با این موضوع مورد نیاز است. بیایید ببینیم که آیا می توانیم بهتر عمل کنیم!
فراتر فکر کردن
طبق عنوان، من نمیخواستم این وبلاگ را بهطور خاص به عنوان مقالهای در مورد کاستیهای مرورگرها بسازم، اما مشکل به طور کلی است. “چگونه اصطکاک بین مغز و سیستم کامپیوتری را از بین ببریم؟” با تفکر عمیق تر در مورد کامپیوتر، هدف اصلی آن در تعامل با انسان ها نشان دادن رابط های درخواستی به انسان است. چیزی که من واقعاً میخواهم روی آن تمرکز کنم، بهبود سفر از آغاز فکر در مغز تا رابط روی صفحه است. اغلب ذهن ها معمولاً به این نتیجه می رسند که یک کار خاص باید اتفاق بیفتد و یک ابزار (رابط) خاص کار را کامل می کند. به عنوان مثال از مکالمه ذهنی زیر استفاده کنید:
“من باید به گزارش های تولید نگاه کنم”
تنها تلاش ذهنی در اینجا باید این باشد که آن ایده را در یک نوع ورودی تجزیه کنیم که سپس می تواند برای واکشی رابط مناسب استفاده شود. شاید چیزی شبیه به
” سیاهههای مربوط > تولید”
با امکانات بیشتر برای رفع ابهام از قطعات تولید در صورت نیاز.
این سادگی مطمئناً وضعیت فعلی را که معمولاً چیزی در امتداد آن است، پیشی میگیرد
“من باید به گزارش های تولید نگاه کنم.
آیا این یک برنامه روی رایانه من نصب شده است یا یک برنامه وب؟
این یک برنامه وب است… خوب، اکنون باید مرورگر (راست) را پیدا کنم (اگر قبلاً باز است یا باید مرورگر جدیدی را باز کنم؟)
مرورگر از قبل در اینجا باز است و من 40 برگه باز دارم. باید از طریق این برگه ها جستجو کنید… در واقع، من فقط یک برگه جدید باز می کنم.
URL برای گزارش تولید چیست؟ من آن را در جایی در بوکمارک هایم ذخیره کرده ام… اکنون که به کتابخانه نشانک نگاه می کنم، این چگونه مرتب شده است؟ خوب، میدانم، در درخت دایرکتوریها برای رسیدن به نشانک مورد نظر پیمایش میکنم.
تب جدید باز شد، حالا باید این سایت را مرور کنم تا به رابط صحیح برسم تا مشکلم حل شود…”
و در ادامه و…
بهینه سازی UI-UX OS.
هدف من این است که سیستمهای عامل اول و مهمتر از همه برای میانجیگری بین نرمافزار رایانه و فلز زیربنایی طراحی شدهاند، و ثانیاً بهعنوان مجموعهای از رابطهای کاربری که تا حد امکان عمومی هستند، بهصورت IE طراحی شدهاند، نه برای اجرای کارآمد جریانهای کاری رایج. جریان های یک کاربر خاص رایانهها با سفر غنی و داستانی خود از کارتهای پانچ به برنامههای بومی مونتاژ شده تا برنامههای «کد بایتی» که در جعبههای مجازی اجرا میشوند، به برنامههای مرورگر و هر شاخه، جاده فرعی و خرابی در طول مسیر، همیشه در حال تکامل هستند. “قوانین جنگل” به جای هر چیزی که لزوما بهترین تجربه کاربر بود. آنچه من همچنین می خواهم پیشنهاد کنم این است که هر رابط و تعاملی می تواند و باید برای بهبود بررسی شود. به عنوان یک توسعه دهنده، من زمان زیادی را در یک ترمینال می گذرانم، و نه لزوماً با انتخاب، و من واقعاً دوست دارم به جای اینکه به «ساخت چیز» فکر کنم. ./gradlew -A -s -xsns 2048 10240 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' | egrep --line-buffered "^........(GET |HTTP\/|POST |HEAD )
راه حل های کاندیدا
همه ما سلیقه های متفاوتی خواهیم داشت و من می خواستم یک سکوی پرشی برای تفکر در مورد ماهیت این مشکل و راه های بهبود ایجاد کنم. من برخی از تکنیکهای زیر را که با آنها برخورد کردهام به اشتراک میگذارم که میتوانید از آنها یا به عنوان الهامبخش سلیقه و موقعیت خود استفاده کنید.
من برنامه Keyboard Maestro را قویترین سلاح موجود در زرادخانه من در Mac برای بهبود زحمات روزانه خود در ساخت رابطهای مورد نظرم یافتهام. این برنامه ای است که من از آن برای تبدیل رایانه خود به ابزاری بدون اصطکاک استفاده می کنم که مشکلاتی را که روزانه با آن مواجه می شوم حل می کند.
درخواست رابط مورد نظر
اکثر ارزشهایی که Keyboard Maestro ارائه میکند به شکل بارگیری رابط مناسبی است که من به آن نیاز دارم. پس از چندین بار تکرار، به راه حل زیر رسیدم. پس از فشار دادن یک کلید مشخص شده (من F1 را انتخاب کردم)، لیستی از گزینه ها برای انتخاب به کاربر نشان داده می شود. پس از ارائه، کاربر ممکن است روی انتخاب هدف کلیک کند (یا اغلب) انتخاب هدف را تایپ کند (زمانی که حروف کافی برای شناسایی واضح هدف ارسال شود، گزینه شلیک می شود).
خودشه.
هر رابطی که ممکن است به آن نیاز داشته باشم در درختی از کلمات ذخیره می شود. فقط باید نامی را که به آن اختصاص دادهام بدانم (با گزینه اضافه کردن گزینههای اضافی برای رسیدن به همان رابط)، آن را تایپ کنم و من در حال حاضر جایی هستم که میخواهم باشم.
ماساژ دادن رویکرد
خوب تقریبا این گزینه و وسوسه وجود دارد که رابطهای مختلف را در مجموعهها گروهبندی کنیم، سپس آن مجموعه را به کلیدها یا محرکهای مختلف متصل کنیم، اما متوجه شدم که جمع کردن همه چیز در یک گروه واحد، هزینه اضافی ناشی از تلاش برای به خاطر سپردن یا اختصاص دادن موارد خاص را کاهش میدهد. رابطها با گروههای خاص و بحثهای فلسفی داخلی ناشی از تصمیمگیری درباره نحوه گروهبندی آیتمها، چرایی گروهبندی آنها به این صورت، و چه کاری باید انجام شود زمانی که چیزی قرارداد را زیر پا میگذارد… به استثنای این که من رابطهای IDE-projects را به آن محدود کردهام. F5 و نمایشگرهای مخزن (معروف به پیوندهای عمیق Github به پروژه های مربوطه) به F8، و رابط با نرم افزار مدیریت پروژه (معروف به Jira) با F2 به دلیل فراوانی این فراخوانی ها.
زمان داستان! یک مثال
تجربه شخصی من بهعنوان یک مهندس نرمافزار مرا به این نتیجه میرساند که احتمالاً زمان بیشتری را صرف رفت و آمد با همکاران درباره الزامات داستان، جزئیات و بهروزرسانیها میکنم تا اینکه واقعاً آنها را پیادهسازی کنم. به این ترتیب، من کمی فکر و تلاش کرده ام تا اصطکاک برخورد با داستان های جیرا را از بین ببرم. در نتیجه، مثال خوبی از آنچه با استفاده از رویکردی مانند من امکان پذیر است را ارائه می دهد. Keyboard Maestro دارای رابطهای رابط کاربری گرافیکی قابل برنامهریزی است که من از آنها برای تسهیل دریافت اعلانها فقط برای آنچه کامپیوتر به آن نیاز دارد استفاده میکنم و اجازه میدهم اسکریپتنویسی با این کار مقابله کند. من چنین رابط کاربری گرافیکی دارم که برای All Things Jira استفاده میکنم، که وقتی وظیفهام میشود، رابط هدفی میشود که از آن استفاده میکنم. همانطور که قبلاً ذکر شد، میتوانم F1 را فشار دهم، سپس عبارت ‘s’-‘t’ را تایپ کنم یا فقط F2 را بزنم، زیرا به اندازه کافی معمول است که میتواند یک میانبر حتی سریعتر داشته باشد.
با فشردن F2، همانطور که در اینجا می بینید، مقدار پیش فرض 12345 ظاهر می شود. این شماره داستان فعلی من است. من میتوانم آن را با یک شماره دیگر بازنویسی کنم، در این مرحله شماره جدید به «شماره داستان فعلی» تبدیل میشود. این مقدار در سایر رابط های ماکرو نیز پر می شود.
“open in chrome” صفحه وب بلیط مورد نظر را باز می کند. این یک دکمه آبی است به این معنی که اگر “enter” فشار داده شود، گزینه پیش فرض است، بنابراین F2-enter جزئیات داستان فعلی من را نشان می دهد. فوق العاده راحت!
“Paste story url” نشانی اینترنتی داستان فعلی را در کلیپ بورد من قرار می دهد. این یک صرفه جویی در زمان است که من نیاز دارم همکارانم به داستان گفته شده نگاهی بیندازند.
«تنظیم داستان فعلی» شماره داستان فعلی را با یک «توضیح» پیوند میدهد و آن را برای همیشه در فرهنگ لغت تعبیهشده در استاد کیبورد به خاطر میآورد. اتصال یک «توضیح» به شماره داستان نیز بسیار راحت است، زیرا اغلب مراسم و تشریفات زیادی پیرامون نام شعب، پیامهای تعهد، توضیحات روابط عمومی و بلیطهای شعبده بازی وجود دارد. و توضیحات واقعاً برای گره زدن همه اینها با هم مفید است. این نمونهای از روشی است که برای توصیف بلیطها تنظیم کنید، سپس فراموش کنید و هرگز نگران شعبهها، بلیطها، توضیحات روابط عمومی و عدم هماهنگی تعهدات نباشید.
ابزارهای جایگزین
برای ملاحظات بیشتر، کلید داغ خودکار را برای ویندوز، مدیر برنامه افزودنی توبی، و تمرین اثبات زمان نوشتن اسکریپت های پوسته همیشه در دسترس است، توصیه می کنم.
نتیجه
نویسندگان تخیلی علمی تخیلی مفاهیم خارقالعادهای را برای توانمندسازی کیسههای گوشت برای دسترسی به فضای مجازی ارائه کردهاند. واقعیت کنونی هنوز کاملاً دور از ذهن است و بسیاری هنوز در قفسهایی محبوس شدهاند و به کلیدهای پلاستیکی نوک میزنند. با این حال، مقداری تلاش و تخیل میتواند اصطکاک و زحمتی را که بین ما و هنر ما وارد میشود کاهش دهد، و امیدواریم برخی از این ایدهها به نحوه طراحی و ارائه رابطهای کاربری اصلی به تودهها سرایت کند.