SmartLink

In a previous post I tried to describe how I thought technologies like SmartTags and AutoLink ought to behave. With greasemonkey in Firefox I've been able to build a proof-of-concept demonstrator. For the moment I'm calling it SmartTag/AutoLink.

SmartLink is based upon the idea that content authors should mark-up content that can be 'smart-linked', using standard XHTML constructs. This has two advantages:

  • it effectively provides an 'opt-in' mechanism for content providers
  • it doesn't require 'magic' to identify what can be smart-linked and thus provides a much more extensible approach.

of course there is one fairly major disadvantage:

  • there isn't any suitably marked-up content out there, with the exception of some test posts I've put together for the purpose.

Getting Started

If you want to know a bit more about SmartLink then click here. Alternatively if you want to see how SmartLink behaves and you're using Firefox then you need to follow these steps:

  • If you haven't already, install the excellent greasemonkey Firefox extension. I'm running 0.3b, you need a version with the GM_log and GM_xmlhttpRequest objects.
  • Open up this user script (in Firefox).
  • From the "Tools" menu, select "Install User Script.." and confirm all of the various prompts
  • Check out this test post. You should see an SL icon at the bottom of the page with a link labelled New! SmartLink. Selecting this link will bring up a page allowing you to select how you want to view 'address like' smart-links. To see a smart-link select any option other than 'ignore' and click on "Update".
  • Now go back to the test post and wait a moment. There should now be two SL icons on the page, one at the bottom with a link labelled configure SmartLink and one next to a newly visible smart-link. Click on the latter to see a map.
  • Try it on additional test pages here (books + films), here (address + stock), here (address + stock again), here (UK address) and New! here (event - using hCalendar)

Note that preferences are stored in a 'SmartLinkPrefs' cookie with host http://www.myjavaserver.com/. [Please be patient, MyJavaServer can be slow. I know, I know...it could have been written in a couple of lines of Python but not by me.] Greasemonkey's ability to call out of the usual Javascript sand-box makes it possible to centralise the preferences this way. In addition, having a server-side component means that it is easy to add new types of smart-link and new options for existing types.

Comments

Popular posts from this blog

A Review of hReview

Google I/O 2013