Category Archives: Uncategorized

RevCanonical Ubiquity Command

A plugin for Ubiquity that “uses the RevCanonical API to check and see if the link provided has published a shortened version of the given page using a HTML link element with rev=”canonical”. Check it out is a URL shortening services from Dave Marshall that “uses the revcanonical API to return friendly short URLs whenever possible”, or it falls back to traditional shortening techniques. And it’s open source.

Querying rev=canonical with YQL

Sam Pullara has an example of how to use YQL to grab rev=canonical links.

sites could use YQL to grab the #revcanonical links. we shouldn’t have any problem scaling to do this: #yqlSam Pullara


Jeff Jones with a modest proposal

My suggestion for the whole #revcanonical #shortlink problem is a new HTTP method: GETSHORTY! – Jeff Jones

the shortest thing that could possibly work

Mike Migurski has coded up the simplest possible self hosted URL shortener, and published it on github

One of the small tools that I think would make rev=canonical even more useful is a rapid, brainless way to create short URLs for any domain. It’s possible, in a brief PHP script that only knows how to speak HTTP, to:

  1. Redirect from short URLs to long URLs
  2. Respond with a short URL for a given long URL
  3. Add a new short URL for a given long URL

Revving up

Jeremy rounds up a few of the recent rev=canonical implementers as a spring board for a great discussion about a “whole bunch of nice metacrapital things you can do with your visible hyperlinks”, and adoption patterns:

The rev=”canonical” convention makes a nice addition to the stable of nice semantic richness that can be added to particular flavours of hyperlinks. But it isn’t without its critics. [...] The unbelievable speed of adoption of rev=”canonical” shows that it fulfills a real need. – Jeremy Keith


Tatsuhiko Miyagawa has published WWW::Shorten::RevCanonical, rev=canonical URL shortening as a Perl module. Neat!

use WWW::Shorten 'RevCanonical';

my $short_url = makeashorterlink($long_url); # Note that this could fail and return undef

# Or, use WWW::Shorten::Simple wrapper
use WWW::Shorten::Simple;

my @shorteners = (
WWW::Shorten::Simple->new('RevCanonical'), # Try this first
WWW::Shorten::Simple->new('TinyURL'), # Then fallback to TinyURL

my $short_url;
for my $shortener (@shorteners) {
$short_url = $shortener->shorten($long_url)
and last;

rev=canonical bookmarklet and designing shorter URLs

Simon Willison has an awesome post up talking about his rev=canonical bookmarklet, and designing shorter URLs by casting unique IDs to base 62 (We’re using the same trick on to avoid having to maintain a look up database, though we’re using base 58). He details designing his new short URLs, deploying them on Django, and built a handly bookmarklet.

The nice thing about this approach is that it makes it trivial to add custom URL shortening domains to other projects—a quick view function and a few lines of nginx configuration are all that is needed.

Bookmarklet: Shorten (drag to your browser toolbar)

Chris Shiflett: Save the Internet with rev=”canonical”

Chris Shiflett has a great blog post up explaining rev=”canonical” in a bit more depth, good read, especially if you’re confused:

The premise is pretty simple. In order to avoid the great linkrot apocalypse, we can opt to specify short URLs for our own pages, so that compliant services (adoption is still low, because the idea is pretty fresh) will use our short URLs instead of (or some other third-party alternative) replacements. – Chris Shiflett

Hello world!

Re-posting my post URL Shortening Hinting:

We’ve been playing with coding up a URL shortener at Flickr this week. A URL shortener that only shortens Flickr URLs. (and right now only shortens URLs to photo pages)

Amazingly enough, this stodgiest of all conversations is a hot topic this week, with joshua’s url shorteners considered harmful post acting as something of a catalyst. Though the slick looking working on DiggBar has to be on folks mind.

Meanwhile I was curious if there a proposed rel=”alternate” syntax floating around for sites that run their own URL shortener?. I thought Dave posted one as part of his call for sites to run their owner shorteners, but I can’t find any evidence that this is correct memory.

Kevin Marks suggested rel=”canonical” and when I said that was the opposite of what I wanted replied rev=”canonical” is by definition the opposite of rel=”canonical”, but in practice people don’t grok rev. I had never heard of “link rev”, but lose the idea of marking up pages with their canonical opposites. But is that correct?

Les Orchard suggested the probably more practical rel=”shorter-alternative”, with Jon Williams refining to “rel=”shorter alternative” because IIRC rel values are like CSS classes“.

All of this implicitly based on the Mark’s work on RSS auto-discovery.

I realize this probably reads like a blow by blow description of watching paint dry.

But I’d like to pretend we’ve got some momentum here, maybe we could solve all the world’s problems my dinner time. (or at least auto-discovering url shortening problems)

update 2009/4/6: And I’ve published my rev=”canonical” URL shortening service