D
Don Y
Guest
Any rules on designing a \"serial numbering\" scheme?
Strictly speaking, you only want to have a way of uniquely
identifying a particular unit. It should be readable by
a human as well as a machine.
The former likely means:
- a legible typeface with maximal spatial difference between glyphs
- set in a size large-enough to not require a magnifying glass
But, it also means choosing glyphs that are ALWAYS unambiguous.
E.g., if the print can be abraded, an \'8\' can be mistaken as a \'6\'.
Or a \'9\'. Or a \'3\'.
Of course, mixed alpha and numeric have additional problems -- not
the least of which is there often isn\'t any obvious *cue* that
tells the human \"this glyph is intended to be alpha so constrain
your recognition choices accordingly\".
But, there\'s nothing that says \"serial numbers\" have to be sequentially
issued. And, some value to having a sparse identifier space as it
helps catch minor mistakes. E.g., a credit card number of
1234 5678 9012 3456 is most likely invalid (who owns the \'1\' block?)
but 1234 5678 9012 4356 might be valid!
(Validity could be encoded in the design of the identifier space
*or* could just be verified by tracking all the *issued* identifiers)
Strictly speaking, you only want to have a way of uniquely
identifying a particular unit. It should be readable by
a human as well as a machine.
The former likely means:
- a legible typeface with maximal spatial difference between glyphs
- set in a size large-enough to not require a magnifying glass
But, it also means choosing glyphs that are ALWAYS unambiguous.
E.g., if the print can be abraded, an \'8\' can be mistaken as a \'6\'.
Or a \'9\'. Or a \'3\'.
Of course, mixed alpha and numeric have additional problems -- not
the least of which is there often isn\'t any obvious *cue* that
tells the human \"this glyph is intended to be alpha so constrain
your recognition choices accordingly\".
But, there\'s nothing that says \"serial numbers\" have to be sequentially
issued. And, some value to having a sparse identifier space as it
helps catch minor mistakes. E.g., a credit card number of
1234 5678 9012 3456 is most likely invalid (who owns the \'1\' block?)
but 1234 5678 9012 4356 might be valid!
(Validity could be encoded in the design of the identifier space
*or* could just be verified by tracking all the *issued* identifiers)