81
How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards DAVID KANEDA, SENCHA

How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

Embed Size (px)

DESCRIPTION

Presentation given at Web 2.0 Expo, NY.

Citation preview

Page 1: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

How to Develop a Rich, Native-quality User

Experience for Mobile Using Web Standards

DAVID KANEDA, SENCHA

Page 2: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

@davidkaneda@senchainc@jqtouch@webkitbits@9bits

Page 3: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

How to Develop a Rich, Native-quality User

Experience for Mobile Using Web Standards

Page 4: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 5: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

WAP’s dead, baby.WAP’s dead.

Page 6: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

2%2% 3%

7%

39%

47%

iOSAndroidRIMWebOSWinmoOther

http://metrics.admob.comJanuary 2010

US Mobile Smartphone Traffic

Page 7: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 8: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

Did someone say devices?

Page 9: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 10: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 11: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

230,000

Page 12: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

230,000iOS activations a day.

Page 13: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 14: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 15: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 16: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

60,000Android shipments a day.

Page 17: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

SAMSUNG GALAXY TAB

COMING SOON…

Page 18: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

BLACKBERRY TORCH

Page 19: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

WEBOS 2.0

Page 20: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

Let’s talk tech.

Page 21: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 22: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 23: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 24: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

HTML5

Page 25: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

new elements

Page 26: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

new elements

section, article, header, footer, aside

yawn.

Page 27: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

new features

Page 28: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

new features

web storageweb workers

form validationmicrodata

Page 29: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

new input types

Page 30: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

TYPE=EMAIL TYPE=URL TYPE=NUMBER

new input types

Page 31: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

<video> & <audio>

Page 32: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

<video> & <audio>

<video> can be styled like other elements

Page 33: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

<video> & <audio>

<video> can be styled like other elementsJavaScript control over playback

Page 34: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

<video> & <audio>

<video> can be styled like other elementsJavaScript control over playback

Quick tip: Autoplay can work, even if Apple says otherwise.

Page 35: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 36: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 37: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

cache manifest

Page 38: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

cache manifest

Make apps o!ine-accessible

Page 39: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

cache manifest

Make apps o!ine-accessibleCache, Network, Fallback

Page 40: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

cache manifest

Make apps o!ine-accessibleCache, Network, Fallback

Once you go cache, you never go back

Page 41: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

geolocation

Page 42: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

geolocation

Page 43: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

That’s so <meta>

Page 44: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>

<link rel="apple-touch-icon-precomposed" media="screen and (resolution: 326dpi)" href="/link/to/iOS-114px.png" />

That’s so <meta>

Page 45: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

CSS3

Page 46: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

CSS3 Basics

Page 47: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

CSS3 Basics

border-radiusborder-image

opacitygradient

text-shadow

box-shadow:before & :after

masks@font-face

reflect

Page 48: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 49: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 50: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 51: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 52: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 53: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 54: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 55: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

Transforms

Page 56: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

translaterotatescaleskewscale

Transforms

Page 57: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

Transitions & Animations

Page 58: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

More than just pretty e"ectsUsually hardware-accelerated

Transitions & Animations

Page 59: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

More than just pretty e"ectsUsually hardware-accelerated

Transitions & Animations

Page 60: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

WebKit-specific CSS

Page 61: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

WebKit-specific CSS

Page 62: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

WebKit-specific CSS

-webkit-tap-highlight-color: rgba(0,0,0,0);

Page 63: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

WebKit-specific CSS

-webkit-tap-highlight-color: rgba(0,0,0,0);-webkit-user-select: none;

Page 64: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

WebKit-specific CSS

-webkit-tap-highlight-color: rgba(0,0,0,0);-webkit-user-select: none;-webkit-touch-callout: none;

Page 65: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

Trouble Spots

Page 66: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

350ms to Kill

Page 67: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

350ms to Kill

It’s longer than it soundsAvoid with custom touch eventsLazy method: bind to touchend

Page 68: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

a fixed game

Page 69: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

a fixed game

No position: fixed; in CSSoverflow: auto/scroll; requires two fingers

Hack by manipulating touch objects

Page 70: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

Need a hand?

Page 71: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

jQTouch JQTOUCH.COM

Page 72: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

Sencha Touch SENCHA.COM

Page 73: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

“Real artists ship.”Steve Jobs

Page 74: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

WEB APPS

Page 75: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 76: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 77: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 78: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 79: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

NATIVE SHELL

Page 80: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards
Page 81: How to Develop a Rich, Native-quality User Experience for Mobile Using Web Standards

Thanks!I’ll be here all week.

@davidkanedahttp://9-b.it/web20ny