EZcode
- (Also search for ScanBuy etc., see the discussion page)

A EZcode is a matrix code (or two-dimensional bar code) created by ETH Zurich and was exclusively licensed to Scanbuy in 2006, company founded by Olivier Attia in 2000. It is a 2-dimensional code that was created and designed specifically for mobile camera phones because of its simplicity compared to other matrix codes. The EZcode is/was open in the sense that the general specifications of EZcode were published and the IP rights owned by Scanbuy, Inc. are/were not enforced.[1] The specifications to encode and decode EZcodes are/were openly available.
EZcode Properties
- Size: 11x11 modules ("giant pixels")[2]
- Payload Area: 83 modules[2]
- Data capacity: 76 bits[2]
- Minimum Physical Size: 0.5 inches or 1.27cm[2][3]
- Mode Used: Indirect (the code does not store the data, just an index number into a central database run by Scanbuy Inc.)[2]
(Note: This list refers to the general classification parameters in matrix code)
Decoder software
Scanbuy has made EZcode scanner software available for most camera phones and it is typically called ScanLife. The software decodes the image on the device, uploads the code index to a server which is sent to a database and then returns the listed command and data back to the phone. This all occurs in a short period of time, but the handset must have a data connection.
Usage
Initially EZcode was massively marketed by using it in various 3rd party campaigns in various countries including the United States, Mexico, some Latin American countries, Spain, Denmark, Italy, and France. These days it is simply the smallest code size in an array of similar offers from Scanbuy.[4]
Benefits and problems
Benefits
- A small camera or printer resolution is enough to encode an arbitrarily larger url or command due to the database lookup.
- The size or density of the code can remain the same, independent of the amount of information associated with it because of the database lookup.
- Scanbuy's income from companies paying for serial numbers in its database allows it to develop and maintain free scanner software and other utility programs for everyone.
- Scanbuy scanner software has already been installed on many phones and can be freely downloaded for almost any phone capable of running such a program.
Problems
- The entire system stands and falls with the ability of Scanbuy to stay in business and keep its lookup servers running reliably and efficiently.
- Privacy: Scanbuy can see all lookup transactions by any user scanning EZCodes published by any company. This is not clear in the EULA provided with its scanner software.
- Privacy: Scanbuy routinely maps the identity of the user to personal information and includes at least age, gender and household income in detailed access logs and url redirects provided to all paying bar code publishers[5]
- The EULA provided with Scanbuy's scanner software allows Scanbuy to change the EULA after acceptance without notifying the user.
- The user will require a data (internet) connection to access the code. Depending on their phone plan, someone may need to pay operator fees to make that connection.
Technical description
The following is based on the specification published by Scanbuy.[2]
An 11x11 EZCode consists of 11x11 modules (large pixels) arranged in a grid as follows:
y \ x | .. | .. | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | .. | .. |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
.. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. |
.. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. |
0 | .. | .. | X | __ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | __ | X | .. | .. |
1 | .. | .. | __ | __ | 7 | 8 | 9 | 10 | 11 | 12 | 13 | __ | __ | .. | .. |
2 | .. | .. | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | __ | X | .. | .. |
3 | .. | .. | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | __ | X | .. | .. |
4 | .. | .. | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | __ | X | .. | .. |
5 | .. | .. | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | __ | X | .. | .. |
6 | .. | .. | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | __ | X | .. | .. |
7 | .. | .. | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | __ | X | .. | .. |
8 | .. | .. | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | __ | X | .. | .. |
9 | .. | .. | __ | __ | 77 | 78 | 79 | __ | __ | __ | __ | __ | __ | .. | .. |
10 | .. | .. | X | __ | 80 | 81 | 82 | __ | X | X | X | X | X | .. | .. |
.. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. |
.. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. |
Symbol | Explanation |
---|---|
. | Minimum of 2 modules of white space around the code[6] |
_ | Always white module as part of synchronization pattern |
X | Always black module as part of synchronization pattern |
75 | Data bit no. 75, bit 0 is lsb, bit 75 is msb |
76 | Error checking bit no. 76, bit 76 is lsb and 82 is msb |
Black and white may be swapped (inversed) if the inversion includes the 2 modules of white space around the code.[6]
The error checking bits are computed by taking the sequence of all numbers from 1 and up, skipping those that are powers of 2 (1,2,4...); then for each remaining number in the sequence, look at the next data bit and xor the number if the bit is 1. This is a specific variant of a traditional (83,76,3) hamming code. This description of the encoding of the data appears to match the specification cited, but does not seem to match the sample EZcode included with this earliest version of this Wikipedia article and the result of scanning that code with Scanbuy's software.
The 76 data bits simply form a 19 hex digit serial number in a database on Scanbuy's server. This code is included in the lookup URL in an unspecified manner.
Using a central database rather than a distributed database (such as DNS) for the lookup provides Scanbuy with a way to collect money for the use of the system, while giving away all the other parts of the system free of charge. It also avoids the need to allocate blocks of serial numbers to each web site owner, thus slightly reducing the risk of running out of possible codes.
References
- ↑ Scanbuy promotional summary of the specification accessed 2009-09-13 at 13:00 UTC
- 1 2 3 4 5 6 Scanbuy's EZCode specification (Updated April 2009) accessed on 2009-09-13 at 14:00 UTC Archived November 22, 2009, at the Wayback Machine.
- ↑ FAQ entry: What size code should I choose? Accessed on 2014-09-14 at 8:56 UTC
- ↑ Scanbuy, inc (Scanlife) websize Accessed 2014-09-14 at 9:00 UTC
- ↑ Scanbuy promotional description of its data collection ability accessed 2009-09-13 21:45 UTC Archived September 11, 2009, at the Wayback Machine.
- 1 2 EZCode publishing guidelines accessed 2009-09-13 22:00 UTC
External links
- Scanbuy website Scanbuy's original website now redirects to www.scanlife.com.
- ScanLife website Scanbuy's main web site.
- getscanlife download site for Scanbuy's EZCode scanner for mobile phones.
|