So you got this PC/Mac game and during install or when you’re first starting it, you’re asked to enter a Serial Number like WARZ-DOOD-IROK-4331. Errr….

I would like to indulge on the serial mistakes companies make when it comes to entering serial numbers and why this process, if done wrong, only helps to reinforce software pirates.

#1 – Serial Number is not trivial to locate. Either there is no mention whatsoever in the “Please enter your serial number” dialog where to find the Serial Number, or that information is wrong. It doesn’t happen very often but when it does, it’s a painful experience. There is no standard place where a serial number is printed but it’s very common to see them printed on the backside of the manual, at the bottom, or on one of the disks itself. Hopefully that disk isn’t in the drive while you’re asked to enter the serial number! Less frequent but very annoying are serial numbers printed on the inside of the cover pages, either the first or the last page, along with other text and not visually enhanced with a thick border, red color or something to that effect. One game i know hid the serial number on a label underneath one of the disks of the DVD box. This may actually be a good place if that disk is the first disk and the setup program asks you to enter the serial number right away.

#2 – Serial Number font makes it hard to differentiate certain characters. The game SpellForce i worked on suffered from this very unfortunate problem. Certain characters like 0 and O or 7 and 1 were so hard to differentiate, and printed in a font that was way too tiny and consisted of dots instead of lines (as if it was printed with a needle printer), that consistently users entered incorrect serial numbers. It was a customer support nightmare. A good serial number does not use look-alike characters and either print the zero with a slash inside or do not use either 0 or O in their serial numbers.

#3 – The Serial Number entry box is a simple textbox. Usually the serial number consists of dashes to seperate blocks of 3 to 5 characters. A simple textbox leaves it up to the user to enter the dashes and makes it hard to spot missing or extraneous characters in each block. Take a look at how Microsoft implemented the serial number entry boxes – each block of characters has it’s own box and the dashes are already printed between the boxes. The cursor advances to the next textbox when you filled in the exact amount of characters from the first box. This is the best way to ask users to enter a serial number and it should be standard with all other methods frowned upon and getting a 10% review score deduction if they don’t use it. Game companies, please learn this lesson!

#4 – Dashes are added automatically while entering the serial number. This is the poor man’s solution of Microsoft’s (and other’s) serial entry fields which uses several textboxes with the cursor advancing (see #3). In this case we have just one textbox but someone thought the user needn’t enter the dashes and so they are added while you are typing. It does help to get the number of characters per block right. However, the problem with automatically added dashes is that they’re not immediately visible and the user will type them anyway! Sometimes you’ll even end up with 2 dashes!

#5 – Dashes are not printed at all. In my opinion this and the following are the worst kind of mistakes. Your printed serial number contains dashes but while you enter it in the single textbox it does not allow you to type dashes. Some users may frantically try to type the dashes and get frustrated, they may even think their keyboard is broken. You’ll end up with a long chunk of non-seperated characters and it makes it very hard to spot any mistakes or missing characters. Game Developers: DON’T MAKE THIS MISTAKE!!!

#6 – Serial Number entry box is case sensitive. A serial number never contains lower-case characters. Any serial number entry box that prints the letters as they are typed, which is usually lowercase, is just downright dumb and stupid. I’ve seen it myself: users start entering the serial number, they notice that the letters are printed in lowercase, so they go back and delete them and then enter the characters with the SHIFT key held down. Of course this can lead to other mistakes, like holding the SHIFT key pressed while entering a digit. Major disaster! There is no excuse whatsoever not to automatically uppercase any letter entered in the textbox!

#7 – Serial Number has several entry boxes but cursor does not automatically advance. Someone tried to copy Microsoft’s system but forgot to implement the crucial element to advance the cursor to the next entry box once the correct amount of characters was entered in one. This is a user interface nuisance which simply need not exist. That is a 5-minute task anyone can implement even during a rush to get things done quickly (aka crunch).

#8 – Serial Number is entered using the game’s ornate font. This makes the characters not look at all like the ones that are printed and in some cases makes the characters hard to distinguish even if the serial number itself took care by not using characters like O and 0. Do not use ornate fonts for entering serial numbers, period.

#9 – The Serial Number contains upper and lowercase characters. Yes, seriously, WTF !?!?!?! Use a modern serial key generator service that adheres to certain usability standards. Serial Numbers with upper and lowercase characters should be outlawed.

#10 – The Serial Number entry boxes allow you to enter invalid characters. Developers already know which characters are allowed in the serial number and which aren’t, so why not filter them out? Do not allow the user to accidentally or incidentally type characters which can’t be part of the serial number, like any SHIFT+digit character if the users does happen to hold down shift while entering the key.

Let’s recap, a serial number should:

  • be all UPPERCASE
  • not use similar looking characters
  • be printed in a standard location (back of manual)
  • be printed in a readable and reasonably large font
  • be visually highlighted from surrounding text or images to make it easy to spot
  • not be printed on the disk if it may be in the drive when the user is asked for the serial number
  • not be printed under the disk in the DVD case if the user is asked for the serial number before having had to remove the disk during install

The User Interface Guidelines for entering Serial numbers are:

  • one textbox for each chunk of characters with dashes already drawn between boxes
  • cursor advancing to next textbox when exact number of characters has been entered
  • entered characters are automatically and properly uppercased
  • invalid characters are not allowed to be entered
  • uses a font that closely matches the printed font / does not use an ornate font

It’s really rather simple, so why do i have to see these mistakes repeated over and over again???

Tagged with:  

5 Responses to The 10 Default Serial Number User Interface Design Failures

  1. Jono says:

    Thanks for that Steffen, is there a good method to follow for actually generating the serial numbers in the first place? Is it as simple as generating a list, and then each product gets assigned one from the list, or do you use a rule to create them?

    • GamingHorror says:

      There are plenty of key generating services. I think typically the developer or publisher just creates n-thousand keys in advance for the amount of copies that are made in the factory and each copy gets printed one key from that list. A lot of developers also keep this list on a server so when the user connects to the Internet the key is verified to exist, but not verified that it is used with exactly one specific physical copy. In other words its never checked if the disk in the drive actually matches the serial number.

      Shareware author’s key generating services usually create them on-demand. ECommerce vendors offer to implement the most common key generating services within their checkout procedure so that a key is generated on the fly automatically during purchase, and the key is probably added to a registration list so the developer can later choose to invalidate the key if needed.

  2. Jono says:

    Very cool, that makes sense. On the fly during checkout is a great idea.

  3. Agree! The problem is of course that a lot of the things you suggested (no invalid characters, no lower/uppercase) make the entire system more hack-friendly. Don’t get me wrong – I am totally for usability. I’m just always hear hear stuff like this from stubborn developer geeks. Drives me nuts.

    Btw, you can even go further and simply require no Serial Number at all. You save yourself and your users a lot of trouble and the Serial Number won’t prevent any piracy anyway.

    And I agree that Microsoft does that perfectly nowadays. The Windows 7 serial numbers don’t even have o and 0 for specifically that reason – thank you!

  4. Chris says:

    I agree with everything, except one thing that annoys me.
    “Cursor advancing to next textbox when exact number of characters has been entered”
    This is fine for users that don’t know about the tab key, but power users must unlearn 15 years of automatically hitting tab at the end of each field.