Property vs. subject referencing and property inheritance in Microformats

Microformats are standardized ways to add meaning to objects such as persons, places, events published on the Web. Microformats such as hCard, a format to add meaning to persons and places, are rooted in common patterns in Web content structure and class namings, as well as in semantics and structures borrowed from existing standards such as vCard. Microformats work very well when the object tree structure maps perfectly to the content tree structure, and they don’t work so well or don’t work at all when the two trees don’t map.

One technique used by microformats is the include-pattern, which allows properties to be referenced from within an object. I call this technique “property referencing”. For instance, in the following sentence: “We have two office locations in San Francisco: 665 3rd Street and 123 Folsom Street.”, “665 3rd Street” and “123 Folsom Street” are two adr objects, which do not contain a locality property because this property is inferred from the context. Well, according to the include pattern this property can be referred by including in the span of class adr an empty a element of class include that will point to the “San Francisco” fragment:

"... in <span id="sf" class="locality">San Francisco</span>. <span class="adr"><span class="street-address">665 3rd Street</span><a href="#sf" class="include"/></span> ..."

The problem with this technique typically relies on one or more empty anchor (“a”) element(s), and as such has been criticized as not accessible for non graphical user agents such as screen readers, which get confused by these empty links.

One technique I have suggested is the use of subject referencing and property inheritance:

  • subject referencing means that the property is refers to the subject it qualifies rather than the subject refers to the property that qualifies it.
  • property inheritance means that if a property is attached to a container object then all objects contained in that container object inherit this property, unless it is overridden

Here is my example above with these two concepts in action:

Our company has office locations in <a href="#adrlist1" rev="propertyOf"><span class="locality">San Francisco</span></a>: <ul id="adrlist1"><li id="adr1" class="adr"><span class="street-address">665 3rd Street</span>, and</li><li id="adr2" class="adr"><span class="street-address">123 Folsom</span></li>
</ul>

In this markup, we have:

  • “San Francisco” is a locality property of adrlist1, which is a container (ul)
  • “665 3rd Street” and “123 Folsom” are contained in adrlist1 and as such inherit the “San Francisco” locality property.

Waiting for Apple TV 3.0

Apple TV

The Blu-Ray / HD-DVD war had until recently kept me from buying a HD player to go with my HD projector, I had just been convinced that these format wars didn’t matter and that the future of HD was online downloads. I was seriously considering buying an Apple TV thinking that the 2.0 version should have everything I need (how couldn’t it be when Steve Jobs had acknowledged that 1.0 had been a failure and that they had learned from this failure).

It seems that they didn’t. I was very disappointed to learn today that the Apple TV does not do 1080p and that rented movies only last for 24hr, not the standard 3days.

I’m going to wait for 3.0, get an Apple Mini or look at the competition.

Social Network visualization in string art

String art is the art of arranging strings to form geometrical patterns. One fun way to do string art is with a piece of wood, nails and thread. Schauleh had a lot of yellow spare thread so we decided to spent last Sunday’s rainy afternoon doing some string art.

On our way to the hardware store, we were discussing what could be the inspiration for our little art project and we quickly agreed that it would be fun to do our Facebook network in string art, or at least part of it.

The result is below. Mine represents my closest friends in San Francisco and my immediate family in France, hers represents her family in Northern California. Each nail represents a person and each string represents a connection between two persons. The length of the string is proportional to the geographical distance between the two connected persons.

Guillaume's social network in string art
Schauleh's social network in string art

Introduction to RDFa

RDFa is the W3C’s proposal for the lowercase semantic Web. As such, it is similar in spirit to the microformats initiative, but strives to leverage existing W3 work such as RDF. Manu Sporny produced an educational video on RDFa that you can watch below.

As Manu reminded me on the uf-discuss list, this video is more for education than for evangelization. Also, some aspects that I am personally interested in are missing, such as: drawbacks/features comparison and cohabitation with microformats, or explanation of choices made, but it is nonetheless very clear and quite entertaining for a topic that many would probably find very boring.

SF to San Mateo bicycle commute

I the last two weeks, I used the opportunity of lighter traffic to try to commute by bicycle from San Francisco to San Mateo.

I mostly followed the North-South Route Map that is available on the Peninsula Bicycle & Pedestrian Committee.

My exact complete route is 23.1 miles long door-to-door… and it takes me about 2 hours to complete. I have mapped it on veloroutes.org.

Here is also an image of the elevation data.

Thoughts on some 24C3 sessions

24C3 is the 24th Chaos Communication Congress, a 4-day conference I got to know reading this post at the always awesome We make money not art. All sessions were videotaped and are available to download.

Things are changing faster than we can die I can count every star in the heavens above but I have no heart I can't fall in love…

I absolutely recommend the presentation given by Drew Endy on DNA programming. In a nutshell, Drew views DNA as an evolved program in some poorly documented machine language and shares his experience reverse-engineering this program, synthesizing DNA and uploading it to a cell i.e. “hacking biology”.

The session Paparazzi – The free autopilot is about how anyone can build a cheap version of the $1M UAV/drones monitoring everyone of us 24/7. Quite interesting for anyone with an interest in aviation. The cool thing is that the drone is literally remotely controlled via an open source software you can find here. You can assign a flight plan to the drone and it will follow it. The platform is packed with sensors that allow remote control and capture of data (videos, pictures). I hope these guys talk with the OpenStreetMap people: how could would it be to use this platform to capture views from the sky at a much higher resolution than satellites can provide.

I also watched the session Hacking ideologies, part 2: Open Source, a capitalist movement. There were a few shocking comments in there, but I was glad to get a refresher on the nature of capitalism from the very sharp Dmytri Kleiner:

“Capitalism is not so much about creating money or wealth. What creates wealth is work. Capitalism is about making money from other’s people work. It isn’t about money creation but about money extraction. […] The kind of information that capitalism is interested about is information that increased productive capacity. More productivity is more money to extract. The kind of information that capitalism is not interested about is information that is not about increased productivity or information that questions the system or information about the nature of capitalism. […] P2P offers no point of mediation where value can be captured, but at the same time p2p has to be financed by some wealth accumulation.”

This last point particularly resonated with me since I’m a big believer of decentralized social networks. I’m curious to see how a promising project like the DiSo project will resolve this chicken/egg problem: to finance a decentralized system, you need accumulated wealth, but to attract accumulated wealth you need a point of mediation where you can extract value, which you don’t have in a decentralized system.

One way may simply be some form of public funding. After all, if we didn’t have ARPA, we would probably all be surfing AOLNet or MSNNet these days.

Anyway, this conference is clearly politically incorrect in many ways but is awesome and I recommend everyone to watch some of these sessions!