SlideShare une entreprise Scribd logo
1  sur  84
Télécharger pour lire hors ligne
‫‪Mobile Web Application Best‬‬
‫‪Practices‬‬
                 ‫אייל סלע‬
   ‫מנהל פרויקטים, איגוד האינטרנט הישראלי‬
          ‫ומשרד ה-‪ W3C‬הישראלי‬
             ‫‪www.w3.org/TR/mwabp‬‬
                                           ‫1‬
j.mp/w3cdoc
              www.w3.org/TR/mwabp
                                    2
...‫תוכנית‬

         W3C‫מבוא - איגוד האינטרנט הישראלי ו‬
mobile web applications best practices-‫אודות ה‬
                            The Best practices




              www.w3.org/TR/mwabp
                                            3
‫איגוד האינטרנט הישראלי‬
                     ‫• שלוחת האיגוד הבינלאומי:‬
                        ‫• עמותה ללא מטרת רווח‬

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


              ‫/‪www.w3.org/TR/mwabp‬‬

              ‫‪www.w3c.org.il‬‬
                       ‫4‬
‫‪W3C‬‬
                            ‫ארגון בינלאומי‬     ‫•‬
                           ‫כ-053 ארגונים‬       ‫•‬
  ‫פורום ניטראלי ליצירת תקני רשת באינטרנט.‬      ‫•‬
                                  ‫משימה:‬       ‫•‬
‫להוביל את הרשת למיצוי הפוטנציאל על ידי פיתוח‬
‫פרוטוקולים וקווים מנחים שיאפשרו את צמיחתה‬
                                ‫לטווח ארוך.‬

              ‫‪www.w3.org/TR/mwabp‬‬
                                               ‫5‬
‫‪ W3C‬השנה‬
           ‫סידרת מפגשים למפתחים‬
                        ‫קבוצות עניין‬
                    ‫פיתוח אפליקציה‬
             ‫סדנאות תגובה למומחים‬
          ‫הרצאות אורח (שלנו, שלכם)‬
       ‫תמיכה בפעילות קבוצות/קהילות‬
        ‫שילוב מומחים בקבוצות עבודה‬


‫)‬             ‫(‬
    ‫‪www.w3.org/TR/mwabp‬‬
                               ‫עוד...‬



                                        ‫6‬
Mobile Web -‫אודות ה‬
 Application Best
    Practices

     www.w3.org/TR/mwabp
                           7
‫מסמך קווים מנחים של ה-‪.W3C‬‬
‫מגדיר 53 שיטות לשיפור חווית המשתמש‬
     ‫באפליקציות ווב למכשירים ניידים‬




      ‫‪www.w3.org/TR/mwabp‬‬
                                  ‫8‬
Candidate recomendation ‫המסמך נמצא בשלב‬



              You are
               here




j.mp/w3crec
                        www.w3.org/TR/mwabp
                                              9
‫הגישו דיווח יישום...‬
                                               ‫למה לכם?‬
              ‫- כי חייבים להציג יישום בכדי שזה יהפוך לתקן‬
                ‫- כי האפליקציה שלכם תופיע בדוח היישומים‬
                 ‫- כי אני אכתוב על זה באתר ‪W3C‬הישראלי‬




               ‫‪www.w3.org/TR/mwabp‬‬
‫1‪j.mp/w3cmo‬‬
                                                      ‫01‬
public-bpwg-comments@w3.org




j.mp/w3cmobp
           www.w3.org/TR/mwabp
                                                 11
‫דיווח יישום...‬
                       ‫מי יכול להגיש?‬
               ‫- כל מי שפיתח אפליקציה‬
‫- וישים חלק מהשיטות במסמך (גם בדיעבד)‬




        ‫‪www.w3.org/TR/mwabp‬‬
                                      ‫21‬
?‫מה מיישמים‬


 www.w3.org/TR/mwabp
                       13
‫על מה אנחנו‬
   ‫מדברים?‬

‫‪www.w3.org/TR/mwabp‬‬
                      ‫41‬
Web Application
Web page(s) that provide an "application-like" experience
within a Web browser.




                      www.w3.org/TR/mwabp
                                                            15
validator.w3.org/mobile/   bit.ly/w3cmbp

                                             )BP1(   ‫הבדל מאתר רגיל‬
    include locally executable elements of interactivity and
    persistent state.
                                                                    :‫למשל‬




nextbus.com/webkit/          app.clichespotting.com     m.jobscentral.com.sg

                               www.w3.org/TR/mwabp
                                                                          16
nextbus.com/webkit/


                                     + User Agent Switcher
               www.w3.org/TR/mwabp
j.mp/w3cmo1
                                                   17
touchsolitaire.mobi/app



j.mp/w3cmo15      www.w3.org/TR/mwabp
app.clichespotting.com




app.clichespotting.com   www.w3.org/TR/mwabp
                                               19
m.jobscentral.com.sg




m.jobscentral.com.sg    www.w3.org/TR/mwabp
                                              20
Sencha touch (!!)




                http://www.sencha.com/


j.mp/w3cmo6      www.w3.org/TR/mwabp
‫מגבלות והבדלים – מכשירים ניידים לעומת שולחניים‬

                                        ‫• תצוגה‬
                                    ‫• הזנת תוכן‬
                                ‫• רוחב פס ועלות‬
                              ‫• מטרות המשתמש‬
                               ‫• מגבלות המכשיר‬



‫‪bit.ly/w3cmbp‬‬
                ‫/‪www.w3.org/TR/mwabp‬‬

 ‫22‬
                ‫‪www.w3c.org.il‬‬
Best practices



        www.w3.org/TR/mwabp/

23
        www.w3c.org.il
‫(3)‬   ‫נתוני האפליקציה‬    ‫1.‬
                  ‫ביטחון מידע ופרטיות (1)‬     ‫2.‬
‫יידוע המשתמש ושליטתו באפליקציה (4)‬            ‫3.‬
             ‫שימוש מוגבל במשאבים (11)‬         ‫4.‬
                         ‫חווית משתמש (01)‬     ‫5.‬
        ‫התאמה ל-‪)5( Delivery Context‬‬          ‫6.‬
                        ‫שיקולים נוספים (1)‬    ‫7.‬
                ‫(סה"כ 53)‬
      ‫‪www.w3.org/TR/mwabp‬‬
                                         ‫42‬
‫(3)‬   ‫1. נתוני האפליקציה‬
                ‫(1)‬  ‫ביטחון מידע ופרטיות‬     ‫2.‬
‫יידוע המשתמש ושליטתו באפליקציה (4)‬           ‫3.‬
             ‫שימוש מוגבל במשאבים (11)‬        ‫4.‬
                        ‫חווית משתמש (01)‬     ‫5.‬
        ‫התאמה ל-‪)5( Delivery Context‬‬         ‫6.‬
                       ‫שיקולים נוספים (1)‬    ‫7.‬

      ‫‪www.w3.org/TR/mwabp‬‬
                                        ‫52‬
‫השתמשו בטכנולוגיות ושיטות מתאימות לאחסון‬
                          ‫נתוני האפליקציה‬




            ‫‪www.w3.org/TR/mwabp‬‬
                                       ‫62‬
‫1. המעיטו את השימוש בעוגיות‬
                                   ‫מה?‬
                  ‫נשלחות לשרת בכל בקשה‬
               ‫יתכן ולא יהיה פעילות במכשיר‬


                                  ‫איך?‬

          ‫בנו אפליקציה פעילה גם ללא עוגיות‬
                 ‫(למשל עם ‪)URI decoration‬‬
                                             ‫‪Image by: D Sharon Pruitt‬‬



‫‪1. Use Cookies Sparingly‬‬
                            ‫‪www.w3.org/TR/mwabp‬‬
                                                                         ‫72‬
‫2. השתמשו בטכנולוגיות המתאימות לאחסון מידע בצד הלקוח‬

                                                                                          ?‫מה‬
                                                ‫עדיף להשתמש במנגנונים בצד לקוח לאחסון‬
                                                             .‫מידע, בעיקר בכמויות גדולות‬
                                                           )Responsiveness , start-up time ‫(מועיל ב‬


                                                                                         ?‫איך‬
                                                                                       BONDI •
                                                                                - HTML5 •
                                                               Offline - j.mp/w3coff

                                                                           Opera Widgets •
   by Remy Sharp - remysharp.com/demo/rubiks/



2. Use Appropriate Client-Side Storage Technologies for Local Data
j.mp/w3cmo7                                 www.w3.org/TR/mwabp
                                                                                             28
‫3. שכפלו מידע לשרת במידת הצורך‬
                                                                               ‫מה?‬
                                        ‫תצוגה אחידה במכשירים שונים‬
                                        ‫מגבה למקרה של אובן המכשיר‬
                                         ‫(לא צריך לשכפל למשל העדפות תצוגה של מכשיר ספציפי)‬




                                                                              ‫איך?‬
                            ‫טכנולוגיות לאחסון מידע צד לקוח מספקת גם‬
                                                ‫בדיקת קישוריות.‬
                                                                      ‫דוגמא...‬
‫‪3. Replicate Local Data‬‬

                          ‫‪www.w3.org/TR/mwabp‬‬
                                                                                  ‫92‬
Local storage + offline - demo




www.html5rocks.com/tutorials/offline/todo/
j.mp/mozoff            www.w3.org/TR/mwabp
                                             30
‫1. נתוני האפליקציה (3)‬
                ‫(1)‬   ‫2. ביטחון מידע ופרטיות‬
     ‫(4)‬   ‫יידוע המשתמש ושליטתו באפליקציה‬         ‫3.‬
                    ‫שימוש מוגבל במשאבים (11)‬      ‫4.‬
                             ‫חווית משתמש (01)‬     ‫5.‬
               ‫התאמה ל-‪)5( Delivery Context‬‬       ‫6.‬
                             ‫שיקולים נוספים (1)‬   ‫7.‬

             ‫/‪www.w3.org/TR/mwabp‬‬

‫13‬
            ‫‪www.w3c.org.il‬‬
‫ביטחון מידע ופרטיות – השתמשו במידע אמין והגנו‬
                          ‫על פרטיות המשתמש‬




               ‫‪www.w3.org/TR/mwabp‬‬
                                           ‫23‬
4. Do not Execute Unescaped or Untrusted
JSON data
                                                     direct execution of a
                                                     datafeed that contains
                                                     unescaped user-
                                                     generated data =
                                                     security risk

                                                     Use JSON parser




 Image by: D Sharon Pruitt



4. Do not Execute Unescaped or Untrusted JSON data
                             www.w3.org/TR/mwabp
                                                                          33
‫1. נתוני האפליקציה (3)‬
                              ‫2. ביטחון מידע ופרטיות (1)‬

 ‫(4)‬   ‫3. יידוע המשתמש ושליטתו באפליקציה‬
                       ‫(11)‬‫שימוש מוגבל במשאבים‬        ‫4.‬
                                 ‫חווית משתמש (01)‬     ‫5.‬
                   ‫התאמה ל-‪)5( Delivery Context‬‬       ‫6.‬
                                 ‫שיקולים נוספים (1)‬   ‫7.‬

                ‫/‪www.w3.org/TR/mwabp‬‬

‫43‬
               ‫‪www.w3c.org.il‬‬
‫התייחסו יפה למידע רגיש...‬

‫מדיה, פרטי קשר ו-‪ ,calendar‬פירוט שיחות, מידע‬
           ‫על המכשיר, מיקום (!), חיבור לרשת‬
    ‫(הקפידו על ההמלצות הבאות אם הדפדפן אינו מספק אותן)‬




               ‫‪www.w3.org/TR/mwabp‬‬
                                                    ‫53‬
‫5. הודיעו למשתמש על גישה אוטומטית לרשת*‬
                                                                            ‫מה?‬
                                                 ‫שימוש ברשת מרוקן את הסוללה‬
                                                                  ‫עולה כסף...‬

                                                                            ‫איך?‬
                                               ‫אייקון המודיע על פעילות ברקע‬
                             ‫הודיעו על שימוש רב ברשת (בחיבור ראשון, בהרשמה‬
                                                                   ‫או בדפי העזרה)‬
                                 ‫(כמה זמן, תדירות,סה"כ‬   ‫ספקו מידע על אופי החיבור‬
                                                                          ‫שימוש)‬

                             ‫.‬
‫‪5. Inform the User About Automatic Network Access‬‬
                             ‫‪www.w3.org/TR/mwabp‬‬
                                                                               ‫63‬
‫6. ספק אמצעים לשליטה בחיבור אוטומטי לרשת *‬
                                                                                   ‫מה?‬
                                  ‫אפשר למשתמש למנוע חיבור אוטומטי לרשת‬
                                                ‫(כאשר זה מבוטל – הציגו הודעת חיבור מעת לעת.)‬



                                                                                     ‫אפשרי –‬
                                    ‫אפשר למשתמש לשלוט במועדי החיבור או בפעילויות אשר יכולות‬
                                                                                    ‫להתחבר.‬




 ‫‪Image by: Jeff Sonstein‬‬


‫‪6. Provide Sufficient Means to Control Automatic Network Access‬‬
                              ‫‪www.w3.org/TR/mwabp‬‬
                                                                                    ‫73‬
‫7. הודיעו למשתמש על שימוש במידע על‬
                        ‫המכשיר או פרטים אישיים‬
                                                                                ?‫מה‬
                               ‫בעת כניסה ראשונה לשירות או בגישה ראשונה‬
                                                                 .‫למידע‬



                                                                                ?‫איך‬
                                             ‫ יש בקשת רשות מובנת‬API-‫לרוב ל‬
                                              .)confirmation dialog ; recover gracefully(


7. Ensure the User is Informed About Use of Personal and Device Information
                              www.w3.org/TR/mwabp
MapQuest.com
                                                                                   38
‫8. אפשרו ‪ Sign-in‬אוטומטי‬
                                                                            ‫מה?‬
                                                ‫כי יותר קשה להזין תוכן....‬



                                                                           ‫איך?‬
                                                    ‫בעוגיות, או ‪local storage‬‬
                                                       ‫(לא לשכוח לשים לינק ל-‪)log out‬‬




‫‪8. Enable Automatic Sign-in‬‬
                              ‫‪www.w3.org/TR/mwabp‬‬
                                                                              ‫04‬
‫האפליקציה (3)‬
                                       ‫1. נתוני‬
                    ‫2. ביטחון מידע ופרטיות (1)‬

     ‫3. יידוע המשתמש ושליטתו באפליקציה (4)‬

        ‫(11)‬   ‫4. שימוש מוגבל במשאבים‬
                            ‫(01)‬  ‫5. חווית משתמש‬
               ‫6. התאמה ל-‪)5( Delivery Context‬‬

                             ‫7. שיקולים נוספים (1)‬


          ‫/‪www.w3.org/TR/mwabp‬‬

‫14‬
         ‫‪www.w3c.org.il‬‬
‫אל תכבידו על משאבי המכשיר‬

                   ‫מוגבלים בניידים -‬
                               ‫זיכרון‬
                               ‫עיבוד‬
                            ‫רוחב פס‬




 ‫‪www.w3.org/TR/mwabp‬‬
                                   ‫24‬
‫‪9. Use Transfer Compression‬‬
                                                                   ‫מה?‬
                                               ‫השתמשו בדחיסה של התוכן.‬
                                     ‫אבל זכרו שיש עלות של זמן וחיי סוללה.‬



                                                                  ‫איך?‬
                                                               ‫‪... Gzip‬‬
         ‫לרוב לא צריך לדוחס: תמונות, אדיו, וידאו, קבצים קנטים מ-‪1k‬‬

‫‪9. Use Transfer Compression‬‬
                              ‫‪www.w3.org/TR/mwabp‬‬
                                                                    ‫34‬
‫01. מזערו את גודל האפליקציה והנתונים‬
                                                                                                ?‫למה‬
                                                                                     ‫תרד יותר מהר‬
                                                                                     ‫תפעל יותר טוב‬



                                                                                                  ?‫איך‬
                                                            JavaScript-‫ ו‬HTML ,CSS ‫הקטינו‬
              (removal of white space and comments; shorter tokens (variables, method names, selector names)




10. Minimize Application and Data Size
compressorrater.thruhere.net www.w3.org/TR/mwabp
                                                                                                    44
‫11. המנעו מ-‪Redirects‬‬
                                                                       ‫מה?‬
     ‫לרוב נעשה שימוש ב ‪ HTTP 3xx‬או‪ HTML meta refresh‬להעברת מידע‬
                                                    ‫)‪(e.g. account authentication‬‬




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




‫‪11. Avoid Redirects‬‬
                          ‫‪www.w3.org/TR/mwabp‬‬
                                                                          ‫54‬
‫‪12. Optimize Network Requests‬‬
                                                             ‫מה?‬
                         ‫עדיף לבצע בקשות גדולות לשרת אך מועטות יותר‬
                                           ‫(מאשר הרבה בקשות קטנות)‬


                                                             ‫איך?‬
                                                        ‫קיבוץ בקשות‬
                                                       ‫תעדוף בקשות‬
                                       ‫פעילות בהתאם לרמת הקישוריות‬



‫‪12. Optimize Network Requests‬‬
                            ‫‪www.w3.org/TR/mwabp‬‬
                                                               ‫64‬
‫31. צמצמו שימוש במקורות חיצוניים‬
                                                                ‫למה?‬
               ‫כל קובץ סקריפט, ‪ ,CSS‬תמונה = ‪ = HTTP request‬טיול לשרת‬

                                                                 ‫איך?‬
                                  ‫‪ CSS‬ו-‪ JavaScript‬כל אחד בקובץ אחד בלבד‬
                                                                     ‫‪OR‬‬
                                   ‫או שהם ישולבו לפני שהעמוד מוגש ללקוח‬



‫‪13. Minimize External Resources‬‬
                             ‫‪www.w3.org/TR/mwabp‬‬
                                                                   ‫74‬
(Sprites) ‫41. אחדו תמונות‬


                                                                                 ?‫איך‬
                                             similar sizes and color palettes.
                                             That do not change often.
                                             use CSS positioning and clipping.



 Image by: Kriplozoik                                                       ‫דוגמא‬
                                             www.yahoo.com


14. Aggregate Static Images into a Single Composite Resource (Sprites)
                              www.w3.org/TR/mwabp
                                                                                  48
CSS-‫51. שלבו תמונות רקע ב‬
                                                                                ?‫מה‬
                    CSS-‫במקום להוריד תמונות, אפשר לכלול אותן ב‬
                                                 buzz
                                 data:image/png;base64,iVBORw0KGgoAAAANSUh
data:image/png;base64,           EUgAAAAgAAAAhCAYAAADkrOp1AAAAGXRFWH
iVBORw0KGgoAAAANSUhEUgA
AABAAAAAQAQMAAAAlPW0iAA
                                 RTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllP
                                 AAAAYFJREFUeNqEU7FOwzAQvXMuJSC1oqlKuo
                                 aZkakrGyti5i+Q+AZ+goERiR9hYEJiZKVIFaqgtJV9
                                                                                ?‫איך‬
                                 nO04SdO0TfQk5+75vedLgswM45vnDADuBOcCuy
AABlBMVEUAAAD/                   4vkmaOCE/ZqJ+nabcbxzFh0Zx8fQPFpG6z0eD0JE     data URI
//+l2Z/dAAAAM0lEQVR4nGP          uPVUSglAJATyGaAxnm8WDY70WdBKIawd4RxUB
4/5/h/1+G/58ZDrAz3D/McH          a81EnSRTFHUdAu7tQQBUB+QW5B7BwvSKFEB2
                                 BpSCHAXsiZnQVV5dnKlauxAxlsyh7ggQFNKaSLg       :‫דוגמא‬
8yw83NDDeNGe4U                   mmRvAeDUJQMAxKBAw0CRwIxmHdwCv7U4iCV
                                 UHYamFcyKZCGVLLbmhRMEHBD2jzFFCGlDruzY
g9C9zwz3gVLMDA/A6P9/AFG          BtGbiaA2JbhkDQvonNSZraoGCnhbYpNxXsvkrBBd
GFyjOXZtQAAAAAElFTkSuQm          2mwMWgkHdYQAshhNQiz7hpYfYrQO1145YM8mf
                                 9afGIkBVg82XJnzDsH76vFr+z8FWtQTzU1UX+yKu
CC                               fj+V8NtVGh0/Dgd38mLsvb5PL

15. Include Background Images Inline in CSS Style Sheet
                              www.w3.org/TR/mwabp
                                                                                   49
16. Fingerprinting Resource for chach
                                                    ?‫מה‬
                ‫ לקבצים שמשתנים מדי פעם‬cache ‫אפשר לעשות‬

                                                             ?‫איך‬
                     ‫ לתאריך רחוק מאוד בעתיד‬chase-‫- הגדירו את ה‬
       ‫ שישתנה כשצריך לעדכן‬hash ‫ של הקובץ‬URL-‫- הוסיפו בסיומת ה‬
                                                         .‫אותו‬

 <img src="http://www.example.com/userimages/joeblogs-67f90da089da">

16. Cache Resources By Fingerprinting Resource References
                             www.w3.org/TR/mwabp
                                                                50
17. Cache AJAX Data

                                                     ?‫מה‬
          cache ‫כפי שעושים עם תוכן רגיל, אפשר לעשות‬
                             .AJAX-‫למידע שמגיע ב‬
                                                     ?‫איך‬
                                                     ‫כרגיל‬
   Expires  Cache-Control header-‫ ו‬fingerprinting


17. Cache AJAX Data

                      www.w3.org/TR/mwabp/
                                                      51
                      www.w3c.org.il
‫81. שלחו עוגיות רק כשצריך‬

                                                    ‫מה?‬
       ‫תוכן סטטי אינו צריך עוגיות – אז עדיף להימנע‬
                                                   ‫איך?‬
          ‫דומיין, תת דומיין או ‪ path‬נפרד לתוכן סטטי‬    ‫1.‬
                              ‫הגדירו ‪ path‬לעוגיות‬      ‫2.‬

‫‪18. Do not Send Cookie Information Unnecessarily‬‬
                             ‫‪www.w3.org/TR/mwabp‬‬
                                                      ‫25‬
Keep DOM Size Reasonable .19
                                                            ?‫איך‬
                                             pagination ‫למשל בעזרת‬

     X Fail                                  V win



19. Keep DOM Size Reasonable
                           www.w3.org/TR/mwabp
                                                              53
‫נתוני האפליקציה‬
                               ‫(3)‬              ‫1.‬
                     ‫ביטחון מידע ופרטיות (1)‬    ‫2.‬
     ‫יידוע המשתמש ושליטתו באפליקציה (4)‬         ‫3.‬
                ‫שימוש מוגבל במשאבים (11)‬        ‫4.‬
                        ‫(01)‬    ‫5. חווית משתמש‬
             ‫(5)‬   ‫6. התאמה ל-‪Delivery Context‬‬
                             ‫7. שיקולים נוספים (1)‬


          ‫/‪www.w3.org/TR/mwabp‬‬

‫45‬
         ‫‪www.w3c.org.il‬‬
‫בגלל מורכבות רבה יותר בשימוש במכשירים ניידים‬
                ‫– חשוב לשפר את חווית המשמש‬
 ‫‪Latency‬‬
 ‫‪interaction method‬‬
 ‫‪data consistency‬‬


              ‫‪www.w3.org/TR/mwabp‬‬
                                          ‫55‬
‫02. להתחיל צ'יק צ'ק‬
                                                                                                      ?‫איך‬
                                                         Use Offline Technology (e.g. AppCache) –
                                                           Resources (HTML, JavaScript, CSS) stored
                                                            locally.
                                                         Use Local Storage: store a snapshot of last state -
                                                            display it immediately on start-up
                                                         Minimize Number of Local Storage Queries before
                                                            the first view can be displayed.
http://www.flickr.com/photos/66475767@N00/4333416050/


                                                                                                      ...‫דוגמא‬



  20. Optimize For Application Start-up Time
                                                        www.w3.org/TR/mwabp
                                                                                                        56
High responsiveness with Local storage - example
                                                      ‫מבוסס על‬
                                         IBM:
                                         Unlock local storage for
                                         mobile Web applications
                                         with HTML 5:
                                         j.mp/w3cmo3




                   www.w3.org/TR/mwabp
j.mp/w3cmo2
21. Minimize Perceived Latency
                                                                                  ?‫איך‬
                                 Incremental Rendering
                                 JavaScript at the bottom + useful information that
                                 might be available is viewable while loading.


                                 Keep the User Informed
                                 of Activity (progress bars)


                                 Avoid Page Reloads
                                 To reflect changes in state or show different views


                                 Preload Probable Next Views
                                                           ...‫דוגמא‬
21. Minimize Perceived Latency
                             www.w3.org/TR/mwabp
                                                                                   58
kiva - ‫דוגמא‬




j.mp/w3cmo10   www.w3.org/TR/mwabp
                                            59
22. Design for Multiple Interaction
 Methods                                                                                                  ?‫מה‬
                                                     ‫שלושה סוגי אינטראקציה עיקריים‬
                                                        .‫עדיף להתאים לשיטת מכשיר היעד. אם אי אפשר – להתאים לכולם‬


                                                                                                         ?‫איך‬
                                       Focus Based: (focus "jumps" from link to link)
                                       .


                                       Pointer Based: (Key-based navigation + pointer )
                                       Selectable elements that are associated with each other need to be close
                                       Selectable elements need to be large enough (pointer often moves in steps)
                                       Selectable elements should have rollovers
 Image by: Dennis Bournique
                                       Touch Based: (finger )
                                       Selectable elements may be widely spaced since the user can select them directly
                                       Selectable elements must be large enough to be easily selected (list items - at
                                             least 30px)

22. Design for Multiple Interaction Methods
                               www.w3.org/TR/mwabp
                                                                                                              60
‫32. הימנעו משינוי הפוקוס בדפים דינמיים‬

                                       ‫איך?‬
  ‫)(‪ – .focus‬רק כשחייבים וכזה לא פוגע בשליטה‬




‫‪23. Preserve Focus on Dynamic Page Updates‬‬
                         ‫‪www.w3.org/TR/mwabp‬‬
                                               ‫16‬
fragment identifiers -‫42. השתמשו ב‬
                              ‫לתצוגה‬
                                                  ?‫מה‬
      ‫ בכדי לאפשר שמירת‬fragment identifiers -‫השתמשו ב‬
                       back-‫הקישור לתצוגה, ולא לפגוע ב‬

                                                 ...‫דוגמא‬
  http://myapp.example.org/myapp#view

24. Use Fragment IDs to Drive Application View
                          www.w3.org/TR/mwabp
                                                     62
W3C Cheat Sheet




              www.w3.org/TR/mwabp
j.mp/w3cmo8
                                    63
"Click-to-Call"-‫52. השתמש במספרי טלפון ב‬

                                                                              ‫איך‬
                                  <a href="tel:[PHONE-NUMBER]">[PHONE-NUMBER]</a>


                                  entered using the full international
                                    prefix



my.springpadit.com



25. Make Telephone Numbers "Click-to-Call"
                             www.w3.org/TR/mwabp
                                                                               64
‫‪26. Ensure Paragraph Text Flows‬‬
                                                                    ‫מה?‬
                                                          ‫• מנע גלילה אנכית‬
                                           ‫• ואפשר קריאה בשינוי אוריאנטציה‬

                                                                   ‫איך?‬
                                                            ‫בקונטיינרים:‬
                                        ‫כן: באחוזים / יחידות מידה יחסיות‬
                                          ‫לא יחידות מוחלטות או פיקסלים‬
 ‫‪Image by: curiouslee‬‬



                                                                 ‫דוגמא...‬
‫‪26. Ensure Paragraph Text Flows‬‬
                             ‫‪www.w3.org/TR/mwabp‬‬
                                                                      ‫56‬
‫דוגמא – טקסט צף ומתאים לגודל המסמך‬




            ‫‪www.w3.org/TR/mwabp‬‬
‫‪W3c.org‬‬
27. Ensure Consistency Of State
     Between Devices
                                                                                                 ?‫מה‬
                                                                ‫הקפידו על עקיבות באפליקציה בין מכשירים‬
                                                                                                  ‫שונים‬
                                                               • Credentials
                                                               • preferences
                                                               • Data

                                                                                                ?‫איך‬
                                                                   ‫שימורו על השרת מידע שאינו רלוונטי רק‬
                                                                                         ‫למכשיר הספציפי‬
http://www.flickr.com/photos/osde-info/4336196538/sizes/o/




27. Ensure Consistency Of State Between Devices
                                                             www.w3.org/TR/mwabp
                                                                                                  67
‫האפליקציה (3)‬
                                        ‫נתוני‬      ‫1.‬
                     ‫ביטחון מידע ופרטיות (1)‬       ‫2.‬
     ‫יידוע המשתמש ושליטתו באפליקציה (4)‬            ‫3.‬
                ‫שימוש מוגבל במשאבים (11)‬           ‫4.‬
                            ‫חווית משתמש (01)‬       ‫5.‬
     ‫(5)‬   ‫6. התאמה ל-‪Delivery Context‬‬
                              ‫(1)‬   ‫7. שיקולים נוספים‬

            ‫/‪www.w3.org/TR/mwabp‬‬

‫86‬
            ‫‪www.w3c.org.il‬‬
‫התאימו ל- ‪ Delivery Context‬שונים‬
‫צרו אפליקציה בעלת יכולת זיהוי ההקשר (כגון יכולות המכשיר) והסתגלות להן. (התאמת‬
                                                      ‫תוכן, ניווט, מבנה עמוד...)‬




                        ‫‪www.w3.org/TR/mwabp‬‬
                                                                             ‫96‬
push-‫82. מומלץ – שימוש ב‬
                                                                      ?‫מה‬
                                              ...‫אם מכשיר היעד תומך‬
                                                                    ?‫איך‬
OMA Push
QR Codes
SMS
…
28. Consider Mobile Specific Technologies for Initiating Web Applications
                           www.w3.org/TR/mwabp
                                                                            70
‫92.הגדירו את גודל התצוגה הרצוי‬
                                                                   ?‫מה‬
       ‫צריך למנוע ממכשירים לעשות זום אוטומטי באפליקציה שהותאמה‬
                                                     ....‫לניידים‬


                                                                  ?‫איך‬
<meta name="viewport" content="width=device-width,
  initial-scale=1.0"/>
                                                                 ...‫דוגמא‬

29. Use Meta Viewport Element To Identify Desired Screen Sizes
                          www.w3.org/TR/mwabp
                                                                    71
‫דוגמא - הגדרת גודל תצוגה‬

Viewport
Offlines
Data URI




               http://nils-dehl.de/m/

j.mp/w3cmo9      www.w3.org/TR/mwabp
                                        72
30. Prefer Server-Side Detection
Where Possible
                                                             ?‫איך‬
                               HTTP request header: Accept
                               User-Agent
                               X-Wap-Profile

                                                        :‫דוגמא‬

30. Prefer Server-side Detection Where Possible

 j.mp/w3cmo11                 www.w3.org/TR/mwabp
                                                               73
'‫13. כשצריך – זיהוי יכולות 'צד לקוח‬
                                                   ?‫איך‬
JavaScript: if (some_api_exists) { ...

CSS Media Types

CSS Media Queries
                                                ...‫דוגמא‬
31. Use Client-side Detection When Necessary
                          www.w3.org/TR/mwabp
                                                       74
CSS3 Media query layout example




j.mp/w3cmo18   www.w3.org/TR/mwabp
32. Use Device Classification
                                                                ?‫למה‬
 to Simplify Content Adaptation
                                                                  ?‫איך‬
                                                                  :‫אפשרות‬
 Class 1: Basic XHTML support, no or very basic scripting.
 Class 2: Full AJAX and JavaScript support.
 Class 3: Advanced device APIs
                                                               :‫עוד אפשרות‬
 Class 1: Pointer Based.
 Class 2: Touch Based.

32. Use Device Classification to Simplify Content Adaptation
                           www.w3.org/TR/mwabp
                                                                      76
JavaScript ‫33. לתפוצה מרבית – צרו גרסה ללא‬


                                                           ?‫איך‬
                                          synchronous FORM posts

                     <noscript> ‫או לפחות – הודעה מתאימה או‬



33. Support a non-JavaScript Variant if Appropriate
                           www.w3.org/TR/mwabp
                                                               77
‫43. אפשר למשתמש לבחור את התצוגה‬
                                                                 ‫מה?‬
                                                ‫אפשר למשתמש לשנות את‬
                                                            ‫סוג התצוגה‬

                                               ‫כברירת מחדל ספק את ה-‪UI‬‬
                                                          ‫המתאים ביותר‬

                                                     ‫אבל זכור את העדפות‬
                                                             ‫המשתמש!‬

‫‪34. Offer Users a Choice of Interfaces‬‬
                               ‫‪www.w3.org/TR/mwabp‬‬
                                                                   ‫87‬
‫(3)‬ ‫נתוני האפליקציה‬   ‫1.‬
                       ‫ביטחון מידע ופרטיות (1)‬    ‫2.‬
     ‫יידוע המשתמש ושליטתו באפליקציה (4)‬           ‫3.‬
                  ‫שימוש מוגבל במשאבים (11)‬        ‫4.‬
                              ‫חווית משתמש (01)‬    ‫5.‬
             ‫התאמה ל-‪)5( Delivery Context‬‬         ‫6.‬
                      ‫(1)‬   ‫7. שיקולים נוספים‬

          ‫/‪www.w3.org/TR/mwabp‬‬

‫97‬
         ‫‪www.w3c.org.il‬‬
35. Consider Canvas or SVG For
 Dynamic Graphics
                                                                                        ?‫מה‬
                                                                                      canvas
                                                                    ‫מאפשר לצייר גרפיקה פשוטה‬
                                                                          JavaScript ‫באמצעות‬


                                                                                           SVG
                                                                    ‫ להגדרת אלמנטים של‬XML ‫שפת‬
                                                                      -‫גרפיקה וקטורית המתווספים ל‬
                                                                        ‫, וניתנים לשינוי בעזרת‬DOM
http://www.mozilla.com/en-US/firefox/stats/                                            JavaScript

                                                                                     ...‫דוגמא‬
35. Consider Use Of Canvas Element or SVG For Dynamic Graphics
                                              www.w3.org/TR/mwabp
                                                                                           80
SVG and canvas demos
 • Bomomo.com
 • zwibbler.com
 • www.iconza.com




j.mp/w3cmo16                      j.mp/w3cmo14
Video - Cool mobile apps with SVG and other Web technologies - j.mp/w3cmo13
                            www.w3.org/TR/mwabp
‫כלים נוספים‬


www.w3.org/TR/mwabp
                      82
Mobile Web Best Practices (MWBP) Flipcards
j.mp/w3cfcc




www.w3.org/TR/mwabp
                                      83
The world is getting more
platform-fragmented, not less.




                        Source: j.mp/w3cmo5




            Do www.w3.org/TR/mwabp/
                yourself a favor and write
  84
            your next app in HTML5.
              www.w3c.org.il
 ‫תודה‬



                                     www.w3c.org.il
                                     @isociltech @eyalsela
j.mp/w3cmobp                         eyal@isoc.org.il
               www.w3.org/TR/mwabp
                                                    85

Contenu connexe

En vedette

WWW2014 Overview of W3C Linked Data Platform 20140410
WWW2014 Overview of W3C Linked Data Platform 20140410WWW2014 Overview of W3C Linked Data Platform 20140410
WWW2014 Overview of W3C Linked Data Platform 20140410Arnaud Le Hors
 
טכנולוגיות אינטרנט מתפתחות - אפליקציות ווב, מובייל, והווב הסמנטי
טכנולוגיות אינטרנט מתפתחות - אפליקציות ווב, מובייל, והווב הסמנטיטכנולוגיות אינטרנט מתפתחות - אפליקציות ווב, מובייל, והווב הסמנטי
טכנולוגיות אינטרנט מתפתחות - אפליקציות ווב, מובייל, והווב הסמנטיIsraeli Internet Association technology committee
 
Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...
Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...
Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...Raj Lal
 
What is hot on the web right now - A W3C perspective
What is hot on the web right now - A W3C perspectiveWhat is hot on the web right now - A W3C perspective
What is hot on the web right now - A W3C perspectiveArmin Haller
 
¿Por qué los servicios electrónicos se usan tan poco? cómo hacer frente a la ...
¿Por qué los servicios electrónicos se usan tan poco? cómo hacer frente a la ...¿Por qué los servicios electrónicos se usan tan poco? cómo hacer frente a la ...
¿Por qué los servicios electrónicos se usan tan poco? cómo hacer frente a la ...Open Data @ CTIC
 
Web Semântica: uma introdução
Web Semântica: uma introdução Web Semântica: uma introdução
Web Semântica: uma introdução Yasodara Cordova
 
Semantic Web Landscape 2009
Semantic Web Landscape 2009Semantic Web Landscape 2009
Semantic Web Landscape 2009LeeFeigenbaum
 
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
W3C Tutorial on Semantic Web and Linked Data at WWW 2013W3C Tutorial on Semantic Web and Linked Data at WWW 2013
W3C Tutorial on Semantic Web and Linked Data at WWW 2013Fabien Gandon
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked DataAn introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked DataFabien Gandon
 

En vedette (9)

WWW2014 Overview of W3C Linked Data Platform 20140410
WWW2014 Overview of W3C Linked Data Platform 20140410WWW2014 Overview of W3C Linked Data Platform 20140410
WWW2014 Overview of W3C Linked Data Platform 20140410
 
טכנולוגיות אינטרנט מתפתחות - אפליקציות ווב, מובייל, והווב הסמנטי
טכנולוגיות אינטרנט מתפתחות - אפליקציות ווב, מובייל, והווב הסמנטיטכנולוגיות אינטרנט מתפתחות - אפליקציות ווב, מובייל, והווב הסמנטי
טכנולוגיות אינטרנט מתפתחות - אפליקציות ווב, מובייל, והווב הסמנטי
 
Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...
Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...
Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...
 
What is hot on the web right now - A W3C perspective
What is hot on the web right now - A W3C perspectiveWhat is hot on the web right now - A W3C perspective
What is hot on the web right now - A W3C perspective
 
¿Por qué los servicios electrónicos se usan tan poco? cómo hacer frente a la ...
¿Por qué los servicios electrónicos se usan tan poco? cómo hacer frente a la ...¿Por qué los servicios electrónicos se usan tan poco? cómo hacer frente a la ...
¿Por qué los servicios electrónicos se usan tan poco? cómo hacer frente a la ...
 
Web Semântica: uma introdução
Web Semântica: uma introdução Web Semântica: uma introdução
Web Semântica: uma introdução
 
Semantic Web Landscape 2009
Semantic Web Landscape 2009Semantic Web Landscape 2009
Semantic Web Landscape 2009
 
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
W3C Tutorial on Semantic Web and Linked Data at WWW 2013W3C Tutorial on Semantic Web and Linked Data at WWW 2013
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked DataAn introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
 

Similaire à שיטות לפיתוח אפליקציות ווב למכשירים ניידים - מובייל מונדי 28 ביוני 2010

שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best...
 שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best... שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best...
שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best...Israeli Internet Association technology committee
 
סקירת טכנולוגיות W3C חדשות שלא תראו אפילו בגירסאות ליליות - 12.2011
סקירת טכנולוגיות W3C חדשות שלא תראו אפילו בגירסאות ליליות - 12.2011סקירת טכנולוגיות W3C חדשות שלא תראו אפילו בגירסאות ליליות - 12.2011
סקירת טכנולוגיות W3C חדשות שלא תראו אפילו בגירסאות ליליות - 12.2011Israeli Internet Association technology committee
 
יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים
יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידיםיחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים
יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידיםIsraeli Internet Association technology committee
 
טכנולוגיות אינטרנט מתפתחות הווב הסמנטי ויישומיו - אייל סלע - אוניברסיטת בר...
טכנולוגיות אינטרנט מתפתחות    הווב הסמנטי ויישומיו - אייל סלע - אוניברסיטת בר...טכנולוגיות אינטרנט מתפתחות    הווב הסמנטי ויישומיו - אייל סלע - אוניברסיטת בר...
טכנולוגיות אינטרנט מתפתחות הווב הסמנטי ויישומיו - אייל סלע - אוניברסיטת בר...Israeli Internet Association technology committee
 
דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות
 דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות
דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחותIsraeli Internet Association technology committee
 
שימושים אינטרנטיים ורשתות חברתיות בתקשורת הסלולארית היכן ולאן
שימושים אינטרנטיים ורשתות חברתיות בתקשורת הסלולארית   היכן ולאןשימושים אינטרנטיים ורשתות חברתיות בתקשורת הסלולארית   היכן ולאן
שימושים אינטרנטיים ורשתות חברתיות בתקשורת הסלולארית היכן ולאןDr. Anat Klumel
 
טכנולוגיות אינטרנט מתפתחות - הווב הסמנטי ויישומיו - אייל סלע
טכנולוגיות אינטרנט מתפתחות  - הווב הסמנטי ויישומיו - אייל סלעטכנולוגיות אינטרנט מתפתחות  - הווב הסמנטי ויישומיו - אייל סלע
טכנולוגיות אינטרנט מתפתחות - הווב הסמנטי ויישומיו - אייל סלעIsraeli Internet Association technology committee
 
אתרי אינטרנט – נגישות, התאמה למכשירים ניידים ופלטפורמות
אתרי אינטרנט – נגישות, התאמה למכשירים ניידים ופלטפורמותאתרי אינטרנט – נגישות, התאמה למכשירים ניידים ופלטפורמות
אתרי אינטרנט – נגישות, התאמה למכשירים ניידים ופלטפורמותIsraeli Internet Association technology committee
 
Uxi live 2011 yaniv michaeli_cloud_ux
Uxi live 2011 yaniv michaeli_cloud_uxUxi live 2011 yaniv michaeli_cloud_ux
Uxi live 2011 yaniv michaeli_cloud_uxYaniv Michaeli
 

Similaire à שיטות לפיתוח אפליקציות ווב למכשירים ניידים - מובייל מונדי 28 ביוני 2010 (20)

Mobile Web Best Practices Eyal Sela [Hebrew]
Mobile Web Best Practices   Eyal Sela [Hebrew]Mobile Web Best Practices   Eyal Sela [Hebrew]
Mobile Web Best Practices Eyal Sela [Hebrew]
 
שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best...
 שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best... שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best...
שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best...
 
HTML5, ווב נייד ותקנים פתוחים ברשת
HTML5, ווב נייד ותקנים פתוחים ברשת HTML5, ווב נייד ותקנים פתוחים ברשת
HTML5, ווב נייד ותקנים פתוחים ברשת
 
HTML5, ווב נייד ותקנים פתוחים ברשת
HTML5, ווב נייד ותקנים פתוחים ברשתHTML5, ווב נייד ותקנים פתוחים ברשת
HTML5, ווב נייד ותקנים פתוחים ברשת
 
מגמות וטכנולוגיות באינטרנט ובווב
מגמות וטכנולוגיות באינטרנט ובוובמגמות וטכנולוגיות באינטרנט ובווב
מגמות וטכנולוגיות באינטרנט ובווב
 
W3C - מבוא
W3C - מבואW3C - מבוא
W3C - מבוא
 
סקירת טכנולוגיות W3C חדשות שלא תראו אפילו בגירסאות ליליות - 12.2011
סקירת טכנולוגיות W3C חדשות שלא תראו אפילו בגירסאות ליליות - 12.2011סקירת טכנולוגיות W3C חדשות שלא תראו אפילו בגירסאות ליליות - 12.2011
סקירת טכנולוגיות W3C חדשות שלא תראו אפילו בגירסאות ליליות - 12.2011
 
יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים
יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידיםיחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים
יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים
 
Mobile web design Eyal Sela
Mobile web design   Eyal SelaMobile web design   Eyal Sela
Mobile web design Eyal Sela
 
מכללת ספיר - W3C - תהליכים וטכנולוגיות
מכללת ספיר - W3C - תהליכים וטכנולוגיותמכללת ספיר - W3C - תהליכים וטכנולוגיות
מכללת ספיר - W3C - תהליכים וטכנולוגיות
 
הערך הטכנו-עסקי של HTML5
הערך הטכנו-עסקי של HTML5הערך הטכנו-עסקי של HTML5
הערך הטכנו-עסקי של HTML5
 
Html 5 Usability UPA 2009 - Dr. Yesha Sivan
Html 5 Usability UPA 2009 - Dr. Yesha Sivan Html 5 Usability UPA 2009 - Dr. Yesha Sivan
Html 5 Usability UPA 2009 - Dr. Yesha Sivan
 
Html 5 For V Ps
Html 5 For V Ps Html 5 For V Ps
Html 5 For V Ps
 
טכנולוגיות אינטרנט מתפתחות הווב הסמנטי ויישומיו - אייל סלע - אוניברסיטת בר...
טכנולוגיות אינטרנט מתפתחות    הווב הסמנטי ויישומיו - אייל סלע - אוניברסיטת בר...טכנולוגיות אינטרנט מתפתחות    הווב הסמנטי ויישומיו - אייל סלע - אוניברסיטת בר...
טכנולוגיות אינטרנט מתפתחות הווב הסמנטי ויישומיו - אייל סלע - אוניברסיטת בר...
 
דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות
 דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות
דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות
 
שימושים אינטרנטיים ורשתות חברתיות בתקשורת הסלולארית היכן ולאן
שימושים אינטרנטיים ורשתות חברתיות בתקשורת הסלולארית   היכן ולאןשימושים אינטרנטיים ורשתות חברתיות בתקשורת הסלולארית   היכן ולאן
שימושים אינטרנטיים ורשתות חברתיות בתקשורת הסלולארית היכן ולאן
 
טכנולוגיות אינטרנט מתפתחות - הווב הסמנטי ויישומיו - אייל סלע
טכנולוגיות אינטרנט מתפתחות  - הווב הסמנטי ויישומיו - אייל סלעטכנולוגיות אינטרנט מתפתחות  - הווב הסמנטי ויישומיו - אייל סלע
טכנולוגיות אינטרנט מתפתחות - הווב הסמנטי ויישומיו - אייל סלע
 
אתרי אינטרנט – נגישות, התאמה למכשירים ניידים ופלטפורמות
אתרי אינטרנט – נגישות, התאמה למכשירים ניידים ופלטפורמותאתרי אינטרנט – נגישות, התאמה למכשירים ניידים ופלטפורמות
אתרי אינטרנט – נגישות, התאמה למכשירים ניידים ופלטפורמות
 
Uxi live 2011 yaniv michaeli_cloud_ux
Uxi live 2011 yaniv michaeli_cloud_uxUxi live 2011 yaniv michaeli_cloud_ux
Uxi live 2011 yaniv michaeli_cloud_ux
 
991 blackberry warnings
991 blackberry warnings991 blackberry warnings
991 blackberry warnings
 

Plus de Israeli Internet Association technology committee

לקראת העירייה הדיגיטלית - השירותים המקוונים של עירית תל-אביב-יפו זוהר שרון
 לקראת העירייה הדיגיטלית - השירותים המקוונים של עירית תל-אביב-יפו זוהר שרון  לקראת העירייה הדיגיטלית - השירותים המקוונים של עירית תל-אביב-יפו זוהר שרון
לקראת העירייה הדיגיטלית - השירותים המקוונים של עירית תל-אביב-יפו זוהר שרון Israeli Internet Association technology committee
 

Plus de Israeli Internet Association technology committee (20)

נגישות באינטרנט לאנשים עם מוגבלות, הלכה למעשה
נגישות באינטרנט לאנשים עם מוגבלות, הלכה למעשהנגישות באינטרנט לאנשים עם מוגבלות, הלכה למעשה
נגישות באינטרנט לאנשים עם מוגבלות, הלכה למעשה
 
ליאור שיאון - מפת מקלטים
ליאור שיאון - מפת מקלטיםליאור שיאון - מפת מקלטים
ליאור שיאון - מפת מקלטים
 
טל גלילי - אושאידי
טל גלילי - אושאידיטל גלילי - אושאידי
טל גלילי - אושאידי
 
אמרי באומר - האקתון חוסן לאומי
אמרי באומר - האקתון חוסן לאומיאמרי באומר - האקתון חוסן לאומי
אמרי באומר - האקתון חוסן לאומי
 
אורי סגל - מרחב מוגן
אורי סגל - מרחב מוגןאורי סגל - מרחב מוגן
אורי סגל - מרחב מוגן
 
אופיר בן אבי - ממשל זמין
אופיר בן אבי - ממשל זמיןאופיר בן אבי - ממשל זמין
אופיר בן אבי - ממשל זמין
 
יובל טיסונה - המלחמה הבאה
יובל טיסונה - המלחמה הבאהיובל טיסונה - המלחמה הבאה
יובל טיסונה - המלחמה הבאה
 
עמוס גבע - StandWithUs
עמוס גבע - StandWithUsעמוס גבע - StandWithUs
עמוס גבע - StandWithUs
 
בן לנג - Iron Dome Count
בן לנג - Iron Dome Countבן לנג - Iron Dome Count
בן לנג - Iron Dome Count
 
האם ויקיפדיה מונגשת לאנשים עם מוגבלויות?
האם ויקיפדיה מונגשת לאנשים עם מוגבלויות? האם ויקיפדיה מונגשת לאנשים עם מוגבלויות?
האם ויקיפדיה מונגשת לאנשים עם מוגבלויות?
 
IPv6 - Global Adoption - Ran Liberman
IPv6 - Global Adoption - Ran LibermanIPv6 - Global Adoption - Ran Liberman
IPv6 - Global Adoption - Ran Liberman
 
implementing IPv6 in an ISP network, case study and lessons learned - Amos Ro...
implementing IPv6 in an ISP network, case study and lessons learned - Amos Ro...implementing IPv6 in an ISP network, case study and lessons learned - Amos Ro...
implementing IPv6 in an ISP network, case study and lessons learned - Amos Ro...
 
IPv6 training guide - Yuval Shaul
IPv6 training guide - Yuval ShaulIPv6 training guide - Yuval Shaul
IPv6 training guide - Yuval Shaul
 
פתיחה - יום השקת IPv6 בישראל
פתיחה - יום השקת IPv6 בישראלפתיחה - יום השקת IPv6 בישראל
פתיחה - יום השקת IPv6 בישראל
 
How I learned to stop writing CSS and start writing SASS
How I learned to stop writing CSS and start writing SASSHow I learned to stop writing CSS and start writing SASS
How I learned to stop writing CSS and start writing SASS
 
אבטחת מידע לעובדים בארגון
אבטחת מידע לעובדים בארגוןאבטחת מידע לעובדים בארגון
אבטחת מידע לעובדים בארגון
 
HTML5FEST - פתיחה
HTML5FEST - פתיחהHTML5FEST - פתיחה
HTML5FEST - פתיחה
 
The Open Web Platform and You! [Executive version]
The Open Web Platform and You! [Executive version]The Open Web Platform and You! [Executive version]
The Open Web Platform and You! [Executive version]
 
HTML5 וממשל - לבנות את האתרים של המחר היום - גיל פינק
HTML5 וממשל - לבנות את האתרים של המחר היום - גיל פינקHTML5 וממשל - לבנות את האתרים של המחר היום - גיל פינק
HTML5 וממשל - לבנות את האתרים של המחר היום - גיל פינק
 
לקראת העירייה הדיגיטלית - השירותים המקוונים של עירית תל-אביב-יפו זוהר שרון
 לקראת העירייה הדיגיטלית - השירותים המקוונים של עירית תל-אביב-יפו זוהר שרון  לקראת העירייה הדיגיטלית - השירותים המקוונים של עירית תל-אביב-יפו זוהר שרון
לקראת העירייה הדיגיטלית - השירותים המקוונים של עירית תל-אביב-יפו זוהר שרון
 

שיטות לפיתוח אפליקציות ווב למכשירים ניידים - מובייל מונדי 28 ביוני 2010

  • 1. ‫‪Mobile Web Application Best‬‬ ‫‪Practices‬‬ ‫אייל סלע‬ ‫מנהל פרויקטים, איגוד האינטרנט הישראלי‬ ‫ומשרד ה-‪ W3C‬הישראלי‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫1‬
  • 2. j.mp/w3cdoc www.w3.org/TR/mwabp 2
  • 3. ...‫תוכנית‬ W3C‫מבוא - איגוד האינטרנט הישראלי ו‬ mobile web applications best practices-‫אודות ה‬ The Best practices www.w3.org/TR/mwabp 3
  • 4. ‫איגוד האינטרנט הישראלי‬ ‫• שלוחת האיגוד הבינלאומי:‬ ‫• עמותה ללא מטרת רווח‬ ‫פועל לקידום האינטרנט והטמעתו בישראל‬ ‫כתשתית טכנולוגית, מחקרית, חינוכית, חברתית‬ ‫ועסקית.‬ ‫/‪www.w3.org/TR/mwabp‬‬ ‫‪www.w3c.org.il‬‬ ‫4‬
  • 5. ‫‪W3C‬‬ ‫ארגון בינלאומי‬ ‫•‬ ‫כ-053 ארגונים‬ ‫•‬ ‫פורום ניטראלי ליצירת תקני רשת באינטרנט.‬ ‫•‬ ‫משימה:‬ ‫•‬ ‫להוביל את הרשת למיצוי הפוטנציאל על ידי פיתוח‬ ‫פרוטוקולים וקווים מנחים שיאפשרו את צמיחתה‬ ‫לטווח ארוך.‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫5‬
  • 6. ‫‪ W3C‬השנה‬ ‫סידרת מפגשים למפתחים‬ ‫קבוצות עניין‬ ‫פיתוח אפליקציה‬ ‫סדנאות תגובה למומחים‬ ‫הרצאות אורח (שלנו, שלכם)‬ ‫תמיכה בפעילות קבוצות/קהילות‬ ‫שילוב מומחים בקבוצות עבודה‬ ‫)‬ ‫(‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫עוד...‬ ‫6‬
  • 7. Mobile Web -‫אודות ה‬ Application Best Practices www.w3.org/TR/mwabp 7
  • 8. ‫מסמך קווים מנחים של ה-‪.W3C‬‬ ‫מגדיר 53 שיטות לשיפור חווית המשתמש‬ ‫באפליקציות ווב למכשירים ניידים‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫8‬
  • 9. Candidate recomendation ‫המסמך נמצא בשלב‬ You are here j.mp/w3crec www.w3.org/TR/mwabp 9
  • 10. ‫הגישו דיווח יישום...‬ ‫למה לכם?‬ ‫- כי חייבים להציג יישום בכדי שזה יהפוך לתקן‬ ‫- כי האפליקציה שלכם תופיע בדוח היישומים‬ ‫- כי אני אכתוב על זה באתר ‪W3C‬הישראלי‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫1‪j.mp/w3cmo‬‬ ‫01‬
  • 12. ‫דיווח יישום...‬ ‫מי יכול להגיש?‬ ‫- כל מי שפיתח אפליקציה‬ ‫- וישים חלק מהשיטות במסמך (גם בדיעבד)‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫21‬
  • 14. ‫על מה אנחנו‬ ‫מדברים?‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫41‬
  • 15. Web Application Web page(s) that provide an "application-like" experience within a Web browser. www.w3.org/TR/mwabp 15
  • 16. validator.w3.org/mobile/ bit.ly/w3cmbp )BP1( ‫הבדל מאתר רגיל‬ include locally executable elements of interactivity and persistent state. :‫למשל‬ nextbus.com/webkit/ app.clichespotting.com m.jobscentral.com.sg www.w3.org/TR/mwabp 16
  • 17. nextbus.com/webkit/ + User Agent Switcher www.w3.org/TR/mwabp j.mp/w3cmo1 17
  • 21. Sencha touch (!!) http://www.sencha.com/ j.mp/w3cmo6 www.w3.org/TR/mwabp
  • 22. ‫מגבלות והבדלים – מכשירים ניידים לעומת שולחניים‬ ‫• תצוגה‬ ‫• הזנת תוכן‬ ‫• רוחב פס ועלות‬ ‫• מטרות המשתמש‬ ‫• מגבלות המכשיר‬ ‫‪bit.ly/w3cmbp‬‬ ‫/‪www.w3.org/TR/mwabp‬‬ ‫22‬ ‫‪www.w3c.org.il‬‬
  • 23. Best practices www.w3.org/TR/mwabp/ 23 www.w3c.org.il
  • 24. ‫(3)‬ ‫נתוני האפליקציה‬ ‫1.‬ ‫ביטחון מידע ופרטיות (1)‬ ‫2.‬ ‫יידוע המשתמש ושליטתו באפליקציה (4)‬ ‫3.‬ ‫שימוש מוגבל במשאבים (11)‬ ‫4.‬ ‫חווית משתמש (01)‬ ‫5.‬ ‫התאמה ל-‪)5( Delivery Context‬‬ ‫6.‬ ‫שיקולים נוספים (1)‬ ‫7.‬ ‫(סה"כ 53)‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫42‬
  • 25. ‫(3)‬ ‫1. נתוני האפליקציה‬ ‫(1)‬ ‫ביטחון מידע ופרטיות‬ ‫2.‬ ‫יידוע המשתמש ושליטתו באפליקציה (4)‬ ‫3.‬ ‫שימוש מוגבל במשאבים (11)‬ ‫4.‬ ‫חווית משתמש (01)‬ ‫5.‬ ‫התאמה ל-‪)5( Delivery Context‬‬ ‫6.‬ ‫שיקולים נוספים (1)‬ ‫7.‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫52‬
  • 26. ‫השתמשו בטכנולוגיות ושיטות מתאימות לאחסון‬ ‫נתוני האפליקציה‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫62‬
  • 27. ‫1. המעיטו את השימוש בעוגיות‬ ‫מה?‬ ‫נשלחות לשרת בכל בקשה‬ ‫יתכן ולא יהיה פעילות במכשיר‬ ‫איך?‬ ‫בנו אפליקציה פעילה גם ללא עוגיות‬ ‫(למשל עם ‪)URI decoration‬‬ ‫‪Image by: D Sharon Pruitt‬‬ ‫‪1. Use Cookies Sparingly‬‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫72‬
  • 28. ‫2. השתמשו בטכנולוגיות המתאימות לאחסון מידע בצד הלקוח‬ ?‫מה‬ ‫עדיף להשתמש במנגנונים בצד לקוח לאחסון‬ .‫מידע, בעיקר בכמויות גדולות‬ )Responsiveness , start-up time ‫(מועיל ב‬ ?‫איך‬ BONDI • - HTML5 • Offline - j.mp/w3coff Opera Widgets • by Remy Sharp - remysharp.com/demo/rubiks/ 2. Use Appropriate Client-Side Storage Technologies for Local Data j.mp/w3cmo7 www.w3.org/TR/mwabp 28
  • 29. ‫3. שכפלו מידע לשרת במידת הצורך‬ ‫מה?‬ ‫תצוגה אחידה במכשירים שונים‬ ‫מגבה למקרה של אובן המכשיר‬ ‫(לא צריך לשכפל למשל העדפות תצוגה של מכשיר ספציפי)‬ ‫איך?‬ ‫טכנולוגיות לאחסון מידע צד לקוח מספקת גם‬ ‫בדיקת קישוריות.‬ ‫דוגמא...‬ ‫‪3. Replicate Local Data‬‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫92‬
  • 30. Local storage + offline - demo www.html5rocks.com/tutorials/offline/todo/ j.mp/mozoff www.w3.org/TR/mwabp 30
  • 31. ‫1. נתוני האפליקציה (3)‬ ‫(1)‬ ‫2. ביטחון מידע ופרטיות‬ ‫(4)‬ ‫יידוע המשתמש ושליטתו באפליקציה‬ ‫3.‬ ‫שימוש מוגבל במשאבים (11)‬ ‫4.‬ ‫חווית משתמש (01)‬ ‫5.‬ ‫התאמה ל-‪)5( Delivery Context‬‬ ‫6.‬ ‫שיקולים נוספים (1)‬ ‫7.‬ ‫/‪www.w3.org/TR/mwabp‬‬ ‫13‬ ‫‪www.w3c.org.il‬‬
  • 32. ‫ביטחון מידע ופרטיות – השתמשו במידע אמין והגנו‬ ‫על פרטיות המשתמש‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫23‬
  • 33. 4. Do not Execute Unescaped or Untrusted JSON data direct execution of a datafeed that contains unescaped user- generated data = security risk Use JSON parser Image by: D Sharon Pruitt 4. Do not Execute Unescaped or Untrusted JSON data www.w3.org/TR/mwabp 33
  • 34. ‫1. נתוני האפליקציה (3)‬ ‫2. ביטחון מידע ופרטיות (1)‬ ‫(4)‬ ‫3. יידוע המשתמש ושליטתו באפליקציה‬ ‫(11)‬‫שימוש מוגבל במשאבים‬ ‫4.‬ ‫חווית משתמש (01)‬ ‫5.‬ ‫התאמה ל-‪)5( Delivery Context‬‬ ‫6.‬ ‫שיקולים נוספים (1)‬ ‫7.‬ ‫/‪www.w3.org/TR/mwabp‬‬ ‫43‬ ‫‪www.w3c.org.il‬‬
  • 35. ‫התייחסו יפה למידע רגיש...‬ ‫מדיה, פרטי קשר ו-‪ ,calendar‬פירוט שיחות, מידע‬ ‫על המכשיר, מיקום (!), חיבור לרשת‬ ‫(הקפידו על ההמלצות הבאות אם הדפדפן אינו מספק אותן)‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫53‬
  • 36. ‫5. הודיעו למשתמש על גישה אוטומטית לרשת*‬ ‫מה?‬ ‫שימוש ברשת מרוקן את הסוללה‬ ‫עולה כסף...‬ ‫איך?‬ ‫אייקון המודיע על פעילות ברקע‬ ‫הודיעו על שימוש רב ברשת (בחיבור ראשון, בהרשמה‬ ‫או בדפי העזרה)‬ ‫(כמה זמן, תדירות,סה"כ‬ ‫ספקו מידע על אופי החיבור‬ ‫שימוש)‬ ‫.‬ ‫‪5. Inform the User About Automatic Network Access‬‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫63‬
  • 37. ‫6. ספק אמצעים לשליטה בחיבור אוטומטי לרשת *‬ ‫מה?‬ ‫אפשר למשתמש למנוע חיבור אוטומטי לרשת‬ ‫(כאשר זה מבוטל – הציגו הודעת חיבור מעת לעת.)‬ ‫אפשרי –‬ ‫אפשר למשתמש לשלוט במועדי החיבור או בפעילויות אשר יכולות‬ ‫להתחבר.‬ ‫‪Image by: Jeff Sonstein‬‬ ‫‪6. Provide Sufficient Means to Control Automatic Network Access‬‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫73‬
  • 38. ‫7. הודיעו למשתמש על שימוש במידע על‬ ‫המכשיר או פרטים אישיים‬ ?‫מה‬ ‫בעת כניסה ראשונה לשירות או בגישה ראשונה‬ .‫למידע‬ ?‫איך‬ ‫ יש בקשת רשות מובנת‬API-‫לרוב ל‬ .)confirmation dialog ; recover gracefully( 7. Ensure the User is Informed About Use of Personal and Device Information www.w3.org/TR/mwabp MapQuest.com 38
  • 39. ‫8. אפשרו ‪ Sign-in‬אוטומטי‬ ‫מה?‬ ‫כי יותר קשה להזין תוכן....‬ ‫איך?‬ ‫בעוגיות, או ‪local storage‬‬ ‫(לא לשכוח לשים לינק ל-‪)log out‬‬ ‫‪8. Enable Automatic Sign-in‬‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫04‬
  • 40. ‫האפליקציה (3)‬ ‫1. נתוני‬ ‫2. ביטחון מידע ופרטיות (1)‬ ‫3. יידוע המשתמש ושליטתו באפליקציה (4)‬ ‫(11)‬ ‫4. שימוש מוגבל במשאבים‬ ‫(01)‬ ‫5. חווית משתמש‬ ‫6. התאמה ל-‪)5( Delivery Context‬‬ ‫7. שיקולים נוספים (1)‬ ‫/‪www.w3.org/TR/mwabp‬‬ ‫14‬ ‫‪www.w3c.org.il‬‬
  • 41. ‫אל תכבידו על משאבי המכשיר‬ ‫מוגבלים בניידים -‬ ‫זיכרון‬ ‫עיבוד‬ ‫רוחב פס‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫24‬
  • 42. ‫‪9. Use Transfer Compression‬‬ ‫מה?‬ ‫השתמשו בדחיסה של התוכן.‬ ‫אבל זכרו שיש עלות של זמן וחיי סוללה.‬ ‫איך?‬ ‫‪... Gzip‬‬ ‫לרוב לא צריך לדוחס: תמונות, אדיו, וידאו, קבצים קנטים מ-‪1k‬‬ ‫‪9. Use Transfer Compression‬‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫34‬
  • 43. ‫01. מזערו את גודל האפליקציה והנתונים‬ ?‫למה‬ ‫תרד יותר מהר‬ ‫תפעל יותר טוב‬ ?‫איך‬ JavaScript-‫ ו‬HTML ,CSS ‫הקטינו‬ (removal of white space and comments; shorter tokens (variables, method names, selector names) 10. Minimize Application and Data Size compressorrater.thruhere.net www.w3.org/TR/mwabp 44
  • 44. ‫11. המנעו מ-‪Redirects‬‬ ‫מה?‬ ‫לרוב נעשה שימוש ב ‪ HTTP 3xx‬או‪ HTML meta refresh‬להעברת מידע‬ ‫)‪(e.g. account authentication‬‬ ‫איך?‬ ‫פשוט נסו להמנע מהן.‬ ‫אם צריך יותר משתיים, אפשר להציג דף מעבר )בכדי שהמשתמש ידע ש'זה טעון'(‬ ‫‪11. Avoid Redirects‬‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫54‬
  • 45. ‫‪12. Optimize Network Requests‬‬ ‫מה?‬ ‫עדיף לבצע בקשות גדולות לשרת אך מועטות יותר‬ ‫(מאשר הרבה בקשות קטנות)‬ ‫איך?‬ ‫קיבוץ בקשות‬ ‫תעדוף בקשות‬ ‫פעילות בהתאם לרמת הקישוריות‬ ‫‪12. Optimize Network Requests‬‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫64‬
  • 46. ‫31. צמצמו שימוש במקורות חיצוניים‬ ‫למה?‬ ‫כל קובץ סקריפט, ‪ ,CSS‬תמונה = ‪ = HTTP request‬טיול לשרת‬ ‫איך?‬ ‫‪ CSS‬ו-‪ JavaScript‬כל אחד בקובץ אחד בלבד‬ ‫‪OR‬‬ ‫או שהם ישולבו לפני שהעמוד מוגש ללקוח‬ ‫‪13. Minimize External Resources‬‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫74‬
  • 47. (Sprites) ‫41. אחדו תמונות‬ ?‫איך‬ similar sizes and color palettes. That do not change often. use CSS positioning and clipping. Image by: Kriplozoik ‫דוגמא‬ www.yahoo.com 14. Aggregate Static Images into a Single Composite Resource (Sprites) www.w3.org/TR/mwabp 48
  • 48. CSS-‫51. שלבו תמונות רקע ב‬ ?‫מה‬ CSS-‫במקום להוריד תמונות, אפשר לכלול אותן ב‬ buzz data:image/png;base64,iVBORw0KGgoAAAANSUh data:image/png;base64, EUgAAAAgAAAAhCAYAAADkrOp1AAAAGXRFWH iVBORw0KGgoAAAANSUhEUgA AABAAAAAQAQMAAAAlPW0iAA RTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllP AAAAYFJREFUeNqEU7FOwzAQvXMuJSC1oqlKuo aZkakrGyti5i+Q+AZ+goERiR9hYEJiZKVIFaqgtJV9 ?‫איך‬ nO04SdO0TfQk5+75vedLgswM45vnDADuBOcCuy AABlBMVEUAAAD/ 4vkmaOCE/ZqJ+nabcbxzFh0Zx8fQPFpG6z0eD0JE data URI //+l2Z/dAAAAM0lEQVR4nGP uPVUSglAJATyGaAxnm8WDY70WdBKIawd4RxUB 4/5/h/1+G/58ZDrAz3D/McH a81EnSRTFHUdAu7tQQBUB+QW5B7BwvSKFEB2 BpSCHAXsiZnQVV5dnKlauxAxlsyh7ggQFNKaSLg :‫דוגמא‬ 8yw83NDDeNGe4U mmRvAeDUJQMAxKBAw0CRwIxmHdwCv7U4iCV UHYamFcyKZCGVLLbmhRMEHBD2jzFFCGlDruzY g9C9zwz3gVLMDA/A6P9/AFG BtGbiaA2JbhkDQvonNSZraoGCnhbYpNxXsvkrBBd GFyjOXZtQAAAAAElFTkSuQm 2mwMWgkHdYQAshhNQiz7hpYfYrQO1145YM8mf 9afGIkBVg82XJnzDsH76vFr+z8FWtQTzU1UX+yKu CC fj+V8NtVGh0/Dgd38mLsvb5PL 15. Include Background Images Inline in CSS Style Sheet www.w3.org/TR/mwabp 49
  • 49. 16. Fingerprinting Resource for chach ?‫מה‬ ‫ לקבצים שמשתנים מדי פעם‬cache ‫אפשר לעשות‬ ?‫איך‬ ‫ לתאריך רחוק מאוד בעתיד‬chase-‫- הגדירו את ה‬ ‫ שישתנה כשצריך לעדכן‬hash ‫ של הקובץ‬URL-‫- הוסיפו בסיומת ה‬ .‫אותו‬ <img src="http://www.example.com/userimages/joeblogs-67f90da089da"> 16. Cache Resources By Fingerprinting Resource References www.w3.org/TR/mwabp 50
  • 50. 17. Cache AJAX Data ?‫מה‬ cache ‫כפי שעושים עם תוכן רגיל, אפשר לעשות‬ .AJAX-‫למידע שמגיע ב‬ ?‫איך‬ ‫כרגיל‬ Expires Cache-Control header-‫ ו‬fingerprinting 17. Cache AJAX Data www.w3.org/TR/mwabp/ 51 www.w3c.org.il
  • 51. ‫81. שלחו עוגיות רק כשצריך‬ ‫מה?‬ ‫תוכן סטטי אינו צריך עוגיות – אז עדיף להימנע‬ ‫איך?‬ ‫דומיין, תת דומיין או ‪ path‬נפרד לתוכן סטטי‬ ‫1.‬ ‫הגדירו ‪ path‬לעוגיות‬ ‫2.‬ ‫‪18. Do not Send Cookie Information Unnecessarily‬‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫25‬
  • 52. Keep DOM Size Reasonable .19 ?‫איך‬ pagination ‫למשל בעזרת‬ X Fail V win 19. Keep DOM Size Reasonable www.w3.org/TR/mwabp 53
  • 53. ‫נתוני האפליקציה‬ ‫(3)‬ ‫1.‬ ‫ביטחון מידע ופרטיות (1)‬ ‫2.‬ ‫יידוע המשתמש ושליטתו באפליקציה (4)‬ ‫3.‬ ‫שימוש מוגבל במשאבים (11)‬ ‫4.‬ ‫(01)‬ ‫5. חווית משתמש‬ ‫(5)‬ ‫6. התאמה ל-‪Delivery Context‬‬ ‫7. שיקולים נוספים (1)‬ ‫/‪www.w3.org/TR/mwabp‬‬ ‫45‬ ‫‪www.w3c.org.il‬‬
  • 54. ‫בגלל מורכבות רבה יותר בשימוש במכשירים ניידים‬ ‫– חשוב לשפר את חווית המשמש‬ ‫‪Latency‬‬ ‫‪interaction method‬‬ ‫‪data consistency‬‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫55‬
  • 55. ‫02. להתחיל צ'יק צ'ק‬ ?‫איך‬ Use Offline Technology (e.g. AppCache) – Resources (HTML, JavaScript, CSS) stored locally. Use Local Storage: store a snapshot of last state - display it immediately on start-up Minimize Number of Local Storage Queries before the first view can be displayed. http://www.flickr.com/photos/66475767@N00/4333416050/ ...‫דוגמא‬ 20. Optimize For Application Start-up Time www.w3.org/TR/mwabp 56
  • 56. High responsiveness with Local storage - example ‫מבוסס על‬ IBM: Unlock local storage for mobile Web applications with HTML 5: j.mp/w3cmo3 www.w3.org/TR/mwabp j.mp/w3cmo2
  • 57. 21. Minimize Perceived Latency ?‫איך‬ Incremental Rendering JavaScript at the bottom + useful information that might be available is viewable while loading. Keep the User Informed of Activity (progress bars) Avoid Page Reloads To reflect changes in state or show different views Preload Probable Next Views ...‫דוגמא‬ 21. Minimize Perceived Latency www.w3.org/TR/mwabp 58
  • 58. kiva - ‫דוגמא‬ j.mp/w3cmo10 www.w3.org/TR/mwabp 59
  • 59. 22. Design for Multiple Interaction Methods ?‫מה‬ ‫שלושה סוגי אינטראקציה עיקריים‬ .‫עדיף להתאים לשיטת מכשיר היעד. אם אי אפשר – להתאים לכולם‬ ?‫איך‬ Focus Based: (focus "jumps" from link to link) . Pointer Based: (Key-based navigation + pointer ) Selectable elements that are associated with each other need to be close Selectable elements need to be large enough (pointer often moves in steps) Selectable elements should have rollovers Image by: Dennis Bournique Touch Based: (finger ) Selectable elements may be widely spaced since the user can select them directly Selectable elements must be large enough to be easily selected (list items - at least 30px) 22. Design for Multiple Interaction Methods www.w3.org/TR/mwabp 60
  • 60. ‫32. הימנעו משינוי הפוקוס בדפים דינמיים‬ ‫איך?‬ ‫)(‪ – .focus‬רק כשחייבים וכזה לא פוגע בשליטה‬ ‫‪23. Preserve Focus on Dynamic Page Updates‬‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫16‬
  • 61. fragment identifiers -‫42. השתמשו ב‬ ‫לתצוגה‬ ?‫מה‬ ‫ בכדי לאפשר שמירת‬fragment identifiers -‫השתמשו ב‬ back-‫הקישור לתצוגה, ולא לפגוע ב‬ ...‫דוגמא‬ http://myapp.example.org/myapp#view 24. Use Fragment IDs to Drive Application View www.w3.org/TR/mwabp 62
  • 62. W3C Cheat Sheet www.w3.org/TR/mwabp j.mp/w3cmo8 63
  • 63. "Click-to-Call"-‫52. השתמש במספרי טלפון ב‬ ‫איך‬ <a href="tel:[PHONE-NUMBER]">[PHONE-NUMBER]</a> entered using the full international prefix my.springpadit.com 25. Make Telephone Numbers "Click-to-Call" www.w3.org/TR/mwabp 64
  • 64. ‫‪26. Ensure Paragraph Text Flows‬‬ ‫מה?‬ ‫• מנע גלילה אנכית‬ ‫• ואפשר קריאה בשינוי אוריאנטציה‬ ‫איך?‬ ‫בקונטיינרים:‬ ‫כן: באחוזים / יחידות מידה יחסיות‬ ‫לא יחידות מוחלטות או פיקסלים‬ ‫‪Image by: curiouslee‬‬ ‫דוגמא...‬ ‫‪26. Ensure Paragraph Text Flows‬‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫56‬
  • 65. ‫דוגמא – טקסט צף ומתאים לגודל המסמך‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫‪W3c.org‬‬
  • 66. 27. Ensure Consistency Of State Between Devices ?‫מה‬ ‫הקפידו על עקיבות באפליקציה בין מכשירים‬ ‫שונים‬ • Credentials • preferences • Data ?‫איך‬ ‫שימורו על השרת מידע שאינו רלוונטי רק‬ ‫למכשיר הספציפי‬ http://www.flickr.com/photos/osde-info/4336196538/sizes/o/ 27. Ensure Consistency Of State Between Devices www.w3.org/TR/mwabp 67
  • 67. ‫האפליקציה (3)‬ ‫נתוני‬ ‫1.‬ ‫ביטחון מידע ופרטיות (1)‬ ‫2.‬ ‫יידוע המשתמש ושליטתו באפליקציה (4)‬ ‫3.‬ ‫שימוש מוגבל במשאבים (11)‬ ‫4.‬ ‫חווית משתמש (01)‬ ‫5.‬ ‫(5)‬ ‫6. התאמה ל-‪Delivery Context‬‬ ‫(1)‬ ‫7. שיקולים נוספים‬ ‫/‪www.w3.org/TR/mwabp‬‬ ‫86‬ ‫‪www.w3c.org.il‬‬
  • 68. ‫התאימו ל- ‪ Delivery Context‬שונים‬ ‫צרו אפליקציה בעלת יכולת זיהוי ההקשר (כגון יכולות המכשיר) והסתגלות להן. (התאמת‬ ‫תוכן, ניווט, מבנה עמוד...)‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫96‬
  • 69. push-‫82. מומלץ – שימוש ב‬ ?‫מה‬ ...‫אם מכשיר היעד תומך‬ ?‫איך‬ OMA Push QR Codes SMS … 28. Consider Mobile Specific Technologies for Initiating Web Applications www.w3.org/TR/mwabp 70
  • 70. ‫92.הגדירו את גודל התצוגה הרצוי‬ ?‫מה‬ ‫צריך למנוע ממכשירים לעשות זום אוטומטי באפליקציה שהותאמה‬ ....‫לניידים‬ ?‫איך‬ <meta name="viewport" content="width=device-width, initial-scale=1.0"/> ...‫דוגמא‬ 29. Use Meta Viewport Element To Identify Desired Screen Sizes www.w3.org/TR/mwabp 71
  • 71. ‫דוגמא - הגדרת גודל תצוגה‬ Viewport Offlines Data URI http://nils-dehl.de/m/ j.mp/w3cmo9 www.w3.org/TR/mwabp 72
  • 72. 30. Prefer Server-Side Detection Where Possible ?‫איך‬ HTTP request header: Accept User-Agent X-Wap-Profile :‫דוגמא‬ 30. Prefer Server-side Detection Where Possible j.mp/w3cmo11 www.w3.org/TR/mwabp 73
  • 73. '‫13. כשצריך – זיהוי יכולות 'צד לקוח‬ ?‫איך‬ JavaScript: if (some_api_exists) { ... CSS Media Types CSS Media Queries ...‫דוגמא‬ 31. Use Client-side Detection When Necessary www.w3.org/TR/mwabp 74
  • 74. CSS3 Media query layout example j.mp/w3cmo18 www.w3.org/TR/mwabp
  • 75. 32. Use Device Classification ?‫למה‬ to Simplify Content Adaptation ?‫איך‬ :‫אפשרות‬ Class 1: Basic XHTML support, no or very basic scripting. Class 2: Full AJAX and JavaScript support. Class 3: Advanced device APIs :‫עוד אפשרות‬ Class 1: Pointer Based. Class 2: Touch Based. 32. Use Device Classification to Simplify Content Adaptation www.w3.org/TR/mwabp 76
  • 76. JavaScript ‫33. לתפוצה מרבית – צרו גרסה ללא‬ ?‫איך‬ synchronous FORM posts <noscript> ‫או לפחות – הודעה מתאימה או‬ 33. Support a non-JavaScript Variant if Appropriate www.w3.org/TR/mwabp 77
  • 77. ‫43. אפשר למשתמש לבחור את התצוגה‬ ‫מה?‬ ‫אפשר למשתמש לשנות את‬ ‫סוג התצוגה‬ ‫כברירת מחדל ספק את ה-‪UI‬‬ ‫המתאים ביותר‬ ‫אבל זכור את העדפות‬ ‫המשתמש!‬ ‫‪34. Offer Users a Choice of Interfaces‬‬ ‫‪www.w3.org/TR/mwabp‬‬ ‫87‬
  • 78. ‫(3)‬ ‫נתוני האפליקציה‬ ‫1.‬ ‫ביטחון מידע ופרטיות (1)‬ ‫2.‬ ‫יידוע המשתמש ושליטתו באפליקציה (4)‬ ‫3.‬ ‫שימוש מוגבל במשאבים (11)‬ ‫4.‬ ‫חווית משתמש (01)‬ ‫5.‬ ‫התאמה ל-‪)5( Delivery Context‬‬ ‫6.‬ ‫(1)‬ ‫7. שיקולים נוספים‬ ‫/‪www.w3.org/TR/mwabp‬‬ ‫97‬ ‫‪www.w3c.org.il‬‬
  • 79. 35. Consider Canvas or SVG For Dynamic Graphics ?‫מה‬ canvas ‫מאפשר לצייר גרפיקה פשוטה‬ JavaScript ‫באמצעות‬ SVG ‫ להגדרת אלמנטים של‬XML ‫שפת‬ -‫גרפיקה וקטורית המתווספים ל‬ ‫, וניתנים לשינוי בעזרת‬DOM http://www.mozilla.com/en-US/firefox/stats/ JavaScript ...‫דוגמא‬ 35. Consider Use Of Canvas Element or SVG For Dynamic Graphics www.w3.org/TR/mwabp 80
  • 80. SVG and canvas demos • Bomomo.com • zwibbler.com • www.iconza.com j.mp/w3cmo16 j.mp/w3cmo14 Video - Cool mobile apps with SVG and other Web technologies - j.mp/w3cmo13 www.w3.org/TR/mwabp
  • 82. Mobile Web Best Practices (MWBP) Flipcards j.mp/w3cfcc www.w3.org/TR/mwabp 83
  • 83. The world is getting more platform-fragmented, not less. Source: j.mp/w3cmo5 Do www.w3.org/TR/mwabp/ yourself a favor and write 84 your next app in HTML5. www.w3c.org.il
  • 84.  ‫תודה‬ www.w3c.org.il @isociltech @eyalsela j.mp/w3cmobp eyal@isoc.org.il www.w3.org/TR/mwabp 85