RSS לפוסטים RSS לתגובות 228 מאמרים ו- 1,989 תגובות עד כה מאז 2005

העצמת ממשק באמצעות AJAX

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

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

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

באמצעות AJAX ניתן ליישם את אותה גישה לאתרים מבוססי HTML והשמחה רבה. אני לא מתכוון לפתוח כאן עוד דיון טחון ומיותר של HTML מול Flash ומתכוון להתמקד בחווית השימוש הנטראלית לטכנולוגיה זו או אחרת. מבחינת שמישות מדובר ביכולת להעצים את התגובתיות של הממשק (Responsiveness) ובכך להעניק למשתמש יכולת קלה, נחה ומהירה יותר להגיע מנקודה א' לנקודה ב' וזה מה שכולנו רוצים להשיג כאשר אנו מדברים על ממשק שמיש. יישומים מבוססי AJAX צצים כפטריות לאחר הגשם כאשר Google בדרך כלל צועדים בראש עם המחנה עם פיתוחים חדשניים ומרתקים כמו Google maps ו-Google suggest המדגימים כיצד ממשק וובי יכול להגיב ולהשתנות בצורה השקופה למשתמש.

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

8 תגובות על “העצמת ממשק באמצעות AJAX”

  1. 16/11/2005 בשעה 8:00 רענן אבידור

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

  2. 16/11/2005 בשעה 9:18 אמיר דותן

    היי רענן,

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

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

  3. 16/11/2005 בשעה 12:23 שלומי גנץ

    אין עוררין על היתרונות בשימוש ב AJAX על HTML מבחינת פיתוח ממשקים, אולם קשה להתעלם מתחושת דז'ה וו . בסוף המאה הקודמת היתה היסטריה ל DHTML , כל אלמנט שזז על המסך נראה כמו פנטזיה רטובה למתכנת הווב הצעיר. ב 1999 הרצתי בוושינגטון על ממשקים מתקדמים , וכל שקופית לוותה בוואו … אווווו … וכו' … מה שיכול לדמות רק להתלהבות הראשונית מ animated gif כשזה התחיל לפרוץ לווב.
    למה אני משיב בסיפורי היסטוריה נוסטלגית?
    בכל המקרים הללו ההיסטריה נתקלה במציאות. AJAX עדיין נמצאת בשלב ה"פתרונות" , לדעתי עוד רחוקה הדרך מפונקציונליות דמויית פלאש, בייחוד עם FLEX 2 שיפתח חלון חדש לפיתוח פלאש.
    AJAX הוא פתרון שצמח בגלל שמקרומדיה לא השכילה לקחת את המומנטום שהיה לה בקהיליה הגרפית ולהעביר אותו לקהילית המתכנתים, רוב מתכנתי PHP JAVA ASP וכו' לא הראו עניין בסביבת הפיתוח של פלאש בגלל שהיא פשוט לא בנויה בשבילם.
    AJAX is here to stay והיא הצליחה בגלל שהיא פשוטה לשימוש על ידי בוני האתרים.

  4. 16/11/2005 בשעה 13:04 אמיר דותן

    היי שלומי :)

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

  5. 17/11/2005 בשעה 16:45 ירדן

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

    בשלב ההתבגרות, אנחנו נתחיל להיות חשיבה מתודית על השימושים ב AJAX, איפה הוא מועיל, והיכן הוא רק מכביד. AJAX הוא כלי נפלא למפתחי אתרים, אבל רק אם ישתמשו בו בתבונה. (והיום הטמעתי את ישומון ה AJAX הראשון שלי באתר. היפ היפ הוריי!)

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

    יש ישומים כמו basecamp שעמוסים ב AJAX, אבל הם כל כך אינטואיטיבים והAJAX משולב בהם כל כך טוב, שאתה לא מבין איך היה אפשר בלי זה קודם (ובאמת לא היה אפשר)

  6. 17/11/2005 בשעה 21:57 בועז חן

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

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

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

    2. זהירות, תאימות לאחור (ולצדדים) – כמו בכל מהפכה, חשוב לא לאבד את הרמה שנוצרה עד כה. שימוש לא זהיר מאבד לא רק את הנגישות שהוזכרה קודם אלא גם יכול לפגוע בהרבה עקרונות שימושיות בסיסיים: שליטת המשתמש, התמצאות, מניעת שגיאות וכד'. באפיון web רגיל כבר התרגלנו לעבוד בתקנים ולא לחשוב בכלל על bookmarking, back, refresh, multli window browsing וכד'. בשימוש ב-AJAX אפשר בקלות לחזור לימי הביניים אם לא שמים לב.

    2. קשר עם המפתחים – כדי לפתח ישום AJAX טוב נדרש קשר שונה עם המפתחים. אי אפשר לזרוק להם את הסקיצה הגרפית עם design guide שמסביר מה קורה ב-mouse over, משתי סיבות:
    א. צריך להתיחס באופן מובנה למימד הזמן (מה קורה תוך כדי מה) ולאינטראקציה בתוך הדף, עד לרמה של ניתוח מערכת (למשל מה קורה בשגיאות קלט ופלט ובתקלות תקשורת).
    ב. צריך להתיחס לתיבת הפנדורה ש-AJAX מביא אותו בנושא ביצועים, אבטחה, שמירת פרטיות, שלמות נתונים וכד'. AJAX הוא לא animated gif, הוא משנה באופן מהותי את הקשר בין ה-client ל-server ומשנה את המבנה הבסיסי של הרשת. אסור להתעלם מזה.

    בקיצור – AJAX הוא אכן דרך חדשה ומרגשת, אבל מי שרק מתחיל צריך להזהר מהבורות.

  7. 17/11/2005 בשעה 21:59 בועז חן

    סליחה על טעויות הכתיב. זה השעה…

  8. 17/11/2005 בשעה 22:34 אמיר דותן

    היי בועז. תודה על התגובה המפורטת. בהחלט חומר למחשבה. גם בשעה מאוחרת זו :)

RSS לתגובות לפוסט זה

הוספת תגובה