MULTIPLATFORM, PROMISES AND HTML5 Wednesday, November 7, 12 who - - PowerPoint PPT Presentation

multiplatform promises and html5
SMART_READER_LITE
LIVE PREVIEW

MULTIPLATFORM, PROMISES AND HTML5 Wednesday, November 7, 12 who - - PowerPoint PPT Presentation

Nov, 7th, 2012 Max Firtman @firt San Francisco, USA MULTIPLATFORM, PROMISES AND HTML5 Wednesday, November 7, 12 who am I? Wednesday, November 7, 12 who am I? @firt mobile + web developer Wednesday, November 7, 12 where? Wednesday,


slide-1
SLIDE 1

Max Firtman @firt

MULTIPLATFORM, PROMISES AND HTML5

Nov, 7th, 2012 San Francisco, USA

Wednesday, November 7, 12
slide-2
SLIDE 2

who am I?

Wednesday, November 7, 12
slide-3
SLIDE 3

mobile+web developer

who am I?

@firt

Wednesday, November 7, 12
slide-4
SLIDE 4

where?

Wednesday, November 7, 12
slide-5
SLIDE 5

speaker

Wednesday, November 7, 12
slide-6
SLIDE 6 Wednesday, November 7, 12
slide-7
SLIDE 7

Image from my house

books

Wednesday, November 7, 12
slide-8
SLIDE 8 Wednesday, November 7, 12
slide-9
SLIDE 9 Wednesday, November 7, 12
slide-10
SLIDE 10 Wednesday, November 7, 12
slide-11
SLIDE 11

50% off

Code: AUTHD

at oreilly.com

Wednesday, November 7, 12
slide-12
SLIDE 12 Wednesday, November 7, 12
slide-13
SLIDE 13

Let’s start

Wednesday, November 7, 12
slide-14
SLIDE 14

the track

Wednesday, November 7, 12
slide-15
SLIDE 15

Cross Platform mobile

10.30 Maximiliano Firtman

Multiplatform, promises and HTML5

11.40 James Pearce

Building social apps for all mobile platforms

13.30 Pete LePage

The Mobile Web Developer’s Tool belt

14.40 Christophe Coenraets

Cross-Platform Mobile Apps with PhoneGap

16.00 Robert Shilston

Developing the FT web app

Wednesday, November 7, 12
slide-16
SLIDE 16

how many...?

Wednesday, November 7, 12
slide-17
SLIDE 17

why mobile?

Wednesday, November 7, 12
slide-18
SLIDE 18

why cross platform?

Wednesday, November 7, 12
slide-19
SLIDE 19

mobile is a minefield

Photo by World of Good (Flickr)

Malvinas / Falklands Islands

Wednesday, November 7, 12
slide-20
SLIDE 20

lots of platforms

Wednesday, November 7, 12
slide-21
SLIDE 21 Wednesday, November 7, 12
slide-22
SLIDE 22

Hey you!

I have a BlackBerry

Wednesday, November 7, 12
slide-23
SLIDE 23

Hey you!

I have a Nokia

Wednesday, November 7, 12
slide-24
SLIDE 24

Hey you!

I have a Windows Phone

Wednesday, November 7, 12
slide-25
SLIDE 25

Hey you!

I have a Surface

Wednesday, November 7, 12
slide-26
SLIDE 26

Hey you!

I’m using Firefox

Wednesday, November 7, 12
slide-27
SLIDE 27

Hey you!

I have a TouchPad and browse with Internet Explorer!

Wednesday, November 7, 12
slide-28
SLIDE 28

Discrimination

Wednesday, November 7, 12
slide-29
SLIDE 29

Frustration

Wednesday, November 7, 12
slide-30
SLIDE 30 Wednesday, November 7, 12
slide-31
SLIDE 31

market share

Wednesday, November 7, 12
slide-32
SLIDE 32

cross platform

Wednesday, November 7, 12
slide-33
SLIDE 33 Wednesday, November 7, 12
slide-34
SLIDE 34

cross form-factor

Wednesday, November 7, 12
slide-35
SLIDE 35 Wednesday, November 7, 12
slide-36
SLIDE 36 Wednesday, November 7, 12
slide-37
SLIDE 37 Wednesday, November 7, 12
slide-38
SLIDE 38

Source: informationweek

Wednesday, November 7, 12
slide-39
SLIDE 39

cross version

Wednesday, November 7, 12
slide-40
SLIDE 40

http://developer.android.com/about/dashboards

Wednesday, November 7, 12
slide-41
SLIDE 41 Wednesday, November 7, 12
slide-42
SLIDE 42

cross form-factor

Wednesday, November 7, 12
slide-43
SLIDE 43

QQVGA QVGA WQVGA FWQVGA LQVGA HVGA nHD FWXGA Sq.HD XGA WXGA WUXGA QXGA WQXGA WVGA FWVGA VGA DVGA WDVGA QHD WSVGA HD

Wednesday, November 7, 12
slide-44
SLIDE 44 Wednesday, November 7, 12
slide-45
SLIDE 45 Wednesday, November 7, 12
slide-46
SLIDE 46 Wednesday, November 7, 12
slide-47
SLIDE 47 Wednesday, November 7, 12
slide-48
SLIDE 48 Wednesday, November 7, 12
slide-49
SLIDE 49 Wednesday, November 7, 12
slide-50
SLIDE 50 Wednesday, November 7, 12
slide-51
SLIDE 51 Wednesday, November 7, 12
slide-52
SLIDE 52 Wednesday, November 7, 12
slide-53
SLIDE 53

Give me a break!

Gold museum, Bogotá, Colombia

Wednesday, November 7, 12
slide-54
SLIDE 54

mobile apps

  • 1. distribution channel
  • 2. development platform
  • 3. native vs. web?
Wednesday, November 7, 12
slide-55
SLIDE 55

distribution

Wednesday, November 7, 12
slide-56
SLIDE 56

distribution

  • web: browser - url
Wednesday, November 7, 12
slide-57
SLIDE 57

distribution

  • web: browser - url
  • installed webapp
Wednesday, November 7, 12
slide-58
SLIDE 58

distribution

  • web: browser - url
  • installed webapp
  • apps
Wednesday, November 7, 12
slide-59
SLIDE 59

development

Native SDKs Cross-compilers/runtime

Wednesday, November 7, 12
slide-60
SLIDE 60

development

  • web: browser - url

Native SDKs Cross-compilers/runtime

Wednesday, November 7, 12
slide-61
SLIDE 61

development

  • web: browser - url
  • installed webapp

Native SDKs Cross-compilers/runtime

Wednesday, November 7, 12
slide-62
SLIDE 62

development

  • web: browser - url
  • installed webapp
  • apps

Native SDKs Cross-compilers/runtime

Wednesday, November 7, 12
slide-63
SLIDE 63

native sdks

Wednesday, November 7, 12
slide-64
SLIDE 64

native sdks

  • no cross platform
Wednesday, November 7, 12
slide-65
SLIDE 65

native sdks

  • no cross platform
  • no code sharing
Wednesday, November 7, 12
slide-66
SLIDE 66

native sdks

  • no cross platform
  • no code sharing
  • high cost
Wednesday, November 7, 12
slide-67
SLIDE 67

native sdks

  • no cross platform
  • no code sharing
  • high cost
  • high performance
Wednesday, November 7, 12
slide-68
SLIDE 68

native sdks

  • no cross platform
  • no code sharing
  • high cost
  • high performance
  • high flexibility
Wednesday, November 7, 12
slide-69
SLIDE 69

cross compilers / runtimes

Wednesday, November 7, 12
slide-70
SLIDE 70

cross compilers / runtimes

  • medium cross platform
Wednesday, November 7, 12
slide-71
SLIDE 71

cross compilers / runtimes

  • medium cross platform
  • code sharing
Wednesday, November 7, 12
slide-72
SLIDE 72

cross compilers / runtimes

  • medium cross platform
  • code sharing
  • lot of promises
Wednesday, November 7, 12
slide-73
SLIDE 73

cross compilers / runtimes

  • medium cross platform
  • code sharing
  • lot of promises
  • performance analysis
Wednesday, November 7, 12
slide-74
SLIDE 74

cross compilers / runtimes

  • medium cross platform
  • code sharing
  • lot of promises
  • performance analysis
  • risk analysis
Wednesday, November 7, 12
slide-75
SLIDE 75

cross compilers / runtimes

...

Wednesday, November 7, 12
slide-76
SLIDE 76

native vs web

Wednesday, November 7, 12
slide-77
SLIDE 77

native code vs javascript

Wednesday, November 7, 12
slide-78
SLIDE 78

native ui elements vs html/css

Wednesday, November 7, 12
slide-79
SLIDE 79

browser vs installed apps & stores

Wednesday, November 7, 12
slide-80
SLIDE 80 Wednesday, November 7, 12
slide-81
SLIDE 81

Photo by Ben Millett (Flickr)

Wednesday, November 7, 12
slide-82
SLIDE 82

Are you sure?

Photo by Ricky David (Flickr)

Wednesday, November 7, 12
slide-83
SLIDE 83

What is ?

Wednesday, November 7, 12
slide-84
SLIDE 84

html5

Wednesday, November 7, 12
slide-85
SLIDE 85

html5

Wednesday, November 7, 12
slide-86
SLIDE 86

advantages

Wednesday, November 7, 12
slide-87
SLIDE 87

advantages

  • multiplataforma
Wednesday, November 7, 12
slide-88
SLIDE 88

advantages

  • multiplataforma
  • apis
Wednesday, November 7, 12
slide-89
SLIDE 89

advantages

  • multiplataforma
  • apis
  • know how
Wednesday, November 7, 12
slide-90
SLIDE 90

advantages

  • multiplataforma
  • apis
  • know how
  • “future friendly”
Wednesday, November 7, 12
slide-91
SLIDE 91

disadvantages

Wednesday, November 7, 12
slide-92
SLIDE 92

disadvantages

  • multiplataform
Wednesday, November 7, 12
slide-93
SLIDE 93

disadvantages

  • multiplataform
  • underestimation
Wednesday, November 7, 12
slide-94
SLIDE 94

disadvantages

  • multiplataform
  • underestimation
  • performance
Wednesday, November 7, 12
slide-95
SLIDE 95

disadvantages

  • multiplataform
  • underestimation
  • performance
  • native ui
Wednesday, November 7, 12
slide-96
SLIDE 96

typeof html5 != boolean

Wednesday, November 7, 12
slide-97
SLIDE 97

some features safe

Wednesday, November 7, 12
slide-98
SLIDE 98

some features only on few platforms

Wednesday, November 7, 12
slide-99
SLIDE 99

some features experimental

Wednesday, November 7, 12
slide-100
SLIDE 100

some features with prefixes

Wednesday, November 7, 12
slide-101
SLIDE 101 Wednesday, November 7, 12
slide-102
SLIDE 102

second class developers

Wednesday, November 7, 12
slide-103
SLIDE 103
  • vague, non-existent or outdated info

second class developers

Wednesday, November 7, 12
slide-104
SLIDE 104
  • vague, non-existent or outdated info
  • new features discovered by third-parties

second class developers

Wednesday, November 7, 12
slide-105
SLIDE 105
  • vague, non-existent or outdated info
  • new features discovered by third-parties
  • lack of samples

second class developers

Wednesday, November 7, 12
slide-106
SLIDE 106
  • vague, non-existent or outdated info
  • new features discovered by third-parties
  • lack of samples
  • no developer tools on some platforms

second class developers

Wednesday, November 7, 12
slide-107
SLIDE 107

Picture from Simon Howden freedigitalphotos.net!

mobile html5 is slow

Wednesday, November 7, 12
slide-108
SLIDE 108

performance

Wednesday, November 7, 12
slide-109
SLIDE 109
  • do we need jQuery?

performance

Wednesday, November 7, 12
slide-110
SLIDE 110
  • do we need jQuery?
  • performance best practices

performance

Wednesday, November 7, 12
slide-111
SLIDE 111
  • do we need jQuery?
  • performance best practices
  • JIT compilers

performance

Wednesday, November 7, 12
slide-112
SLIDE 112
  • do we need jQuery?
  • performance best practices
  • JIT compilers
  • hardware acceleration

performance

Wednesday, November 7, 12
slide-113
SLIDE 113

battery consumption

Who Killed My Battery ~ mobilexweb.com/go/battery

5 10 15 20 25 30 35 40 45 50

3G setup baidu live.com gmail wall st. journal youtube ebay picasa cnn bbc amazon microsoft engadget natgeo nytimes yahoo aol weather facebook wordpress blogger go.com imdb tumblr wikipedia apple Energy (Joules)

Figure 6: Energy consumption of top websites

Wednesday, November 7, 12
slide-114
SLIDE 114

battery consumption

Apple has no mobile website Amazon consumes 17% energy in a non used JS jQuery.js ~ 4 joules (0,02%)

~5000 jQuery parsings per charge

Who Killed My Battery ~ mobilexweb.com/go/battery

Wednesday, November 7, 12
slide-115
SLIDE 115 Wednesday, November 7, 12
slide-116
SLIDE 116

now the fun part

Wednesday, November 7, 12
slide-117
SLIDE 117

html5

websites => url installed webapps => url and store? native webapps (aka hybrid) => store

Wednesday, November 7, 12
slide-118
SLIDE 118

native webapps

BlackBerry WebWorks

Wednesday, November 7, 12
slide-119
SLIDE 119

native webapps

Windows 8 HTML5 dev

Wednesday, November 7, 12
slide-120
SLIDE 120

native webapps

firefox apps

Wednesday, November 7, 12
slide-121
SLIDE 121

native webapps

chrome apps

Wednesday, November 7, 12
slide-122
SLIDE 122

native webapps

Wednesday, November 7, 12
slide-123
SLIDE 123 Wednesday, November 7, 12
slide-124
SLIDE 124 Wednesday, November 7, 12
slide-125
SLIDE 125 Wednesday, November 7, 12
slide-126
SLIDE 126 Wednesday, November 7, 12
slide-127
SLIDE 127 Wednesday, November 7, 12
slide-128
SLIDE 128 Wednesday, November 7, 12
slide-129
SLIDE 129 Wednesday, November 7, 12
slide-130
SLIDE 130

live demos!

Wednesday, November 7, 12
slide-131
SLIDE 131

so...

Wednesday, November 7, 12
slide-132
SLIDE 132

conclusions

Wednesday, November 7, 12
slide-133
SLIDE 133

conclusions

  • Multiplatform is a key for success
Wednesday, November 7, 12
slide-134
SLIDE 134

conclusions

  • Multiplatform is a key for success
  • HTML5 is good for cross platform on some situations
Wednesday, November 7, 12
slide-135
SLIDE 135

conclusions

  • Multiplatform is a key for success
  • HTML5 is good for cross platform on some situations
  • HTML5 is not a heaven
Wednesday, November 7, 12
slide-136
SLIDE 136

conclusions

  • Multiplatform is a key for success
  • HTML5 is good for cross platform on some situations
  • HTML5 is not a heaven
  • write once, deploy anywhere is... a promise
Wednesday, November 7, 12
slide-137
SLIDE 137

conclusions

  • Multiplatform is a key for success
  • HTML5 is good for cross platform on some situations
  • HTML5 is not a heaven
  • write once, deploy anywhere is... a promise
  • However, it’s better than 10 SDKs or than create only

elite users

Wednesday, November 7, 12
slide-138
SLIDE 138

conclusions

  • Multiplatform is a key for success
  • HTML5 is good for cross platform on some situations
  • HTML5 is not a heaven
  • write once, deploy anywhere is... a promise
  • However, it’s better than 10 SDKs or than create only

elite users

  • On some situations you will need native SDKs
Wednesday, November 7, 12
slide-139
SLIDE 139

conclusions

  • Multiplatform is a key for success
  • HTML5 is good for cross platform on some situations
  • HTML5 is not a heaven
  • write once, deploy anywhere is... a promise
  • However, it’s better than 10 SDKs or than create only

elite users

  • On some situations you will need native SDKs
  • Some problems will be gone in the future
Wednesday, November 7, 12
slide-140
SLIDE 140

conclusions

  • Multiplatform is a key for success
  • HTML5 is good for cross platform on some situations
  • HTML5 is not a heaven
  • write once, deploy anywhere is... a promise
  • However, it’s better than 10 SDKs or than create only

elite users

  • On some situations you will need native SDKs
  • Some problems will be gone in the future
  • Use the best technology for every situation
Wednesday, November 7, 12
slide-141
SLIDE 141

some last advices

Wednesday, November 7, 12
slide-142
SLIDE 142 Wednesday, November 7, 12
slide-143
SLIDE 143

performance, performance

Wednesday, November 7, 12
slide-144
SLIDE 144

good practices

Wednesday, November 7, 12
slide-145
SLIDE 145

don’t be fanatic

photo by Kurt Christensen (flickr)

Wednesday, November 7, 12
slide-146
SLIDE 146

be multiplatform

Wednesday, November 7, 12
slide-147
SLIDE 147

be futurefriend.ly

Wednesday, November 7, 12
slide-148
SLIDE 148

you can reach a good experience

Pictures)from)freedigitalphotos.net)

thanks!

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

Wednesday, November 7, 12