This application supports many different types of barcode, including those used to identify products in commerce. Originally barcodes systematically represented data by varying the widths and spacings of parallel lines, and may be referred to as linear or one-dimensional (1D). The Information encoded often includes web addresses, geographical coordinates, and small pieces of text, in addition to commercial product codes. The Android-based system is given similar functionality to a hardware barcode reader.