What is sw.slr ?

Preamble

sw.slr is the term I use to describe my research project implementing microformats for Second Life data. It’s a relatively convinient short-form for Semantic World.SecondLife.com Replacement.

Unstructured data vs. structured data

The majority of content on the web is human-readable (though most of it is aimed at sighted users, not blind ones); A user starts their web-browser of choice, navigates to a website, then the rendering engine (usually one of Gecko, WebKit or Trident) or browser plugins parses the source code/data and renders the page for human reading.

Unstructured, convoluted or seemingly random markup choices (usually termed tag soup) don’t generally have an effect on the human readability of the rendered page, but what happens when you need to embed contact information in the web page ?
The typical implementation would be to just put in a block of HTML in the web page (a paragraph, div or table), then type the details in. Many websites exist, and they’re all likely to mark up the contact information in a variety of ways- this isn’t a problem for human readability.

The problem becomes when computer systems need to read the data- making the information machine readable, so a piece of software can reliably extract the required data. There are numerous ways in which a postal address can be marked up- too many for a piece of software to be programmed to understand (A.I. aside). This is where microformats come in.

Microformats

Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards.

Due to the nature of microformats not requiring any separate sources of data (unlike FOAF), the same web page can be used as both a human-readable data source and as a machine readable data source, allowing the software parsing the data to be completely ignorant of the endless combinations of possible markup and only focus on the markup specified by the microformat in question.

World.SecondLife.com

If you examine the source code for a document on Linden Lab’s domain- my Resident profile, for example, you’ll notice that the coding choices seem largely arbitrary, meant to fit the needs of human readability, with only the bare minimum of structure- the multiple profile description elements are given the class attribute value of “desc”. Beyond the aforementioned rendering engine parsing, none of the information contained in the document is machine readable, without the software having to first be taught what the source code actually represents- a process which took many hours of development and testing for all the data sources on world.secondlife.com (Residents, groups, regions, parcels, events).

sw.slr

The documents under the sw.slr project are coded using structured XHTML + appropriate microformats. Taking my Resident profile again, the (which has not been programmed with any prior knowledge of the markup I’ve chosen for sw.slr, beyond the various microformats it support) is able to extract the basic contact info for my avatar and convert it to a vcard- which can be used in a wide array of address book management software:

4fbacbe82b9281_

As you can see, the Operator extension is able to extract my avatar’s name (being able to also seperate the first and last names), UUID, rezday and photo. What this means any 3rd party web service can parse the the sw.slr site just for microformats, allowing a richer experience when trying to search for Residents, groups, or locations (all marked up with hCard, though in-world locations are using a slightly modified version of geo). There are a few key variations on Linden Lab’s choice of markup;

Semantic improvements

  • Contact details are marked up in hCard.
  • Picks are marked up as hReview
  • Groups founded by the Resident are included and marked up with hCard, being associated with the founder via hResume.
  • The UHU4-version allowed for friends lists to be imported from secondlife.com via a greasemonkey script- marked up using XFN (with full control over which relationships are visible)

Cross-referencing information.

  • Groups founded by the Resident are listed in the Resident profile.
  • Land owned by the Resident (groups too, soon) is listed all in one page, for easy viewing- see Governor Linden‘s list of parcels, for example.

Though currently disabled (various elements of uhu4-based code was disabled due to it’s inefficiency), sw.slr also supports listing which Residents have mentioned another Resident in their picks, as well as listing all of the events hosted by a particular Resident, or held in a particular location.

The general aim of the research project is to demonstrate that SL data can be marked up in semantic ways, allowing for 3rd-party, specialised search engines to index the data. It also allows web developers to locate data within a document more easily- relying less on regex and more on DOM actions.

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>