Friday, September 23, 2005

Separating Navigation from Content and Style?

With the latest A9 Toolbar, website designers now have an opportunity to embed site navigation information into a drop down menu from the toolbar by publishing a descriptive siteinfo.xml document at the root of their site.

The sitinfo document allows you to insert cascading menus, and site search links, into the toolbar dymanically, so whenever a user is visiting the site, the toolbar can provide a navigational system alongside any navigaiton embedded within the page.

For example, here's a snapshot of a quick test of a possible structure for some of my OUseful pages:

siteinfo.JPG

Now as it stands, I'm not sure how useful this is going to be. Site designers typically like to embed navigation within a browser page, conforming to colour themes and site style, and so on. Indeed, the navigational style and structure can often be one of thedefining features of a site.

Similarly for users - when they visit a site they typically look within the main window for site related information. Although it is increasingly possible for site designers to make use of browser control buttons, and exploit any installed toolbars (as A9 are hoping to do), for most users their focus of attention is within th main window.

That said, the sitinfo looks interesting in terms of the Skeletal Web. I first doodle about this when Google announced their Sitemap, suggesting that the time had possibly come for separating navigation out from content and style.

The Google sitemap definition, however, does not fit that purpose so well - it's more of a brute force technology for helping search engines locate searchable pages within a website. (Then again, it would have been interesting if the A9 siteinfo definition could have accommodated the Google sitemap structure somehow!)

With the siteinfo document, however, the emphasis is on defining navigational structures that are directed towards the user. (Again, the Google sitemap reflects the simplicity of Google search - all they want is lists of URLs, searchable by keywords). And this is where it might get interesting...

For example, consider the following:
  • The Skeletal Web Pages are published without style, e.g. as web feeds (RSS, Atom, etc.). The siteinfo document acts a bit like a Feed Annotation Stream [are these still in play - or has the idea stalled?]. That is, they place an (optional) navigational context around a single post feed, or palce a blog feed in the wider context of its parent site, for example.

  • <link rel="siteinfo" href="navigation/mynav.xml" type="text/siteinfo" /> Pull the navigational structures into a page, just like you pull in stylesheet info. (I wonder why A9 didn't try for this approach as an 'alternate' rel link?) It's not hard to imagine how this could be used either in a toolbar (as A9 have done) or a browser sidebar, for example).

  • XMLHttpRequest Pull the navigational structures into a page using XMLHttpRequest, and then render it within the page. 'Localising' the user's current location within the site will require a little workaround, admittedly.

  • Frames In frame based sites, its easy to open a 'content' page in its own window and lose all the navigational structures. Not any more...

  • Widgets, Gadgets, etc. How about having a navigation console to your website in nicely branded Konfabulator widget? Please take it as read that this is an implied lazyweb request for an Amazon.com navigation widget!

  • Site Views Just as it's possible to have different visual styles associated with a site, how about different navigational views (each with their own sitemap.xml definition)? For pages that do separate navigation from content, a navigation equivalent to URIid (which allows users to skin arbitrary websites with their own css styling) would allow users to add their own navigations structure to a site.

To sum up then, as it stands I thinkthat if siteinfo is usedjust by the A9 toolbar, it won't go anywhere. But if the playful community get hold of it, generalise it a bit (away from a fixed name siteinfo.xml in a fixed location (i.e. at the root of a website: http://foo.bar/siteinfo.xml) and start playing with mash-ups, it could be quite revolutionary... (or not!)

0 Comments:

Post a Comment

<< Home