URL shortening services are very popular. They basically redirect a short URL – e.g. bit.ly/ABC123 – to a longer URL. (And keep logs, which can be monetized, hence Twitter’s t.co service and the requirement that tweets use it.) Most URL shortening services use the following set of characters in the unique tag: [A-Za-z0-9] – a total of 62. 6 characters is a normal number for the tag.
However, when reading such a short URL to someone, e.g. over the phone or across a conference table, a couple of problems can occur:
- The person reading may misread; they may read “l” for “1” or “0” for “O”.
- The person reading may under-specify, most commonly by not expressing the case
This makes reading out such short URLs a pain, as one has to make sure to specify case correctly, and to distinguish between similar-looking characters in a possibly-unfamiliar font, or in handwriting. These problems could be avoided, and URL reading would be much easier, if the set was instead [a-km-np-z0-9], and the shortener service treated a submitted tag as case-insensitive.
This would give a choice of only 34 characters. Surely that would mean the tag would have to be much longer? Actually no:
- 62^6 = 56800235584
- 34^6 = 1544804416
- 34^7 = 52523350144
Short URLs could be made more transmittable at the cost of only being 1 character longer. I think some service might find that worth doing…