Barcode file transfer
This page is about 2-Dimensional Barcodes (square or rectangular arrays of dots), and how people use them to transfer a few Kilobytes of information from place to place, or to publish machine-readable information in books and magazines.
The method could be used by the One Laptop Per Child schools or project, to send an email message to another school, some information or a small program in the form of a 2-D Barcode. It could be at the end of a printed paper-letter, in a newsletter, circular, etc. The recipient reads the messages into their computer via a scanner or digital camera plus 2D barcode-reader software.
Introduction
People are already familiar with 1-Dimensional barcodes, as used on products in supermarkets and stores. These store a few dozen bytes of information as a row of thick and thin stripes, with error-check information.
Some people may not have heard of 2-Dimensional barcodes, which can store far more data (over 2000 bytes) in a square or rectangular pattern of black and white square dots.
This page is about 2-Dimensional, square or rectangular barcodes, and how they can be, and already, are used to transfer a few Kilobytes of information from place to place or publish that information. The method could be used by the One Laptop Per Child schools to send an email message, some information or a small program in a 2-D Barcode, printed on a paper-letter, newsletter or circulars, etc. The recipient reads the messages into their computer via a scanner or digital camera and 2D barcode decoding software.
What do they look like?
They look like a a block of random black and white dots, either a square or rectangular block dependent on the Barcode Standard. Please see Wikipedia: PDF417 (a 2D Barcode Standard with rectangular barcodes), Wikipedia: Data Matrix (another 2D Barcode Standard with square barcodes).
How big are they?
Various sizes, some about 1 inch x 1 inch, or 2.5cm x 2.5cm. It depends on how much information is needed. Large ones could be printed, so that cheaper low-resolution cameras and scanners can read them.
How are they created?
They can be created in several ways :-
- Enter your message into a form on a 2d Barcode website, click a button and create an image, which you can cut and paste into letters, magazines, etc. See for example tec-it.com 2D Barcode creation demo.
- Use 2D Barcode software to read any kind of file and produce an equivalent barcode picture file. The information can also come from text you type into a form.
- Install a 2D Barcode font or a printer driver, so that any program, such as your word processor can print your text file as if it were being sent to a normal printer, but it creates a barcode image instead. You then copy the image file into letters or other documents and print them out.
How does the message get to it's recipient
- By mail (to the intended recipient or to be read and passed on by email)
- By hand delivery of letters between schools (a paper 'Sneakernet'}
- By publishing a magazine, newsletter, book, etc.
How does the recipient read the information?
- Using a scanner (which people often have as part of a printer-scanner combo)
- Using a camera-phone
- Using a digital camera
2D-barcode software is needed to decode them and write the information to a file or display it.
How much information can be transferred?
Just over 2000 bytes per 2D-Barcode (half a page of text), but you can print several barcodes on a page.
Existing Uses
- Printed in magazines to give details of pop-bands, website-addresses, special offers, software, ring-tones, games, etc.
- Printed on stickers and stuck on notice-boards, lampposts, bus shelters, etc, then people can take a picture with their camera phone. Software previously downloaded into the camera phone can decode it and display the message on the camera's screen, or display a web-address, photo or play some MIDI ring-tone/music. The software comes from a mobile phone service or via the internet and a PC USB cable, bluetooth or infra-red link. Some people are attracted to stickers by the fact that they don't know what stickers without text-labels contain until they photograph them and decode them.
Potential uses
- For schools with no internet-access, they could add a barcode to the end of a printed letter, to send any information which needs to be in machine-readable form. For example, where they want the recipient of the letter to email a message to a whole group of people or upload a small web-page to a website.
- When a local education authority sends out memos to schools, they could include files.
- Stickers on the back of OLPC laptops, servers and other equipment could give information about the owner, to identify the owner of an item sent away for repair.
- To identify items which could become lost property.
- Schools could strike a deal with local newspapers to print some information of interest to schools every day/week as 2D-barcodes. It benefits the schools and may benefit newspaper sales.
- Books about programming often contain listings of programs. The book could have 2D-barcodes to save people typing in the programs, having to buy a CD or getting them from the internet.
- Books or articles about educational activities could contain programs, music files, text files, web-pages, photos, etc within 2D-barcodes.
- I leave it to you to think of other uses.
Intellectual property rights and open-source
There are several standards for 2D-barcodes. Some are clearly the commercial property of one company or organization and covered by patents and licenses. I don't know whether there are any open-source standards and software.
Which OLPC schools can use it?
Printing and sending barcodes
The sender must have a printer and the recipient must have a camera or scanner and software. This limits which OLPC schools can use it. Not everyone will have this equipment, but some might. I'm just putting 2D-barcodes here so you can think about whether they would be useful or not.
Using information from 2D barcodes in mass publications
By camera-phone
Mobile phones are more common in some developing countries than landline phones. Anyone with a camera phone can take a photo of a 2D barcode in a magazine/book/newletter/sticker, decode it in software and send the info by USB cable to a computer. Alternatively, they can send the photo to the computer and software in the computer can decode it. They could also send the photo to someone else's mobile-phone.
By digital camera
Same as camera-phone, but using a digital camera.
How do I know the information is valid?
2D-barcodes include extra error-detection and correction bits, so the software knows whether a barcode is valid or unreadable. It means you can be sure any message that you send will be read without any errors or changes. This is a good thing when sending names, addresses, phone numbers, email-addresses, web-addresses, product part-numbers, ISBN book numbers, etc.
Further info
This field is changing so fast, to find further info, it's best to just do searches for terms like PDF417, Data Matrix, 2d barcode software, 2d barcode fonts, pdf417 freeware, etc, and see what turns up.
Here's a few items that I found :-
Wikipedia: Barcode - 2D barcodes
Wikipedia: Data Matrix and many other formats.
Wikipedia: Semapedia About a company that links 2D barcodes from camera-phone pictures to wikipedia articles.
Source Forge: Search for PDF417 projects - open source s/w to write and read/decode PDF417 2D-barcodes, Java software, etc.
--Ricardo 15:20, 2 September 2007 (EDT))