84
www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices עעעע עעע טטטט טטטטטטטט, טטטטט טטטטטטטט- טטטטטטט טטטטט טW3C טטטטטטט

Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

Embed Size (px)

Citation preview

Page 1: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

1

Mobile Web Application Best Practices

אייל סלע

מנהל פרויקטים, איגוד האינטרנט הישראלי הישראליW3Cומשרד ה-

Page 2: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabpj.mp/w3cdoc

2

Page 3: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

תוכנית...

W3C - איגוד האינטרנט הישראלי ומבוא

mobile web applications best practices ה-אודותThe Best practices

3

Page 4: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3c.org.ilwww.w3.org/TR/mwabp/

4

איגוד האינטרנט הישראלישלוחת האיגוד הבינלאומי: •

עמותה ללא מטרת רווח •

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

חברתית ועסקית.

Page 5: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

5

W3C

ארגון בינלאומי •

ארגונים350כ-•

פורום ניטראלי ליצירת תקני רשת באינטרנט. •

משימה:•להוביל את הרשת למיצוי הפוטנציאל על ידי

פיתוח פרוטוקולים וקווים מנחים שיאפשרו את צמיחתה לטווח ארוך.

Page 6: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

W3Cהשנה

סידרת מפגשים למפתחים

קבוצות עניין

פיתוח אפליקציה

סדנאות תגובה למומחים

הרצאות אורח )שלנו, שלכם(

תמיכה בפעילות קבוצות/קהילות

שילוב מומחים בקבוצות עבודה

עוד...

6

()

Page 7: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

Mobile Web אודות ה-Application Best

Practices

7

Page 8: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

.W3Cמסמך קווים מנחים של ה-

שיטות לשיפור חווית המשתמש 35מגדיר באפליקציות ווב למכשירים ניידים

8

Page 9: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

Candidateהמסמך נמצא בשלב recomendation

9

You are here

j.mp/w3crec

Page 10: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

הגישו דיווח יישום...למה לכם?

כי חייבים להציג יישום בכדי שזה יהפוך לתקן-כי האפליקציה שלכם תופיע בדוח היישומים-הישראליW3Cכי אני אכתוב על זה באתר -

. / 3j mp w cmo1 10

Page 11: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

. / 3j mp w cmobp

11

[email protected]

Page 12: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

דיווח יישום...מי יכול להגיש?

כל מי שפיתח אפליקציה-מהשיטות במסמך )גם בדיעבד( חלקוישים -

12

Page 13: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

מה מיישמים?

13

Page 14: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

על מה אנחנו מדברים?

14

Page 15: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

15

Web ApplicationWeb page)s( that provide an "application-like" experience within a Web browser.

Page 16: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

16

(BP1) הבדל מאתר רגיל

include locally executable elements of interactivity and persistent state.

למשל:

bit.ly/w3cmbpvalidator.w3.org/mobile/

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

Page 17: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp. / 3 1j mp w cmo

17

nextbus.com/webkit/

+ User Agent Switcher

Page 18: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

touchsolitaire.mobi/app

j.mp/w3cmo15

Page 19: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabpapp.clichespotting.com

19

app.clichespotting.com

Page 20: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp. . .m jobscentral com sg

20

m.jobscentral.com.sg

Page 21: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

Sencha touch)!!(

j.mp/w3cmo6

http://www.sencha.com/

Page 22: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3c.org.ilwww.w3.org/TR/mwabp/

22

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

מגבלות והבדלים – מכשירים ניידים לעומת שולחניים

bit.ly/w3cmbp

Page 23: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3c.org.ilwww.w3.org/TR/mwabp/

23

Best practices

Page 24: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

24

(3)נתוני האפליקציה 1.

( 1)ביטחון מידע ופרטיות 2.

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

(11)שימוש מוגבל במשאבים 4.

(10)חווית משתמש 5.

Delivery Context (5)התאמה ל-6.

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

(35)סה"כ

Page 25: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

25

(3)נתוני האפליקציה 1.

( 1)ביטחון מידע ופרטיות 2.

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

(11)שימוש מוגבל במשאבים 4.

(10)חווית משתמש 5.

Delivery Context (5)התאמה ל-6.

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

Page 26: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

אחסון השתמשו בטכנולוגיות ושיטות מתאימות לנתוני האפליקציה

26

Page 27: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

27

1 . Use Cookies Sparingly

. המעיטו את השימוש בעוגיות1

מה?

נשלחות לשרת בכל בקשה

יתכן ולא יהיה פעילות במכשיר

איך?

בנו אפליקציה פעילה גם ללא עוגיות

(URI decoration)למשל עם Image by :D Sharon Pruitt

Page 28: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

. השתמשו בטכנולוגיות המתאימות לאחסון מידע בצד 2הלקוח

מה?עדיף להשתמש במנגנונים בצד לקוח

לאחסון מידע, בעיקר בכמויות גדולות.(start-up time , Responsiveness)מועיל ב

איך?•BONDI

•HTML5 - Offline - . / 3j mp w coff

•Opera Widgets

28

by Remy Sharp - remysharp.com/demo/rubiks/

2. Use Appropriate Client-Side Storage Technologies for Local Data

j.mp/w3cmo7

Page 29: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

. שכפלו מידע לשרת במידת הצורך3מה?

תצוגה אחידה במכשירים שונים

מגבה למקרה של אובן המכשיר)לא צריך לשכפל למשל העדפות תצוגה של מכשיר ספציפי(

איך?

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

דוגמא...

29

3 .Replicate Local Data

Page 30: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

Local storage + offline - demo

. /j mp mozoff

30

www.html5rocks.com/tutorials/offline/todo/

Page 31: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3c.org.ilwww.w3.org/TR/mwabp/

31

(3נתוני האפליקציה )1.

( 1)ביטחון מידע ופרטיות 2.

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

(11)שימוש מוגבל במשאבים 4.

(10)חווית משתמש 5.

Delivery Context (5)התאמה ל-6.

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

Page 32: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

– השתמשו במידע אמין ביטחון מידע ופרטיות והגנו על פרטיות המשתמש

32

Page 33: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

4. Do not Execute Unescaped or Untrusted JSON data

33

Image by :D Sharon Pruitt

direct execution of a datafeed that contains unescaped user-generated data = security risk

Use JSON parser

4. Do not Execute Unescaped or Untrusted JSON data

Page 34: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3c.org.ilwww.w3.org/TR/mwabp/

34

(3נתוני האפליקציה )1.

( 1)ביטחון מידע ופרטיות 2.

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

(11)שימוש מוגבל במשאבים 4.

(10)חווית משתמש 5.

Delivery Context (5)התאמה ל-6.

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

Page 35: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

, פירוט שיחות, מידע calendarמדיה, פרטי קשר ו-על המכשיר, מיקום )!(, חיבור לרשת

מספק אותן(אינו )הקפידו על ההמלצות הבאות אם הדפדפן

35

התייחסו יפה למידע רגיש...

Page 36: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

. הודיעו למשתמש על גישה אוטומטית 5*לרשת

מה?שימוש ברשת מרוקן את הסוללה

עולה כסף...

איך?המודיע על פעילות ברקעאייקון )בחיבור ראשון, על שימוש רב ברשת הודיעו

בהרשמה או בדפי העזרה(

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

.

36

5. Inform the User About Automatic Network Access

Page 37: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

*. ספק אמצעים לשליטה בחיבור אוטומטי לרשת6

מה?אפשר למשתמש למנוע חיבור אוטומטי

לרשת)כאשר זה מבוטל – הציגו הודעת חיבור מעת לעת.(

אפשרי –

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

37

Image by :Jeff Sonstein

6. Provide Sufficient Means to Control Automatic Network Access

Page 38: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

. הודיעו למשתמש על שימוש במידע על 7המכשיר או פרטים אישיים

מה?בעת כניסה ראשונה לשירות או בגישה

ראשונה למידע.

איך?

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

38

MapQuest.com

7. Ensure the User is Informed About Use of Personal and Device Information

Page 39: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

אוטומטיSign-in. אפשרו 8

מה?כי יותר קשה להזין תוכן....

איך? local storageבעוגיות, או

(log out)לא לשכוח לשים לינק ל-

40

8. Enable Automatic Sign-in

Page 40: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3c.org.ilwww.w3.org/TR/mwabp/

41

(3 )נתוני האפליקציה1.

( 1)ביטחון מידע ופרטיות 2.

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

(11)שימוש מוגבל במשאבים 4.

(10)חווית משתמש 5.

Delivery Context (5)התאמה ל-6.

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

Page 41: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

מוגבלים בניידים -

זיכרון

עיבוד

רוחב פס

42

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

Page 42: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

9. Use Transfer Compression

מה?השתמשו בדחיסה של התוכן.

אבל זכרו שיש עלות של זמן וחיי סוללה.

איך?

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

43

9. Use Transfer Compression

Page 43: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

. מזערו את גודל האפליקציה 10והנתונים

למה?תרד יותר מהר

תפעל יותר טוב

איך?JavaScript ו-CSS, HTMLהקטינו

(removal of white space and comments; shorter tokens (variables, method names, selector names)

44

10. Minimize Application and Data Size

compressorrater.thruhere.net

Page 44: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

Redirects. המנעו מ-11

מה? להעברת HTML meta refresh או HTTP 3xxלרוב נעשה שימוש ב

מידע(e.g. account authentication)

איך?פשוט נסו להמנע מהן.

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

45

11. Avoid Redirects

Page 45: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

12. Optimize Network Requests

מה? יותר מועטות לשרת אך גדולותעדיף לבצע בקשות

)מאשר הרבה בקשות קטנות(

איך? בקשותקיבוץ

בקשותתעדוף

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

46

12. Optimize Network Requests

Page 46: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

. צמצמו שימוש במקורות חיצוניים13

למה? = טיול לשרתHTTP request, תמונה = CSSכל קובץ סקריפט,

איך?CSS-ו JavaScript בלבדאחד כל אחד בקובץ

ORאו שהם ישולבו לפני שהעמוד מוגש ללקוח

47

13. Minimize External Resources

Page 47: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

(Sprites). אחדו תמונות 14

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

דוגמאwww.yahoo.com

48

Image by: Kriplozoik

14. Aggregate Static Images into a Single Composite Resource )Sprites(

Page 48: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

CSS. שלבו תמונות רקע ב-15

מה?CSSבמקום להוריד תמונות, אפשר לכלול אותן ב-

איך?data URIדוגמא:

49

15. Include Background Images Inline in CSS Style Sheet

data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD/ //+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4U g9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAhCAYAAADkrOp1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYFJREFUeNqEU7FOwzAQvXMuJSC1oqlKuoaZkakrGyti5i+Q+AZ+goERiR9hYEJiZKVIFaqgtJV9nO04SdO0TfQk5+75vedLgswM45vnDADuBOcCuy4vkmaOCE/ZqJ+nabcbxzFh0Zx8fQPFpG6z0eD0JEuPVUSglAJATyGaAxnm8WDY70WdBKIawd4RxUBa81EnSRTFHUdAu7tQQBUB+QW5B7BwvSKFEB2BpSCHAXsiZnQVV5dnKlauxAxlsyh7ggQFNKaSLgmmRvAeDUJQMAxKBAw0CRwIxmHdwCv7U4iCVUHYamFcyKZCGVLLbmhRMEHBD2jzFFCGlDruzYBtGbiaA2JbhkDQvonNSZraoGCnhbYpNxXsvkrBBd2mwMWgkHdYQAshhNQiz7hpYfYrQO1145YM8mf9afGIkBVg82XJnzDsH76vFr+z8FWtQTzU1UX+yKufj+V8NtVGh0/Dgd38mLsvb5PL

buzz

Page 49: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

16. Fingerprinting Resource for chach

50

16. Cache Resources By Fingerprinting Resource References

מה?

לקבצים שמשתנים מדי פעםcacheאפשר לעשות

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

לעדכן אותו.

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

Page 50: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3c.org.ilwww.w3.org/TR/mwabp/

17. Cache AJAX Data

מה? cacheכפי שעושים עם תוכן רגיל, אפשר לעשות

.AJAXלמידע שמגיע ב-

איך?כרגיל

Expires \ Cache-Control header ו-fingerprinting

51

17. Cache AJAX Data

Page 51: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

. שלחו עוגיות רק כשצריך18

מה?תוכן סטטי אינו צריך עוגיות – אז עדיף להימנע

איך? נפרד לתוכן סטטיpathדומיין, תת דומיין או 1.

לעוגיותpathהגדירו 2.

52

18. Do not Send Cookie Information Unnecessarily

Page 52: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

19 .Keep DOM Size Reasonable

איך? paginationלמשל בעזרת

53

19. Keep DOM Size Reasonable

X Fail V win

Page 53: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3c.org.ilwww.w3.org/TR/mwabp/

54

(3)נתוני האפליקציה 1.

( 1)ביטחון מידע ופרטיות 2.

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

(11)שימוש מוגבל במשאבים 4.

(10)חווית משתמש 5.

Delivery Context (5)התאמה ל-6.

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

Page 54: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

בגלל מורכבות רבה יותר בשימוש במכשירים ניידים – חשוב לשפר את חווית המשמש

Latencyinteraction methoddata consistency

55

Page 55: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

. להתחיל צ'יק צ'ק20

איך?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.

דוגמא...

56

http://www.flickr.com/photos/66475767@N00/4333416050/

20. Optimize For Application Start-up Time

Page 56: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

High responsiveness with Local storage - example

מבוסס עלIBM:Unlock local storage for

mobile Web applications with HTML 5: j.mp/w3cmo3

j.mp/w3cmo2

Page 57: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

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 ReloadsTo reflect changes in state or show different views

Preload Probable Next Viewsדוגמא...

58

21. Minimize Perceived Latency

Page 58: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

kivaדוגמא -

. / 3 10j mp w cmo

59

Page 59: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

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 closeSelectable elements need to be large enough (pointer often moves in steps)Selectable elements should have rollovers

Touch Based: (finger )Selectable elements may be widely spaced since the user can select them directlySelectable elements must be large enough to be easily selected (list items - at

least 30px)

60

Image by: Dennis Bournique

22. Design for Multiple Interaction Methods

Page 60: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

. הימנעו משינוי הפוקוס בדפים 23דינמיים

איך?

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

61

23 . Preserve Focus on Dynamic Page Updates

Page 61: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

fragment. השתמשו ב-24identifiers לתצוגה

מה? בכדי לאפשר שמירת fragment identifiersהשתמשו ב-

backהקישור לתצוגה, ולא לפגוע ב-

דוגמא...

http://myapp.example.org/myapp#view

62

24 . Use Fragment IDs to Drive Application View

Page 62: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

W3C Cheat Sheet

. / 3 8 j mp w cmo

63

Page 63: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

-Click-to". השתמש במספרי טלפון ב-25Call"

איך

<a href="tel:[PHONE-NUMBER]">[PHONE-NUMBER]</a>

entered using the full international prefix

64

 my.springpadit.com

25. Make Telephone Numbers "Click-to-Call"

Page 64: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

26. Ensure Paragraph Text Flowsמה?

מנע גלילה אנכית•ואפשר קריאה בשינוי אוריאנטציה•

איך?בקונטיינרים:

באחוזים / יחידות מידה יחסיותכן:

יחידות מוחלטות או פיקסליםלא

דוגמא...

65

Image by :curiouslee

26. Ensure Paragraph Text Flows

Page 65: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

דוגמא – טקסט צף ומתאים לגודל המסמך

W3c.org

Page 66: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

27. Ensure Consistency Of State Between Devices

מה?הקפידו על עקיבות באפליקציה בין

מכשירים שונים • Credentials• preferences • Data

איך?שימורו על השרת מידע שאינו רלוונטי רק

למכשיר הספציפי

67

http://www.flickr.com/photos/osde-info/4336196538/sizes/o/

27. Ensure Consistency Of State Between Devices

Page 67: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3c.org.ilwww.w3.org/TR/mwabp/

68

(3 )נתוני האפליקציה1.

( 1)ביטחון מידע ופרטיות 2.

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

(11)שימוש מוגבל במשאבים 4.

(10)חווית משתמש 5.

Delivery Context (5)התאמה ל-6.

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

Page 68: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

69

שונים Delivery Contextהתאימו ל-צרו אפליקציה בעלת יכולת זיהוי ההקשר )כגון יכולות המכשיר( והסתגלות להן.

)התאמת תוכן, ניווט, מבנה עמוד...(

Page 69: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

push. מומלץ – שימוש ב-28

מה?אם מכשיר היעד תומך...

איך?OMA PushQR CodesSMS…

70

28 . Consider Mobile Specific Technologies for Initiating Web Applications

Page 70: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

.הגדירו את גודל התצוגה הרצוי29

מה?צריך למנוע ממכשירים לעשות זום אוטומטי באפליקציה שהותאמה

לניידים....

איך?<meta name="viewport" content="width=device-width,

initial-scale=1.0"/> דוגמא...

71

29 .Use Meta Viewport Element To Identify Desired Screen Sizes

Page 71: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

דוגמא - הגדרת גודל תצוגה

ViewportOfflinesData URI

j.mp/w3cmo972

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

Page 72: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

30. Prefer Server-Side Detection Where Possible

איך?HTTP request header: AcceptUser-AgentX-Wap-Profile

דוגמא:

73

30. Prefer Server-side Detection Where Possible

j.mp/w3cmo11

Page 73: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

. כשצריך – זיהוי יכולות 'צד 31לקוח'איך?

JavaScript: if (some_api_exists) { ...

CSS Media Types

CSS Media Queriesדוגמא...

74

31 .Use Client-side Detection When Necessary

Page 74: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

CSS3 Media query layout example

j.mp/w3cmo18

Page 75: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

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.

76

32 .Use Device Classification to Simplify Content Adaptation

Page 76: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

JavaScript. לתפוצה מרבית – צרו גרסה ללא 33

איך?synchronous FORM posts 

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

77

33 .Support a non-JavaScript Variant if Appropriate

Page 77: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

. אפשר למשתמש לבחור את התצוגה34

מה?אפשר למשתמש לשנות

את סוג התצוגה

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

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

78

34. Offer Users a Choice of Interfaces

Page 78: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3c.org.ilwww.w3.org/TR/mwabp/

79

(3)נתוני האפליקציה 1.

( 1)ביטחון מידע ופרטיות 2.

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

(11)שימוש מוגבל במשאבים 4.

(10)חווית משתמש 5.

Delivery Context (5)התאמה ל-6.

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

Page 79: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

35. Consider Canvas or SVG For Dynamic Graphics

מה?canvas

מאפשר לצייר גרפיקה פשוטה באמצעות

JavaScript

80

http://www.mozilla.com/en-US/firefox/stats/

SVG להגדרת אלמנטים XMLשפת

של גרפיקה וקטורית המתווספים , וניתנים לשינוי בעזרת DOMל-

JavaScript

דוגמא...

35. Consider Use Of Canvas Element or SVG For Dynamic Graphics

Page 80: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

SVG and canvas demos

Video - Cool mobile apps with SVG and other Web technologies - j.mp/w3cmo13

• Bomomo.com • zwibbler.com• www.iconza.com

j.mp/w3cmo14j.mp/w3cmo16

Page 81: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

כלים נוספים

82

Page 82: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

Mobile Web Best Practices (MWBP) Flipcards j.mp/w3cfcc

83

Page 83: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3c.org.ilwww.w3.org/TR/mwabp/

84

The world is getting more platform-fragmented, not less.

Source: j.mp/w3cmo5

Do yourself a favor and write your next app in HTML5.

Page 84: Www.w3.org/TR/mwabp 1 Mobile Web Application Best Practices אייל סלע מנהל פרויקטים, איגוד האינטרנט הישראלי ומשרד ה -W3C הישראלי

www.w3.org/TR/mwabp

www.w3c.org.il@isociltech @eyalsela

[email protected]. il

85

תודה

j.mp/w3cmobp