If the expiration is fixed to be 15 mins and this shortener is forced on all users, that will resolve all criticisms of shortener sites - Everyone will soon come to know how they are breaking the web, eventually forcing people to use this in the intended use case only (i.e. shouting across the room)
Sometimes the best way to break a bad habit is to enforce it
Thanks for submitting this, John, you beat me to it!
I was with some friends from Twilio at a hackathon one night back in January, and we were all lamenting how hard it was to share a URL with other people at the table w/o knowing everyone's email/IM/etc... and bit.ly links are impossible to pronounce correctly. Someone came up with the idea of sharing a plain english word as the short url key. So, 9 months later I whipped it up. Hopefully a few people find it useful :)
EDIT: I should add that adding + to the end of the key will show you a preview page like bitly links.
Well, I think the reason that things expire is so that he can then reuse those words (since there are only so many short words that anyone can spell), but that is a good idea for ones that have expired but now yet been reallocated.
The link you created is. If you create a link mapping foo -> google.com, and then it expires and someone else wants a link to facebook.com and shoutcast picks foo as their word, as far as you're concerned, your link is expired because shoutcast.com/foo doesn't get you to Google anymore.
Yes, from the submitter's perspective, their link has been reclaimed. From the service's perspective, a key is either in use or not, and we agreed that keys that aren't in active use could have ads on them.
Given your stated use case, one thing you could do to improve this thing is to filter out obscure homophones of common words. Calling out "aweigh" over the table is just going to produce confusion.
Yes, I'm planning on adding ways to "Flag this word" as inappropriate, hard to spell, hard to pronounce, just no good, etc... and can send them to the blacklist. Easier to let other humans do that on a case-by-case basis rather than me comb through the entire list :)
Because that still doesn't get rid of homophones or hard-to-spell words. But he does seem to use a list of common-ish words. I haven't seen fungible, pulchritudinous, or similar words that the average person may not know.
It would be smart if the length of the word was directly proportional to the duration of the link. 5-minute links might be more likely to get a 5-letter word, whereas a 24 hour link might be more likely to be a 10-12 letter word. Otherwise, why would I not always choose to make my link persist for 24 hours?
This is a really useful service. I can see myself using it in quite a few situations.
A few points I'd address:
1. Make sure all the words are really easy to spell. Someone mentioned the word "constituent" in another comment, which is not a word most people will know how to spell.
2. Calling it "the temporary url shortener" doesn't really describe what it's useful for. That's because the "temporary" is not the interesting part. I don't have a good suggestion for you, but think about how to explain the value this service provides in a tagline.
agreed. I'd like to change the tagline to reflect the "easy to share links verbally with other people" aspect, but I can't seem to distill it down to a few words... I'm still thinking about it.
Edit: ooh, how aobut: "Share links with a shout!" ??
You also might want to consider using a string of small words as opposed to a single word. Something like "the big red house" is longer, but easier to type than something like constituent.
Cool stuff. How are you grabbing the words? Did you download a dictionary?
When I submitted my URL I got "constituent", which seems unnecessarily long. You should consider having a list of short adjectives and a list of short words, preferably with both being one syllable. Then you grab one from each and you get short URLs that are still easy to remember like "redbear" or "fastbulb". The best part about this idea is that it reminds me of the monster names in Diablo 2.
I'm using a modified copy of the standard linux dictionary word list. I took out some variants of words that I thought would be confusing or hard to spell. I thought about using 'word tuples' as you describe, but I think that would be more confusing and less useful overall. There should be enough single words to make this work unless it gets insanely popular (knock on wood).
I find a combination of a few short and common word easier to memorize than one uncommon one. It's even easier when it makes somewhat sense, like an adjective and a noun.
I got 'constituent' when I tried it too. That begs the question, what happens when you accidentally try to go to an expired url that has been reassigned? Like say you hit a url 1 minute after it's expired, and with bad luck it's been randomly reassigned to an NSFW link?
I really like the idea, but part of your concept concerns me. Having pronounceable short urls is always a plus, but having them expire is sketchy to me. It means 1 of 2 things in my mind and maybe you can put my worries to rest. I will also preface the concerns with 'I did notice that the time is variable and user chosen'.
1 You are going to litter the web with non-active(broken) links and that sucks.
2 (more likely) As you reuse words in urls there will be links that will point to things that are in no way related to the context in which they were originally used.
these shorturls are not meant for actually linking to anywhere online. just for IRL sharing with others. hence the pronounceable aspect is a big part of the utility.
Exactly. These links are not meant to be posted online or meant to last forever. The main use-case is to share them aloud with other people in the room (or write them on a whiteboard at a hackathon). I mention quite clearly that the links are temporary, so people that use them otherwise are missing the point I think.
So ideally you want people entering links directly into the url bar instead of creating a page link somewhere. You could detect that reasonably well with the Referer header, and perhaps provide a warning against that behavior? food for thought
It might be terrible from a usability stand point (or it might be an improvement), but if the point is to share the link verbally and not via a text link [or if doing so will litter the web with broken links], why support direct links at all?
Why not just have an input box on the home page? The user puts in the english word, and you do the redirect.
Shorl.com uses a system called 'Koremutake' which has roughly the same aim (although unfortunately it seems to be tied to the URL shortener):
http://shorl.com/koremutake
I like the added feature of insertion of hyphens to break up groups of syllables in Peter Braden's implementation.
great idea, I've often thought someone should make a URL shortener (or should I say changer) for saying things out loud. I've heard a few podcasts were they will say go to 'tinyurl.com/skf74d' (or spoken out loud 'go to tiny url dot com slash s k f seven four d') and thought surely there is a better way. It doesn't have to be short it just has to be easy to remember 'tinyurl.com/DogCatBear' is better than the above, even if its not related to the subject matter, even better would be 'tinyurl.com/SiteThatHasSuchAndSuch' or something like that.
Hadn't thought of the expiring part though thats key to make sure there isn't wasted words I guess, nice, though for podcasts/conferences you would want it to be measured in months rather than hours.
You could also implement some kind of fake word-generation using common syllables, or word-combining (easier). Word combining is easy enough to do and will get you N^2 or N^3 options.
Unlikely to run out for a while due to good faith usage, but it would be pretty trivial to exhaust the word pool with an attack. Currently, it doesn't even check for dups - successive requests for the same URL produced different code words.
I'd think that's actually by design. If entering a duplicate URL forced it to reset the expiration, for example, you could effectively have a script that just kept submitting the URL and make a permanent link to whatever site you were targeting. A captcha could fix that (perhaps some kind of check for number of times a URL was re-submitted, and if too many, start doing CAPTCHA). Or a maximum time-period for a link to be active including refreshes (say something like 48-96 hours).
But yes, I imagine the word-pool can get exhausted fairly quickly under an attack.
I think that the maximal renewal time should be proportional to the expiration time.
If, for example, the original expiration time is 5 minute, during the first 5 minutes any new resubmission of the URL gets the same address, and the time is extended to 5 minutes. After these 5 minutes, the address is still available if it life was extended, but any new resubmission get another address.
In this way the shortcut is active between 5 and 10 minutes, and at any time there are at most two shortcuts for each original URL (for each expiration interval).
Sometimes the best way to break a bad habit is to enforce it