Joel on Software

Joel on Software   יואל על תוכנה

 

מאמרים שתורגמו לעברית

גרסה אנגלית

כתבו למחבר

 

ממשק משתמש למתכנתים


מאת יואל ספולסקי
תרגום: חנן כהן
עריכה: חן שפירא
9.8.2000

למה הם מצפים?

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

הנה דוגמה: ב Word, כששותלים תמונה במסמך, התמונה הופכת להיות חלק מהקובץ. לעומת זאת, בדפי HTML התמונה קיימת כקובץ נפרד. אם ניתן למשתמש חדש לערוך דף HTML על ידי עורך ויזואלי, הכרתו הקודמת של תוכנות עיבוד תמלילים תגרום לו לחשוב שהתמונה היא חלק מדף ה HTML. כשהוא יעתיק את דף ה HTML למקום אחר הוא לא יחשוב שיש צורך להעתיק גם את התמונה. הנה קונפליקט בין התמונה המנטאלית של המשתמש ובין ה"חוק" של התוכנה. אם נבין את התמונה המנטאלית של המשתמש החדש כשהוא מגיע לעורך HTML, נוכל לנסות לגשר בין הציפיות המוקדמות שלו ובין ה"חוק" של פורמאט ה HTML. נוכל לנסות להחליק את הקונפליקט הקיים בסיטואציה הבסיסית על ידי מתן כלים שהם תוצאה של הבנת הקונפליקט. אסור ש"החלקת" הקונפליקט בין תמונות מנטאליות תתבצע על ידי הודעות למשתמש. הפתרון צריך להיות בתשתית התוכנה.

להתנהג כמו מיקרוסופט

 רוב המשתמשים של התוכנות שלנו מכירים לפחות את Word ולפעמים גם את Excel. המטרה שלנו היא לגרום להם להתחיל להשתמש בתוכנה שלנו בצורה החלקה ביותר האפשרית. לכן, עדיף לא לנסות להמציא כללים חדשים של ממשק משתמש. הצורה הטובה ביותר לעזור למשתמשים שלנו היא "להתנהג כמו מיקרוסופט". כך נוכל להתאים את התוכנה שלנו לתמונה המנטאלית שאיתה מגיעים לתוכנה שלנו רוב המשתמשים. יכול להיות שאנחנו לא מסכימים עם ההחלטות שהתקבלו במיקרוסופט לגבי ממשק המשתמש, אבל זו היא מלחמה אבודה. אין הכוונה "ללקק" למיקרוסופט. למיקרוסופט לא איכפת מאיתנות אבל לנו איכפת מהמשתמשים שלנו ורצוי שנתחשב בהרגלים שלהם. העתקה ממיקרוסופט גם תעזור לנו להשלים את התוכנה מהר יותר, מכיוון שנוכל להשתמש בספריות הגרפיות של מיקרוסופט. קשה מאד להמציא את הגלגל מחדש ולעשות את זה טוב. יותר פשוט להעתיק גלגל קיים.

משתמשים לא קוראים כלום

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

משתמשים לפעמים קוראים

כשמשתמשים רצו לצאת מתוכנה שאני מכיר, קפץ חלון דיאלוג ובו היה כתוב "האם אתה בטוח לחלוטין שאתה רוצה לצאת?". ניסוח השאלה עורר אצל חלק מהמהשתמשים תחושה שהתוכנה נוזפת בהם ולכן הם מיהרו ולחצו "לא", והופתעו לגלות שהם לא יצאו מהתוכנה.

משתמשים לא שולטים טוב בעכבר

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


זה רק סיכום קצר של ספר שלם שכתבתי על ממשקי משתמש. הספר השלם מופיע באנגלית כאן. יש גם ספר מודפס ערוך יותר. אני מחפש מתנדבים קוראי אנגלית לתרגם את שאר הספר. אנא כתבו לי אם תרצו להתנדב לתרגם פרק או שניים, תודה!



מאמר זה הופיע לראשונה באנגלית בשם User Interface Design for Programmers  

יואל ספולסקי ייסד את Fog Creek Software, בית תוכנה קטן בניו יורק. במשך שירותו הצבאי (בנח"ל מוצנח) היה בין מייסדי קיבוץ חנתון שבגליל. לאחר לימודים באוניברסיטת ייל, עבד בתור מתכנת ומנהל ב-Viacom, Microsoft, ו-Juno.


אלה דעות של בן אדם אחד ותו לא.
© 1999-2005 Joel Spolsky. כל הזכויות שמורות.

FogBUGZ | CityDesk | Fog Creek Software | Joel Spolsky