mobile web best practices eyal sela [hebrew]

58
www.w3c.org.il www.w3.org/TR/mwabp/ 1

Upload: israeli-internet-association-technology-committee

Post on 16-May-2015

2.170 views

Category:

Documents


11 download

DESCRIPTION

ב-24 במרץ 2010 התקיים המפגש השני של פורום מפתחי ה-W3C הישראלי (W3C Developers Forum - W3CDF). המפגש עסק בפיתוח אפליקציות ואתרים למכשירים ניידים (Mobile Web).

TRANSCRIPT

Page 1: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp/

1

Page 3: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

...CSS3 , SVGעיצוב וגרפיקה -המפגש הבא

3

מתארח במכללת אפקה•

באפריל 22•

•16:30-21:00

Page 4: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

....מפגשים נוספים

Additional Requirementsסדנת סקירה ומשוב למסמך [מחר]1.for Bidi in HTML

(פירוט בהמשך)-mobile web best practicesמפגש תגובה ל[ 7/4]2.

.3[? ]Coding session +פרויקטי פיתוח

4

Page 5: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

W3C השנה

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

קבוצות עניין•

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

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

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

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

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

...עוד•

5

()

אבל אין

הודעות

חדש

Page 6: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

היוםהתכנסות16:30

מהביטים עד -בישראל הסלולרימבוא לשוק האינטרנט 17:00

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

.טכנולוגיות מתקדמות

-של ה Mobile Web Application Best Practicesהצגת מסמך 17:45

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

הפסקה18:15

.WW3.LTD בעלים ,אוסמןניל –כאוס ותקנים , אינטרנט נייד18:30

מומחה לטלפונים , וקולנקומיכאל -בטלפונים חכמים HTML5טכנולוגיות 19:15

Wave Compass ltd ,חכמים ותקשורת ניידת בפס רחב

הפסקה20:00

Webkitמבוססי סלולרייםהדגמה חיה של בניית אפליקציה לדפדפנים 20:15 -.קונקטאנסוף ,מהנדס ממשק משתמש ויועץ שימושיות, יובל רז

6

Page 7: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

7

Mobile Web Application Best

Practicesאייל סלע

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

Page 8: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

cdoc3j.mp/w

8

Page 9: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

...תוכנית

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

mobile web applications best practices-ה אודות•

•The Best practices

9

Page 10: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

10

W3C

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

ארגונים 350-כ•

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

:משימה•

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

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

Page 11: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

Mobile Web-אודות הApplication Best

Practices

11

Page 12: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

No feature has been identified as at risk

advance to Proposed Recommendation 15 April 2010.

12

You are

here

crec3j.mp/w

Page 13: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

סדנת סקירה ומשוב

באפריל 7

(פתח תקווה)משרדי איגוד האינטרנט הישראלי

17:00-מ

...שם רק נגיב, חובה להכיר....! נסו אותו מראש

13

crevu3j.mp/w

Page 14: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

14

cmobrp3j.mp/w

Page 15: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

15

Web Applicationa Web page (XHTML + CSS) or collection of Web pages

delivered over HTTP which use server-side or client-side

processing (e.g. JavaScript) to provide an "application-like"

experience within a Web browser.

Page 16: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

16

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

include locally executable elements of interactivity and

persistent state.

cmbp3bit.ly/w validator.w3.org/mobile/

/nextbus.com/webkit

Page 17: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp/

17

תצוגה •

הזנת תוכן•

רוחב פס ועלות •

מטרות המשתמש•

מגבלות המכשיר•

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

cmbp3bit.ly/w

Page 18: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp/

18

Best practices

Page 19: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

19

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

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

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

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

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

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

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

(35כ "סה)

Page 20: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp/

20

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

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

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

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

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

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

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

Page 21: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

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

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

21

Page 22: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

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

?מה

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

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

?איך

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

(URI decorationלמשל עם )

22

D Sharon PruittImage by:

Page 23: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

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

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

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

?איך•BONDI

•5HTML - coff3j.mp/w-Offline

•Opera Widgets

23

Remy Sharpby |remysharp.com/demo/rubiks/-

Page 24: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

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

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

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

j.mp/mozoff

?איך

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

.בדיקת קישוריות

דוגמא

24

j.mp/mozoff

Page 25: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp/

25

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

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

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

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

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

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

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

Page 26: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

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

על פרטיות המשתמש

26

Page 27: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

Do not Execute Unescaped or Untrusted

JSON data

RFC4627 for details

27

D Sharon PruittImage by:

direct execution of a

datafeed that contains

unescaped user-

generated data =

security risk

A JSON parser will accept

only valid JSON, preventing

potentially malicious code

from running.

Page 28: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp/

28

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

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

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

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

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

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

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

Page 29: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

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

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

29

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

Page 30: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

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

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

...עולה כסף

?איךהמודיע על פעילות ברגעאייקון •

, בחיבור ראשון)על שימוש רב ברשת הודיעו•

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

, כמה זמן)אופי החיבור ספקו מידע על •

(כ שימוש"סה,תדירות

.

30

Page 31: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

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

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

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

–אפשרי

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

.להתחבר

31

Jeff SonsteinImage by:

Page 32: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

הודיעו למשתמש על שימוש במידע על

המכשיר או פרטים אישיים

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

.למידע

?איך

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

32

MapQuest.com

Page 33: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

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

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

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

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

33

Page 34: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp/

34

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

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

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

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

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

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

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

Page 35: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

זיכרון

עיבוד

רוחב פס

מוגבלים יותר במכשירים ניידים

35

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

Page 36: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

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

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

תפעל יותר טוב

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

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

36

See http://compressorrater.thruhere.net

Page 37: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

Redirects-המנעו מ

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

refresh להעברת מידע(e.g. account authentication)

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

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

37

Page 38: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

Optimize Network Requests

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

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

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

בקשות תעדוף•

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

38

Page 39: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

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

?מהstyle sheets, scripts, image - each of which requires an HTTP request

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

OR

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

39

Page 40: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

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

?איך• similar sizes and color palettes.

• That do not change often.

• use CSS positioning and clipping.

דוגמאwww.yahoo.com

40

Image by: Kriplozoik

Page 41: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

Keep DOM Size Reasonable

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

41

Page 42: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp/

42

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

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

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

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

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

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

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

Page 43: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

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

• Latency

• interaction method

• data consistency

43

Page 44: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

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

Optimize For Application Start-up Time

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

44

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

Page 45: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

Minimize Perceived Latency

?איך

• Incremental Rendering: Place JavaScript at the

bottom of the page+ configure the page so that any useful information that might be available is viewable while the main content of the application is still 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

45

MapQuest.com

Page 46: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

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

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)

46

Image by: Dennis Bournique

Page 47: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

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

איך

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

entered using the full international prefix

RFC3966

47

my.springpadit.com

Page 48: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

Ensure Paragraph Text Flows

?מה

מנע גלילה אנכית•

ואפשר קריאה בשינוי אוריאנטציה•

?איך

פיקסלים/ להשתמש ביחידות מוחלטות לא

- containersלהשתמש ביחידות יחסיות לכן

48

curiousleeImage by:

Page 49: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

Ensure Consistency Of State Between

Devices

?מההקפידו על עקיבות באפליקציה בין מכשירים

שונים

• Credentials

• preferences

• Data

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

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

49

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

Page 50: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp/

50

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

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

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

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

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

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

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

Page 51: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

51

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

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

Page 52: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

Prefer Server-Side Detection Where

PossibleHTTP request header: Accept; User-Agent; X-Wap-Profile

52

Use Client-Side Capability Detection

Where NecessaryJavaScript: (e.g. if (some_api_exists) { ...). CSS Media Types / Queries

Use Device Classification to Simplify

Content AdaptationClass 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.

Page 53: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

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

?מה

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

סוג התצוגה

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

המתאים ביותר

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

53

Page 54: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp/

54

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

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

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

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

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

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

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

Page 55: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

Consider Use of Canvas Element or

SVG For Dynamic Graphics

?מהcanvas

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

JavaScriptבאמצעות

55

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

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

JavaScript

Page 56: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

כלים נוספים

56

Page 57: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

Web Compatibility Test for Mobile Browsers - version 2 -j.mp/w3ctmb

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

57

Page 58: Mobile Web Best Practices   Eyal Sela [Hebrew]

www.w3c.org.il

www.w3.org/TR/mwabp

הירשמו לידיעון•

צרו קשר•

58

@isociltech @eyalsela

תודה

cmpr3j.mp/w -קישור זמני למצגות