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 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 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