Onderzoekers van het MIT Media Lab hebben een vervanger voor streepjescodes ontwikkeld. De nieuwe barcodes, die Bokodes genoemd worden, zijn uitgerust met een lens die, samen met de lens van een camera, informatie leesbaar kan maken.
De nieuwe optische barcodes zijn alleen leesbaar met behulp van digitale camera's, waarmee ook de hoge informatiedichtheid van de Bokodes benut kan worden. Daarnaast kunnen de optische barcodes van relatief grote afstand - tot enkele meters - uitgelezen worden. Verder zouden de Bokodes niet de privacy-problemen van bijvoorbeeld rfid-tags met zich meebrengen. Het enige nadeel zijn de nog vrij hoge productiekosten: prototypes kosten enkele dollars per stuk, maar die kosten zouden in massaproductie tot ongeveer vijf dollarcent kunnen dalen.
In de eenvoudigste vorm bestaat een Bokode uit een eenvoudige lens voor een gecodeerd bericht met een diameter van slechts enkele millimeters. Daarnaast zijn ook met een simpele led verlichte Bokodes mogelijk. De lens van de Bokode fungeert als objectief en de lens van de camera als oculair; in combinatie vormen de twee in feite een soort microscoop.
De informatie wordt zichtbaar gemaakt met behulp van een fenomeen dat bekendstaat als het bokeh-effect: lichtbronnen die niet in focus zijn, worden als cirkelvormig element op de camerasensor zichtbaar. Vooral de lensopening is voor deze cirkelvorm verantwoordelijk. De camera die de code fotografeert kan ongemodificeerd blijven, maar een Bokode die in focus bekeken wordt, is vrijwel onzichtbaar: pas als de focus op oneindig is ingesteld, wordt de informatie uitvergroot zichtbaar. De camera van een mobiele telefoon kan ook gebruikt worden, maar de afstand waarop de Bokode dan nog leesbaar is, is dan wel een stuk kleiner.
Dankzij de gebruikte lenzen en het bokeh-effect kunnen Bokodes niet alleen meer informatie dan conventionele streepjescodes bevatten; de weergegeven informatie is ook afhankelijk van de hoek waarin de Bokode wordt gefotografeerd. Op die manier kan informatie worden vrijgegeven die afhankelijk is van de positie van de waarnemer.
