Transmission2 25.11.2009

54
The future of web technologies Patrick H. Lauke / Transmission2 #tx2 / Manchester / 25 November 2009 WEB STANDARDS, CROSS-DEVICE DEVELOPMENT AND THE WEB AS UBIQUITOUS PLATFORM

description

 

Transcript of Transmission2 25.11.2009

Page 1: Transmission2 25.11.2009

The future of web technologies

Patrick H. Lauke / Transmission2 #tx2 / Manchester / 25 November 2009

WEB STANDARDS, CROSS-DEVICE DEVELOPMENT AND THE WEB AS UBIQUITOUS PLATFORM

Page 2: Transmission2 25.11.2009

Web Evangelist at Opera

Page 3: Transmission2 25.11.2009

1. new web standards2. adaptive content3. browser as platform

Page 4: Transmission2 25.11.2009

1. new web standards2. adaptive content3. browser as platform

Page 5: Transmission2 25.11.2009

new technologies you can start using today

Page 6: Transmission2 25.11.2009

HTML5<!DOCTYPE html>

Page 7: Transmission2 25.11.2009

HTML5 does not replace HTML 4.01

Page 8: Transmission2 25.11.2009

HTML5 has more bling!

Page 9: Transmission2 25.11.2009

“...extending the language to better support Web applications, since that is one of the directions the Web is going in and is one of the areas least well served by HTML so far. This puts HTML in direct competition with other technologies intended for applications deployed over the Web, in particular Flash and Silverlight.”

Ian Hickson, Editor of HTML5http://lists.w3.org/Archives/Public/public-html/2009Jan/0215.html

Page 10: Transmission2 25.11.2009

HTML5 is umbrella term:markup elements and JavaScript APIs

Page 11: Transmission2 25.11.2009

new elements for more accurate semantics

Page 12: Transmission2 25.11.2009

HTML5 elements for a typical blog

Page 13: Transmission2 25.11.2009
Page 14: Transmission2 25.11.2009
Page 15: Transmission2 25.11.2009

HTML5 – unambiguous and machine readable

Page 16: Transmission2 25.11.2009

current and old browsers “support” these new elements

(although some need a little extra help)

Page 17: Transmission2 25.11.2009

webforms – more powerful form elements

Page 18: Transmission2 25.11.2009

standardise commonly-usedrich form elements – without JavaScript

Page 19: Transmission2 25.11.2009

built-in validation(of course you should still validate on the server)

Demonstration of webforms

Page 20: Transmission2 25.11.2009

<canvas>

Page 21: Transmission2 25.11.2009

canvas = “scriptable images”

Page 22: Transmission2 25.11.2009

canvas has standard API methods for drawing

ctx = canvas.getContext("2d");ctx.fillRect(x, y, width, height);ctx.beginPath();ctx.moveTo(x, y);ctx.lineTo(x, y);ctx.bezierCurveTo(x1, y1, x2, y2, c1, c2);

Page 23: Transmission2 25.11.2009

canvas mixing things up with external graphics

ctx = canvas.drawImage(…)

Demonstration of canvas

Page 24: Transmission2 25.11.2009

<video>

Page 25: Transmission2 25.11.2009

<object width="425" height="344"><param name="movie"

value="http://www.youtube.com/v/9sEI1AUFJKw&hl=en&fs=1&"></param>

<param name="allowFullScreen" value="true"></param>

<param name="allowscriptaccess" value="always"></param>

<embed src="http://www.youtube.com/v/9sEI1AUFJKw&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>

Page 26: Transmission2 25.11.2009

<video src="video.ogv" controls autoplay poster="poster.jpg" width="320" height="240"> <a href="video.ogv">Download movie</a></video>

Page 27: Transmission2 25.11.2009

video as native object...why is it important?

● “play nice” with rest of the page● keyboard accessibility built-in● API for controls

Demonstration of video in Presto 2.4

Page 28: Transmission2 25.11.2009

video format debates – MP4 vs OGG Theora

<video controls autoplay poster="…" width="…" height="…"><source src="movie.ogv" type="video/ogg" /><source src="movie.mp4" type="video/mp4" /><!-- fallback content -->

</video>

still include fallback for old browsershttp://camendesign.com/code/video_for_everybody

Page 29: Transmission2 25.11.2009

video and canvas on any devicewithout plugins

(Java / Flash / Silverlight not ubiquitous)

Page 30: Transmission2 25.11.2009

IANAL, but … EOLAS?

Page 31: Transmission2 25.11.2009

and many more...(geolocation, drag and drop, web workers, offline support, storage)

Page 32: Transmission2 25.11.2009

1. new web standards2. adaptive content3. browser as platform

Page 33: Transmission2 25.11.2009

Mobile web and why it matterswww.opera.com/smw

Page 34: Transmission2 25.11.2009

Opera Mini: +150% users, +224% traffic15 Billion pages served / month

September 2008 - 2009

Page 35: Transmission2 25.11.2009

"Our goal is to take the one true Web and make it available to people on their terms."

Jon S. von Tetzchner, Opera Co-founder & CEO

Page 36: Transmission2 25.11.2009

“One Web” is an uneven landscape:

● constrained browsers (WAP, …)● mobile “Full Web” (Android, Opera Mobile, …)● proxy-based (Opera Mini, …)● laptop, Netbook, Tablet PC, Desktop● games consoles, set-top boxes, TVs

Page 37: Transmission2 25.11.2009

Device capabilities also vary:

● screen size and resolution● input mechanism – touch, keypad, other?● memory and processing power● colour palettes● connection speed / quality

Page 38: Transmission2 25.11.2009

Approaches to cross-device development:

● do nothing – use standards, defensive design● separate site (m.mysite.com, mysite.mobi)● single site, but optimised for cross-device

Page 39: Transmission2 25.11.2009

CSS 2.1 Media Types:

● print, screen, handheld, projection, tv, …● partially supported● lump all devices into single categories

http://www.w3.org/TR/CSS21/media.html

Page 40: Transmission2 25.11.2009

CSS 2.1 Media Types:

<link rel="stylesheet" ... media="print" href="...">@import url("...") print;@media print { // insert CSS rules here}

Page 41: Transmission2 25.11.2009

CSS 3 Media Queries:

● build and extend CSS 2.1 Media Types● more granular control of capabilities● width, height, orientation, color, resolution, …

http://www.w3.org/TR/css3-mediaqueries/

Page 42: Transmission2 25.11.2009

CSS 3 Media Queries:

@media screen and (max-device-width: 480px) { // insert CSS rules here

}Demonstration of Media Queries

Page 43: Transmission2 25.11.2009

CSS 3 Media Queries and SVG:

● SVG already resolution independent● ideal for device interfaces, maps, graphs, …● combination with CSS 3 Media Queries

Demonstration of Media Queries + SVG

Page 44: Transmission2 25.11.2009

1. new web standards2. adaptive content3. browser as platform

Page 45: Transmission2 25.11.2009

Full Web is not always practical or desirable

Page 46: Transmission2 25.11.2009
Page 47: Transmission2 25.11.2009

Widgets are nothing newYahoo! Widgets (aka Konfabulator), OS X Dashboard, Windows Sidebar,

Adobe Air, iPhone Apps, Android Apps, …

Page 48: Transmission2 25.11.2009

“…the browser run-time is perfect…you’re out of writing for Windows Mobile, Android, S60, each of which require testing...we want to abstract that.

All the cool innovation is happening inside the browser – you don’t need to write to the native operating system anymore.”

Mobile Entertainment Market , June, 2009

Page 49: Transmission2 25.11.2009

W3C Widgets – application development filled with web standards goodness,

using browser engine as platform

Page 50: Transmission2 25.11.2009

Widgets on desktop, mobile, TV … fridge?

Page 51: Transmission2 25.11.2009

Opera had widget capability for a long time … latest 10.20 alpha widgets as standalone apps

dev.opera.com/articles/view/widgets-as-standalone-applications

Page 52: Transmission2 25.11.2009

Standardised JavaScript APIsto access device-specific capabilities

(JIL / BONDI)

Page 53: Transmission2 25.11.2009

1. new web standards2. adaptive content3. browser as platform

Page 54: Transmission2 25.11.2009

www.opera.com/developerpeople.opera.com/patrickl/presentations/Transmission2_25.11.2009/Transmission2_25.11.2009.pdf

[email protected]