I'm interested in generating short codes (up to 6 characters) which are unambiguous for human readability:
i.e.: 2Z8B5S would be a very bad code because B looks a lot like 8 and 2 looks a lot like Z, etc.
A good code would be something like: AE37HT, say.
Obviously, I could try to figure it out myself, but I was looking to see if there were any studies by people like NASA or whatever.
If you also have any references about how the readability is affected by color, typeface, size and distance from viewing (I'm looking at something potentially about an inch high from a distance of about 6 feet), that would be helpful as well. On the monitor or possibly in print, too.
I found this set of guidelines, but it doesn't have any empirical results which I could turn into a table to generate the codes:
http://www.usabilitysciences.com/usability-of-codes-passwords-numbers-and-letters/
Frankly, I think the most important factor here is choosing the correct font.
If your goal is purely legibility, it will be a matter of picking a font that's preferably:
1) Fixed width. For picking out random numbers/letters, fixed width helps tremendously, since the kerning isn't changing as you move across the font.
2) Use a font with separate 0/O looks - those definitely mess people up. Look for other letter/number combinations that are similar. Potentially, leave 0/O out of the mix just for this reason.
3) Choose a font with subtle serifs and weight changes.
For some guidelines on legibility, see this page.
With the right font, I think you could pick any letter/number combination and have it be understandable clearly (other than potentially 0 and O). I believe the 8/B, 5/S and other samples would be clear in the correct font.
The other thing you could consider would be to use one color for letters and a second for numbers - this would give clues to the potentially ambigous number/letter combinations. I'd make this a subtle cue, though, as having a drastic color change will draw attention to letters or numbers, which will hurt the overall readability.
Edit after reading your comment to another answer:
I only need a few thousand codes, so I'm not terribly worried about the size of the domain
If this is the case, I would recommend leaving the entire number set, and just selectively adding in letters that have no visual (or aural, if you're reading these) similarity to numbers. With 6 digits, even with numbers, you have more code possibilities than you need. Selectively adding in letters to help differentiate will be easier than trying to selectively remove some. I would probably stick to 1-9, A, Z, R, W, and other letters that don't match up with numbers.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With