Bar codes are used on everything from product labels to airline boarding passes. They provide value by embedding large amounts of information into small spaces. Anyone with the right scanning device can assess this information. Bar codes aren't perfect, however; they won't provide information if they're damaged; and they could introduce malware if they're hacked.
Smartphone apps are configured to scan matrix QR or "quick response" bar codes. This type of bar code is typically a square shape surrounding a two-dimensional grid pattern. The grid contains coded data. If someone embeds malicious software or malware into the code, any device scanning that code could potentially be hacked. Another disadvantage is that matrix bar codes don't work well on curved surfaces, because code elements can become distorted.
Linear bar codes are less complex than matrix codes. Laid out as simple lines in a one-dimensional, rectangular pattern, linear bar codes are commonly used to store product cost information at grocery stores and to track packages during shipping. A key disadvantage to linear codes is in their simplicity; they can't store the same amount of data as matrix codes. Linear bar codes are also cumbersome in size. Some products are so small that stamping or labeling them with a linear bar code is impossible.