I take your point about the ease of entering numbers on phones - although that may become less relevant as smart phones take over the world (on my low-end Android phone for example it's easier to enter letters rather than numbers in web forms).

My CouponCode algorithm embodies a number of trade-offs. I went for a base-32 encoding scheme to increase information density while avoiding having to use upper and lower case characters. The checkdigit on each part then adds extra data entry overhead but hopefully the instant feedback benefits outweigh that.

With a numbers only code, the base-10 encoding would significantly reduce the information density. So a 4-digit part could only encode a key-space of 1000 possible codes vs 32768 for my alphanumeric codes. To get the same keyspace as my three part codes (XXXX-XXXX-XXXX) a numeric-only code would need 5 parts (XXXX-XXXX-XXXX-XXXX-XXXX) which is probably a bit unweildy.


In reply to Re^2: RFC: Algorithm::CouponCode by grantm
in thread RFC: Algorithm::CouponCode by grantm

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.