Get Shorty

You have no shortage of options if you’re looking to alias extremely long Web addresses into snappier and more email-friendly forms, converting URLs as long as three dozen or more characters and loaded with database and cookie values into a succinct form that even a human might be able to memorize without a Johnny Mnemonic download. The most popular of these seems to be TinyURL, but my favorite is LessLink, because it allows a user to create meaningful aliases by entering her own descriptors, which are then used to construct the URL itself. A typically lengthy link to an Ebay auction, say, might be easily condensed as Other services even allow link tracking and other meta-services to track the traffic passed through your alias.

Whichever of the many such services you might prefer, it’s reasonable to say that this basic functionality is essential for the elegant inclusion of URLs almost anywhere. It’s nothing revelatory to say this, I realize, but it strikes me as odd that even today, only a handful of offline publications employ such a system — and even then, they’re technical publications like Macworld and Wired. As more and more people become self-publishers, too, the need for this small but extremely handy utility only grows.

So I’m wondering why there’s not a solution for this that I can run from my own server? I’m happy to use LessLink in the meantime, but what I really want is to be able to create URL aliases in the form right from a Web application that I host on my own server. Not only would this preserve any ‘brand integrity’ I’ve got going for me at, but it would also allow me to more easily track click-through and watch for link rot. It’s just a good idea, and I really have to wonder why there’s not an open source project to make this a reality (please correct me if I’m wrong) or why some enterprising young software designer hasn’t turned this idea into a profitable, low-cost business like Mint. Actually I’m not wondering so much as I’m asking: can someone please make this for me?

  1. I agree, I would also like such a service. I’ve never used one of the link shortening services purely because the links are meaningless. Worse is when people ask me to click them. Where does this go? How do I know my boss won’t catch a NSFW photo as she walks by?

    A piece of software we use at work (Convio, a CMS for non-profits) has a feature called URL shortcuts that does exactly as you asked. And boy do I need it because their links are ugggggggly.

  2. Khoi, I’ve been working on the wikimedia platform recently (specifically, and while the platform is an acquired-taste (and then it gets addictive), one of the more elegant features is its approach to what you’re describing. In fact, the way to start a new entry (page) is by creating the URL. (P.S. Are you going to SXSW this year? New job and all.)

  3. Khoi, I don’t think that would be too difficult to set up as long as you’ve got mod_rewrite, PHP and a database available to you.

  4. OK, then. Assuming no-one else has already done this. I’d like to offer, a very basic implementation of this for you Khoi. I’m sure it could be adjusted to work from within MT, but I’ve never used it. Anyway, there is a zip file at which should do roughly what you want. You’ve got my email if you want to talk about it / turn it into a well design application or something.

  5. An application we could run on our server would be fantastic. We use IBM’s Quickplace — than whose URLs none is longer! Our users hate that about it. So keep us informed, please.

  6. There are several downsides to tinyurl and similar services:

    (1) It adds an additional point of failure – what if tinyurl goes under? Not only will your links not work, if you didn’t store the original urls, you have no way to fix them.

    (2) Linking is a gesture. Links contain information – “I think this site is worth linking to, and relevant to the words inside my anchor tag”. Automated tools can do very useful things with this information. Google uses links to calculate PageRank, for example. tinyurl hides links, making your site, and the overall structure of the web, more opaque.

    (3) It prevents users from knowing where links will take them. Surprise is bad.

    The first point doesn’t apply to a self-hosted system, but I’d still think carefully about the value of keeping your links transparent to your users and the outside world.

  7. Mike D.: Thanks for reminding me of that post; I suspect this is all pretty feasible with a little bit of PHP magic.

    Simon: We used Quickplace when I worked at a dot-com in the 1990s. It’s an unhappy memory.

    Lukas: Thanks for your thoughts. As you say, running such a service from my own server takes care of problem no. 1. I’m not sure if doing so would truly interfere with no. 2, but I think it’s a valid point if it does; I think it’s also worth noting that services like TinyURL are really ameliorative responses to poor server set-ups; whenever possible, I’d prefer to use the true URL when publishing. And as for no. 3, I think the LessLink example shows that we can preserve semantics while eating our cake too.

  8. Is this the kind of thing you mean? Please note, I whipped it up in an hour and it isn’t styled at all.

    The script alleviates commenter Matt and Lukas’ #3 (and partially #2) objections – it parses out the domain name and uses that for part of the shortened link.

    In a soon revision, it’ll alleviate Lukas’ problem #1 as well… I’ll set it up to be deployable on anybody’s server.

  9. Reed – you’re using a 301 permanent redirect, so yeah, it should alleviate some of #2 – Google will do the PageRank calculation correctly at least.

  10. Well, you gotta admit it helps with letting the clicker know where it goes. It has the domain in it. I mean, obviously it doesn’t differentiate between and, but it does a better job than any of the aforementioned methods.

Thank you! Your remarks have been sent to Khoi.