samsung devcon - state of html5 - chris heilmann

55
THE STATE OF HTML5 ? Christian Heilmann, Mozilla (@codepo8) Samsung Devcon, San Francisco 2013

Upload: christian-heilmann

Post on 19-Aug-2014

27.315 views

Category:

Education


3 download

DESCRIPTION

Screencast is available on YouTube: https://www.youtube.com/watch?v=8Hq22HdEznM

TRANSCRIPT

Page 1: Samsung Devcon - State of HTML5 - Chris Heilmann

THE STATE OF HTML5

?!Christian Heilmann, Mozilla (@codepo8) Samsung Devcon, San Francisco 2013

Page 2: Samsung Devcon - State of HTML5 - Chris Heilmann

THE STATE OF HTML5

?!Christian Heilmann, Mozilla (@codepo8) Samsung Devcon, San Francisco 2013

Page 3: Samsung Devcon - State of HTML5 - Chris Heilmann

WHAT IS HTML5?

http://www.flickr.com/photos/37031529@N00/4468724263/

Page 4: Samsung Devcon - State of HTML5 - Chris Heilmann

PROMISES OF HTML5

Page 5: Samsung Devcon - State of HTML5 - Chris Heilmann

REALITIES OF HTML5

Page 6: Samsung Devcon - State of HTML5 - Chris Heilmann

HTML5 WORRIES…

★ Performance

★ Fragmentation

★ Security

★ Access to hardware

★ Painless app updates

★ Development environment

Page 7: Samsung Devcon - State of HTML5 - Chris Heilmann

BROKEN COMPARISONS

http://www.flickr.com/photos/richardnorth/7037250865http://www.flickr.com/photos/orangeacid/212833788

Page 8: Samsung Devcon - State of HTML5 - Chris Heilmann

DIFFERENT GOALS…

NATIVE APPS WEB APPS / SITES

Provide the best experience in a defined environment.

Reach the largest amount of users, regardless of location, technical environment or ability.

FIXED IN A CURRENT STATE. FIERCELY FLEXIBLE AND ADAPTING

Page 9: Samsung Devcon - State of HTML5 - Chris Heilmann

DIFFERENT APPROACHES…

NATIVE ENVIRONMENTS THE WEB

Innovate with closed, patented technology and secret features to gain advantage over competitors.

Use browser maker innovation to agree on standards, stay backwards compatible and vendor independent.

QUICK RESULTS, NO VISIBILITY, CONSTANT REPLACEMENT

HIGH VISIBILITY, CONSENSUS AND MAINTAINABILITY.

Page 10: Samsung Devcon - State of HTML5 - Chris Heilmann

For an HTML5 solution to be as good as a native implementation, it would only have to work on one browser, on one operating system, on one defined piece of hardware in a fixed specification. !!

This is against everything the web stands for and not what HTML was invented for…

Page 11: Samsung Devcon - State of HTML5 - Chris Heilmann

WORRYING TRENDS…

Page 12: Samsung Devcon - State of HTML5 - Chris Heilmann

GET OUR APP!We don’t care if you came from an email or entered a URL, this is about us, not you!

Page 13: Samsung Devcon - State of HTML5 - Chris Heilmann

CREATING A FIRST WORLD WEB…

Page 14: Samsung Devcon - State of HTML5 - Chris Heilmann

BENEFITS OF THE WEB…

Page 15: Samsung Devcon - State of HTML5 - Chris Heilmann

MILLIONS OF DEVELOPERS

Page 16: Samsung Devcon - State of HTML5 - Chris Heilmann

INCREDIBLE REACH

Page 17: Samsung Devcon - State of HTML5 - Chris Heilmann

CUSTOMISABLE EXPERIENCES

Page 18: Samsung Devcon - State of HTML5 - Chris Heilmann

ATOMIC UPDATES

Page 19: Samsung Devcon - State of HTML5 - Chris Heilmann

APP STORE INDEPENDENCE

Page 20: Samsung Devcon - State of HTML5 - Chris Heilmann

TACKLING HTML5 ISSUES…

Page 21: Samsung Devcon - State of HTML5 - Chris Heilmann

SOME FACTS…★ Released in six countries: Spain, Poland, Venezuela and

Columbia, Brazil and Mexico (more to come very soon)

★ 18 mobile operator partners, 6 hardware partners

★ Hardware options: Alcatel One Touch Fire, ZTE Open, Geeksphone Keon, Geeksphone Peak…

★ Aimed at emerging markets/low end market

★ Aimed to be an alternative to feature phones and unavailable closed environments.

★ Open source - it is all on GitHub

Page 22: Samsung Devcon - State of HTML5 - Chris Heilmann

SECURITY

Page 23: Samsung Devcon - State of HTML5 - Chris Heilmann

APPLICATION MANIFEST{ "version": "1.0", "name": "MozillaBall", "description": "Exciting Open Web development action!", "icons": { "16": "/img/icon-16.png", "48": "/img/icon-48.png", "128": "/img/icon-128.png" }, "developer": { "name": "Mozilla Labs", "url": "http://mozillalabs.com" }, "installs_allowed_from": ["*"], "appcache_path": "/cache.manifest", "locales": { "es": { "description": "¡Acción abierta emocionante del desarrollo del Web!", "developer": { "url": "http://es.mozillalabs.com/" } } }, "default_locale": "en" }

Page 24: Samsung Devcon - State of HTML5 - Chris Heilmann

Privileged Web App

More access, more responsibility

Web Content

Regular web content

APPLICATIONS

Installed Web App

A regular web app

Certified Web App

Device-critical applications

Page 25: Samsung Devcon - State of HTML5 - Chris Heilmann

PERMISSIONS

"permissions": { "contacts": { "description": "Required for autocompletion in the share screen", "access": "readcreate" }, "alarms": { "description": "Required to schedule notifications" } }

Page 26: Samsung Devcon - State of HTML5 - Chris Heilmann

HARDWARE ACCESS

Page 27: Samsung Devcon - State of HTML5 - Chris Heilmann

WEB APIS (FOR ALL)Vibration API, Screen Orientation, Geolocation API, Mouse Lock

API, Open WebApps, Network Information API, Battery Status API,

Alarm API, Push Notifications API, WebFM API / FMRadio,

WebPayment, IndexedDB, Ambient light sensor, Proximity sensor,

Notification, Device Storage API, Browser API, TCP Socket API,

Contacts API, systemXHR, WebTelephony, WebSMS, Idle API,

Settings API, Power Management API, Mobile Connection API,

WiFi Information API, WebBluetooth, Permissions API, Network

Stats API, Camera API, Time/Clock API, Attention screen, Voicemail

https://wiki.mozilla.org/WebAPI

Page 28: Samsung Devcon - State of HTML5 - Chris Heilmann

BATTERY STATUS API

Page 29: Samsung Devcon - State of HTML5 - Chris Heilmann

BATTERY STATUS API

var battery = navigator.battery; if (battery) { var batteryLevel = Math.round(battery.level * 100) + "%", charging = (battery.charging)? "" : "not ", chargingTime = parseInt(battery.chargingTime / 60, 10), dischargingTime = parseInt(battery.dischargingTime / 60, 10); // Set events battery.addEventListener("levelchange", setStatus, false); battery.addEventListener("chargingchange", setStatus, false); battery.addEventListener("chargingtimechange", setStatus, false); battery.addEventListener("dischargingtimechange", setStatus, false); }

Page 30: Samsung Devcon - State of HTML5 - Chris Heilmann

WEB ACTIVITIES

Page 31: Samsung Devcon - State of HTML5 - Chris Heilmann

GET A PHOTO?

Page 32: Samsung Devcon - State of HTML5 - Chris Heilmann
Page 33: Samsung Devcon - State of HTML5 - Chris Heilmann

APP DISTRIBUTION

Page 34: Samsung Devcon - State of HTML5 - Chris Heilmann

FIREFOX OS MARKETPLACE

https://marketplace.firefox.com/

Page 35: Samsung Devcon - State of HTML5 - Chris Heilmann

FXOS, ANDROID, WINDOWS, OSX, LINUX

https://hacks.mozilla.org/2013/10/progress-report-on-cross-platform-open-web-apps/

Page 36: Samsung Devcon - State of HTML5 - Chris Heilmann

INSTALL FROM THE WEB…

Page 37: Samsung Devcon - State of HTML5 - Chris Heilmann

TOOLING

Page 38: Samsung Devcon - State of HTML5 - Chris Heilmann

DEVELOPER ENVIRONMENT

Page 39: Samsung Devcon - State of HTML5 - Chris Heilmann

GOOGLE WEBDESIGNER

https://www.google.com/webdesigner

Page 40: Samsung Devcon - State of HTML5 - Chris Heilmann

ADOBE EDGE SUITE

http://html.adobe.com/edge/

Page 41: Samsung Devcon - State of HTML5 - Chris Heilmann

SENCHA

http://www.sencha.com/products/touch/

Page 42: Samsung Devcon - State of HTML5 - Chris Heilmann

WHAT’S COOKING?

Page 43: Samsung Devcon - State of HTML5 - Chris Heilmann

WEBCOMPONENTS

http://customelements.io

Page 44: Samsung Devcon - State of HTML5 - Chris Heilmann

WEBCOMPONENTS

http://www.polymer-project.org/

Page 45: Samsung Devcon - State of HTML5 - Chris Heilmann

MOZILLA BRICK

http://mozilla.github.io/brick/

Page 46: Samsung Devcon - State of HTML5 - Chris Heilmann

WEBRTC

http://www.google.com/hangouts/

Page 47: Samsung Devcon - State of HTML5 - Chris Heilmann

WEBRTC

https://togetherjs.com/

Page 48: Samsung Devcon - State of HTML5 - Chris Heilmann

ASM.JS / EMSCRIPTEN

https://blog.mozilla.org/blog/2013/03/27/mozilla-is-unlocking-the-power-of-the-web-as-a-platform-for-gaming

Page 49: Samsung Devcon - State of HTML5 - Chris Heilmann

USING HTML5 NOW

Page 50: Samsung Devcon - State of HTML5 - Chris Heilmann

STAY UP TO DATE

Page 51: Samsung Devcon - State of HTML5 - Chris Heilmann

MOBILE AND OFFLINE FIRST

Page 52: Samsung Devcon - State of HTML5 - Chris Heilmann

FLEXIBILITY IS THE SUPERPOWER

Page 53: Samsung Devcon - State of HTML5 - Chris Heilmann

RE-USE WITH PHONEGAP

https://build.phonegap.com/

Page 54: Samsung Devcon - State of HTML5 - Chris Heilmann

BE FEARLESS…

Page 55: Samsung Devcon - State of HTML5 - Chris Heilmann

THANKS! CHRIS HEILMANN @CODEPO8