the web – a hypermedia story

69
The Web | a hypermedia story past,present, future. Ruben Verborgh

Upload: ruben-verborgh

Post on 01-Nov-2014

1.839 views

Category:

Technology


1 download

DESCRIPTION

Slides for the July 2013 Belgian Fronteers meetup

TRANSCRIPT

Page 1: The web – A hypermedia story

The Web | a hypermedia storypast,!present, future.

Ruben Verborgh

Page 2: The web – A hypermedia story

Congratulations,you’re oldenough torememberthe difference.

Page 3: The web – A hypermedia story

This isa camera.

Of course it’s digital.What else?

Page 4: The web – A hypermedia story

POORDIGITAL NATIVES

only usedigital technology.

Page 5: The web – A hypermedia story

In only 20 years time,information

has become actionable.

Page 6: The web – A hypermedia story

The Web | a hypermedia storypast,!present, future.

Page 7: The web – A hypermedia story

Ted Nelson°1937

Doug Engelbart1925–2013

Aaron Swartz1986–2013

Page 8: The web – A hypermedia story

The Web | a hypermedia storypast,!present, future.

Page 9: The web – A hypermedia story

Hypertext is text that branches and

allows choices on an interactive screen.

It’s text chunks connected by links which

offer the reader different pathways.

—Ted Nelson, Dream Machines (1974)

Page 10: The web – A hypermedia story
Page 11: The web – A hypermedia story

1992?1993?

Page 12: The web – A hypermedia story

Xanadusolves yourinformation

hunger.

Page 13: The web – A hypermedia story

Xanaduthe biggest

vaporware productin history.

Page 14: The web – A hypermedia story
Page 15: The web – A hypermedia story
Page 16: The web – A hypermedia story

In those dayshypertext systems

couldn’t exchange information.

Page 17: The web – A hypermedia story

Tim Berners-Lee°1955

Page 18: The web – A hypermedia story

The Web is severely limited

only publishers can make links

they are one-directional

they can break

But it scales.Globally.

Page 19: The web – A hypermedia story

URL

HTTPHTML

http://en.wikipedia.org/wiki/World_Wide_Web

Page 20: The web – A hypermedia story
Page 21: The web – A hypermedia story

The Web | a hypermedia storypast,!present, future.

Page 22: The web – A hypermedia story

Roy Thomas Fielding°1965

Page 23: The web – A hypermedia story

REST | REpresentational State Transfer

An architectural stylefor large hypermedia systems(such as the Web).

Why is the Web successful?constraints

Page 24: The web – A hypermedia story

REST | Uniform interface constraints

Identi!cation of resources

Manipulation through representations

Self-descriptive messages

Hypermedia as the engine

Page 25: The web – A hypermedia story

/index.php?action=showBook&id=35

REST | Identi!cation of resources

/index.php?action=borrowBook&id=35

What is a “borrowBook”?Can I GET it?Can I POST to it?

Page 26: The web – A hypermedia story

/books/35

REST | Identi!cation of resources

/users/34/books/borrowed

I can get the list of borrowed books.I can add something to it.

Identify resources, not actions.

Page 27: The web – A hypermedia story

REST | Uniform interface constraints

Identi!cation of resources

Manipulation through representations

Self-descriptive messages

Hypermedia as the engine

Page 28: The web – A hypermedia story

http://example.org/books/35

REST | Manipulation of resources

http://api.example.org/REST/books/35.json

They point to the same resource.Why does it matter who uses it?

Page 29: The web – A hypermedia story

http://example.org/books/35

REST | Manipulation of resources

Humans get HTML.Machines get JSON.

One resource, many representations.

HTMLwhen asked

by user

JSONwhen asked

by AJAX

Page 30: The web – A hypermedia story

REST | Manipulation of resources

Don’t create an API.There is already one:it’s called HTTP.

(And it’s more widely used than yours will ever be.)

Page 31: The web – A hypermedia story

REST | Uniform interface constraints

Identi!cation of resources

Manipulation through representations

Self-descriptive messages

Hypermedia as the engine

Page 32: The web – A hypermedia story

REST | Self-descriptive messages

POST /index.php?action=showBook&id=35

POST /index.php?action=borrowBook&id=35

What happens?

Page 33: The web – A hypermedia story

REST | Self-descriptive messages

POST /對我來說這是中國的POST /我不知道這意味著什麼

What happens?

Page 34: The web – A hypermedia story

REST | Self-descriptive messages

POST /users/34/books/borrowed

Use it.No surprises.

HTTP has a uniform interface.

GET /users/34/books/borrowed

DELETE /users/34/books/borrowed

Page 35: The web – A hypermedia story

REST | Uniform interface constraints

Identi!cation of resources

Manipulation through representations

Self-descriptive messages

Hypermedia as the engine

Page 36: The web – A hypermedia story

http://example.org/books/35

REST | Hypermedia as the engine

HTMLwhen asked

by user

JSONwhen asked

by AJAX

Page 37: The web – A hypermedia story

http://example.org/books/35

REST | Hypermedia as the engine

HTML

<h1>Dream Machines</h1>

<a href="/authors/ted_nelson">

by Ted Nelson

</a>

Page 38: The web – A hypermedia story

http://example.org/books/35

REST | Hypermedia as the engine

JSON

{

"title": "Dream Machines",

"author": "Ted Nelson"

}

Page 39: The web – A hypermedia story

http://example.org/books/35

REST | Hypermedia as the engine

JSON{

"title": "Dream Machines",

"author": { "name": "Ted Nelson":

"url": "/authors/ted_nelson" }

}

Page 40: The web – A hypermedia story

REST | Hypermedia as the engine

For humans and machines.Don’t make us read your manual.

Make your information actionable.

Hypermedia should be the engineof your application.

Representations should containthe links to next steps.

Page 41: The web – A hypermedia story

REST | Fielding’s de!nition of hypermedia

Hypertext is the simultaneous presentation

of information and controls such that

the information becomes the affordance

through which the user (or automaton)

obtains choices and selects actions.

Page 42: The web – A hypermedia story

REST | Fielding’s de!nition of hypermedia

the simultaneous presentationof information and controls

HTML or JSONwith links

Page 43: The web – A hypermedia story

REST | Fielding’s de!nition of hypermedia

the user (or automaton)obtains choices and selects actions.

you choosethe next step

(you don’t haveto create it yourself)

Page 44: The web – A hypermedia story

this handleaffordsopeningthe door

this handle isan affordance

for openingthe door

Page 45: The web – A hypermedia story

a propertyof an objectthat lets youact upon it

affordance

Page 46: The web – A hypermedia story

the informationbecomes

the affordance

Page 47: The web – A hypermedia story

The Web | a hypermedia storypast,!present, future.

Page 48: The web – A hypermedia story
Page 49: The web – A hypermedia story
Page 50: The web – A hypermedia story

The Semantic Web | for machines

Make machines understand information

so they cando things for us.

Page 51: The web – A hypermedia story

Resource Description Framework | RDF

:Tim :knows :Ted.subject |"predicate | object

Page 52: The web – A hypermedia story

URLs give meaning to concepts | RDF

<http://en.wikipedia.org/wiki/Tim_Berners-Lee>

<http://en.wiktionary.org/wiki/knows>

<http://en.wikipedia.org/wiki/Ted_Nelson>.

Page 53: The web – A hypermedia story

Embed meaning in HTML | RDF

<div id="book" itemtype="http://schema.org/Book">

<span itemprop="name">The Catcher in the Rye</span> –

by <a itemprop="author" href="#salinger">J.D. Salinger</a>

</div>

Page 54: The web – A hypermedia story

Embed meaning in HTML | RDF

<div id="book" itemtype="http://schema.org/Book">

<span itemprop="name">The Catcher in the Rye</span> –

by <a itemprop="author" href="#salinger">J.D. Salinger</a>

</div>

Your page can be read by people

and understoodby machines

Page 55: The web – A hypermedia story

The Web | a hypermedia storypast,!present, future.

Page 56: The web – A hypermedia story
Page 57: The web – A hypermedia story

Representations should contain

the links to next steps.

The Web is severely limited only publishers can make links

Page 58: The web – A hypermedia story

Publishers are responsible

for creating the right links.

How can they possibly know what next steps you will take?

Page 59: The web – A hypermedia story

The hypermedia paradox

Publishers are responsible

for creating the right links.

How can they possibly know what next steps you will take?

Page 60: The web – A hypermedia story

Semantic Web:

if your browser understands content

Hypermedia: can it create the right links?

The hypermedia paradox solved?

Page 61: The web – A hypermedia story

+ =

HTML&

semantics

yourpreferred

actions

personalizedhypermedia

Page 62: The web – A hypermedia story

browser reads semantics

!nds matching actions

creates right links

The informationbecomes your affordance.

Distributed affordance

Page 63: The web – A hypermedia story

The Web | a hypermedia storypast,!present, future.

Page 64: The web – A hypermedia story
Page 65: The web – A hypermedia story
Page 66: The web – A hypermedia story
Page 67: The web – A hypermedia story
Page 68: The web – A hypermedia story
Page 69: The web – A hypermedia story

The Web | a hypermedia storypast,!present, future.

ruben.verborgh.org@RubenVerborgh