One Web or Four Five Three Four Three More: Hypertext

Steven Pemberton, CWI, Amsterdam and W3C
Chair, W3C HTML and Forms Working Groups
Editor in chief, ACM/interactions

Hypertext: The User's Web

The portion of the web that I represent today, is the user side:

Why was HTML successful?

  1. It fulfilled a need
  2. ...
  3. It was easy to use

So, let's go back to the early days

1991

10 MHz, 1Mb, 20Mb

An HTML Document

<title>My HTML File</title>
<h1>My first Webpage</h1>
Welcome to my page!




 

Now let's fast forward 10 years:

2001

1 GHz, 256Mb, 20Gb

Designing XML

When XML was designed...

Group: we don't need to consider authoring ease

This is OK. But beware: role model!

An HTML Document

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xml:lang="en" lang="en">
<head>
  <title>Virtual Library</title>
</head>
<body>
  <p>Moved to
     <a href="http://example.org/">example.org</a>.
  </p>
</body>
</html>

W3C gets to work

Groups: we don't need to consider programming ease

Fast forward again

2002

2003

2004

2005

2006

2007

2008

2009

2010

100GHz, 64Gb, 20Tb

An HTML Document

<?xml version="1.1" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="xhtml2.css"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN" "xhtml2.dtd"[
<!ATTLIST html
xmlns:xsi CDATA #FIXED "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation CDATA #IMPLIED >
<!-- long list of redundant ATTLIST declarations for ID ... -->
]>
<html xmlns="http://www.w3.org/2002/06/xhtml2" xml:lang="en"
xmlns:ev="http://www.w3.org/2001/xml-events"
xmlns:xfm="http://www.w3.org/2002/01/xforms"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ev="http://www.w3.org/2002/xml-events" xmlns:mumble bla bla bla ginger
xsi:schemaLocation="http://www.w3.org/2002/06/xhtml2 xhtml2.xsd ...">
<head>
<title>My web page</title>
</head>
<body>
...
</body>
</html>

(Several things have been left out here for briefness)

Equivalence

In HTML:

<img alt="..." src="img.gif"
     longdesc="desc.html" usemap="#map"/>

Required by XLink:

<img xlink:type="extended" alt="..." >
<xlink:locator role="src" href="img.gif"/>
<xlink:locator role="longdesc"
               href="desc.html"/>
<xlink:locator role="usemap" href="#map"/>
<xlink:locator role="self" 
               href="#xptr(here())"/>
<xlink:arc from="self" to="src" 
           show="embed" actuate="auto"/>
<xlink:arc from="self" to="longdesc" 
           show="new" actuate="html:user2"/>
<xlink:arc from="self" to="usemap"
           show="html:imagemap" actuate="onRequest"/>
</img>

Why not leave it to authoring tools?

  1. People don't use 'em.
  2. It's a band-aid design approach: one bad design, a thousand fixes
  3. Anyway, have you ever looked at the quality of the markup produced by most user agents?

The Dream Scenario?

<?xml version="4.1" encoding="UTF-8"?>
<html
  profile="http://www.w3.org/profile/xhtml3">
<head>
   <title>....</title>
etc.

Conclusion

Computers are getting more powerful

People aren't.