chapter 21
hypertext, multimedia and the world-wide web
hypertext, multimedia �and the world-wide web
understanding hypertext
finding things
web technology
static:
dynamic:
understanding hypertext
what is the hyper?
rich content: graphics, audio, video, computation and interaction
Text
this is text
or is it
hypertext
only links
can tell
this is text
or is it
hypertext
only links
can tell
this is text
or is it
hypertext
only links
can tell
this is text
or is it
hypertext
only links
can tell
page 1
page 2
page 3
page 4
this is text
or is it
hypertext
only links
can tell
Hypertext - not just linear
this is text
or is it
hypertext
only links
can tell
this is text
or is it
hypertext
only links
can tell
this is text
or is it
hypertext
only links
can tell
this is text
or is it
hypertext
only links
can tell
home
bookmark
external link
this is text
or is it
hypertext
only links
can tell
this is text
or is it
hypertext
only links
can tell
this is text
or is it
hypertext
only links
can tell
this is text
or is it
hypertext
only links
can tell
back link
Hypermedia – not just text
animation
animation (ctd)
video and audio
audio issues
using animation and video
computation, intelligence �and interaction
interacting in hypertext�Professor Alan’s puzzle square
@ http://www.hiraeth.com/alan/misc/game/game.html
user clicks arrows to move squares
icons to reset
arrangement
hot links to�other puzzles
delivery technology
delivery (ctd) … on the move
application areas
application areas (ctd)
eClass (formerly Classroom 2000)
an ordinary lecture?
slides, pen marks, video are ‘captured’
... available later through web interface
finding things
lost in hyperspace�structure and navigation�history and bookmarks�indices, directories and search
lost in hyperspace
designing structure
making navigation easier
history, bookmarks, etc.
indices, directories and search
complex search
finding research literature
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
bibliography backwards in time
citation forwards in time
web technology and issues
protocols and browsers
web servers and clients
networking
web basics …
web servers and clients
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
web client (browser)
web server (stores pages)
① user clicks link
GET /e3/authors.html HTTP/1.1
④ server sends page back
② browser sends request
communicate with HTTP
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
⑤ browser displays it
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
③ server finds page
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
network issues - timing
bandwidth, latency and jitter
send
receive
time
bandwidth�how much
latency�how long
jitter�how variable
design implications
feedback and feedthrough
WAP - web on the phone
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
errata: book says stacks of ‘notes’, cards is correct
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
server sends whole stack�using WAP protocol
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
navigation within stack fast
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
server stores ‘stacks’ of cards
N.B. larger screens and faster connections mean WML giving way to small HTML pages
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
static web content
medium and message
text, graphics, movies and sound
the message and the medium
text
graphics
graphics (ctd)
JPEG quality=20
icons
web colour
movies and sound
(i) page
loads
user’s machine
web server
movie plays
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
(ii) user
watches
dynamic web content
what happens where
technology and security
local interaction, search
remote & batch generation
dynamic content
the active web
what happens where?
user view
technology
where does it happen
client
server
another machine
people
security
… and networks!
local interaction (at client)
(i) page
loads once
user’s machine
web server
script / Java
running in client
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
(ii) user
interacts
locally
examples
coin race uses
JavaScript
dancing histograms
are a Java applet
search
see http://www.hcibook.com/e3/search/
(ii) search
results returned
user’s machine
web server
web page with
text field for
search words
CGI script
looks up
words in
index
(i) user fills
field in form
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
index file
pre-computed
automatic generation
Java applet & JDBC
JDBC �accesses � database
user’s machine
web server
Java applet
CGI script accesses database
(iii) server returns
generated
pages
(ii) CGI script �accesses database �using SQL/JDBC
user’s machine
web server
generated � pages
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
CGI �script
(i) request
to server
batch generation
Set db = openDatabase("C:\test.mdb");
sql = "select Name, Address from Personnel;"
Set query = db.OpenRecordset(sql)
Open "out.html" For Output As #1
Print #1, "<h1>Address List</h1>"
query.MoveFirst
While Not query.EOF
Print #1, "<p>" & query("Name") & " ” & query("Address")
query.MoveNext
Wend
Close #1
query.Close
batch generation of web pages
(iii) server returns
generated
pages
(ii) pages copied �to web server �via ftp
(i) pages generated �off-line from �database
user’s machine
web server
third machine
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
syuh how gtw
hsio i ert ag ty
ghn ty we ghty
chdi qw oatyf
wet dfla ght a
generated � pages
dynamic content
n-tier architecture
database
enterprise
server
JEB
web
server
JDBC
XML
HTML
JSP