תקציר מנהלים: רוצו לקנות.
Web Form Design הוא לא ספר פילוסופי; לא תמצאו בו שאלות ברומו של עולם שיעוררו בכם מחשבות מעמיקות. לעומת זאת תקבלו 215 עמודים עמוסים ברעיונות על יצירה של טפסים שמישים, כאלה שיביאו הרבה יותר אנשים לקו הסיום ולשליחת הטופס. אם אתם צריכים לאסוף מידע וליצור אינטראקציה עם משתמשים ברשת, זה בדיוק הספר שאתם צריכים. זהו מדריך מעשי ויסודי לתכנון ועיצוב טפסים, ספר חובה לכל מי שעוסק בטפסים מקוונים.
אם עוד לא הכרתם את Luke Wroblewski, הוא "איש הטפסים" ברשת. יש לו נסיון עשיר בתחום, בענקיות רשת כמו "Yahoo" ו"eBay", שם מילא תפקידים מרכזיים בתכנון חוויית המשתמש. התבססתי על הרצאה מצויינת שלו בסדרת הפוסטים שלי על עיצוב טפסים ("איך מעצבים טפסים"). הספר שלו מרחיב את ההרצאה הזו, ומוסיף שפע של מידע, תוצאות ממחקרים ובעיקר עושה סדר בנושא האפור והסבוך הזה – טפסים.
אם לא הצלחתם או הספקתם להצביע בסקר הקוראים של פשוט.שימושי, אתם מוזמנים לעשות את זה עכשיו. אם כבר הצבעתם – תודה רבה!
טפסים ברשת – לא מה שחשבתם
טוב, אולי הם דווקא כן מה שחשבתם… אבל צריך כותרת שיווקית, לא?
כל מי שתכנן, עיצב או תכנת אי-פעם טופס יוכל להזדהות עם ההתלבטויות שנתקלתי בהן שוב ושוב לפני ששמעתי את ההסברים של לוּק רובלוסקי: מה עדיף, ליישר את התוויות בטופס לימין או לשמאל? אולי מעל השדה? את כפתור ה"ביטול" או ה"חזרה" צריך לעצב כמו כפתור ה"אישור" או ה"המשך"? אולי עדיף להבדיל ביניהם?
כן, אני יודע, למי שלא מתכנן טפסים אלה נשמעות כמו יבבות מהסוג של "קצרים": "אוי אוי אוי, אני לא יודע איך ליישר את הטופס! המשתמשים שלי לא ימלאו אותו! אוי אוי אוי". היבבות האלה הופכות להיות עסק רציני מאוד ($$$), אם מדובר בטופס לאיסוף פרטים של לקוחות פוטנציאליים ("לידים" – leads) או אפילו יותר מזה, אם זה טופס להכנסת פרטי אשראי באתר למסחר אלקטרוני (eCommerce).
נסו לדמיין רגע אתר ללא טפסים. כנראה דמיינתם את צד הקוראים באתר תוכן, או איזה אתר אינטרנט מיושן. לכל אתר, כמעט, יש טפסים – מהפשוטים ביותר, ליצירת קשר, ועד למורכבים ביותר, לרכישה של בית למשל.
קל לעיכול
אני יודע שזה קשה להאמין, בכל-זאת טפסים, אבל הספר קריא, ברור ומעניין. לוּק מצליח להעביר את הנושא מצויין, ובלי לגרום לקורא להירדם תוך כדי. לפחות לא לי :-) הדוגמאות בו מצויינות; חלקן לקוחות מאתרים ברשת, ואת חלקן הוא בנה בעצמו עבור הספר.
בספר מוצגים שלושה מחקרים מעניינים על טפסים, שהכותב יזם או היה מעורב בהם. האחד על יישור תוויות בטפסים וההשפעה שלו על זמני מילוי הטופס. השני עסק במיקום ועיצוב כפתורי הפעולה ("שלח" ושות') בטופס, איזה מהם הוא הברור ביותר והמספק ביותר עבור המשתמשים. השלישי עסק בדרך הטובה ביותר להצגה והסתרה של שדות שתלויים בשדות אחרים – למשל כשרוצים להציג את הכתובת למשלוח רק כשסוג המשלוח שנבחר הוא "שליח" או "דואר רשום", ולא כשהוא "איסוף מהחנות".
בספר שזורים גם כמה מאמרים מעניינים של כותבים אחרים, כמובן בהקשר של הפרק שבו הם מופיעים.
כמה מסרים מרכזיים מהספר
- אל תבקשו בטופס מידע שלא נחוץ לכם.אם זה לא שדה חובה, יש סיכוי טוב שאפשר בכלל להסיר אותו. ככל שיש פחות שדות בטופס, יותר אנשים ימלאו אותו עד הסוף.
- נסו לוותר על טפסים ארוכים, ובמקום זה ליצור מחוייבות הדרגתית (Gradual Engagement). תנו למשתמשים קודם כל להתנסות במוצר, למשל כמו במוצר החדש לאיפיון ממשק mockingbird, ורק כשאתם ממש חייבים, בקשו מהם פרטים מזהים ואחרים. אחרי שהם ישקיעו עבודה באתר הם ירגישו הרבה יותר בנוח למסור לכם את האימייל שלהם, להגדיר סיסמא, ולספק פרטים נוספים. Geni זו דוגמא מצויינת נוספת, הוא נותן אותה גם בספר.
- אם אין ברירה ואתם חייבים לאסוף הרבה מידע, חלקו את הטופס הארוך לחלקים קטנים ותנו למשתמש "אופק מדיני". אם אתם חייבים לשאול הרבה שאלות, חלקו את הטופס לכמה עמודים או לכמה קבוצות ברורות, ותוודאו שברור בכל שלב כמה עוד נשאר למלא. תהיו נאמנים לרשימת השלבים שאתם מציגים למשתמש: אם יש 4 שלבים במילוי הטופס, אל תציגו ברשימת השלבים 3 – זה רק ייצור משתמשים כעוסים.
- תנו משוב מהיר ככל האפשר על טעויות. למשל, אם אתם יודעים ששם המשתמש שנבחר תפוס כבר, תנסו לתת למשתמש התראה מיד אחרי שהוא בחר אותו. כמובן שרצוי לא לתת משוב כזה אחרי כל הקלדה של אות, אלא רק אחרי שברור שהמשתמש סיים, למשל כשהוא עבר לשדה הבא.
המבנה של הספר
הספר מורכב מ-14 פרקים ב-3 קבוצות. כל אחד מהפרקים עוסק בנושא שונה. לאחר הדיון בפרק, מופיע סיכום של הפרק בצורה של המלצות מעשיות, best practices – ממש "גזוֹר ושמוֹר".
הנה הכותרות של הפרקים ותמצית התוכן, לפי הקבוצות בהם הם מוצגים בספר. למי שלא מכיר, ב"שדות" הכוונה לכל הרכיבים בטפסים שמכניסים דרכם מידע: קופסת טקסט (textbox), תיבת לסימון (checkbox), כפתורי רדיו (radio buttons), רשימה נפתחת (dropdown או combo box), סליידר (slider) וחבריהם.
מבנה טפסים
- עיצוב טפסים: עקרונות מנחים והחשיבות של עיצוב טפסים.
- ארגון טפסים: ארגון השדות בקבוצות, שימוש בשפה ליצירת דיאלוג.
- מסלול לסיום: יצירת מסלול ברור לסיום הטופס (כיוון זרימה), הצגת מצב והתקדמות, שימוש במקלדת (טאב).
מרכיבי הטופס
- תוויות: יישור תוויות, תוויות בתוך שדות.
- שדות קלט: סוגי פקדים (controls) לשדות קלט, אורכי שדות, שדות חובה, שדות קלט גמישים.
- פעולות: פעולות ראשיות ומשניות, מיקום כפתורי פעולה, פעולות מתמשכות.
- עזרה: מתי להציג עזרה, סוגי עזרה שונים.
- שגיאות והצלחות: איך להציג אותם, לאפשר מסלול המשך.
אינטראקציה בטופס
- בדיקות תקינות פנימיות
- שדות קלט מיותרים: תסירו אותם! והמלצות לטיפול באלה שנשארו.
- קלט נוסף: טכניקות להסתרה של חלקים מהטופס.
- שדות עם תלות הדדית: גילויי המחקר שהכותב ביצע למציאת הדרך הטובה ביותר להצגה/הסתרה של חלקים מהטופס, שמוצגים כתלות בבחירות של המשתמש.
- מחוייבות הדרגתית (Gradual Engagement): על התהליך העדין של איסוף מידע ממשתמשים חדשים במוצר או באתר.
- מה הלאה? שני רעיונות קצרים על טפסים דינאמיים, וקצת (ממש קצת9 על ה-HTML שמאחורי הטפסים.
כל הדוגמאות מהספר – ברשת
כל צילומי המסך שמוצגים בספר נמצאים גם ברשת ואפשר להסתכל עליהם כמה שרוצים.
איפה לקנות?
אפשר לקנות את הספר גם בגירסה דיגיטלית (PDF ללא הגבלת העתקה DRM), וגם בגירסה מודפסת – ממש ספר. הספר כולל גם את הגירסה הדיגיטלית בחינם. כלומר אפשר לקנות הספר, ולהתחיל לקרוא אותו ב-PDF עד שהספר מגיע.
אי אפשר להזמין את הספר מאמזון לישראל, אבל אפשר ישירות מההוצאה לאור.
אתם עוד פה? :-)
נשמע מעניין, אם כי התגובה הראשונה שקיבלתי כשהראתי את הפוסט לחברה טובה היתה :
"לא הייתי מחזיקה ממישהו שבנה את הטפסים של yahoo! וebay כאשף הטפסים שבזכותו יבואו הרבה יותר אנשים לקו הסיום ולשליחת הטופס. גם הטפסים שלהם היו מאד מאד לא ידידותיים (לא שעכשיו הם נס ודגל לשמישות) אנשים היו מתאמצים למלא אותם"
אני מודה – לא רצתי לחקור ולגלות בעצמי, את yahoo אני מתעב ואין לי מה לחפש שם (הכל מבולגן לי נורא) והפעם האחרונה שביקרתי בebay היתה אומנם אתמול, אבל לא ביצעתי שם רכישה או רישום ולא ממש מושך אותי לעשות את זה
בכל מקרה, אני חושב שכבר אמרתי שיותר קל לייעץ מאשר לבצע
תיאוריות זה נחמד, המציאות בדרך כלל מכתיבה אחרת, סתם לדוגמא (מתוך מה שאתה כתבת)
משוב מהיר על טעויות – סתם לדוגמא, ואני יודע שאני נטפל לזוטות, אותי באופן אישי ירגיז מאוד לקבל חיווי אחרי שעזבתי שדה מסוים (onblur למבינים JS), אני כבר לא שם, כדי לחזור אני צריך להזיז את העכבר או לשלב את הכפתורים shift+tab בשביל לחזור לאחור (למי שלא ידע – הנה טיפ)
לעומת זאת, את הserver ירגיז מאוד אם אני כמתכנת אשלח לו בקשת ajax על כל תו שהוקלד, וגם אז, באינטרנט אקספלורר למשל לא ניתן לקבל חיווי על backspace (יכול להיות שomri111 תפוס אבל omri11 לא, ואז לא יהיה לי חיווי)
בקיצור, אילוצים יש המון, פתרונות? לא תמיד
בכל אופן, אחלה פוסט, אתה משתבח, או לפחות שומר על הרמה :-)
אהלן עמרי, תודה על המשוב!
בקשר למה שאמרה החברה, אתה יודע – הרבה אנשים עובדים בענק כמו יאהו או eBay. זה לא שהוא עשה את הכל. השינויים שהוא הכניס ב-eBay, קיצור טופס ההרשמה ועוד, הכפילו פי כמה את מספר הנרשמים. בראש מהדהד פי 5, אבל אין לי סימוכין לזה. גם הדוגמאות שהוא הראה בהרצאה שלו מההרשמה ליאהו (תציץ בפוסטים של "איך מעצבים טפסים", יש שם קישור לוידאו) הן מצויינות. שוב, לא הכל שלו.
לא יכולתי להסביר את כל הפרטים של הפתרונות שהוא מציע. לשאלתך, לתת שגיאה OnBlur יכול להיות מעצבן, אבל פחות מאשר ב-postback כשיצאת לגמרי מההקשר שאתה נמצא בו (הכוונה ב-postback היא ללחוץ על כפתור ה"שלח" בטופס, ולקבל דף חדש עם שגיאה).
פתרון שהוא מראה בהרצאה ומתאר בספר מדבר על המתנה של שניה או שתיים אחרי כל הקשה, ואם לא נעשה כלום בזמן הזה, גם בלי OnBlur, לתת התראה. לא רציתי להכנס לכל הפרטים בפוסט, באמת שיש לו רעיונות טובים בעניין, ואני ממליץ לקרוא את מה שיש לו להגיד.
זה נכון שיש הרבה אילוצים בתכנון של אתר בכלל וטפסים בפרט, אבל בספר הוא דווקא מתייחס לאילוצים האלה, למשל דרישות הביזנס לעומת דרישות השמישות, ונותן גם פתרונות וטיפים מעשיים. אני מאוד ממליץ.
אני לא בא נגדו או נגד דיעותיו
אני מדבר בגדול על אותם דברים שמאלצים מעצבים מתכנתים ואפילו מנהלי מוצר ליצור טפסים פחות שמישים
למשל, דוגמא שלא הזכרת (ואני כולי תקווה שלוק מזכיר בספר) – CAPTCHA – הרי ברור לכולם שהפונקציה הזו חיונית מצד אחד (ומי שלא יודע, כנראה לא מחזיק אתר עם טופס ליצירת קשר), אך מצד שני – אין יותר מציקה ממנה למשתמש
1000 בעיות יכולות לקרות בדרך: מקוד לא ברור, ועד לtimeout שפג תוקפו ויש עוד המון בדרך
אבל צריך להעיק על המשתמש
או סיסמה כפולה, כי אחרת המשתמש עלול לשכוח (האמת היא שזו סיבה מטומטמת ואני מת שמישהו כבר יחדיר את זה למליוני אתרים לראש: לא צריך להכניס סיסמה כפולה, וגם לא דוא"ל כפול!!)
וכמובן, אם כבר הזכרנו את מנהל המוצר אז צריך לפתח מהר ואין זמן לבדיקות QA וכו'…
אז שוב אני אומר, להיות יועץ זה קל
תיאוריות זה דבר נחמד
אבל אחרי הכל – יש גם את המציאות
הדברים שאתה אומר מובנים, ומוכרים היטב לכל מי שעבד אי-פעם באיזשהו פרוייקט. פרוייקטי תוכנה (ואתרים הם מן הסתם כאלה) הם לא שונים במובן הזה מכל פרוייקט אחר.
להיות יועץ זה ממש לא קל :-) אבל במובן הזה של פשרות, זה יותר קל להיות יועץ מאשר חלק מצוות שעובד איתו באופן שוטף; יש לי נסיון גם בזה וגם בזה. יחד עם זאת, בלי להכיר את התיאוריות שאתה מתייחס אליהן, קשה לדעת איזה פשרות אפשר לעשות ואיזה לא. אי אפשר לדעת מה משפיע על מה. כשיש לך ידע מבוסס, אתה יכול לעשות ויתורים מושכלים יותר.
לגבי סיסמא כפולה ודוא"ל כפול, מסכים איתך לגמרי. בטוויטר כבר הבינו את זה. אם תציץ פה כמה פוסטים אחורה, נילסן ממליץ גם לא להסתיר את הסיסמא. אני בעד, ומנסה לדחוף בכיוון הזה באתרים שאני שותף לתכנון שלהם.
לגבי Captcha, היא הרבה יותר ממציקה למשתמש, היא מוקש נוראי בנגישות. תאר לעצמך כבד ראיה או סתם מישהו מבוגר שלא מבין מה זה ולא מצליח לקרוא את זה. יותר גרוע מזה – עיוורים שמנסים להשתמש ב-Captcha באודיו. אני שומע מצויין ולא הצלחתי להבין את זה של ג'ימייל. רק אחרי 10 ניסיונות ויותר הצלחתי לפענח את מה שהם אומרים, וגם זה לא בכל פעם. לכן לא הייתי ממליץ לשים Captcha אלא במקום שסובל ממצוקה אמיתית של ספאם-בוטים. וגם אם שמים, אפשר לשים כאלה פשוטים, כמו כאלה ששואלים שאלות טריוויאליות אקראיות במתמטיקה (1+1=?), כאלה שלבוט ממוצע יש פחות סיכוי לטפל בהן בהצלחה. בספר, אגב, לוק לא מתעסק ב-Captcha ואתה צודק, זה אכן ראוי להתייחסות בספר כזה.
נקודה רעה ללוק אם כך, או לספרו, captcha זה באמת אחד המוקשים, ואולי יהיה נחמד אם תקדיש איזשהו פוסט לנושא
ואם כבר הגענו לכאן, אני חייב לומר ששאלות מתמטיות לטעמי לא מספיק טובות מכיוון שבוטים מתוחכמים כן יכולים להם, ראיתי פעם אתר ששאל שאלות כמו "כמה רגליים יש לשולחן שנשברה לו רגל אחת?" – שאלות כאלה נגישות יותר לכבדי ראייה וקשה לי להאמין שימצא בוט שיוכל להם
לא ראיתי כזה, רעיון מגניב! ניתוח שפה טבעית זה משהו שדורש הרבה יותר ממה שמתכנת בוט ממוצע מוכן להשקיע, וזה understatement ענקי…
אפשר גם לשאול חידות טפשיות כמו "כמה זמן לוקח לצב להגיע הביתה" :-)
בהחלט נושא ראוי לפוסט, אני תמיד שמח לרעיונות, אתה מוזמן להציע עוד.