26
Commission Open Source http://www.slicefactory.com Stefano Crosta [email protected]

SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Embed Size (px)

DESCRIPTION

SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5, une plateforme contemporaine pour le Web : Stefano Crosta, Chief Technical Officer de SLICE FACTORY ; Raphaël Troncy, Maître de Conférences à Eurecom.

Citation preview

Page 1: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Commission Open Source

http://www.slicefactory.com

Stefano [email protected]

Page 2: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Commission Open Source

&

http://inslices.com

Slice the web up!Save and share what matters...

<!DOCTYPE html>

Page 3: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

CSS 3 & Forms

Commission Open Source

Page 4: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Commission Open Source

CSS 3 & Forms text-overflow: ellipsis;overflow: hidden;white-space: nowrap;

(-moz-)border-radius: 5px 10px 10px 5px;

(-moz-)box-shadow: 0 2px 5px 0 gray;

placeholder=“type ....”

Page 5: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Commission Open Source

Datasets

Tag attribute data-yourtagnameTag attribute data-yourtagnameTag attribute data-yourtagnameTag attribute data-yourtagname

Pour:

Rajouter de l'information sémantique dans une page À utiliser pour des donner internes – JavaScript ou css, non pas pour exposer des données vers des crawlers HTML valide!

Page 6: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Commission Open Source

'Structure' tags: article, aside, section, header, footer...

Avantages:* markup plus lisible* facilité pour les moteurs de recherche

Avantages:* markup plus lisible* facilité pour les moteurs de recherche

Utiliser rel="bookmark" pour lier vers les pages <article> correspondantes

Utiliser rel="bookmark" pour lier vers les pages <article> correspondantes

Page 7: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Commission Open Source

'Structure' tags: article, aside, section, header, footer...header

aside

section

article

Page 8: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Commission Open Source

RDFa et donnée semantiques

HTML5 va intégrer RDFa, qui était avant une spec lié à XHTML - encore en draft...!http://dev.w3.org/html5/rdfa/Guerre RDFa – MicroData (Microformat) ?

HTML+RDFa 1.1 - Support for RDFa in HTML4 and HTML5W3C Editor's Draft 05 July 2010

This specification defines rules and guidelines for adapting the RDFa Core 1.1 specification for use in HTML5 and XHTML5. The rules defined in this specification not only apply to HTML5 documents in non-XML and XML mode, but also to HTML4 and XHTML documents interpreted through the HTML5 parsing rules.There are a number of substantive differences between this version and its predecessor, including:

● Inheritance of basic processing rules from RDFa 1.1 [RDFA-CORE], instead of XHTML+RDFa 1.0 [RDFA-SYNTAX]●Inclusion of the HTML Default Vocabulary Terms, which mirror the XHTML Default Vocabulary Terms, for the purpose of HTML/XHTML interoperability●Inclusion of a HTML 4.01 + RDFa 1.1 DTD for validation purposes●Added normative definition of @version attribute.

This specification defines rules and guidelines for adapting the RDFa Core 1.1 specification for use in HTML5 and XHTML5. The rules defined in this specification not only apply to HTML5 documents in non-XML and XML mode, but also to HTML4 and XHTML documents interpreted through the HTML5 parsing rules.There are a number of substantive differences between this version and its predecessor, including:

● Inheritance of basic processing rules from RDFa 1.1 [RDFA-CORE], instead of XHTML+RDFa 1.0 [RDFA-SYNTAX]●Inclusion of the HTML Default Vocabulary Terms, which mirror the XHTML Default Vocabulary Terms, for the purpose of HTML/XHTML interoperability●Inclusion of a HTML 4.01 + RDFa 1.1 DTD for validation purposes●Added normative definition of @version attribute.

Page 9: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Commission Open Source

postMessage()

Communication entre différents frames sur une page

Page 10: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Commission Open Source

JavaScript

* Workers pas encore murs (eg. Mozilla bug 538440* just fixed) * On utilisait déjà JQuery mais performances accrues pour getElementsByClassName() et QuerySelectorAll() * WebStorage pour sauvegarder des données sans besoin de passer pas une connexion avec nos serveurs * Web Sockets... SOOON! ('real time, server push...')

CSS3

* Attention aux perfs avec E[foo~="bar"] (et *=, $=, …) !Même si div.value == div[class~=value] les navigateurs ne sont pas du tout optimisé pareil!

* https://bugzilla.mozilla.org/show_bug.cgi?id=538440

Page 11: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Commission Open Source

En général...

Bcp d'améliorations importantes, qui facilitent la vie des développeurs, mais... Il faut attendre l'implémentation dans les navigateurs: support très partiel pour...• Structural tags pour IE: document.createElement('header');• CSS3• Nouveaux contrôles pour les formulaires• Tags multimedia• Canvas et certains selecteurs: problèmes mémoire et performance!• ...

Page 12: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Commission Open Source

Page 13: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Implementing the Media Fragments URI Specification:

Media Fragments Firefox Extension

Raphaël Troncy <[email protected]>

@rtroncy

Commission Open Source

Page 14: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

• Aidem received on her Facebook wall a status message containing a Media Fragment URI– Use a ‘#’ !

– Highlight a videosequence

– Highlight a regionto pay attention to

Commission Open Source

Use Case

Page 15: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Photo credit: Robert Freund

Provide URI-based mechanisms for uniquely identifying fragments for media objects on the Web, such as video, audio, and images.

Commission Open Source

Media Fragments URI

Page 16: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

• r01: Temporal fragments:– a clipping along the time dimension from a start to an end time that

are within the duration of the media resource

• r02: Spatial fragments:– a clipping of an image region, only consider rectangular regions

• r03: Track fragments:– a track as exposed by a container format of the media resource

• r04: Named fragments:– a media fragment - either a track, a time section, or a spatial region -

that has been given a name through some sort of annotation mechanism

Commission Open Source

Requirements

Page 17: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

• General principle:– Smart UA will strip out the fragment definition and encode

it into custom http headers ...

– (Media) Servers will handle the request, slice the media content and serve just the fragment while old ones will serve the whole resource

• Four recipes proposed for:– Enabling caching or not;

– Perform unit to bytes mapping on server or client side

Commission Open Source

Media Fragments Processing

Page 18: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Commission Open Source

Media Fragments Rendering (temporal)

Fragment beginning Fragment endPlayback progress

Original resourcelength

Page 19: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Commission Open Source

Media Fragments Rendering (spatial)

semi-opaqueoverlay

highlightedfragment

Page 20: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

• The UA sends a Range request expressed in a custom unit (e.g. seconds), the server provides a multipart message body reply (multipart/byte-ranges) containing not only the bytes corresponding to requested media fragment but also the media header data making the resource playable.

Commission Open Source

Recipe: serving playable resources

Page 21: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Commission Open Source

Recipe: serving playable resources

Page 22: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

http-on-modify-request

http-on-examine-response

HTTP request

HTTP response

NinSunaServer

Commission Open Source

Observing HTTP Traffic

Page 23: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

• HTTP request:– retrieving URI

– parsing key=values pairs from the fragment part

– setting Range header

• HTTP response:– checking Content-Type

and Content-Range-Mapping headers values

– attaching custom playback controls to the HTML5 page

– creating spatial dimension overlay (if specified)

Commission Open Source

Examining HTTP Traffic

Page 24: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

HTTP/1.1 206 Partial Content

Content-Type: multipart/byteranges;boundary=EndContent-Range-Mapping:{t:npt 4.8-14.8/0-38.33;include-setup}={bytes 0-5998,629578-1690588/4055466}...

--EndContent-Type: video/oggContent-Range: bytes 0-5997/4055466

{binary data}--EndContent-Type: video/oggContent-Range: bytes 629578-1690588/4055466

{binary data}--End--End--

Commission Open Source

Requesting a temporal fragment

Page 25: SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 Juillet - HTML 5 : une plateforme contemporaine pour le Web

Commission Open Source

Requesting a temporal fragment

HTTP/1.1 206 Partial Content

Content-Type: multipart/byteranges;boundary=End...

--EndContent-Type: video/oggContent-Range: bytes 0-5997/4055466

{binary data}--EndContent-Type: video/oggContent-Range: bytes 629578-1690588/4055466

{binary data}--End--End--

HTTP/1.1 206 Partial Content

Content-Type: video/ogg...

{binary data}{binary data}

• We attach a Stream Listener to the HTTP channel