אפילו שאני אמור ללמוד למבחן כרגע, ועוד מבחן על הבודהיזם בתחילת דרכו (קורס מומלץ ביותר), אינני מואר עדיין. אני מלא בבערות, שמובילה להאחזות, מחפש את ההנאה ודוחה את החובות.
קראתי כתבה מעניינת בנענע על מאפייני ממשק. לצערי זה נושא שמקבל התיחסות אפסית במהלך התואר במדעי המחשב שעשיתי, וחבל שכך. הבעיה העיקרית היא שאנשי טכנולוגיה לא רואים את משתמש הקצה ממטר. מבחינתם הם יגידו לו איך לעבוד, כאשר זה יהיה מן הסתם צמוד לצורת המימוש. מה, ברור שכולם חושבים כמו תכניתנים.
הבעיה היא שכמובן שלא. הייתי בבנק לפני איזה שבועיים (לא היתה לי ברירה, אי אפשר לבקש את שארית כספי הפיקדון הצבאי דרך האינטרנט). התקינו איזה מערכת חדשה לניהול תורים, שידרוג מכפתור ולוח נורות LED למערכת ממוחשבת ומסך LCD. היתה אישה שחיכתה לפקידה ספציפית, אז כשהגיעה המספר שלה על המסך הנוצץ, דילגו עליה כי הפקידה לא היתה פנויה.
כשסוף כל סוף הפקידה התפנתה, הסתבר שהיא לא יכולה לקבל אותה. ולמה אתם שואלים? כמובן בגלל שהמחשב דילג על המספר שלה. הוא לא מאפשר, המרושע הזה, להחזיר את התור אחורה מבחינה מספרית, כך שאמרו לגברת האומללה ללכת ולקחת מספר חדש. הם לא אמרו לה שהיא תצטרך לחכות עד לצירוף המקרים שבו היא תהיה הבאה בתור והפקידה הבאה שתתפנה, מתוך 5, תהיה בדיוק הפקידה שהיא מחכה לה. כמובן שבסוף הגיע איזה מנהל, הגברת התבכיינה, ובצדק אם אתם שואלים אותי, ובסוף הגיעה לפקידה המיוחלת.

ויהי פסנתר נופל
מה אפשר ללמוד מהסיפור הזה? קודם כל על התפיסה המיסטית-דטרמיניסטית שיש לאנשים לגבי טכנולוגיה, כולל האנשים שמפעילים אותה. המחשב דילג על המספר. זהו, חרב העולם, אין מה לעשות. זאוס הטיל את גזר הדין ואף בן אנוש לא יכול לערער עליו. אלה שלא מחונכים טכנולוגית רואים במחשב לפעמים כסוג של אלהים, כמשהו שאנחנו עפר ואפר לרגליו. אולי כשהסינגולריות תגיע זה יהיה נכון. עד אז המחשב הוא המקבילה המודרנית של הנבוט של האדם הקדמון, כלי עזר שאמור לבוא לשימושינו שבטח נחות מאיתנו מהמון בחינות (מחשבים לא יודעים למשל לזהות חפצים מתוך תמונות בצורה טובה, פעולה שילדים קטנים עושים בקלילות).
עוד מה שאפשר ללמוד מהסיפור זה על תכנון המערכת הלקוי. כל מה שלקח לי כדי להבין שלפעמים צריך להחזיר מהמוות מספר שתורו עבר, למשל כשהגברת הנושאת אותו מחכה לפקידה מסוימת, זה אשכרה לחכות בתור איזה חצי שעה. כנראה מבחינת המעצב של המערכת, תור זה מבנה הנתונים שלמד באוניברסיטה, ולא אנשים שיושבים ומחכים לקבל שירות.
בחזרה לנושא של הפוסט. כל החלקים באיזשהי טכנולוגיה מהווים חוליות קריטיות בשרשרת. אם האפליקציה שלך לא מהירה מספיק, היא תקבל שם רע, והמתחרה יאכל אותך. אם חסר איזה פיצ’ר חשוב, אף אחד לא ישתמש במוצר. אבל חוליה חזקה ביותר שאנשי טכנולוגיה נוטים להתעלם ממנה, וברוב טמטום אם אפשר לציין, זה הממשק.
לא משנה מה קורה מאחורי הקלעים למשתמש הקצה. אין לו מושג איזה אלגוריתמים ומבני נתונים מהפכניים רצים ברקע. כל מה שהוא רואה זה את הפרונט-אנד, את הממשק. ואם הממשק גרוע, כזה שלא ברור איך מבצעים בו פעולות, שקורים בו כל מיני מעשי וודו בלתי מוסברים (מדהים לאיזה מצבים מוזרים אבא שלי מגיע בתוכנת וורד), האפליקציה שלך שווה לתחת.

ממשק גרוע לדוגמה. ג’יזס!
מסקנה - מאוד חשוב להשקיע בממשק ולקחת מישהו שיודע לבנות אותו כמו שצריך. ממשק שמתאים למשתמש שלך, שיהיה לו פשוט, נוח, ואינטואיטיבי. אני לא מדבר פה בהכרח על גרפיקה מרהיבה, זה אולי פירורי שוקולד דקיקים על הקצפת. אני מדבר פה על המעבר בין מסכים, איפה ממוקמים פיצ’רים ואיך מפעילים אותם, כמה קליקים צריך כדי להגיע לאיזה אופציה, וכו’.
בסדנה לפיתוח תוכנה שעשיתי כרגע בסוף התואר (בקרוב פתיחת האתר לציבור הרחב!), עיצוב הממשק הסתמן כעניין מאוד חשוב. היינו מדברים על זה המון, מתווכחים לא מעט, וכשהיה למרצה הסדנה הערות הם נגעו בעיקר לממשק. מה שעצוב, זה שלא למדנו קודם לכן שום דבר בתואר שעזר לנו לאפיין את הממשק, לעומת ידע במבני נתונים, דטהבייסים, עקרונות תכנות, וכד’. אז בהחלט למדנו כמה דברים בסדנה ההיא לגבי עיצוב ממשק דרך הרגליים, ולדעתי הגענו לתוצאה לא רעה בכלל. אבל הפער הזה בין אנשי טכנולוגיה למשתמשי הקצה הוא פער גדול מדי בעת כתיבת שורות אלה ורע ביותר. מצד אחד ודאי שיש מספיק אנשים עם מחסומים פסיכולוגיים לגבי טכנולוגיה ודרכי הפעולה המסתוריות שלה, ככה שצריך לשפר את מערך החינוך הטכנולוגי להמונים וקצת להרגע. אבל מצד שני אנשי הטכנולוגיה צריכים להודות באשמה שהם יצרו תוכנות עם ממשקים מחורבנים וניכרו על ידי כך את רוב האוכלוסיה. ישופרו הממשקים לאלתר, יזרק הוורד לפח.
לסיכום, מאוד יפה לראות שאיפיון הממשק מתחיל לקבל את החשיבות הראויה לו ותופס תאוצה, במיוחד לאור חברות כמו אפל וגוגל שנראה שמשקיעות בזה לא מעט מחשבה ומגיעות לתוצאות מאוד יפות, ובטח אתרי ווב 2.0 הבנויים כהלכה. נראה שגם מיקרוסופט נכנסת לאט לאט לעניין. אפיון ממשקים זה נושא מאוד מסקרן שמשלב בין הרבה עולמות שונים - החל ממדעי המחשב, דרך עיצוב גרפי, פסיכולוגיה, מדעי המוח, סוציולוגיה, והיד עוד נטויה. זה דורש להבין, ומהר, את המשתמש ואיך לבנות עבורו אפליקציות מבלי לשלוח אותו לחינוך מחודש. הנה בחור שכנראה יודע על זה דבר או שניים. ואני? אני צריך ללכת לקרוא כמה סוטרות ולנקות את התודעה.