Awesome Conferences

A "tinyurl" service for your domain

Update 2010-01-26: There is a follow-up article to this here

Update 2009-12-20: Enabling the service wasn't working for a few days. It is now working again. It does not require Premier service. Any Google Apps customer should be able to use it.

Where I work we have a service called "go" which is a tinyURL service. The benefit of it being inside our domain is huge. Since "go" (the shortname) is found in our DNS "search path", you can specify "go" links without entering the FQDN.

That means we can enter "go/payroll" in your browser to get to the payroll system and "go/lunchmenu" to find out what's for lunch today. That crazy 70-char long URL that is needed to get to that third-party web-based system we use? I won't name the vendor, but let me just say that I now get there via "go/expense".

Creating a new shortlink is "self-service". You go to "http://go", fill out the form, and you are done. You don't have to open a ticket. You don't have to wait for your system administrator to create a link. A person with little or no web skills can create a "go" link, mention it in an email or on a sign in the hallway and everyone knows what to do. As a result it has transformed the corporate online culture.

Control-freaks may be appalled that we don't have an official librarian that dictates and enforces a naming standard. But just like Flickr "tags" it just works. People self-organize. "Best practices" organically evolve. When there is a name conflict it tends to get resolved by people talking directly to the owner and negotiating. I'm very happy about that.

What really impresses me is that where I work the "go" service was never officially announced. The people that invented it started using it and people noticed. The idea spread virally. Within a month everyone was using it. People thought to just type "go" (alone) in their web browser and were happy to find a web site that explained what to do.

Wish you had this at your company? If you are a Google Apps customer there is a "labs" app that gives you this kind of thing for your users. You can call it "go" or "t" or "shortlink" or whatever you wish. You, as the system administrator, has to enable it (Dashboard, Add more services, Short Links). Update DNS as the system directs you. Configure your DNS search path needs to be properly configured, which it should be already. However, people can specify the FQDN for links if they are traveling. For example http://go/tom-picture works if your DNS search path is correct, and can be used if it is not.

What about security? Links may be "public" or "private". Private links don't work unless the user has logged into their Apps domain. "Public" links always work. I set up a private link on my personal domain you can see:

There are a few more features. A user can edit their own links. The system can suggest a short link name (hash) if you are feeling uncreative. You can transfer ownership of a link to another user of your domain. There is a search capability. It keeps counts on how often a link is used and therefore can tell you which are the most "popular" links.

The administrative control panel has a large number of optional features: Enable the service for multiple domains. If a link is used more than x times, only an administrator can delete it. Restrict the feature to certain IP subnets. Enable API access (yes, it has an API). Restrict who can create new links. Restrict public shortlinks to a specific list (probably a good idea). And many more.

Some features that I wish it had: The search feature searches the shortlink name, not the destination URL. Therefore I can't search to find out if someone has created a shortlink already. It doesn't give a warning if I'm about to create a public link to a private (internal to my domain) URL.

There are two caveats: First, it is a "lab" product (did you know that Google Apps now has "labs" features just like Gmail?). It is implemented in Google App Engine (did you know that Google Apps can now have privately hosted apps?). Secondly, in the name of transparency I should point out that I'm a Google employee and therefore could be biased. However, I've been using this for eons and have been waiting for the day that I'd be able to talk about it publicly. It is so simple and "just works". If you don't use Google Apps, you might consider writing a simple redirector service for your users. (Or enable Google Apps and only use this feature!)

For more information or to add it to your Google Apps domain, here is the home page.

As with all hosted apps, check the privacy policy and terms of service before use.

If you use this feature please let me know (post a comment) and share your experiences with it!

Posted by Tom Limoncelli in Technical Tips

No TrackBacks

TrackBack URL:

8 Comments | Leave a comment

This would be so much cooler if it was self hosted.

I wonder what would happen if .go gets allocated as a TLD in the future. Given that ISO-3166 reserves country codes that start with x (.xa, .xb, etc) I would rename the service to something like xo instead of go.

PS: Isn't this similar to the global http://to/ shortener?

Your DNS search path should put "." after your organization's domain.

I'm trying to use it but there's no "Add It Now" button on the app page. Strange.

Thanks for the suggestion, John. It's good to see that this app (released last week) is available to the general public.

On the iPhone App Store someone posted that this app has always been available to AT&T employees and congratulated AT&T for releasing it widely.

I applaud AT&T for dipping their toe into the concept of "crowd sourcing". I hope they find it beneficial and start using other cutting edge techniques.

Now, when will my phone bill be available as a CSV file so I can do number crunching on my last year of call history?

Any ideas why a lot of people (myself included) don't have an "Add this" button on any of the Google Labs apps pages?

Do you have a Premier account?

If you want to host it yourself and secure it or whatnot try this:

I set it up in just under 10mins (not including Apache and PHP).


Leave a comment