Why I’m creating my own URL shortening service

I’ve long been concerned about the proliferation of “short URLs”, whose use has gathered great momentum, especially in the light of microblogging services like Twitter.

tinyurl-example1

Short URLs, such as those generated by TinyURL are convenient, especially when you only have 140 characters to get your message across. You can turn a huge URL, many hundreds of characters long, into just 25 characters or even less. Great!

Besides TinyURL, a proliferation of URL shortening services are available. Some that come to mind are bit.ly, tr.im, ow.ly, is.gd, to name but a few. And short URLs themselves are gaining use outside of microblogging services. You will see them in blog posts, emails (to get around the line-wrap-broken-link problem) and even on the printed page (see British Archaeology magazine).

But what happens if a short URL service were to disappear? The company or individual that runs it pulls the plug, and suddenly the web is littered with thousands or even millions of dead links. That would be bad. And it will happen.

I see the state of short URLs as a delicate balance. On one side, we have the originating (possibly long) URL. On the opposite side, we have the short URL. Hopefully, the original URL will work for many years. When I migrated the Wessex Archaeology website to a new CMS last year, I didn’t break any links. Some of those links have worked for more than 7 years, and I hope that they will still work in another 7. WA can make sure that they stay the same (and they will). But what happens to any shortened links that point to those pages? We can’t guarantee that same amount of longevity.

tinyurl-in-print

What happens to the TinyURL links in the printed magazine British Archaeology if TinyURL goes bust? They’ll break. But BA is available in many libraries and people do look at back issues. It would be nice if they could see the web pages mentioned in the articles, but there’s no guarantee that they will work because there are two parts of the equation that could go wrong. One, is that TinyURL disappears, the second is that the originating page is deleted or changes its URL without redirecting.

For short URLs that I create I would like my own control over at least part of that equation.

I’ve often heard the argument that the use of short URL services are only meant to be temporary, for links that are “here and now”. But how often have you come across something old, but still relevant, when doing a web search? For me, that’s a fairly frequent occurrence. Who’s to say what is quick and temporary today, isn’t actually really quite relevant and useful in the future?

By running my own URL shortening service, I won’t change what is being used elsewhere, but at least people looking at my Twitter stream, or wherever those tweets are syndicated to (this blog, for example), have a better chance of seeing what I’m linking to in a few years time. Especially if I plan to run my personal URL shortening system for as long as I’m alive and capable.

I suppose that one of the driving forces behind this is my training as an archaeologist (we don’t like throwing things away, generally, and that includes data). I can’t archive the pages I link to, but at least I can give folks in the future a better chance of finding what I’m linking to.

I have a nice short URL thanks to the .eu top level domain, so I will experiment with some different systems to see which works out – the simpler and easier to maintain the better. It’s got to last a long time…

[Edit] When I say “creating my own URL shortening service” I should clarify that I’m not programming one from scratch, but taking an existing GPL/Open Source URL shortener and modifying it for my needs (if it needs modifying)! I will probably have a public and private version, with varying functionality. Some good ideas are already flowing in through Twitter about identifying canonical URLs, which is great 🙂

[Update] My URL shortener is alive: http://qurl.eu/ (think “curlew”, like the bird). It is based upon TightURL, and I chose it because of its ability to use various blacklists to reduce misuse. I will run qurl.eu for as long as I can – i.e. for as long as is technically feasible to do so.

4 Replies to “Why I’m creating my own URL shortening service”

  1. That makes much more sense. I had always thought of URL shortening services as providers of transient convenience, i.e. to get across a long URL to someone quickly and easily (and online). However, the point you make about the possibility of dead URLs in the future, especially as print media such as British Archaeology and several newspapers are using them, makes a good point. I must say at this point it irritates me intensely when print media use shortened URLs as there is much to be gleaned from a URL and you have no clue when it is http://tinyurl.com/88dfgh – it also challenges the principles of referencing, but that’s a another topic.

    Now, it might be argued that the short URL in print is no different to one online, i.e. it’s only meant to be for the ‘there and then’ conveyance of a reference or direction towards a website, and that if the original page is gone, what does it matter anyway? A few cursory searches using the search engine SuperMuseum of 2024 might find someone reading a 2003 article what the original author was referencing in any case.

    Longevity has never sat well with web endeavours, always the point of attrition, but it is this resistance between speed and versatility of access vs. sustainability that makes the good web what it is, and will continue to be.

    As this is meant to be your contribution to future-proofing this aspect of web communication, as long as you live and the web continues to work roughly in the same way as it does now, do you think the case you make above is enough to change people’s (esp Editors’) dilettante habits when it comes to their choice of service?

  2. Are URLs getting that long? Or is it because it’s just tough to shoehorn a regular URL into a service like Twitter? Looks like the medium is affecting the data, instead of the other way around.

    For most URLs, I’m sure that people take comfort in looking at the domain of where it’s coming from. If somebody says “Check out this YouTube video” and they link something from TinyURL.com then you aren’t able to see that it is taking you to YouTube.com and not another website. With the recent surge of URL shortening services, there have been a lot “passthrough” advertising methods. They’ll basically piggy-back the URL you want through another service that, say, changes all the advertising on that YouTube page to make themselves money. Or, it could simply be a spam-site that just makes money from you having visited.

    A worst case scenario is that a service like TinyURL gets hacked, or a backdoor is found, which enables a malicious party to redirect URLs to specific spam sites. This is a very large security concern. Being able to see where a URL takes you (what domain) is important.

    In the case of British Archaeology, they should know better than to use a third-party site to host their links. Who’s to say that they will be around in one year? How about 5? They are not thinking about information preservation.

    Since you’re interested in using your own service Tom, if you have Google Apps on your domain, you can use Google’s Short Links product: http://www.google.com/enterprise/marketplace/viewListing?productListingId=5143210+6352879591152674960

    An alternate way to deal with these link issues is to create a link index somewhere online which you can publish your links. You can then tag links that you used on Twitter or Facebook or somewhere else by date, and have people find the real URL.

    Sorry for being so long winded.

  3. Hi Tom. Only just found your personal blog, amazingly, and I was interested to read this. I tweeted the other day to ask if anyone knew of a URL shortening service that could pass through parameters and, having had no replies, thought I’d write my own but I hadn’t got around to seeing if there was any nickable code out there. Good to know there is (and thanks to Tiago too for the tip). What codebase are you using, then?
    In case people wonder, by the way, the point of passing parameters through is that one reason for using an URL shortener is for passing URLs to services like Yahoo! Pipes, Dapper and GMaps, which sometimes choke on complicated URLs (or nested calls to different apps). Being able to squish most of a URL down and tag on a couple of variables at the end could solve this. I realise the audience may be limited though.

Comments are closed.