Nektarios is developing a drupal plugin that will make use of urlBorg. He asked me why, urlBorg creates a new short URL every time he makes an API call, even if the target URL is the same. Wouldn't it be reasonable to get the same short URL? Isn't it a waste of resources (i.e. storage space) to create and store a new short URL every time?
This is one of the main design decisions I had to do when I started developnig urlBorg. And I've changed my mind a couple of times. But I think that creating a new short URL is the right way to go. Here is why.
The creation of a short URL is a "gesture of attention" (if you are not familiar with the term, read Geting a piece of the action: The attention economy). An if a URL shortener is worth something, this is because it is a good database of two kind of "gestures": - the one is when someone manifests his interest on a specific URL, by creating a short URL for it. - the other is when someone clicks on the short URL.
urlBorg keeps track of both. The click stats are visible to anyone, the just have to add /i at the end of a urlBorg short URL, like this ub0.cc/08/J/i. The personal stream of clicks to "ub0.cc" links is also available to all users that are logged in.
This is also why a new short URL is created whenever this is asked, even if one exists for the target URL. You should consider the "short ID" (ex. "08/J" in the example above), not the equivalent of the target URL, but the equivalent of the "attention gesture" translated as "right now, I am interested in this target URL". Whenever one of the three parameters change, timestamp, user or target URL, you get a new shortcut.