Auto-discovery of OpenSim Simulator Creations

Update: After poking around the Microformats Wiki, I’ve altered my proposal slightly to use the enclosure value.

Timeless Prototype

With the recent increase in OpenSim usage, the natural progression will be for people to offer entire simulator creations for download.

What we now need is a searchable tag to easily find such downloadable simulators. I’m finding that a whole lot of the obvious acronyms are already taken up by other technologies.

You can read more on the original post, but the basic gist is that Timeless is proposing the use of a short blurb of link text, more commonly known as a “tag”. Well… there are a few problems with this- semantic ones, mainly.

  1. The presence of the matching tag does not guarantee that the link in question has anything to do with OpenSim.
  2. The use of the tag makes no distinction between documents that are OpenSim Region archive files, and post about OpenSim Region archives.
  3. The use of link text makes it a little difficult to have descriptive link text (also known as “click here” syndrome).

As I suggested to Timeless on his blog post, a more semantic method would be to use the rel attribute of the anchor tag, as opposed to the link text, using something such as opensim-region-archiveopensim-region enclosure.

Listing multiple region archives.

W3C: Basic HTML Data Types

Authors may use the following recognized link types, listed here with their conventional interpretations. In the DTD, %LinkTypes refers to a space-separated list of link types. White space characters are not permitted within link types.

These link types are case-insensitive, i.e., “Alternate” has the same meaning as “alternate”.

User agents, search engines, etc. may interpret these link types in a variety of ways. For example, user agents may provide access to linked documents through a navigation bar.

<a href=”http://example.org/foo.tgz” rel=”opensim-region enclosure nofollow” type=”application/x-gzip”>ZOMG DOWNLOAD MAH SIM NAO, LOL!!!!111!ONE</a>

Lolcats aside, the previous piece of html anchor code indicates that the document the link refers to is an OpenSim Region archive (it also instructs search engines not to go poking around the link, since fully fleshed-out simulators may be quite large, even when compressed). The humorous link text is also sufficiently human readable to English-reading web users, and wholly ignorable for machine reading/web crawler purposes- it doesn’t lock link text down to anything specific, so wouldn’t cause any problems with internationalisation/localisation.

So multiple anchor tags using the rel method can be embedded in a document, all with unique, descriptive strings for the link text- making it suitable for environments such as a MDC‘s catalogue. Those of you familiar with HTML at all will know that the rel attribute can be found on another HTML element- link.

Listing the download source for a region archive.

<link rel=”alternate opensim-region enclosure nofollow” type=”application/x-gzip” href=”http://example.org/foo.tgz” />

In some circumstances, individual pages will be given to an OpenSim Region archive- again, in the MDC catalogue scenario, but also perhaps on a dedicated review site for OpenSim Regions. Now, there’s nothing stopping such a site using anchor tags, but the link tag has extra geekery in its’ implementation- the use of the alternate rel value. This may or may not be borking things slightly, though a link tag with a rel value of “alternate stylesheet” is often used to allow a browser to switch between multiple skins- just having a rel value of “opensim-region-archive” alone would be enough to indicate that an OpenSim Region archive for the current document was available at the specified location.

Autodiscovery.

While there are many sites out there- such as del.icio.us and Technorati that are “tag friendly”, as I mentioned earlier, the presence of the tag alone does not guarantee that the document is in fact, an archive. This means that any web crawler or browser extension would likely have to download the linked resource *first* in order to ensure that the resource is actually an archive, and not just a blog post relating to the subject.
The rel attribute method on the other hand, allows for a web crawler, browser extension or even userscript to identify the presence of OpenSim Region archives available for download- consider the following piece of javascript:

var oar = document.evauluate('*//*[contains(@rel,"opensim-region enclosure")]',document,null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
if(oar && oar.snapshotLength >= 1){
alert("There are " + oar.snapshotLength + " OpenSim Regions available for download via this page.");
}

An advanced web-crawler would use similar XPath queries, queue the resource in question for download, then at some point in the future, automatically attempt to “restore” the archive to a (firewalled, no need to let external script comms work) local OpenSim grid, checking for any error output- thereby validating the contents of the OpenSim Region archive, and adding it to the index of Regions it has found.

This entry was posted in How Marv would fix Second Life and tagged . Bookmark the permalink.

2 Responses to Auto-discovery of OpenSim Simulator Creations

  1. This is a great concept we would love to participate in any discussions on implementation and testing.

  2. Pingback: Lisboa recreated in OpenSim - Proof of Concept | VintFalken.com

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>