Å skanne matvarers strekkoder med kameraet du allerede har
En strekkodeskanning som fungerer, kjennes øyeblikkelig, og en som ikke fungerer, kjennes ødelagt uten grunn. Mesteparten av forskjellen er mekanisk: hvilken symbologi som er på pakken, hvor mye lys som når den, og om nettleseren på akkurat den telefonen har sin egen strekkodeleser. Denne siden dekker hva matemballasje faktisk bærer, hva du bør endre når en skanning ikke vil ta seg, og alternativet som alltid fungerer.
Formatene på matemballasje
Mat i dagligvarehandelen bærer én av et lite, fast sett med symbologier. EAN-13 er den trettensifrede koden som brukes over hele Europa. EAN-8 er den korte versjonen på pakker som er for små for tretten sifre. UPC-A er den tolvsifrede nordamerikanske motparten, og UPC-E er en komprimert, åttesifret form av denne. ITF-14 finnes på ytteremballasje snarere enn på forbrukerpakker.
En skanner trenger bare disse. Det siste sifferet i en EAN- eller UPC-kode er et kontrollsiffer beregnet fra de andre, noe som er en stille viktig detalj: en feillest eller feiltastet kode feiler nesten alltid denne kontrollen i stedet for å matche feil produkt uten varsel. En skanner som validerer kontrollsifferet, er en som ikke med selvsikkerhet viser deg kaloriene til feil matvare.
Når kameraet ikke vil ta seg
I omtrentlig rekkefølge etter hvor ofte det er årsaken: for lite lys, slik at strekene mangler kontrast; en krummet overflate, som bøyer strekene fra hverandre — en hermetikkboks eller flaske skanner vanligvis best på den flateste delen, eller rotert slik at strekene går på tvers av krumningen i stedet for langs den; for nært, som er den vanligste feilen, siden hele koden, inkludert den lyse margen på hver side, må få plass i bildet; en skrukket folieemballasje, som kan trenge å flates ut med tommelen; og en blank innpakning som reflekterer et takarmatur rett tilbake, noe som løses ved å vinkle den noen grader.
Hvis ingenting av dette fungerer i løpet av noen sekunder, slutt å kjempe mot det. Sifrene er trykt under strekene nettopp for denne situasjonen.
iPhone og Android skanner ikke på samme måte
Chromium-baserte nettlesere — Chrome på Android og på skrivebordet, Edge, og resten — eksponerer en strekkodeleser som en nettside kan bruke direkte. Det er raskt, og det er ingenting å laste ned.
Safari har ikke det API-et, så en side som ønsker å skanne på en iPhone må ha med sin egen dekoder kompilert til WebAssembly. Det fungerer godt; den laster bare ned én gang, og det er derfor den første skanningen på en iPhone kan ta litt lenger tid enn de påfølgende. Uansett skjer avkodingen på enheten: kamerabildene leses og forkastes på telefonen, og en skanner har ingen grunn til å laste opp et bilde av hånden din som holder en boks.
Én ting er likt overalt: en nettleser gir kun fra seg kameraet over en sikker forbindelse, og den vil be om tillatelse første gang. Å avslå trenger ikke være slutten — en anstendig skanner lar deg fortsatt skrive inn nummeret for hånd.
Tallet fungerer like godt
Å skrive inn tretten sifre høres tregere ut enn å skanne, og for ett produkt er det knapt tregere i det hele tatt. Det fungerer også der kameraet ikke kan: ingen kamera på enheten, avslått tillatelse, en skadet etikett, et mørkt skap.
Og det har én fordel verdt å vite om. Kontrollsifferet gjør at en skrivefeil nesten alltid fanges opp umiddelbart i stedet for stille å returnere en annen matvare. Hvis et nummer avvises, les det siste sifferet på nytt før du leser resten på nytt.
Hva skanningen kan og ikke kan fortelle deg
En strekkode er et produktnummer. Alt annet — navnet, merket, pakningsstørrelsen, verdiene per 100 g — kommer fra hvilken database nummeret slås opp i, vanligvis Open Food Facts for ferdigpakket mat. Så kvaliteten på en skanning er egentlig kvaliteten på en oppføring noen har skrevet inn, og det ærlige en skanner kan gjøre er å si hvilken database som svarte og når den oppføringen sist ble redigert.
Mat uten strekkode er et annet spørsmål med en annen kilde: USDA FoodData Central, som er fritt tilgjengelig (public domain), dekker generiske varer — rått kjøtt, grønnsaker, melk i glass — som ingen emballasje noensinne har hatt en kode for.
Ofte stilte spørsmål
Hvilke strekkodeformater finnes på matvareemballasje?
EAN-13 (tretten sifre, Europa), EAN-8 (åtte, små pakninger), UPC-A (tolv, Nord-Amerika), UPC-E (åtte, komprimert UPC-A) og ITF-14 på ytteremballasje. En matvareskanner trenger akkurat disse og ikke mer.
Hvorfor skanner ikke iPhonen min en strekkode i nettleseren?
Safari har ikke noe innebygd API for strekkoder, så siden trenger sin egen WebAssembly-dekoder; den lastes ned én gang og fungerer deretter. Sjekk også at siden bruker en sikker tilkobling, og at du har gitt tilgang til kameraet — Safari spør for hvert enkelt nettsted.
Laster skanningen opp et bilde noe sted?
Det trenger den ikke, og en nettleserbasert skanner har ingen grunn til det. Kamerabilder dekodes på enheten og forkastes umiddelbart; det er bare det resulterende tallet som slås opp. kcalkeep fungerer på denne måten, og oppslaget går rett fra nettleseren din til matdatabasen.
Flere guider
Andre ting vi har laget
Også på engelsk, laget av oss.
Også på engelsk, laget av oss.
Også på engelsk, laget av oss.
Også på engelsk, laget av oss.