Mobile Barcode Formats Review
Since I've made the Firefox extension for generating mobile barcodes, I thought I'd review the different barcode formats which are available.
New S60 3.0 devices are compatible with mobile barcodes, but which barcode formats are there, and which should you use to 'tag' your content?
I haven't researched it too thoroughly, so there's every chance I could be innacurate about some of the details, and I hope you'll correct me when I go in completely the wrong direction :o). My experiences are mainly from trying out the software and generators for each of the formats.
Standard 'shop' barcodes
I'm not going to give standard barcodes much of a review here, unless there's more demand for it, but surfice to say that standard barcodes are not very fit for purpose when it comes to 'data' instead of numbers. They are one-dimentional, which means that to encode a long string (eg. a website URL) it would be fairly large, and the reader for standard barcodes is pretty bad at recognising them.
DataMatrix (Semacode)

My experience of DataMatrix barcodes is from Semacode. It seems like this is one of the first, and more basic of the mobile barcodes. They're not very pretty... they look like noise/snow on a TV screen.
Semacode seems to be purely geared towards URLs, Once you start getting longer URLs or trying to encode other content the barcodes generated grow in size very quickly.
From my basic testing of the Semacode reader I couldn't get my 6680 to 'see' the codes I generated very consistantly. Also, when I had managed to get a consistant reading I tried reading it upside down and rotated 90 degrees and couldn't get a reading at all, so it seems there are not very good orientation markings on these barcodes.
- Wikipedia:
- Generator:
- Mobile Reader:
- Semacode
- Comes with S60 3.0 devices AFAIK
QR Code

The QRCode format looks to me to be designed fore more than just URLs. Small sections of textual data can also be rendered without making a barcode which is too huge, so a contact/calendar note could also be barcoded. The codes are also designed to be quick to read (the QR stands for Quick Response), which is ideal for using in places where you can't stand around trying and retrying to read it.
The three 'blocks' on the design of this format server a dual purpose. The first, and main purpose is to allow the reader software to work out the orientation automatically.
The second purpose that I can see, is identity. I have seen barcodes similar to the DataMatrix format above on delivery company packaging/dockets and other manufactured goods (underneath the battery in my 6680 for instance), so having a way to differentiate between formats/uses is important.
- Wikipedia:
- Generator:
- Firefox Extension - made by me
- QR Code
- Mobile Reader:
- No reader for S60 2.x or Java yet
- Comes with S60 3.0 devices AFAIK
Shotcode

Shotcode is a commercial barcode format, all the barcodes generated are circular (like a target).
All generated barcodes have an outer ring on the barcode design which says 'shotcode.com' which I think is a great idea, since if I didn't know anything about mobile barcodes I would look at any (shotcode/qrcode/semacode/other) and just think 'huh, what's that? oh well, nevermind'.
I was first shown a shotcode in an email from Xbox Live about Moto GP 2. They had taken up half the email with a huge shotcode (around 600px diameter). I immediately went to shotcode.com, installed the reader, and zapped the code... That would not have happened if it was either of the other barcode formats.
The reader is QUICK! I was surprised at the speed it found the shotcode, and even more impressed that it overlayed the live camera image with a crosshair directly over the target, following it while I moved in any direction.
The commercial part of the format comes from the content within the barcode. As you can probably guess from the example image above, it doesn't hold very much data... infact, it only holds a short ID number. The cunning part is that when you scan a shotcode, it goes to the shotcode site to lookup the ID, and then redirects to that URL. This means that they can easily track the usage of each barcode generated, and they do just that. A free code can have a maximum of 50 visitors a day, which is fine for a site like mine with not many visitors, but they would probably charge considerably to Microsoft for their Moto GP ad.
Conclusions and My Ideas
Identity
If we intend to succeed with QR Code (or DataMatrix) we need to find a nice way to add to the format's design in a similar way to Shotcode, so that users can identify a barcode from afar and not be confused when confronted with a bizarre arrangement of dots.
Format Preference
The format I would suggest people use for their own barcodes would be QRCode. The reason being that an open format should be used, which pretty much cancels out the use of ShotCode. The more identifiable of the other two formats is QRCode and it is also the more robust. Since the built in barcode reader on S60 3.0 devices supposedly supports both DataMatrix and QRCode barcodes there shouldn't be much difference between them, but I would urge people to steer towards one standard format, and that QRCode should be that format.
Naming
Like ShotCode and Semacode, a name needs to be thought of that can be used to describe the barcodes. Maybe MobiCode or something... I'm trying to think of a relevant name that doesn't end with 'Code' but I can't think of any, maybe you can think of a better name?




Comments
I am looking for someone like yourself to do some work on a project of mine. We will be using scanners (Toyota created) to read QR codes of mobile screen. Please provide me your email if you are interested to have a chat.
Great post. I have just recently started doing my own <a href="http://www.aclabels.co.uk">barcode label design</a> and label printing, so am really keen to read up on all types of labels and printing. Keep up the great posts!