# Markup Languages for the Future - XML, XHTML, ***ML

## A. Meta-languages & XML

### What is the relationship between SGML, HTML, and XML?

• SGML = Standard Generalized Markup Language --> Meta-language
• HTML = HyperText Markup Language = Tag-based WWW Page Description Language
• XML = eXtensible Markup Language --> Meta-language

### SGML = Standard Generalized Markup Language

• Developed by IBM programmers Goldfarb, Mosher, and Lorie in 1969
• First system was Generalized Markup Language (GML)
• SGML is standardized as ISO 8879:1986
• Has been restricted to mainframe applications

### All right, then, what is a meta-language?

• A meta-language is a language for describing (or writing) other languages.
• So, XML is a language for writing other languages.

### Visions inspiring XML:

• Better formatting of Web pages
• Better searching of the Web
• Better data exchange for electronic commerce
• Global information reuse and exchange across the Web

#### The grand vision of XML is the creation of a worldwide collection of data objects that are fully addressable and fully open to borrowing, reuse, and repackaging by anybody on the net--in short, everything that the copyright laws have strived for centuries to prevent.

XML is a standard for the creation of tagging languages. It sets out a collection of rules that govern how a parser is to behave. An XML parser that follows these rules can parse any document tagged in an XML compatible language. This means you can make up your own language and not have to write any code to parse it. You can concentrate on writing code that processes the information in useful ways. . . .

The advantages of XML is that it allows you to define your own data structures. When you use any particular language defined in XML, you are no longer enjoying the advantages of XML, you are enjoying the advantages of the particular markup language you have chosen.

### What XML is:

• XML is a meta-language
• XML is a standard for defining tagging languages
• XML is an extremely simple technology

### What XML is NOT:

• XML is not "HTML on steroids"
• XML is not "SGML light," but it should be a subset of SGML

## B.  Design Goals of XML

XML was developed by an SGML Editorial Review Board (ERB) formed under the auspices of the World Wide Web Consortium (W3C) in 1996 and chaired by Jon Bosak of Sun Microsystems, with the very active participation of an SGML Working Group also organized by the W3C. Dan Connolly served as the ERB's contact with the W3C.

The design goals for XML are:

1. XML shall be straightforwardly usable over the Internet.
2. XML shall support a wide variety of applications.
3. XML shall be compatible with SGML.
4. It shall be easy to write programs which process XML documents.
5. The number of optional features in XML is to be kept to the absolute minimum, ideally zero.
6. XML documents should be human-legible and reasonably clear.
7. The XML design should be prepared quickly.
8. The design of XML shall be formal and concise.
9. XML documents shall be easy to create.
10. Terseness in XML markup is of minimal importance.

#### "XML is primarily intended to meet the requirements of large-scale Web content providers for industry-specific markup, vendor-neutral data exchange, media-independent publishing, one-on-one marketing, workflow management in collaborative authoring environments, and the processing of Web documents by intelligent clients. It is also expected to find use in certain metadata applications. XML is fully internationalized for both European and Asian languages, with all conforming processors required to support the Unicode character set in both its UTF-8 and UTF-16 encodings. The language is designed for the quickest possible client-side processing consistent with its primary purpose as an electronic publishing and data interchange format." [971208 W3C press release]"XML documents are made up of storage units called entities, which contain either parsed or unparsed data. Parsed data is made up of characters, some of which form the character data in the document, and some of which form markup. Markup encodes a description of the document's storage layout and logical structure. XML provides a mechanism to impose constraints on the storage layout and logical structure. A software module called an XML processor is used to read XML documents and provide access to their content and structure. It is assumed that an XML processor is doing its work on behalf of another module, called the application. This specification describes the required behavior of an XML processor in terms of how it must read XML data and the information it must provide to the application." [adapted from the Proposal]

from The SGML.XML Web Page by OASIS

## C. The Syntax of XML

### XML supports two levels of syntax:

1. Well-formed XML documents [lower level]
2. Valid XML documents specified by Document Type Definitions (DTD) [higher level]

### An XML document is a systematic set of containers called elements

• Containers can contain other containers as well as content
• Three structural components include:
• prolog [optional in well-formed documents, required in valid documents]
• root element
• epilog [optional in both types]

### General Syntax for well-formed documents

• Every tag must have a corresponding end tag
• Empty tags (e.g., <IMG ...) must terminate with />
• All attributes must be enclosed in quotes, either (' ') or (" ")
• Tags are case-sensitive

### Purpose of Document Type Definitions (DTDs)

• Define tags to be used in XML document
• Describe allowed structural relationships between tags, e.g. <page> must appear inside <book>
• Specify sequence, if any, in which tags must appear, e.g., <preface> before <chapter>
• List properties (attributes) allowed or required for tags
• Specify everything else required for the markup language grammar

### Advantages of Document Type Definitions (DTDs)

• A DTD allows an XML parser (interpreter) to validate your document
• A DTD helps a human reader to quickly learn the structure of a particular document
• DTDs allow definition of entities [equivalent to variable definition]
<!ENTITY  me  "Dmitry Kirsanov,
St.Perersburg, Russia">

Then

This document was created by &me;
on October 4, 2000
• DTDs may also be "cascaded" as in Cascading Style Sheets (CSSs)
<!DOCTYPE  HTML SYSTEM  "http://www.foo.com/
myfiles/html3x.dtd"
[
<!- -   your DTD goes here  - ->
]>
• See, local DTD definition "win" over more general ones defined in html3x.dtd

### XML

Defines Page Layout Defines Page Content
Concerned with appearance of Web Pages Concerned with meaning of Web objects
Data for display only Abstract data concepts given form and structure
Analogous to Spreadsheet Analogous to DataBase
Uses fixed set of Tags (theoretically) Uses customized set of author-defined Tags
Tag attributes specify appearance of objects Tag attributes specify behavior of objects
Appearance of elements can be modified by CSSs Appearance of elements can be modified by CSSs
Tag functionality is fixed Tag functionality is defined by DTD and modifiable
Supported by All Browsers Supported only by IE 4.0, 5.0
Requires bloated browser to parce bad HTML code Requires lean & mean parcer for strict syntax

## D. Examples of XML

### Example 1: A Well-formed XML Document

<SENTENCE>
<SUBJECT  TYPE="COMPLEX">
<ARTICLE  TYPE="INDEFINITE">A</ARTICLE>
<NOUN>fox</NOUN>
</SUBJECT>
<VERB  TYPE="INTRANSITIVE">jumps</VERB>
<PREPOSITION>ove<</PREPOSITION>
<ARTICLE TYPE ="INDEFINITE">a</ARTICLE>
<OBJECT>
<NOUN> dog</NOUN>
</OBJECT>.
</SENTENCE>

### Example 2: A DTD Document

The Root Document Element Definition from play.dtd

<!ELEMENT play (title, fm, personae, scndescr, playsubt, induct?,prologue?,act+,epilogue?)>

Note: the "?" means "optional item", and the "+" means multiple occurences

The play.dtd also shows the relationship between tags:

<!ELEMENT  speaker  (#PCDATA)>
<!ELEMENT  line     (stagedir  |#PCDATA)+)>
<!ELEMENT  stagedir (#PCDATA)>

This is a SPEECH element using the DTD definitions above:

<SPEECH>
<SPEAKER>  PROSPERO</SPEAKER>
<LINE><STAGEDIR>Aside</STAGEDIR>  The Duke of Milan  </LINE>
<LINE>And his more braver daughter could control thee,  </LINE>
<LINE>If now 'twer fir to do't.  At the first sight</LINE>
<LINE>They have changed eyes.  Delicate Ariel,  </LINE>
<LINE>I'll set thee free for this.  </LINE>
<STAGEDIR>  To FERDINAND </STAGEDIR>
<LINE>A  word, good sir;</LINE>
<LINE>I fear you have done yourself some wrong;  a word. </LINE>
</SPEECH>

Another excellent resource on XML Files is the XML Magazine

### Example 3: An XML Catalog

The XML Code:

<?xml version="1.0" encoding="ISO8859-1" ?>
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>

<CD>
<ARTIST>Bonnie Tylor</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>CBS Records</COMPANY>
<PRICE>9.90</PRICE>
<YEAR>1988</YEAR>
</CD>

. . .

</catalog>

produces:

Note: Internet Explorer 5.0 will display this, but NetScape 4.7 will not.

## E.  Linking Capabilities of XML

### One of the greatest strengths of XML is its more general and abstract linking capabilities

• A link may be assigned parameters including:
• Strings describing the role of the link, e.g. "display in status line"
• Parameter telling whether to replace current document with linked document
• Parameter for automatic or user-activated link
• A link can specify search strings or substrings for another XML document
• Syntax for extended locators, e.g., "everything from the third paragraph to the end of the chapter"

### Prospects for XML

• New XML Tools and Browser Capabilities are emerging
• XML provides more power through abstraction
• This is particularly important for the integration of on-line databases
• This, in turn, is particularly important for eCommerce
• Existing applications of XML include:
• Microsoft's Channel Definition Format for Web push channels
• CML = Chemical Markup Language for 2D and 3D molecular information
• BSML = Bioinformatic Sequence Markup Language for DNA & RNA sequences
• MathML for equation in mathematics
• Science Application International for electronic data interchange
• PeopleSoft Inc., Oracle Inc., SAP ... for data exchange in future products

### Problems of XML

• Still "bleeding edge" technology
• Many browsers still do not support XML - Microsoft IE 5.0 Does
• Multimedia support is minimal and requires customizing
• Tremendous amount of HTML in place
• Capabilities of "conventional" HTML continues to expand [cf. the immanent death of FORTRAN]

Authoring Tools:

• Near & Far Designer - \$1,395 [Does DTDs only]
• AdeptEditor - \$1,350 [Creates XML and SGML documents]
• FrameMaker+SGML5.5 - \$1,995
• XML Pro - \$149.95 [XML editor but not DTDs]

XML Browsers:

Tutorial:

## F. Evolution of other ***ML Web Languages

### Perhaps the greatest contribution of XML to date has been the emergence of XML-based special application languages. Among these are:

• MathML = Mathematics markup language
• XHTML = eXt4ensible HyperText Markup Language
• SMIL = Synchronized Multimedia Integration Language
• SVG = Scalable Vector Graphics

## MathML

### In order to meet the diverse needs of the scientific community, MathML has been designed with the following ultimate goals in mind. MathML should:

• encode mathematical material suitable for teaching and scientific communication at all levels.
• encode both mathematical notation and mathematical meaning.
• facilitate conversion to and from other math formats, both presentational and semantic. Output formats should include:
• graphical displays
• speech synthesizers
• computer algebra systems' input
• other math layout languages, such as TeX
• plain text displays, e.g. VT100 emulators
• print media, including braille
• It is recognized that conversion to and from other notational systems or media may entail loss of information in the process.
• allow the passing of information intended for specific renderers and applications.
• support efficient browsing for lengthy expressions.
• provide for extensibility.
• be well suited to template and other math editing techniques.
• be human legible, and simple for software to generate and process.
A = x y z w x 0 t 1 x 0 t x x

### MathML Example 1:

MathML Code:

[itex]
<mrow>
<mfrac linethickness='0.2 cm'><mn>1</mn>
<mrow><mi>y</mi><mo>+</mo>
<mn>3</mn></mrow></mfrac>
<mfrac linethickness='0.3 ex'><mn>1</mn>
<mrow><mi>y</mi><mo>+</mo>
<mn>3</mn></mrow></mfrac>
</mrow>
[/itex]

produces:

### Try it:

$\genfrac{}{}{0.2 cm}{}{1}{y+3}\genfrac{}{}{0.3 ex}{}{1}{y+3}$

### MathML Example 2:

MathML Code:

[itex]
<mstyle background='#88cc88'>
<mfenced>
<mrow>
<mi>a</mi>
<mo>+</mo>
<mi>b</mi>
</mrow>
</mfenced>
</mstyle>
<mo>=</mo>
<mstyle fontweight='bold'>
<mfenced>
<mfrac>
<mi>&alpha;</mi>
<mi>&beta;</mi>
</mfrac>
</mfenced>
</mstyle>
<mo>=</mo>
<mstyle fontfamily='Helvetica'>
<mfenced open='['>
<mrow>
<mi>a</mi>
<mo>+</mo>
<mi>b</mi>
</mrow>
</mfenced>
</mstyle>
[/itex]

produces:

Let's link to the HTML description.

### The Problem with MathML:

Neither browser supports it.

## XHTML

XHTML 1.0 is the first step toward a modular and extensible web based on XML (Extensible Markup Language). It provides the bridge for web designers to enter the web of the future, while still being able to maintain compatibility with today's HTML 4 browsers. It is the reformulation of HTML 4 as an application of XML. It looks very much like HTML 4, with a few notable exceptions, so if you're familiar with HTML 4, XHTML will be easy to learn and use. XHTML 1.0 was released on January 26th as a Recommendation by the W3C.

• In 1998 W3C published the draft "XHTML 1.0"
• XHTML is HTML 4.0 re-created as an XML application
• Constraints on this transformation include:
• An XHTML document MUST be well-formed XML
• <html> MUST be the top-level element
• Element and attribute names MUST be in lower case
• Attribute values MUST be quoted
• End tags are required for non-empty elements
• All empty elements must use the XML "empty tag" syntax
• XML does not allow attribute minimization
• Whitespace handling in attribute values is different in XML
• Dave Raggett (co-author of HTML 3.0, 3.2, 4.0 specs) has created a free program, HTML TIDY that converts an HTML page to XHTML. See

http://www.w3.org/People/Raggett/tidy

Portability: By the year 2002 as much as 75% of Internet access could be carried out on non-PC platforms such as palm computers, televisions, fridges, automobiles, telephones, etc. In most cases these devices will not have the computing power of a desktop computer, and will not be designed to accommodate ill-formed HTML as do current browsers (bloated with code to handle sloppy or proprietary HTML).

An excellent introduction to XHTML is given in Introduction to XHTML, with eXamples

### XHTML Example 1:

The XHTML Code:

<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd"	>
<html	xmlns	= "http://www.w3.org/1999/xhtml">
<title>Quick Example</title>
<body>
<h1>	Quick Example
</h1>
<a	href	= "http://validator.w3.org/check/referer">
<img	src	= "http://validator.w3.org/images/vxhtml10"
height	= "31"
width	= "88"
border	= "0"
hspace	= "16"
align	= "left"
alt	= "Valid XHTML 1.0!"
/></a>
<p>	Note that the layout (with tabs and alignment) is
purely for readability - XHTML doesn't require it.
</p>
</body>
</html>

produces:

The differences between HTML and XHTML are beautifully summarized in Introduction to XHTML: Differences with HTML

## F. Synchronized Multimedia Integration Language (SMIL 2.0)

SMIL, pronounced "smile", has the following two design goals:

1) Define an XML-based language that allows authors to write interactive multimedia presentations. Using SMIL 2.0, an author can describe the temporal behavior of a multimedia presentation, associate hyperlinks with media objects and describe the layout of the presentation on a screen.

2) Allow reusing of SMIL syntax and semantics in other XML-based languages, in particular those who need to represent timing and synchronization. For example, SMIL 2.0 components are used for integrating timing into XHTML [XHTML10] and into SVG [SVG].

### Example 1: Simple timing within a Parallel time container

Note: In the examples below, the additional syntax related to layout and other issues specific to individual document types is omitted for simplicity.

All the children of a par begin by default when the par begins. For example:

<par>
<img id="i1" dur="5s"  src="img.jpg" />
<img id="i2" dur="10s" src="img2.jpg" />
<img id="i3" begin="2s" dur="5s" src="img3.jpg" />
</par>

Elements "i1" and "i2" both begin immediately when the par begins, which is the default begin time. The active duration of "i1" ends at 5 seconds into the par. The active duration of "i2" ends at 10 seconds into the par. The last element "i3" begins at 2 seconds since it has an explicit begin offset, and has a duration of 5 seconds which means its active duration ends 7 seconds after the par begins.

### Example 2: end specifies end of active dur

There is an important difference between the semantics of end and dur. The dur attribute, in conjunction with the begin time, specifies the simple duration for an element. This is the duration that is repeated when the element also has a repeat specified. The attribute end on the other hand overrides the active duration of the element. If the element does not have repeat specified, the active duration is the same as the simple duration. However, if the element has repeat specified, then the end will override the repeat, but will not affect the simple duration. For example:

<seq repeat="10" end="stopBtn.click">
<img src="img1.jpg" dur="2s" />
<img src="img2.jpg" dur="2s" />
<img src="img3.jpg" dur="2s" />
</seq>

The sequence will play for 6 seconds on each repeat iteration. It will play through 10 times, unless the user clicks on a "stopBtn" element before 60 seconds have elapsed.

### Example 3: Cascading Time Model

The time manipulations are based upon a model of cascading time. That is, each element defines its active and simple time as transformations of the parent simple time. This recurses from the root time container to each "leaf" in the time graph. If a time container has a time manipulation defined, this will be reflected in all children of the time container, since they define their time in terms of the parent time container. In the following example a sequence time container is defined to run twice as fast as normal (i.e. twice as fast as its respective time container).

<seq speed="2.0">
<video src="movie1.mpg" dur="10s" />
<video src="movie2.mpg" dur="10s" />
<img src="img1.jpg" begin="2s" dur="10s">
<animateMotion from="-100,0" to="0,0" dur="10s" />
</img>
<video src="movie4.mpg" dur="10s" />
</seq>

The entire contents of the sequence will be observed to play (i.e., to progress) twice as fast. Each video child will be observed to play at twice the normal rate, and so will only last for 5 seconds. The image child will be observed to delay for 1 second (half of the specified begin offset). The animation child of the image will also "inherit" the speed manipulation from the sequence time container, and so will run the motion twice as fast as normal, leaving the image in the final position after only 5 seconds. The simple duration and the active duration of the sequence will be 21 seconds (42 seconds divided by 2).

### Example 4: Acceleration Attributes

These attributes define a simple acceleration and deceleration of element time, within the simple duration. The values are expressed as a proportion of the simple duration (i.e. between 0 and 1), and are defined such that the length of the simple duration is not changed by the use of these attributes. The normal play speed within the simple duration is increased to compensate for the periods of acceleration and deceleration (this is how the simple duration is preserved). The modified speed is termed the run rate. As the simple duration progresses (i.e., plays back), acceleration causes the rate of progress to increase from a rate of 0 up to the run rate. Progress continues at the run rate until the deceleration phase, when progress slows from the run-rate down to a rate of 0. The SMIL code:

<animation dur="10s" accelerate="0.3" decelerate="0.3" .../>

produces the trajectory:

### Example 5: Shape Animation of a Rectangle

As a simple example, the following defines an animation of an SVG rectangle shape.  The rectangle will change from being tall and thin to being short and wide.

<rect ...>
<animate attributeName="width"  from="10px"  to="100px"
begin="0s" dur="10s" />
<animate attributeName="height" from="100px" to="10px"
begin="0s" dur="10s" />
</rect>

The rectangle begins with a width of 10 pixels and increases to a width of 100 pixels over the course of 10 seconds. Over the same ten seconds, the height of the rectangle changes from 100 pixels to 10 pixels.

### Example 6: SMIL Transitions

Consider a simple still image slideshow of four images, each displayed for 5 seconds. Using SMIL Timing, this slideshow might look like the following:

...
<seq>
<img src="butterfly.jpg" dur="5s" ... />
<img src="eagle.jpg"     dur="5s" ... />
<img src="wolf.jpg"      dur="5s" ... />
<img src="seal.jpg"      dur="5s" ... />
</seq>
...

Currently when this presentation plays, we see a straight "cut" from one image to another, as shown in this animated image. However, what we would like to see are three left-to-right wipes in between the four images. We can get these by modifying the code as follows:

...
<transition id="wipe1" type="barWipe" subtype="leftToRight" dur="1s"/>
...
<seq>
<img src="butterfly.jpg" dur="5s" fill="transition" ... />
<img src="eagle.jpg"     dur="5s" fill="transition" transIn="wipe1" ... />
<img src="wolf.jpg"      dur="5s" fill="transition" transIn="wipe1" ... />
<img src="seal.jpg"      dur="5s"                   transIn="wipe1" ... />
</seq>

Now the presentation plays as follows, as illustrated by this animated image.

• At 0 seconds, we cut directly to butterfly.jpg.
• At 5 seconds we begin a 1-second left-to-right wipe from butterfly.jpg to eagle.jpg.
• At 6 seconds, eagle.jpg is fully displayed and remains displayed for 4 more seconds until 10 seconds.
• At 10 seconds, we begin a 1-second left-to-right wipe from eagle.jpg to wolf.jpg.
• At 11 seconds, wolf.jpg is fully displayed for 4 more seconds until 15 seconds.
• At 15 seconds we begin a 1-second left-to-right wipe to from wolf.jpg to seal.jpg.
• At 16 seconds, seal.jpg is fully displayed for 4 more seconds until 20 seconds. At 20 seconds the presentation ends.

## G. Internationalizing the HTML Character Set

### The Problem:

• The potential growth of the WWW is even greater internationally than domestically. See, for instance, the Summary by Matthew Gray
• Most of the World citizens do not speak English
• English has one of the smallest alphabets
• n bits are capable of encoding 2n characters

### Solutions:

#### Standard

7
128
7-Bit ASCII
ISO 646
8
256
8-Bit ASCII
ISO 8859-1

(Latin-1)

ISO 8859-7

(Greek)

16
65,536
Unicode
Unicode Consortium

ISO 10646 BMP

32
4.295 x 109
Universal Multiple-

Octet Coded

Character Set (UCS)

ISO 10646
• Note: Even 7-Bit ASCII can't represent 128 Characters
• First 32 codes represent (invisible) control characters
• Most of the rest produce visible shapes called glyphs
• Only English, Latin, and Swahili can be represented by 7-Bit ASCII

• Extending the number of bits accommodates more language character sets
• 8-Bit ASCII and its extensions cover most Western languages
• Unicode 16-bit representation includes 20,000 ideographs of Asian languages (CJK = Chinese, Japanese, and Korean)
• Unicode remains only about 70% assigned
• ISO 10646 code of 31 bits spans over 2 billion possible characters
• A subset of ISO 10646 called Basic Multilingual Plane is identical to Unicode

• Automatic Machine Translation
• Ray Kurzweil has made great progress in this area

### MIME --> Multipurpose Internet Mail Extensions

In 1992, the Network Working Group published RFC 1341 extending the ability of Internet e-mail to handle various non-text file formats

Examples of MIME Types and corresponding Extensions include:

 Content-Type Extensions application/octet-stream bin, exe txt/html html, htm text/plain txt text/richtext rtx video/mpeg mpeg, mpg mpe video/quicktime qt, mov video/x-msvideo avi

### Language Identification & Markup

HTML 4.0 introduced the LANG attribute:

Ce paragraphe est en Français

<P LANG="fr">Ce paragraphe est en Français</P>

### Consider:

The code:

<P LANG="en"> The English language always uses quotes <Q>like this</Q>,
French has <Q LANG="fr">comme &ccedil;a</Q>
and German prefers <Q LANG="de">wie hier</Q>.</P>

produces:

The English language always uses quotes like this, French has comme ça and German prefers wie hier.

So HTML 4.0 does not seem to be implemented.

## H.  Pure HTML

### We should distinguish "Pure HTML" from HTML "Extensions"

• Pure HTML is what the W3C says it is.
• Extensions are what NetScape, Microsoft, Mosiac, etc. say they are.

### Why are Extensions created?

• Obvious missing features in existing HTML
• Sometimes based on proposed standards
• Desire to be different (unique, innovative, state-of-the-art?)

### Benefits of Pure HTML

• Advantages of being part of a standard
• Everyone will support your page
• Platform Independence
• Feedback - more people look at your page

### Disadvantages of Using Pure HTML

• "Standard" Web pages are pretty tame
• Standards Committees stifle Creativity
• New Standard Tags take a long time to arrive

• De facto standards become accepted standards

• Syntax can change, leaving you hanging
• Some extensions never get supported

### Author Recommends:

• If it sounds like I'm discouraging the use of extensions, that's because I am.
• Frames is one of the most widely used extensions around.
• ..some corporate sites that initially had multimedia files as part of their Web pages soon took them out.
• Perhaps the best piece of advice is to not work on the bleeding edge.

## I.  HTML Beyond the Web

### The key point is: HTML is a Universal Language

• The essential role of computers has shifted from calculation to communication
• Information Technology (IT) is getting easier and less expensive
• The distinction between an individual computer, a local network, and the WWW is blurring [cf. Sherlock]
• Physical location is no longer the primary factor in the market, education, commerce, or the workplace.

### HTML has become the New User Interface - the Lingua Franca

• It provides a painless route to integrating text, graphics, sound, video, and interactive programs
• It provides the natural route to digital, electronic communication - video teleconferencing
• It provides the generality and abstraction of programming languages - Java

### HTML Applications of the Future

• Kiosks with HTML-based interactive content
• Sucking up content from CD-ROMs - Encyclopedia Britannica
• Delivery of Academic Journals and Proto-TextBooks
• Corporate Intranet applications - Newsletters
• Delivery of Education - Remote and Distance Learning
• Vehicle for conducting E-Commerce
• Interactive, VR Game Delivery
• Medium for creation, presentation, and dissemination of Art (see above)

## References:

### Books

Web Design in a Nutshell, Jennifer Neiderst, O'Reilly & Associates, Sebastopol, CA (1999)

Just XML, John E. Simpson, Prentice Hall PTR, Upper Saddle River, NJ (1999)

### Web Sites URLs

A good introduction to scalable vector graphics is given at:

The specification for SMIL is available at

http://www.w3.org/TR/smil20

A good summary of XML features is given at

A good introduction to MathML is given at:

Scalable Vector Graphics (SVG) Specifications are given at: