Eliminate the page metaphor.

If blogs have taught us anything is that data needs to be consumable in 
pieces.  People have short attention spans and given the data tidal wave 
coming at users, successful sites will make their pages into snippets where 
they can.

Currently HTML only supports the page metaphor well.  The data inside the 
document is not easily searchable nor is it easily consumed or extracted.  
Part of the problem is that HTML uses a central repository for meta data and 
styling information.  Documents can often and are often broken into sections 
and sub-sections.  However, these sections cannot be taken out of their 
containers.  Also since metadata can only be attached to the page itself one 
now has one set of data that can be used for the entire document.  A 
solution is to make the style and meta elements generic.  Allow them to be 
attached to any "top" level element.  I'll get into "top" level elements 
more in a second.

As I see it now there are several top level elements that are in the HTML 
spec.  Text sections (div and section), lists, tables, forms and external 
objects (images, applets, etc.).  You'll probably notice that there are also 
the elements that allow for flow content.  This makes sense since these are 
essentially the objects that allow for any type of content.

My core suggestion is to give these types of elements into their own specs 
and extend them seperately.  Basically any element that creates it's own 
canvas should have it's own spec and be developed independantly of the 
others.  Now that we have generic elements that can be used anywere and 
consequently be swapped for other specs.  This also allows one to spit CSS 
up into generic canvas effects and effects that only apply to their specific 
structures (like table-collapse).  Currently modularization is taking 
effect, but this still makes the implication that I can't replace HTML 
tables with my own table spec (say one for making spreadsheets).

Here is an example of my vision of XML:

<?xml version="1.0" encoding="utf-8" ?>
<t:section xmlns:t="text_URI" xmlns:m="metadata_URI" xmln:o="object_URI" 
xml:lang="en" xmlns:ta="table_URI" xmlns:style="style_URI" 
xmlns:xlink="xlink_URI">
	<m:title>The title for my text.</m:title>
	<m:summary>The summary for my text.</m:summary>
	<m:keywords>The keywords associated with my text.</m:keywords>
	<m:author>Me</m:author>
	<m:meta name="3rd party property">value</m:meta>
	<style:style type="text/css">
		/*Examples of inline styling information.*/
	</style:style>
	<xlink:link role="ToCRole_URI" href="ToC_URI" />
	<xlink:link role="NextRole_URI" href="Next_URI" />
	<xlink:link role="PreviousRole_URI" href="Previous_URI" />
	<t:p xlink:type="simple" xlink:href="elsewhere_URI">Some Text</t:p>
	<t:p>Some More Text</t:p>
	<t:p>Some More, More Text</t:p>
	<t:p>Something to show off individual markup like <t:abbr 
for="abbreviation">abbr</t:abbr>.</t:p>
	<t:section>
		<m:title>Sub-section</m:title>
		<!-- Example of external style applied to a sub-element -->
		<style:style src="http://foostyle" />
		<t:p>More Data</t:p>
		<o:object href="image_URI">
			<t:p>Image isn't availabe and what the image was.</t:p>
		</o:object>
	</t:section>
	<o:object href="applet_URI">
		<o:param name="property-name">property-value</o:param>
	</o:object>
	<ta:table>
		<m:title>Title for the table (aka caption).</m:title>
		<m:summary>Summary for the table.</m:summary>
		<style:style type="text/css">
			Another example of inline style... this one attached to the table.
		</style:style>
		<ta:tr>
			<ta:td>Table Content!</ta:td>
			<ta:td>Table Content!</ta:td>
		</ta:tr>
		<ta:tr>
			<ta:td>Table Content!</ta:td>
			<ta:td>Table Content!</ta:td>
		</ta:tr>
	</ta:table>
	<o:object href="form_URI">
		<t:p>Form not available.</t:p>
	</o:object>
</t:section>

While not perfect, it's what I came up with in 5 minutes.  It's what to me 
is the most strait-forward development of a truly semantic web.

Orion Adrian

_________________________________________________________________
Click, drag and drop. My MSN is the simple way to design your homepage. 
http://click.atdmt.com/AVE/go/onm00200364ave/direct/01/

Received on Monday, 23 February 2004 01:58:06 UTC