drpl.us - a drupal specific url shortening service

Today I registered drpl.us, with the intention of creating a url shortening service for the drupal community. I would like to gather suggestions and feedback here. So please take a moment to review my initial thoughts, and leave a comment with your thoughts, wishes, and warnings. Thank you!

main goals

  • automatic urls
    • for every theme and module (and module contained in a module download)
      • drpl.us/-views
      • drpl.us/-cck
      • drpl.us/-content (part of cck)
      • drpl.us/-zen
    • for every node on d.o, g.d.o
      • drpl.us/12345
      • drpl.us/g12345
  • automatic other urls
    • drpl.us/aGx9 -> some-long-url-i-entered
  • personalized urls
    • drpl.us/special -> my-special-site-address
  • limit to drupal related sites (whitelist?)
    • official drupal sites
      • drupal.org
      • groups.drupal.org
    • drupal topic sites
      • buytaert.net
      • wimleers.com
  • simple api so twitter/microblogging apps can use it

potential and inspiration modules

  • shorten
  • shorturl
  • knurl
  • alias
  • globalredirect
  • gotwo
  • node_redirect
  • search404
  • customerror

existing url shortening services to look at for inspiration

  • tinyurl.com
  • snipr.com
  • bit.ly
  • is.gd
  • lin.cr
  • tr.im
  • smurl.ca

initial references


Regarding naming scheme as

Regarding naming scheme as discussed on twitter:

"@nadavoid Looks like drpl.us will be an awesome contribution. So "a" is the prefix for the regular short urls? or "-" to exclude others? "

"@addzero the naming scheme is totally up in the air. that's one thing I'd like feedback on. would you comment on the site?"

I like how your idea is not just a url shortening service, it's also a quick look up to many/all Drupal resources. So I like that some links are readable... and the format is understandable, not just random looking letters.

Perhaps for drupal modules pages, have an 'm' prefix so that users familiar with your service know when a link is to a module page:

http://drpl.us/m[module name in title caps]

eg: http://drpl.us/mVideo -> Video

eg: http://drpl.us/mViews -> Views

eg: http://drpl.us/mViewsGroupByPack -> Views 'Group-By' Pack

eg: http://drpl.us/mWebformShowOwnFormResults -> Webform (Show Own Form Results)

(crazy idea: Perhaps if the user types a url that does not exist like:
http://drpl.us/mEmbedViews it returns a 404, but also displays a module search page using the terms Embed and Views which returns "Views Embed")

But also have short module urls, that still represents the the words being replaced:

http://drpl.us/m[module name in title caps, words are truncated/reduced (favoring the first and last letters of words) assigned according to frequency in all the module title words, and words after the first word in the module name are eliminated if not needed to differentiate from other short module titles.]

eg: http://drpl.us/mVo (the word Video is reduced to Vo, the first and last letters.

eg: http://drpl.us/mV (the word Views is shortened to V because it is more common than Video in modules title words.)

eg: http://drpl.us/mVG ("by pack" were not needed, so eliminated)
http://drpl.us/mWS (Webform was reduced to W, because it was more common than Web (which is reduced to Wb))

So existing modules would get a short url processed this way at site launch. New modules would use the next available name.

That would be a fun to write. (or needlessly complicated. :-)
Or the short ones could also just be incremented base64, but a different prefix than the long names (like "M")to prevent collisions. like with CCK.

Possible user workflows:

  1. I want to link to the "Webform (Show Own Form Results)" module page in a twitter:

a. I navigate to the module page and click my "drpl.us" bookmarklet.
That takes me to http://drpl.us/url/drupal.org/project/webform_own_results

This page lists the possible short urls:

www.drpl.us/mWebformShowOwnFormResults (based off title, not url)


(using "www." instead of "http://" saves 3 chars and twitter's site makes it into a link too. But does it work as widely as "http://"?)

So the user can pick the the required level of brevity, but still have an amount of readability. (and memorizability. :)

(crazy idea: This page can also perhaps display the number of views. (and perhaps user rating, and perhaps all that could fit into a small header and show the page in the frame below like: http://is.gd/gS2t but this might be going too far.))

I'll stop there, I doubt you wanted me to write a book.
You have a cool idea & domain name. This'll be fun to watch develop.

I think if you're going with

I think if you're going with a whitelist, you should have a way of vetting sites - something akin to the technorati or odeo services - or I guess more recently google services.

This is where you install a module on your site that exposes a predefined string at a certain URL so your site knows it's not just a robot registering. For google it's google[something].html - once you're verified, you turn off the module or feature and it's very low impact.

I'd donate some PayPal or ChipIn to have short, easy to remember URLs and help spread Drupal.