HTML5 impact on application programming

Preview:

DESCRIPTION

 

Citation preview

Emerging Communication

HTML5 & WebApps

fredag den 10 september 2010

ericsson.com

Ericsson LabsChallenge

“Connected Things: Social, Fun & Sustainable”. Develop an innovative application using one or several APIs from labs.ericsson.com/apisThe winner will receive a Sony Ericsson Android X10 Mini Pro device.

Twitter: @ericssonlabs

fredag den 10 september 2010

Emerging Communication

HTML5 & WebApps

fredag den 10 september 2010

Overview

• What is HTML(5) Communication?

• What is its impact?

• Influence on native apps

• Trends for future apps

fredag den 10 september 2010

What is HTML5?

• HTML5 - The Markup Language

• HTML5 - The Web Technologies Umbrella Term

fredag den 10 september 2010

HTML(5) Communication

• Huge small topic

• New communication technologies

• New user expectations

• New security concerns

fredag den 10 september 2010

HTML(5) Communication

• XmlHttpRequest

• Cross-Origin XHR

• EventSource

• WebSockets

fredag den 10 september 2010

XmlHttpRequest

• The most basic tool available: HTTP request back home

• Used creatively to great effect:

• Comet/Long Polling

• Proxies

• Even streaming

• Can only be used to the “Origin” host

fredag den 10 september 2010

Cross Origin XHR

• Simple extension to XHR

• Allows connection to more than Origin

• Main feature: eliminates proxy need

fredag den 10 september 2010

EventSource• First new interface type

• Formalisation of regular polling technique

• Technique itself not rocket science in JavaScript

• Ericsson Labs’ Event Source Enabler is ~100 lines of JS code

fredag den 10 september 2010

EventSource• First new interface type

• Formalisation of regular polling technique

• Technique itself not rocket science in JavaScript

• Ericsson Labs’ Event Source Enabler is ~100 lines of JS code

fredag den 10 september 2010

WebSockets

• Bidirectional communication between client & server

• Connection-based

• Uses delimited, sequential messages

• UTF-8 based

• More efficient than XHR

fredag den 10 september 2010

Change?

• On protocol level, nothing revolutionary

• Some Web Service APIs will use WebSockets

• Thus, native apps will have WebSocket Support

• Real communication revolution from how users interact with web apps

fredag den 10 september 2010

The Web Experience

• If nothing changes, what’s the difference?

• Technology alone is not the change agent

• The web experience is

• What is the web experience?

fredag den 10 september 2010

What is HTML?• Language for presenting the

user with information.

• Document-centric model

• Primary intention to distribute data for consumption

• Naturally presents users with the latest information, regardless of access point

fredag den 10 september 2010

Updates

• (Web) Applications will always update themselves

• No restarts, no prompts

• Native apps going in that direction too (e.g. Chrome)

fredag den 10 september 2010

Reach

fredag den 10 september 2010

“The eventual goal [of Chrome] to create a ‘stateless’ browsing

experience where the user can log into any Chrome instance and have instant access to all of their settings, bookmarks, history, and add-ons”

Ryan Paul, Ars Technica

fredag den 10 september 2010

Reach

fredag den 10 september 2010

Reach

fredag den 10 september 2010

Reach

fredag den 10 september 2010

Reach

fredag den 10 september 2010

Reach

fredag den 10 september 2010

Reach

fredag den 10 september 2010

Reach

fredag den 10 september 2010

fredag den 10 september 2010

fredag den 10 september 2010

Adaptability

fredag den 10 september 2010

Adaptability

fredag den 10 september 2010

fredag den 10 september 2010

This morning, I was able to validate a concept I’ve been working on for a couple of weeks now: running one application

— completely unchanged — on five different screens

Christian Cantrell, Adobe

fredag den 10 september 2010

Multiscreen authoring is a challenge for our design customers. [...] There has been much discussion around whether or not HTML5 and CSS3 will make it easier for designers to reach new devices.

We think it will

Paul Gubbay, Adobe

This morning, I was able to validate a concept I’ve been working on for a couple of weeks now: running one application

— completely unchanged — on five different screens

Christian Cantrell, Adobe

fredag den 10 september 2010

Adaptability

fredag den 10 september 2010

fredag den 10 september 2010

Create

Create

fredag den 10 september 2010

Create

Create

fredag den 10 september 2010

Share

Create

Share

fredag den 10 september 2010

Share

Create

Share

fredag den 10 september 2010

Share

Create

Share

fredag den 10 september 2010

Mash

fredag den 10 september 2010

Interconnected

fredag den 10 september 2010

fredag den 10 september 2010

iframe “mash-ups” [are] web pages that pull together their content from more than one site. You might build an application,

for instance, in which part of the screen shows price-and-availability from a third-party vendor.

Cameron Laird, Phaseit

fredag den 10 september 2010

iframe “mash-ups” [are] web pages that pull together their content from more than one site. You might build an application,

for instance, in which part of the screen shows price-and-availability from a third-party vendor.

Cameron Laird, Phaseit

I expect the iframe sandboxing feature will be a big boon to developers if it takes off.

Ian Hickson, Google

fredag den 10 september 2010

Interconnected

• iframe sandbox allows secure inclusion of foregin data

• Can now deal with sensitive user data

• Implementation by Ericsson shipping in Chrome & Safari

fredag den 10 september 2010

fredag den 10 september 2010

Create

AliceCreate Shopping List

fredag den 10 september 2010

CreateCreate Shopping List

ApplesAlice

fredag den 10 september 2010

Share

AliceCreate Shopping List

Apples

Bob

fredag den 10 september 2010

Share

AliceCreate Shopping List

OrangesModify Shopping ListBob

fredag den 10 september 2010

Access

Alice

To Buy Oranges

Oranges

Create Shopping List

Modify Shopping ListBob

fredag den 10 september 2010

Access

Alice

Oranges

Create Shopping List

Modify Shopping List

• Adapted to the current screen

• Familiar user interface

• Synchronised data

• Because it is the same applicationTo Buy

Oranges

Bob

fredag den 10 september 2010

Mash

To Buy Oranges

Expenses

Planned Actual

fredag den 10 september 2010

Mash

To Buy Oranges

Expenses

Planned Actual

fredag den 10 september 2010

Data

• Increased requirement for open data formats

• Applications integrate with user’s data stream, or are left behind

• Devices open themselves up to integrate with that stream too

fredag den 10 september 2010

Connectivity

• Current “active” sync merely a stepping stone

• Future apps will need to be aware of their “screen” counterparts

• Need to keep track of, reach, talk to all instances, all (user’s) devices

fredag den 10 september 2010

Synchronisation

• Required to reach the functionality goals of Connectivity with the speed of Native

• Implicit, automatic, background synchronization

• Google Wave showed how synchronization can work, but...

fredag den 10 september 2010

Demos

• http://ergo.labs.ericsson.net/applications/canvas

• http://ergo.labs.ericsson.net/applications/shared-map

fredag den 10 september 2010

For more information

• vladimir.katardjiev@ericsson.com

fredag den 10 september 2010

fredag den 10 september 2010

Recommended