Deprecated: Creation of dynamic property CF\WordPress\DataStore::$logger is deprecated in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php on line 23

Deprecated: Creation of dynamic property CF\WordPress\Proxy::$pluginAPI is deprecated in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/Proxy.php on line 31

Deprecated: Creation of dynamic property SyntaxHighlighter::$brush_names is deprecated in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/syntaxhighlighter/syntaxhighlighter.php on line 248

Deprecated: Creation of dynamic property SyntaxHighlighter::$specialchars is deprecated in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/syntaxhighlighter/syntaxhighlighter.php on line 326
המכללה | ככה לא מכינים פיצה
Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

ככה לא מכינים פיצה

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

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

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

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

המסקנה – 2 תוספות לכל פיצה שהם בסה"כ 4 תוספות למבצע – מעבר לזה, תחויבו ב 10 שקלים לכל תוספת. אבל – אם תחליטו למקם 4 תוספות על פיצה אחת ולהזמין את הפיצה השניה בלי תוספות, תגלו שזה בלתי אפשרי. אתם תקבלו 2 תוספות בחינם ותוסיפו עוד 20 שקלים להזמנה על שתי תוספות נוספות.

החלפת סניף? נפל הסשן.

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

הודעות שלא אומרות דבר

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

איפה אתה גר?

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

רשומים? אז תרשמו.

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

טפסים, מידע ובדיקת קלט

מסך הרישום נראה די פשוט וטרוויאלי, תזינו את הפרטים ותלחצו על השלח. רק שכפתור השליחה, מסיבות לא ברורות – פשוט לא עובד. ההנחה, שהכפתור אחראי לבצע מספר אימותי קלט על השדות ופשוט מסיבה כזו או אחרת – נכשל. אם רק היה קופץ בשלב הזה איזשהו פופאפ שמכריז היכן התקלות ומה עלי לתקן, דיינו. אבל לא קפץ ואני פשוט לחצתי שוב ושוב על הכפתור בלי שום אינדיקציה שקורה משהו. אגב, אם כבר מגדירים כפתור, אפשר, רצוי וצריך להשתמש בתגיות ה css המיועדות למעבר עכבר (hover) וללחיצה (active). ככה המשתמש לפחות מקבל חיווי על העובדה שהוא לחץ (גם אם לא קורה כלום). אגב, תסמונת הכפתור שלא מחזיר פידבק מלווה את האתר לכל אורכו.

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

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

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

לסיכום

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

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

לדרג את הפוסט
0

Posted

in

,

by

Comments

תגובה אחת על “ככה לא מכינים פיצה”

  1. תמונת פרופיל של מאור ברזני

    לא שהזמנתי אי פעם מפיצה האט (פעם אחת ניסיתי ואמרו לי שיקח יותר משעה, אז ויתרתי), אך הפוסט עצמו מצוין.

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *


Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79