Just to clear things up and to get things started, I thought I'd formally introduce a little project I'm working on which I have, for now, ingeniously named the "QR Code Service".
If some of the details look like you're reading a Wikipedia article then please forgive me but I have used some summarised references from there as my source of information.
The objective behind this project is to create a common interface \ facade for utilising and implementing some of the existing APIs out there that provide QR Code creation and decoding functionality for your projects.
It is not intended to facilitate your own code creation and decoding without requiring a 3rd Party service on your own server for this phase although whilst doing some research for this project I discovered that Ryan Stille has already created a project called 2DBarcode_j4l which uses the J4L Barcode Package. I may at some stage decide to implement this into the project but for now I will stick to using my chosen 3rd Party service providers for now.
I will implement a solution for each provider one at a time and when ready release each individual class \ component as part of the entire project.
What is a QR Code?
QR Code, meaning Quick Response, is a 2D code that was developed by a Toyota subsidary in Japan (Denso-Wave) in 1994. I've provided some samples below. Why not try them out - see what they do?
QR Codes are capable of storing data in the following formats \ limitations:
- Numeric (7089 characters)
- Alphanumeric (4296 characters)
- Binary (2953 bytes)
- Kanji/Kana (1817 Chinesse characters used in the modern Japanese writing system)
The ISO/IEC 18004:2006 Standard document can be purchased here, but this exceeds the scope of this initial post.
So what can I use it for?
Originally designed to help track vehicle parts during manufacturing, QR Codes are one of the most popular types of 2D Barcode.
They are now used in all types of marketing material, informational signs \ documents and any other material that requires simple data capture.
A very simple convenience use case would be creating a URL or vCard QR Code and using it on business cards so recipients don't have to manually type your details into their phone or computer.
Using a smart phone with a camera and barcode scanning application, anyone can utilise these codes for any purpose. So accessibility should not be an issue. Target end users should already have the tools they need to decode your QR Codes to access the information you wish to provide them which makes QR Codes so appealing. I'm currently using my iPhone 3GS with the RedLaser Application.
I have looked into the existing 3rd party providers and have drawn up a list of who I will support in the development of this application.
I've simply shortlisted those whose API's provide the most flexibility and features in terms of being able to encode and decode information.
More to follow on this in my next post but if anyone has any preferences please let me know and I'll be glad to consider them.
The project will be developed using mainly ColdFusion, but will also use HTML5 and jQuery for the presentation layer and I will possibly look at using CouchDB for providing some persistence.
Next I will post about the application itself and how I plan to build it including class diagrams for any objects etc.
I will also be revealing more information about the 3rd Parties I plan to use for providing the encoding and decoding functionality.