MOBILE HTML5 Max Firtman @firt mobile+web developer Wednesday, - - PowerPoint PPT Presentation

mobile html5
SMART_READER_LITE
LIVE PREVIEW

MOBILE HTML5 Max Firtman @firt mobile+web developer Wednesday, - - PowerPoint PPT Presentation

Oct, 10th, 2011 Aarhus, Denmark MOBILE HTML5 Max Firtman @firt mobile+web developer Wednesday, October 12, 11 who am I? mobile + web developer mobile x web.com blog @firt Wednesday, October 12, 11 where? Wednesday, October 12, 11 where?


slide-1
SLIDE 1

MOBILE HTML5

Max Firtman @firt mobile+web developer

Oct, 10th, 2011 Aarhus, Denmark

Wednesday, October 12, 11
slide-2
SLIDE 2

mobile+web developer mobilexweb.com blog @firt

who am I?

Wednesday, October 12, 11
slide-3
SLIDE 3

where?

Wednesday, October 12, 11
slide-4
SLIDE 4

buenos aires ~ argentina

where?

Wednesday, October 12, 11
slide-5
SLIDE 5

buenos aires ~ argentina

where?

patagonia football meat & wine tango

Wednesday, October 12, 11
slide-6
SLIDE 6

Image from my house

books

Wednesday, October 12, 11
slide-7
SLIDE 7 Wednesday, October 12, 11
slide-8
SLIDE 8

Using the Latest Today

Estelle Weyl & Maximiliano Firtman

Mobile HTML5

coming soon... also by @estellevw

Wednesday, October 12, 11
slide-9
SLIDE 9 Wednesday, October 12, 11
slide-10
SLIDE 10

native vs web

Wednesday, October 12, 11
slide-11
SLIDE 11

WAIT!

Wednesday, October 12, 11
slide-12
SLIDE 12

Are you sure?

Wednesday, October 12, 11
slide-13
SLIDE 13

native code vs javascript

Wednesday, October 12, 11
slide-14
SLIDE 14

browser vs installed apps & stores

Wednesday, October 12, 11
slide-15
SLIDE 15

what is native?

Wednesday, October 12, 11
slide-16
SLIDE 16

what is a webapp?

Wednesday, October 12, 11
slide-17
SLIDE 17 Wednesday, October 12, 11
slide-18
SLIDE 18

Are you sure?

Photo by Ricky David (Flickr)

Wednesday, October 12, 11
slide-19
SLIDE 19

What is ?

Wednesday, October 12, 11
slide-20
SLIDE 20

html5

Wednesday, October 12, 11
slide-21
SLIDE 21

html5

  • w3c standards (all in draft)
Wednesday, October 12, 11
slide-22
SLIDE 22

html5

  • w3c standards (all in draft)
  • some are other w3c standards
Wednesday, October 12, 11
slide-23
SLIDE 23

html5

  • w3c standards (all in draft)
  • some are other w3c standards
  • de-facto standards
Wednesday, October 12, 11
slide-24
SLIDE 24

html5

  • w3c standards (all in draft)
  • some are other w3c standards
  • de-facto standards
  • w3c ex-standards
Wednesday, October 12, 11
slide-25
SLIDE 25

html5

  • w3c standards (all in draft)
  • some are other w3c standards
  • de-facto standards
  • w3c ex-standards
  • everything “new” on the web
Wednesday, October 12, 11
slide-26
SLIDE 26

html version 5?

Wednesday, October 12, 11
slide-27
SLIDE 27

why mobile html5?

Wednesday, October 12, 11
slide-28
SLIDE 28

typeof html5 != boolean

Wednesday, October 12, 11
slide-29
SLIDE 29

some features safe

Wednesday, October 12, 11
slide-30
SLIDE 30

some features only on few platforms

Wednesday, October 12, 11
slide-31
SLIDE 31

some features experimental

Wednesday, October 12, 11
slide-32
SLIDE 32 Wednesday, October 12, 11
slide-33
SLIDE 33

and what about capabilities today?

Wednesday, October 12, 11
slide-34
SLIDE 34 Wednesday, October 12, 11
slide-35
SLIDE 35

warning....

Wednesday, October 12, 11
slide-36
SLIDE 36

new doctype

Wednesday, October 12, 11
slide-37
SLIDE 37

new doctype

  • <!DOCTYPE html>
Wednesday, October 12, 11
slide-38
SLIDE 38

new doctype

  • <!DOCTYPE html>
  • works on every mobile browser
Wednesday, October 12, 11
slide-39
SLIDE 39

new semantic tags

Wednesday, October 12, 11
slide-40
SLIDE 40

new semantic tags

  • section, article, header, footer, nav
Wednesday, October 12, 11
slide-41
SLIDE 41

new semantic tags

  • section, article, header, footer, nav
  • time, mark, ...
Wednesday, October 12, 11
slide-42
SLIDE 42

new semantic tags

  • section, article, header, footer, nav
  • time, mark, ...
  • works on every mobile browser
Wednesday, October 12, 11
slide-43
SLIDE 43

new form controls

HTML5 2.2+ (b) 6.0+ (med) 5.0+ (adv) 9.0 (basic) 10+ (med)

Wednesday, October 12, 11
slide-44
SLIDE 44

new form controls

  • variable support

HTML5 2.2+ (b) 6.0+ (med) 5.0+ (adv) 9.0 (basic) 10+ (med)

Wednesday, October 12, 11
slide-45
SLIDE 45

new form controls

  • variable support
  • basic=different virtual keyboard

HTML5 2.2+ (b) 6.0+ (med) 5.0+ (adv) 9.0 (basic) 10+ (med)

Wednesday, October 12, 11
slide-46
SLIDE 46

new form controls

  • variable support
  • basic=different virtual keyboard
  • medium=new date, number, range

HTML5 2.2+ (b) 6.0+ (med) 5.0+ (adv) 9.0 (basic) 10+ (med)

Wednesday, October 12, 11
slide-47
SLIDE 47

new form controls

  • variable support
  • basic=different virtual keyboard
  • medium=new date, number, range
  • advanced=datalist

HTML5 2.2+ (b) 6.0+ (med) 5.0+ (adv) 9.0 (basic) 10+ (med)

Wednesday, October 12, 11
slide-48
SLIDE 48

new form controls

  • variable support
  • basic=different virtual keyboard
  • medium=new date, number, range
  • advanced=datalist
  • (some) allows validation and css3 pseudo-

classes

HTML5 2.2+ (b) 6.0+ (med) 5.0+ (adv) 9.0 (basic) 10+ (med)

Wednesday, October 12, 11
slide-49
SLIDE 49

new form controls

Wednesday, October 12, 11
slide-50
SLIDE 50

new form controls

  • <input type=”
Wednesday, October 12, 11
slide-51
SLIDE 51

new form controls

  • <input type=”
  • date
Wednesday, October 12, 11
slide-52
SLIDE 52

new form controls

  • <input type=”
  • date
  • range
Wednesday, October 12, 11
slide-53
SLIDE 53

new form controls

  • <input type=”
  • date
  • range
  • datetime
Wednesday, October 12, 11
slide-54
SLIDE 54

new form controls

  • <input type=”
  • date
  • range
  • datetime
  • email
Wednesday, October 12, 11
slide-55
SLIDE 55

new form controls

  • <input type=”
  • date
  • range
  • datetime
  • email
  • url
Wednesday, October 12, 11
slide-56
SLIDE 56

new form controls

  • <input type=”
  • date
  • range
  • datetime
  • email
  • url
  • tel
Wednesday, October 12, 11
slide-57
SLIDE 57

new form controls

  • <input type=”
  • date
  • range
  • datetime
  • email
  • url
  • tel
  • number
Wednesday, October 12, 11
slide-58
SLIDE 58

new form validation

HTML5 4.0+ 6.0+ 5.0+ 9.0 (basic) 10+

Wednesday, October 12, 11
slide-59
SLIDE 59

new form validation

  • by type

HTML5 4.0+ 6.0+ 5.0+ 9.0 (basic) 10+

Wednesday, October 12, 11
slide-60
SLIDE 60

new form validation

  • by type
  • <input required>

HTML5 4.0+ 6.0+ 5.0+ 9.0 (basic) 10+

Wednesday, October 12, 11
slide-61
SLIDE 61

new form validation

  • by type
  • <input required>
  • :valid, :invalid, :required pseudo-classes

HTML5 4.0+ 6.0+ 5.0+ 9.0 (basic) 10+

Wednesday, October 12, 11
slide-62
SLIDE 62
  • ffline installation

HTML5 3.0+ 2.1+ 6.0+ Mobile 11+ 5.0+

Wednesday, October 12, 11
slide-63
SLIDE 63
  • ffline installation
  • Install a package on the device

HTML5 3.0+ 2.1+ 6.0+ Mobile 11+ 5.0+

Wednesday, October 12, 11
slide-64
SLIDE 64
  • ffline installation
  • Install a package on the device
  • Complex to debug / reload

HTML5 3.0+ 2.1+ 6.0+ Mobile 11+ 5.0+

Wednesday, October 12, 11
slide-65
SLIDE 65
  • ffline installation
  • Install a package on the device
  • Complex to debug / reload
  • Buggy on some platforms

HTML5 3.0+ 2.1+ 6.0+ Mobile 11+ 5.0+

Wednesday, October 12, 11
slide-66
SLIDE 66
  • ffline installation
  • Install a package on the device
  • Complex to debug / reload
  • Buggy on some platforms
  • online / offline events

HTML5 3.0+ 2.1+ 6.0+ Mobile 11+ 5.0+

Wednesday, October 12, 11
slide-67
SLIDE 67
  • ffline installation
  • Install a package on the device
  • Complex to debug / reload
  • Buggy on some platforms
  • online / offline events
  • on iOS can be mixed with icons and full-

screen webapp metatags

HTML5 3.0+ 2.1+ 6.0+ Mobile 11+ 5.0+

Wednesday, October 12, 11
slide-68
SLIDE 68

geolocation

Geolocation 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+ 9.0+

Wednesday, October 12, 11
slide-69
SLIDE 69

geolocation

  • GPS, A-GPS, Wi-Fi, cells

Geolocation 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+ 9.0+

Wednesday, October 12, 11
slide-70
SLIDE 70

geolocation

  • GPS, A-GPS, Wi-Fi, cells
  • (some) force GPS “highAccuracy”

Geolocation 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+ 9.0+

Wednesday, October 12, 11
slide-71
SLIDE 71

geolocation

  • GPS, A-GPS, Wi-Fi, cells
  • (some) force GPS “highAccuracy”
  • (some) heading

Geolocation 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+ 9.0+

Wednesday, October 12, 11
slide-72
SLIDE 72

geolocation

  • GPS, A-GPS, Wi-Fi, cells
  • (some) force GPS “highAccuracy”
  • (some) heading
  • once or movement

Geolocation 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+ 9.0+

Wednesday, October 12, 11
slide-73
SLIDE 73
  • ffline web storage

Web Storage 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+ 9.0+

Wednesday, October 12, 11
slide-74
SLIDE 74
  • ffline web storage
  • persistent and session storage

Web Storage 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+ 9.0+

Wednesday, October 12, 11
slide-75
SLIDE 75
  • ffline web storage
  • persistent and session storage
  • key/value (strings)

Web Storage 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+ 9.0+

Wednesday, October 12, 11
slide-76
SLIDE 76
  • ffline web storage
  • persistent and session storage
  • key/value (strings)
  • (some) allow object storage

Web Storage 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+ 9.0+

Wednesday, October 12, 11
slide-77
SLIDE 77
  • ffline web storage
  • persistent and session storage
  • key/value (strings)
  • (some) allow object storage
  • limit space, non-standard ~5Mb

Web Storage 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+ 9.0+

Wednesday, October 12, 11
slide-78
SLIDE 78
  • ffline web storage
  • persistent and session storage
  • key/value (strings)
  • (some) allow object storage
  • limit space, non-standard ~5Mb
  • be careful with private browsing

Web Storage 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+ 9.0+

Wednesday, October 12, 11
slide-79
SLIDE 79
  • ffline sql storage

deprecated 2.2+ 2.0+ 6.0+ Mobile 11+

Wednesday, October 12, 11
slide-80
SLIDE 80
  • ffline sql storage
  • persistent and session storage

deprecated 2.2+ 2.0+ 6.0+ Mobile 11+

Wednesday, October 12, 11
slide-81
SLIDE 81
  • ffline sql storage
  • persistent and session storage
  • key/value (strings)

deprecated 2.2+ 2.0+ 6.0+ Mobile 11+

Wednesday, October 12, 11
slide-82
SLIDE 82
  • ffline sql storage
  • persistent and session storage
  • key/value (strings)
  • (some) allow object storage

deprecated 2.2+ 2.0+ 6.0+ Mobile 11+

Wednesday, October 12, 11
slide-83
SLIDE 83
  • ffline sql storage
  • persistent and session storage
  • key/value (strings)
  • (some) allow object storage
  • limit space, non-standard ~5Mb

deprecated 2.2+ 2.0+ 6.0+ Mobile 11+

Wednesday, October 12, 11
slide-84
SLIDE 84
  • ffline sql storage
  • persistent and session storage
  • key/value (strings)
  • (some) allow object storage
  • limit space, non-standard ~5Mb
  • be careful with private browsing

deprecated 2.2+ 2.0+ 6.0+ Mobile 11+

Wednesday, October 12, 11
slide-85
SLIDE 85

multimedia API

Web Storage 3.0+ 2.3+ 7.0+ Mobile 11+ 5.0+ 9.0+

Wednesday, October 12, 11
slide-86
SLIDE 86

multimedia API

  • audio and video tags

Web Storage 3.0+ 2.3+ 7.0+ Mobile 11+ 5.0+ 9.0+

Wednesday, October 12, 11
slide-87
SLIDE 87

multimedia API

  • audio and video tags
  • javascript api & events

Web Storage 3.0+ 2.3+ 7.0+ Mobile 11+ 5.0+ 9.0+

Wednesday, October 12, 11
slide-88
SLIDE 88

multimedia API

  • audio and video tags
  • javascript api & events
  • codecs nightmare

Web Storage 3.0+ 2.3+ 7.0+ Mobile 11+ 5.0+ 9.0+

Wednesday, October 12, 11
slide-89
SLIDE 89

2d drawing api (canvas)

HTML5 1.0+ 1.5+ 6.0+ Mob 10+ / Mini 5 4.0+ 9.0+

Wednesday, October 12, 11
slide-90
SLIDE 90

2d drawing api (canvas)

  • great support

HTML5 1.0+ 1.5+ 6.0+ Mob 10+ / Mini 5 4.0+ 9.0+

Wednesday, October 12, 11
slide-91
SLIDE 91

2d drawing api (canvas)

  • great support
  • javascript-based drawing

HTML5 1.0+ 1.5+ 6.0+ Mob 10+ / Mini 5 4.0+ 9.0+

Wednesday, October 12, 11
slide-92
SLIDE 92

2d drawing api (canvas)

  • great support
  • javascript-based drawing
  • (some) allows data URI export

HTML5 1.0+ 1.5+ 6.0+ Mob 10+ / Mini 5 4.0+ 9.0+

Wednesday, October 12, 11
slide-93
SLIDE 93

svg

SVG 2.2+ 3.0+ 4.7+ Mob 10+ / Mini 5 4.0+ 9.0+

Wednesday, October 12, 11
slide-94
SLIDE 94

svg

  • old standard

SVG 2.2+ 3.0+ 4.7+ Mob 10+ / Mini 5 4.0+ 9.0+

Wednesday, October 12, 11
slide-95
SLIDE 95

svg

  • old standard
  • scalable vector graphics

SVG 2.2+ 3.0+ 4.7+ Mob 10+ / Mini 5 4.0+ 9.0+

Wednesday, October 12, 11
slide-96
SLIDE 96

svg

  • old standard
  • scalable vector graphics
  • (some) allows inline <svg> tag

SVG 2.2+ 3.0+ 4.7+ Mob 10+ / Mini 5 4.0+ 9.0+

Wednesday, October 12, 11
slide-97
SLIDE 97

svg

  • old standard
  • scalable vector graphics
  • (some) allows inline <svg> tag
  • (some) allows svg as background

SVG 2.2+ 3.0+ 4.7+ Mob 10+ / Mini 5 4.0+ 9.0+

Wednesday, October 12, 11
slide-98
SLIDE 98

svg

  • old standard
  • scalable vector graphics
  • (some) allows inline <svg> tag
  • (some) allows svg as background
  • (some) allows svg as font

SVG 2.2+ 3.0+ 4.7+ Mob 10+ / Mini 5 4.0+ 9.0+

Wednesday, October 12, 11
slide-99
SLIDE 99

motion sensors

DeviceOrientation 4.2+ 3.0+ 6.0+ (moz) 4.7+ (basic)

Wednesday, October 12, 11
slide-100
SLIDE 100

motion sensors

  • accelerometer / gyroscope / magnetometer

DeviceOrientation 4.2+ 3.0+ 6.0+ (moz) 4.7+ (basic)

Wednesday, October 12, 11
slide-101
SLIDE 101

motion sensors

  • accelerometer / gyroscope / magnetometer
  • onorientationchange

DeviceOrientation 4.2+ 3.0+ 6.0+ (moz) 4.7+ (basic)

Wednesday, October 12, 11
slide-102
SLIDE 102

motion sensors

  • accelerometer / gyroscope / magnetometer
  • onorientationchange
  • window.orientation

DeviceOrientation 4.2+ 3.0+ 6.0+ (moz) 4.7+ (basic)

Wednesday, October 12, 11
slide-103
SLIDE 103

motion sensors

  • accelerometer / gyroscope / magnetometer
  • onorientationchange
  • window.orientation
  • games, visual effects, pressure detection?

DeviceOrientation 4.2+ 3.0+ 6.0+ (moz) 4.7+ (basic)

Wednesday, October 12, 11
slide-104
SLIDE 104

motion sensors

  • accelerometer / gyroscope / magnetometer
  • onorientationchange
  • window.orientation
  • games, visual effects, pressure detection?

mobilexweb.com/samples/ball.html mobilexweb.com/samples/pressure.html

DeviceOrientation 4.2+ 3.0+ 6.0+ (moz) 4.7+ (basic)

Wednesday, October 12, 11
slide-105
SLIDE 105

touch events

Touch events 3.0+ 2.1+ 6.1+ 6.0+

Wednesday, October 12, 11
slide-106
SLIDE 106

touch events

  • iOS specification

Touch events 3.0+ 2.1+ 6.1+ 6.0+

Wednesday, October 12, 11
slide-107
SLIDE 107

touch events

  • iOS specification
  • some differences between implementations

Touch events 3.0+ 2.1+ 6.1+ 6.0+

Wednesday, October 12, 11
slide-108
SLIDE 108

touch events

  • iOS specification
  • some differences between implementations
  • (some) multi-touch

Touch events 3.0+ 2.1+ 6.1+ 6.0+

Wednesday, October 12, 11
slide-109
SLIDE 109

touch events

  • iOS specification
  • some differences between implementations
  • (some) multi-touch
  • touchstart, touchmove, touchend,

touchcancel

Touch events 3.0+ 2.1+ 6.1+ 6.0+

Wednesday, October 12, 11
slide-110
SLIDE 110

touch events

  • iOS specification
  • some differences between implementations
  • (some) multi-touch
  • touchstart, touchmove, touchend,

touchcancel

  • (some) touchenter, touchleave

Touch events 3.0+ 2.1+ 6.1+ 6.0+

Wednesday, October 12, 11
slide-111
SLIDE 111

css3 basic

CSS 3 1.0+ 1.0+ 6.0+ 6.0+ 9.0+ 10+ Anna+

Wednesday, October 12, 11
slide-112
SLIDE 112

css3 basic

  • basic new styling

CSS 3 1.0+ 1.0+ 6.0+ 6.0+ 9.0+ 10+ Anna+

Wednesday, October 12, 11
slide-113
SLIDE 113

css3 basic

  • basic new styling
  • rounded borders, opacity

CSS 3 1.0+ 1.0+ 6.0+ 6.0+ 9.0+ 10+ Anna+

Wednesday, October 12, 11
slide-114
SLIDE 114

css3 basic

  • basic new styling
  • rounded borders, opacity
  • (some) still requires prefix

CSS 3 1.0+ 1.0+ 6.0+ 6.0+ 9.0+ 10+ Anna+

Wednesday, October 12, 11
slide-115
SLIDE 115

css3 basic

  • basic new styling
  • rounded borders, opacity
  • (some) still requires prefix
  • -webkit, -o, -moz, -ms

CSS 3 1.0+ 1.0+ 6.0+ 6.0+ 9.0+ 10+ Anna+

Wednesday, October 12, 11
slide-116
SLIDE 116

css3 transforms

CSS 3 2.0+ 2.0+ 6.0+ 6.0+ 9.0+ 11+ Anna+

Wednesday, October 12, 11
slide-117
SLIDE 117

css3 transforms

  • basic 2d transforms

CSS 3 2.0+ 2.0+ 6.0+ 6.0+ 9.0+ 11+ Anna+

Wednesday, October 12, 11
slide-118
SLIDE 118

css3 transforms

  • basic 2d transforms
  • -webkit, -o, -moz, -ms

CSS 3 2.0+ 2.0+ 6.0+ 6.0+ 9.0+ 11+ Anna+

Wednesday, October 12, 11
slide-119
SLIDE 119

css3 transforms

  • basic 2d transforms
  • -webkit, -o, -moz, -ms
  • rotate, scale, skew, translate

CSS 3 2.0+ 2.0+ 6.0+ 6.0+ 9.0+ 11+ Anna+

Wednesday, October 12, 11
slide-120
SLIDE 120

css3 transforms

  • basic 2d transforms
  • -webkit, -o, -moz, -ms
  • rotate, scale, skew, translate
  • (some) matrix

CSS 3 2.0+ 2.0+ 6.0+ 6.0+ 9.0+ 11+ Anna+

Wednesday, October 12, 11
slide-121
SLIDE 121

css3 transforms

  • basic 2d transforms
  • -webkit, -o, -moz, -ms
  • rotate, scale, skew, translate
  • (some) matrix
  • (some) 3d transforms

CSS 3 2.0+ 2.0+ 6.0+ 6.0+ 9.0+ 11+ Anna+

Wednesday, October 12, 11
slide-122
SLIDE 122

css3 transitions

CSS 3 2.0+ 2.0+ 6.0+ 6.0+ 10+ Anna+

Wednesday, October 12, 11
slide-123
SLIDE 123

css3 transitions

  • basic animations between 2 states

CSS 3 2.0+ 2.0+ 6.0+ 6.0+ 10+ Anna+

Wednesday, October 12, 11
slide-124
SLIDE 124

css3 transitions

  • basic animations between 2 states
  • prefix

CSS 3 2.0+ 2.0+ 6.0+ 6.0+ 10+ Anna+

Wednesday, October 12, 11
slide-125
SLIDE 125

css3 animations

CSS 3 2.2+ 2.0+ 6.0+ 6.0+ Anna+

Wednesday, October 12, 11
slide-126
SLIDE 126

css3 animations

  • keyframe animations

CSS 3 2.2+ 2.0+ 6.0+ 6.0+ Anna+

Wednesday, October 12, 11
slide-127
SLIDE 127

css3 animations

  • keyframe animations
  • attribute prefix and keyframe prefix

CSS 3 2.2+ 2.0+ 6.0+ 6.0+ Anna+

Wednesday, October 12, 11
slide-128
SLIDE 128

css3 animations

  • keyframe animations
  • attribute prefix and keyframe prefix
  • duplication :S

CSS 3 2.2+ 2.0+ 6.0+ 6.0+ Anna+

Wednesday, October 12, 11
slide-129
SLIDE 129

server-sent events

Server

  • Sent events

4.1+ Mobile 11+ 6.0+

Wednesday, October 12, 11
slide-130
SLIDE 130

server-sent events

  • EventSource

Server

  • Sent events

4.1+ Mobile 11+ 6.0+

Wednesday, October 12, 11
slide-131
SLIDE 131

server-sent events

  • EventSource
  • reduce AJAX/Comet solutions

Server

  • Sent events

4.1+ Mobile 11+ 6.0+

Wednesday, October 12, 11
slide-132
SLIDE 132

server-sent events

  • EventSource
  • reduce AJAX/Comet solutions
  • be careful with proxies/3g connections

Server

  • Sent events

4.1+ Mobile 11+ 6.0+

Wednesday, October 12, 11
slide-133
SLIDE 133

web sockets

web sockets 4.2+ Mobile 11+ 6.0+ 6.1+

Wednesday, October 12, 11
slide-134
SLIDE 134

web sockets

  • Evolution of bi-directional

communication

web sockets 4.2+ Mobile 11+ 6.0+ 6.1+

Wednesday, October 12, 11
slide-135
SLIDE 135

web sockets

  • Evolution of bi-directional

communication

  • reduce AJAX/Comet solutions

web sockets 4.2+ Mobile 11+ 6.0+ 6.1+

Wednesday, October 12, 11
slide-136
SLIDE 136

web sockets

  • Evolution of bi-directional

communication

  • reduce AJAX/Comet solutions
  • be careful with proxies/3g connections

web sockets 4.2+ Mobile 11+ 6.0+ 6.1+

Wednesday, October 12, 11
slide-137
SLIDE 137

web sockets

  • Evolution of bi-directional

communication

  • reduce AJAX/Comet solutions
  • be careful with proxies/3g connections
  • special server

web sockets 4.2+ Mobile 11+ 6.0+ 6.1+

Wednesday, October 12, 11
slide-138
SLIDE 138

web sockets

  • Evolution of bi-directional

communication

  • reduce AJAX/Comet solutions
  • be careful with proxies/3g connections
  • special server
  • standard changed months ago

web sockets 4.2+ Mobile 11+ 6.0+ 6.1+

Wednesday, October 12, 11
slide-139
SLIDE 139

web workers

web workers Mobile 11+ 6.0+ 6.0+

Wednesday, October 12, 11
slide-140
SLIDE 140

web workers

  • threading in JavaScript

web workers Mobile 11+ 6.0+ 6.0+

Wednesday, October 12, 11
slide-141
SLIDE 141

web workers

  • threading in JavaScript
  • important for performance

web workers Mobile 11+ 6.0+ 6.0+

Wednesday, October 12, 11
slide-142
SLIDE 142

web workers

  • threading in JavaScript
  • important for performance
  • worker without DOM manipulation

web workers Mobile 11+ 6.0+ 6.0+

Wednesday, October 12, 11
slide-143
SLIDE 143

what is just starting...?

Wednesday, October 12, 11
slide-144
SLIDE 144

apis starting to appear

Wednesday, October 12, 11
slide-145
SLIDE 145

apis starting to appear

  • XMLHttpRequest 2 - Android 3.0
Wednesday, October 12, 11
slide-146
SLIDE 146

apis starting to appear

  • XMLHttpRequest 2 - Android 3.0
  • Navigation Timing API - Internet Explorer 9.0
Wednesday, October 12, 11
slide-147
SLIDE 147

apis starting to appear

  • XMLHttpRequest 2 - Android 3.0
  • Navigation Timing API - Internet Explorer 9.0
  • Notifications API - Firefox 6.0
Wednesday, October 12, 11
slide-148
SLIDE 148

apis starting to appear

  • XMLHttpRequest 2 - Android 3.0
  • Navigation Timing API - Internet Explorer 9.0
  • Notifications API - Firefox 6.0
  • Network Information API - Android 2.2+
Wednesday, October 12, 11
slide-149
SLIDE 149

apis starting to appear

  • XMLHttpRequest 2 - Android 3.0
  • Navigation Timing API - Internet Explorer 9.0
  • Notifications API - Firefox 6.0
  • Network Information API - Android 2.2+
  • File API and FileReader API - Android 3.0
Wednesday, October 12, 11
slide-150
SLIDE 150

apis starting to appear

  • XMLHttpRequest 2 - Android 3.0
  • Navigation Timing API - Internet Explorer 9.0
  • Notifications API - Firefox 6.0
  • Network Information API - Android 2.2+
  • File API and FileReader API - Android 3.0
  • CORS (cross-domain AJAX) - Android 2.2+, iOS 3.2+
Wednesday, October 12, 11
slide-151
SLIDE 151

apis starting to appear

  • XMLHttpRequest 2 - Android 3.0
  • Navigation Timing API - Internet Explorer 9.0
  • Notifications API - Firefox 6.0
  • Network Information API - Android 2.2+
  • File API and FileReader API - Android 3.0
  • CORS (cross-domain AJAX) - Android 2.2+, iOS 3.2+
  • Media Camera API - Android 3.0
Wednesday, October 12, 11
slide-152
SLIDE 152

apis starting to appear

  • XMLHttpRequest 2 - Android 3.0
  • Navigation Timing API - Internet Explorer 9.0
  • Notifications API - Firefox 6.0
  • Network Information API - Android 2.2+
  • File API and FileReader API - Android 3.0
  • CORS (cross-domain AJAX) - Android 2.2+, iOS 3.2+
  • Media Camera API - Android 3.0
  • IndexedDB - Firefox 6.0
Wednesday, October 12, 11
slide-153
SLIDE 153

and what to expect in the future?

Wednesday, October 12, 11
slide-154
SLIDE 154

for next year...

Wednesday, October 12, 11
slide-155
SLIDE 155

for next year...

  • Augmented Reality on the web
Wednesday, October 12, 11
slide-156
SLIDE 156

for next year...

  • Augmented Reality on the web
  • Camera API
Wednesday, October 12, 11
slide-157
SLIDE 157

for next year...

  • Augmented Reality on the web
  • Camera API
  • MathML
Wednesday, October 12, 11
slide-158
SLIDE 158

for next year...

  • Augmented Reality on the web
  • Camera API
  • MathML
  • Idle detection
Wednesday, October 12, 11
slide-159
SLIDE 159

for next year...

  • Augmented Reality on the web
  • Camera API
  • MathML
  • Idle detection
  • Speech detection
Wednesday, October 12, 11
slide-160
SLIDE 160

for next year...

  • Augmented Reality on the web
  • Camera API
  • MathML
  • Idle detection
  • Speech detection
  • 3D Drawing API (aka WebGL)
Wednesday, October 12, 11
slide-161
SLIDE 161

for next year...

  • Augmented Reality on the web
  • Camera API
  • MathML
  • Idle detection
  • Speech detection
  • 3D Drawing API (aka WebGL)
  • Native integration API
Wednesday, October 12, 11
slide-162
SLIDE 162

for next year...

  • Augmented Reality on the web
  • Camera API
  • MathML
  • Idle detection
  • Speech detection
  • 3D Drawing API (aka WebGL)
  • Native integration API
  • Contacts and Calendar API
Wednesday, October 12, 11
slide-163
SLIDE 163

for next year...

  • Augmented Reality on the web
  • Camera API
  • MathML
  • Idle detection
  • Speech detection
  • 3D Drawing API (aka WebGL)
  • Native integration API
  • Contacts and Calendar API
  • Messaging API
Wednesday, October 12, 11
slide-164
SLIDE 164

for next year...

  • Augmented Reality on the web
  • Camera API
  • MathML
  • Idle detection
  • Speech detection
  • 3D Drawing API (aka WebGL)
  • Native integration API
  • Contacts and Calendar API
  • Messaging API
  • Orientation Lock
Wednesday, October 12, 11
slide-165
SLIDE 165

for next year...

  • Augmented Reality on the web
  • Camera API
  • MathML
  • Idle detection
  • Speech detection
  • 3D Drawing API (aka WebGL)
  • Native integration API
  • Contacts and Calendar API
  • Messaging API
  • Orientation Lock
  • Debugging tools
Wednesday, October 12, 11
slide-166
SLIDE 166

working on these APIs...

Wednesday, October 12, 11
slide-167
SLIDE 167

working on these APIs...

  • W3C Device APIs Working Group
Wednesday, October 12, 11
slide-168
SLIDE 168

working on these APIs...

  • W3C Device APIs Working Group

http://www.w3.org/2009/dap/

Wednesday, October 12, 11
slide-169
SLIDE 169

working on these APIs...

  • W3C Device APIs Working Group

http://www.w3.org/2009/dap/

  • Mozilla WebAPI effort (3-6 months)
Wednesday, October 12, 11
slide-170
SLIDE 170

working on these APIs...

  • W3C Device APIs Working Group

http://www.w3.org/2009/dap/

  • Mozilla WebAPI effort (3-6 months)

https://wiki.mozilla.org/WebAPI

Wednesday, October 12, 11
slide-171
SLIDE 171

working on these APIs...

  • W3C Device APIs Working Group

http://www.w3.org/2009/dap/

  • Mozilla WebAPI effort (3-6 months)

https://wiki.mozilla.org/WebAPI

  • WAC
Wednesday, October 12, 11
slide-172
SLIDE 172

working on these APIs...

  • W3C Device APIs Working Group

http://www.w3.org/2009/dap/

  • Mozilla WebAPI effort (3-6 months)

https://wiki.mozilla.org/WebAPI

  • WAC

http://www.wacapps.net/

Wednesday, October 12, 11
slide-173
SLIDE 173

can i use apis today?

Wednesday, October 12, 11
slide-174
SLIDE 174

can i use apis today?

  • PhoneGap
Wednesday, October 12, 11
slide-175
SLIDE 175

can i use apis today?

  • PhoneGap

http://www.phonegap.com

Wednesday, October 12, 11
slide-176
SLIDE 176

can i use apis today?

  • PhoneGap

http://www.phonegap.com

  • BlackBerry WebWorks
Wednesday, October 12, 11
slide-177
SLIDE 177

can i use apis today?

  • PhoneGap

http://www.phonegap.com

  • BlackBerry WebWorks

http://us.blackberry.com/developers/browserdev/

Wednesday, October 12, 11
slide-178
SLIDE 178

can i use apis today?

  • PhoneGap

http://www.phonegap.com

  • BlackBerry WebWorks

http://us.blackberry.com/developers/browserdev/

  • Nokia webapps
Wednesday, October 12, 11
slide-179
SLIDE 179

can i use apis today?

  • PhoneGap

http://www.phonegap.com

  • BlackBerry WebWorks

http://us.blackberry.com/developers/browserdev/

  • Nokia webapps

http://www.developer.nokia.com/Develop/Web/

Wednesday, October 12, 11
slide-180
SLIDE 180

how to use features today

Wednesday, October 12, 11
slide-181
SLIDE 181

progressive enhancement progressive enhancement

Wednesday, October 12, 11
slide-182
SLIDE 182

you can reach a good experience

Pictures)from)freedigitalphotos.net)

thank you!

firt.mobi firtman@gmail.com twitter: @firt www.mobilexweb.com

Wednesday, October 12, 11