You are reading an archived post from the first version of my blog. I've started fresh, and the new design and content is now at boxofchocolates.ca

Tracking the Spread of Ideas

August 26, 2004

One of the things that I’ve been interested in for quite some time is how ideas spread on the web. Many bloggers do this instinctively when they post interesting links with a via link, a hat tip, or a nod to let people know where they originally saw the link.

Matt writes about this in Link Thanks and Nick discusses this further in Giving Credit. Many seem to agree that the links are not only ethical, but also useful. Can we make them more useful?

I wrote an article almost a year ago called The Missing <link> in the World Wide Web that has received quite a bit of traffic. Eventually it made its way to Nick Bradbury’s blog. Nick posted:

Is the link element the unsung hero of HTML? (via Digital Media Minute)

Here’s the code:

Is the link element <a href="http://www.wats.ca/articles/missinglink/49">the unsung hero of HTML?</a> (via <a href="http://www.digitalmediaminute.com/archives/000513.html">Digital Media Minute</a>)

Nice. Now I know how he found it. But I wondered how John at Digital Media Minute find it? Google search? A random occurence? Did he see it because he happened to be following our site? And how did it spread from there? The little “via” links that Nick provided do just that.

While the via links give credit where credit is due, I’ve always thought it would be nice (and possibly useful) to take it one step further and actually semantically encode that relationship.

Establishing the relationship

The rel/rev attribute is valid on both the <link> element and on <a> elements. So why not encode the via link with this relationship in mind? Nick’s link to my article would then become:

Is the link element <a href="http://www.wats.ca/articles/missinglink/49">the unsung hero of HTML?</a> (via <a rel="via" href="http://www.digitalmediaminute.com/archives/000513.html">Digital Media Minute</a>)

This would require a custom profile definition in the head of the document, similar to what Eric Meyer, Matt Mullenweg and Tantek Celik did with XFN. The idea is simple – if you want to create custom relationships beyond what (X)HTML provides, create your own profile and link to it in the head of your document.

The only problem with the example above is that it defines a via linkage for the current page (i.e., the blog author’s post/site), and via links are usually used for pointing to external links.

Extend XHTML

We could always add another attribute to XHTML to give greater specificity. (Why not? it’s supposed to be extensible right? And normal graphical user agents would just ignore the attribute that they don’t understand.)

For this, we borrow from forms, where a label has an explicit association to a single form field by using the “for” attribute and specifying a value that is equal to the value of the id for the form field.

So, lets do the same for the <a>. Make for a valid attribute for an <a> and we can add that level of specificity. The whole package might look like:

Is the link element <a id="examplelink" href="http://www.wats.ca/articles/missinglink/49">the unsung hero of HTML?</a> (via <a rel="via" for="examplelink" href="http://www.digitalmediaminute.com/archives/000513.html">Digital Media Minute</a>)

In December of 2003 I had written about Changing the Scope of Link Relationships. Allowing the for attribute on the <link> element would allow for greater specificity and establishing relationships with just one portion of a document (essentially a node), rather than the relationship to the whole document. Using it for via links would be just one further application – the relationship could also be placed in the <head> with a <link>:

<link rel="via" for="examplelink" href="http://www.digitalmediaminute.com/archives/000513.html" />

What’s the point?

I’m not sure if it would be useful to do this or not. I can see applications for it – as the title of this post suggests, it could be used to track the spread of ideas on the web. Would I like to know how someone found out about something I had written? Certainly. I could always write a bot that would take an end point URL and find its way back to the original article using these links.

It might also be interesting to add this feature to Bloglines Citations, or to Technorati so that not only do you see who is linking to you, you also find out how they found out about it. Perhaps that would provide more insight into what people are reading, how information spreads and help you to… well, I’m not sure what you’d do with the information, but I’m betting it would be interesting anyway. Would it be worth it? I’m not sure…

Filed under:

17 Responses

Pingback by Source linking <Anne's Weblog about Markup & Style> — Sep 06 2004 @ 6:19 pm

[...] be true, I’m a bit tired lately.) I just spotted a nice markup idea from Derek in his post Tracking the Spread of Ideas. (I found that link after reading Three T [...]

Comment by Patrick H. Lauke — Aug 26 2004 @ 2:40 pm

derek, the only problem i have with the proposed method is that there is no direct connection (in the markup) between the actual link and the “via” link.

maybe stretching the concept slightly (heck, as often with the wooly, fuzzily defined semantics of html) but how about using blockquote instead? then the cite attribute can contain the “via” bit…

box of chocolates – tracking the spread of ideas

Comment by Patrick H. Lauke — Aug 26 2004 @ 2:41 pm

<blockquote cite=”http://www.digital-web.com/…how_we_find_information/”>
<a href=”http://v1.boxofchocolates.ca/…tracking-the-spread-of-ideas”>box of chocolates – tracking the spread of ideas</a>
</blockquote>

Comment by Derek — Aug 26 2004 @ 2:52 pm

derek, the only problem i have with the proposed method is that there is no direct connection (in the markup) between the actual link and the “via” link.

Patrick – I’m not sure I follow. There is a direct connection if you explicitly tie them together by placing an id attribute on the link and then add the other with the rel=”via” and for=”the_id”.

Or do you mean something else?

Comment by Patrick H. Lauke — Aug 26 2004 @ 3:04 pm

oops…damn, missed the “for” bit in your examples. my only excuse is that the font size of your code is very small in firefox *blush*

Comment by Derek — Aug 26 2004 @ 3:18 pm

my only excuse is that the font size of your code is very small in firefox

Errrrm… that’s something I’m working on as well. Mea culpa. Of course, you could have easily used my nice scalable fonts to bump it up… The onus is also on the user. Sorry, had to. ;)

Comment by Nick Finck — Aug 26 2004 @ 4:07 pm

After thinking about this a little more I think the issue here is that the proposed solution doesn’t physically link to the source.

I mean, sure, we can develop browsers and reader tools that can accomodate this but that’s years down the road. What about a solution that can be used AND functional today? …and keep in mind that not many people want to make a custom DTD.

rel with A has too many complications, one of which is XFN is already using it, why not use title instead? I think this is what Keith does on Asterisk.

Comment by Derek — Aug 26 2004 @ 4:23 pm

After thinking about this a little more I think the issue here is that the proposed solution doesn’t physically link to the source.

Nick — the initial “via” link would stay the same — it would just have new attributes added to it. Or am I misinterpreting what you are saying?

I mean, sure, we can develop browsers and reader tools that can accomodate this but that’s years down the road. What about a solution that can be used AND functional today? …and keep in mind that not many people want to make a custom DTD.

There wouldn’t be any incompatibility with today’s browsers — they would just ignore it, providing the link to the resource, and the via link. Current browsers wouldn’t associate the two links, but they don’t need to – the physical links are still present in the page… The one drawback I can see is the custom DTD. It’s not that it can’t be done, just that it be a barrier to adoption.

rel with A has too many complications, one of which is XFN is already using it, why not use title instead? I think this is what Keith does on Asterisk.

I’m not sure I see the same complications you do — not saying they don’t exist, but just that I’m not seeing them… A link can have more than one rel value in it. Presumably those using XFN are using it for links to main pages of blogs that represent people. Wouldn’t a via link be more targeted at the specific blog post rather than the blog home page?

Comment by Nick Finck — Aug 26 2004 @ 5:22 pm

Nick – the initial “via” link would stay the same – it would just have new attributes added to it. Or am I misinterpreting what you are saying?

Well, somewhat.. see below.

I’m not sure I see the same complications you do – not saying they don’t exist, but just that I’m not seeing them… A link can have more than one rel value in it. Presumably those using XFN are using it for links to main pages of blogs that represent people. Wouldn’t a via link be more targeted at the specific blog post rather than the blog home page?

Well, the two could be one of the same. Say the source I got it from was Random(foo) and I used Leonard Lin in the text of the link. Well, a lot of blogger would pop in XFN right then and there, so how do I include the method you suggest as well as XFN in the same link? With XFN, will it know that one rel is XFN and the other is this new method?

There wouldn’t be any incompatibility with today’s browsers – they would just ignore it, providing the link to the resource, and the via link.

This is exactly my point. If the browser ignores it, how useful really is it then? I mean, how could we use it outside of developing accomodation for it in a tool such as a browser or reader tool (which would be serveral years out in the making at this point).

Ok, so let me take a step back and look at the problem from the top level here.

- We have news sources,
- then we have sites that quote, mention or otherwise (hopfully) link to those news sources
- and lastly, we have sites that quote, mention or otherwise (hopfully) link to the sites that (hopfully) link to the sources.

for simplicity, let’s call them A, B, and C scenarios here.

A is where the actual information was revealed. B is the news blogger, C is the news blogger of news blogs.

It’s clear that B doesn’t always reference A. Its more than blatently obvious that C almost never references B and also rarely much less knows how to reference A.

If we are about to post something as a member of C, how in one link can we reference B much less reference or know where A is?

That’s the problem. How do we fix it? Maybe by developing tools that know how to read extended markup as you are suggesting.. but I believe there is more efficient way to do this with nothing more than markup… a way that would actually provide physical links to the sources.

Comment by Nick Finck — Aug 26 2004 @ 5:23 pm

Ok, let me be the first to say, Derek, you are in need of a comment preview option. Hence the missing close tag in the comment above :P

Comment by Richard Rodkin — Aug 26 2004 @ 11:31 pm

interesting ideas here, and nice to see. it’s always struck me that one of the potential “killer” functions of the hyperlink would be in the context of footnoting, where the disruptive act of jumping from text to note could be all but eliminated. it should now be possible (and may very well have been done somewhere) to create via DHTML, a “hyper-footnote”, in which the footnote number appears as a hyperlink. on mouseover, it would display a block of information a la the title attribute of a hyperlink (e.g. a tooltip). In the case of our hyperfootnote, metadata about the source would be displayed, as well a bonafide hyperlink to the source, like this:

The described functionality, obviously requires custom development . . . but what would be really nice — and i realize this is not the ‘near-term’ solution by any means — is if there were actually a footnote tag, which could be placed around any html content, be it a link or otherwise (why stop at just hyperlinks?) at the end of the block of content wrapped in the footnote tag, a super-scripted, hyperlinked number would appear, much like the auto-numbering found in a an ordered bullet list. so, like this:

<footnote src=”http://www.contentSourceURL.com”>Lorem ipsum dolor et sequitur blah blahblah</footnote>

Other attributes could be defined, but perhaps, just by virtue of knowing the url, the tag would pull in meta-tagged data, such as author name, publish date, etc.

take this a little further into the paradigm set forth by Ted Nelson in Xanadu, and maybe we’ll end up with an actual <transclude> tag . . . you can do it now for images (using an absolute url), but you can’t for text . . . now that would be cool . . .

Comment by Nick Finck — Aug 27 2004 @ 12:12 am

If you take a look at this article I published in 1999, it is a good example of one method of footnoting:
http://www.digital-web.com/articles/liquid_web_design/#back1

Not ideal, but it works. It is, however, more based on the traditional method of footnoting and not based on the concept of using technolgies such as HTML and the Web to cite material. The biggest problem, as I mentioned, is trying to identify the true original source material.

Trackback by Blog-Fu — Aug 27 2004 @ 7:42 am

Tracking the spread of an idea.
Derek Featherstone has taken a concept, the concept of credit, and pretty much run with it. Nick starts writing about this in Giving Credit, and Matt writes about it with Link Thanks. Now, the concept of giving credit where you…

Comment by Derek — Aug 27 2004 @ 3:26 pm

@Nick: Live preview added. It was on the list, so I bumped it up to the top… Also, be ready for my followup post. I’ve been working on something (in my spare time – which means the idea is there, but its only about 5% finished!!) and will hopefully get a chance to finish it up on the weekend.

Comment by Lachlan Hunt — Aug 28 2004 @ 1:19 am

This may not be directly related to your idea, but I did write up a similar, but slightly more detailed idea for for link relationships [1] just a few days ago. Overall, I think a via relationship could be quite useful.

[1] http://www.lachy.id.au/blogs/log/2004/08/link-relationships

Comment by eric scheid — Aug 28 2004 @ 4:54 am

How to disambiguate different families of @rel?

Well, the DC folks wondered the same thing, and they wrote up an IETF RFC. [RFC 2731]. Note though that it addresses the problem with the <meta> tag only, not the <link> tag, which is why I’ve written something myself: Specifying schemas for document link relationships (a pre-draft document).

Essentially it boils down to prefixing the @rel values with a marker, such as “DC”, and then using a <link> tag to associate that prefix with the reference document/profile.

You could thus have: <a href=”…” rel=”XFN.friend DC.reference BA.via”>…</a>, where XFN, DC, and BA are prefixes (associated via <link>s) with the documentation of @rel values for XHTML Friends Network, Dublin Core, and Blogosphere Annotation [sic].

Comment by Nick Finck — Aug 28 2004 @ 4:12 pm

Sounds a bit overly complicated don’t you think? I mean, sure, long term it sounds ideal.. but what I am focusing my own personal efforts on and I hope Derek is to, is a realistic short-term goal that we can implement today and is fucntional (meaning that users can click to the “original source” and to the “where found page”).