All you need to know to leverage barcodes. in your apps



Similar documents
May Prepared: Product version: Keyword: Accelio Present Central 5.4. Original value:

NEECOM BAR CODES, RFID, MOBILE COMMERCE AND THE OBLIGATORY INTERNET OF EVERYTHING

Barcodes principle. Identification systems (IDFS) Department of Control and Telematics Faculty of Transportation Sciences, CTU in Prague

Xi2000 Series Configuration Guide

Let s talk symbology. A guide to decoding barcodes

The Barcode Printing option may be purchased for an additional cost. You will receive a CD that you will use to activate this feature.

Item Level Marking SUMMARY OF IMPORTANT TERMS: - ITEM LEVEL BARCODES:

The ID Technology. Introduction to GS1 Barcodes

Laser Scanner Programming Guide (SE923 laser engine)

BAR CODE GUIDELINES Revision 12/18/2015

Back to Basics: Introduction to Industrial Barcode Reading

SocketScan Software Advanced Programming Guide

The Use and Standardization of Barcodes in Railroad Wheel and Wheelset Manufacturing. Tim Epperson

BARCODE PRINTING SET UP BARCODE PRINTING

FLEETMATE. Overview. Barcode Scanner. CUSTOMER GUIDE: Barcode Features

Drafted by the ISBN-13 Task Force of the Book Industry Study Group, Inc.

How to create a barcode for your cases

APPENDIX E COMMAND BARCODES

Register your product and get support at DPM8500. Barcode scanner configuration guide

BI-300. Barcode configuration and commands Manual

WHITE PAPER. GS1 DataBar in the Retail World

CHAPTER I INTRODUCTION

Configuring a Random Weight Bar Code

HHSL Barcode Guidelines Version September 2, 2014 HHSL Barcode Guidelines Version September 2, 2014 Page #1 of 14

Create!form Barcodes. User Guide

Wasp Labeler User Manual

Ten steps to GS1 barcode implementation. User Manual

Barcode Command. ConnectCode Barcode Software.

Barcodes in the Classroom

GS1 QR Code. GS1 US Guideline

AN INTRODUCTION TO THE GLOBAL TRADE ITEM NUMBER (GTIN) TABLE OF CONTENTS

Understanding barcodes.

Solutions Lab. AXIS Barcode Reader Beta 0.3

Bar Codes For Inventory

Laser Barcode Scanner

Index...1. Introduction...3. Installation- Keyboard Wedge...3 RS USB...3. Default Setting for each barcode shown as below:...

Barcode option details & costing February 2008

Identification of products that require activation at the Pointof-sale. The global language of business. in Europe

MetroSelect Programming Guide. MLPN 2407/December 1998

GS1 DataBar: The Future of Retail Product Identification

S302D. Programming Guide. 2D Imaging Barcode Scanner. Advanced Handheld High-Speed Laser Scanner

The Truth About UPC Bar Codes

dlsoft Barcodes By dlsoft

BIXOLON Sales Guide INTELLIGENT & COMPACT SLP-TX inch Thermal Transfer / Direct Thermal Barcode Label Printer. SG_SLP-TX420_EN_Mar14

All V7 registers support barcode printing, except the Sharp 410/420 1A ROM and that limitation is based upon the register.

Wireless Scanner. User s Manual - MS910 - Version 1.0

Programming Reference Guide HP USB Barcode Scanner

Enhanced Bar Code Engine

QR Codes and Other Symbols Seen in Mobile Commerce

BARCODE READER V 2.1 EN USER MANUAL

Pcounter Mobile Guide

Bar Codes. A Primer for Document Management

Click to print from Microsoft Word, Excel, Outlook or our easy-to-use Label Creation Software (included)

Allen-Bradley. Bar Code. 2-D Hand-Held. Programming Guide. Bar Code. Scanners. (Cat. No HTG-4)

PL/PDF. PL/PDF Barcode User's Guide. v4.0.0

Tutorial 8: Setting Up a Barcode Scanner

Wasp Labeler Getting Started

MIRROR VT/5250 Terminal Emulation

QuickScan i. QD2100 Barcode Imager. Product Reference Guide

Frequently Asked Questions

Understanding barcodes. White paper

Softek Software Ltd. Softek Barcode Reader Toolkit for Android. Product Documentation V7.5.1

TAKE CONTROL OF YOUR ASSETS. move your enterprise forward

Gun's & Ammo Tracker. Copyright DERISCO Enterprises

Presto User s Manual. Collobos Software Version Collobos Software, Inc!

The process to convert a computer message into a bar code symbol is a fourstep

Operating Manual BCSi-1 *

User Manual. BarcodeOCR Version: September Page 1 of 25 - BarcodeOCR

Dynamic Barcodes. User Guide

How To Fix Out Of Focus And Blur Images With A Dynamic Template Matching Algorithm

E-i. Section E. Code Formatting. E/D = Enable/Disable T/DNT = Transmit/Do Not Transmit EX/DNEX = Expand/Do Not Expand

Windows Driver Manual SRP-330 Thermal printer Rev. 1.02

Ian Hawdon Physics Page 1 of 20 Barcodes

dlsoft Barcodes By dlsoft

Barcode Labels Feature Focus Series. POSitive For Windows

Middleware- Driven Mobile Applications

Desktop thermal ticket printers for the event ticketing industry

4 Ch. HD Network Video Recorder with 1TB HDD, HDMI Output, 4 Night Vision 720p Cameras and Free Night Owl Pro App

Scanner Configuration

CT20 Barcode Scanner User Manual

Laser Barcode Scanner User s Manual

Barcode Based Automated Parking Management System

FreeForm Designer. Phone: Fax: POB 8792, Natanya, Israel Document2

OmniPage Capture SDK s enhanced barcode recognition capabilities.

Integrated Scanner Programming Guide

QUICK START GUIDE. Wasp WLS

METROLOGIC INSTRUMENTS, INC. MetroSelect Configuration Guide

BUSINESS MONITORING SYSTEM FOR LOGISTICS COMPANIES.

AT&T Mobile Barcode Services

(888) CALL TOLL FREE. We offer Printed Barcode Labels for your Barcode Numbers. New Orders. Repeat orders HOW TO ORDER BARCODE LABELS

Barcode Definitions. Labels: Getting Started. Overview. Defining a barcode definition

TaoTronics Laser Barcode Scanner User s Manual

Developing and deploying mobile apps

The K600i ink jet printer

Transcription:

All you need to know to leverage barcodes in your apps

Oliver Drobnik apple ios Development & Consulting @cocoanetics cocoanetics.com Full-time ios developer and blogger since January 2010

44% off all books at manning.com through Dec 3rd with promo code mobicftw Tweet about my talk with #barcodes_ios for chance to win one free copy

Barcode Basics

What do these have in common? 40th Anniversary Oliver? UPC July 24, 1974 June 26, 1974

Advantages of Barcodes tried and true technology inexpensive to add to packaging reliable (check digits, redundancy) passive: no privacy leakage scanning technology widely available

UPC 1973 EAN 1977 JAN 1978 2009

G T I N Global Trade Item Number

GTIN Standard maintained by GS1 International GTIN is the number/symbol UPC = GTIN-12 EAN, JAN = GTIN-13 GTIN-12 plus leading zero = GTIN-13 GTIN-8 needs special permission

GS1 International Big renaming of organizations in 2005: Universal Product Code Council became GS1 US European EAN Association became GS1 International 4 years later UPC, EAN and JAN were unified to GTIN Most countries have national GS1 office with 3-digit prefix Manufacturer code assigned by national office Product number chosen by manufacturer

Universal Product Code as GTIN-12 (aka UPC-A)

Model Name as Code39

Top Assembly (?) Number as Code39

Serial Number as Code39

Universal Product Code as GTIN-12

Part Number as Code128

Serial Number as Code128

1D Barcodes Bars and Spaces Longer lines: Marker bars Can be scanned with laser that touches all lines CCD simulates the scan line Numeric or alpha-numeric Caption: human-readable text

2D Barcodes No bars, but 2D squares Smallest element: Module Cannot be read with laser Requires CCD camera Arbitrary data

Barcodes supported by ios Shortened Standard Code 39 Stacked Lines Squares EAN-8 EAN-13 Code 39 mod 43 Code 39 (Full ASCII) UPC-E UPC-A Code 39 mod 43 (Full ASCII) Code 93 QR Code 93 (Full ASCII) GTIN Family Code 128 PDF417 Aztec Numbers Alpha-Numeric Arbitrary Data 1D 2D

Barcodes supported by ios Shortened Standard Code 39 Stacked Lines Squares EAN-8 EAN-13 Code 39 mod 43 Code 39 (Full ASCII) UPC-E UPC-A Code 39 mod 43 (Full ASCII) Code 93 QR Code 93 (Full ASCII) GTIN Family Code 128 PDF417 Aztec Numbers Alpha-Numeric Arbitrary Data 1D 2D 1973

Barcodes supported by ios Shortened Standard Code 39 Stacked Lines Squares EAN-8 EAN-13 Code 39 mod 43 Code 39 (Full ASCII) UPC-E UPC-A Code 39 mod 43 (Full ASCII) Code 93 QR Code 93 (Full ASCII) GTIN Family Code 128 PDF417 Aztec Numbers Alpha-Numeric Arbitrary Data 1D 2D 1974

Barcodes supported by ios Shortened Standard Code 39 Stacked Lines Squares EAN-8 EAN-13 Code 39 mod 43 Code 39 (Full ASCII) UPC-E UPC-A Code 39 mod 43 (Full ASCII) Code 93 QR Code 93 (Full ASCII) GTIN Family Code 128 PDF417 Aztec Numbers Alpha-Numeric Arbitrary Data 1D 2D 1981

Barcodes supported by ios Shortened Standard Code 39 Stacked Lines Squares EAN-8 EAN-13 Code 39 mod 43 Code 39 (Full ASCII) UPC-E UPC-A Code 39 mod 43 (Full ASCII) Code 93 QR Code 93 (Full ASCII) GTIN Family Code 128 PDF417 Aztec Numbers Alpha-Numeric Arbitrary Data 1D 2D 1982

Barcodes supported by ios Shortened Standard Code 39 Stacked Lines Squares EAN-8 EAN-13 Code 39 mod 43 Code 39 (Full ASCII) UPC-E UPC-A Code 39 mod 43 (Full ASCII) Code 93 QR Code 93 (Full ASCII) GTIN Family Code 128 PDF417 Aztec Numbers Alpha-Numeric Arbitrary Data 1D 2D 1991

Barcodes supported by ios Shortened Standard Code 39 Stacked Lines Squares EAN-8 EAN-13 Code 39 mod 43 Code 39 (Full ASCII) UPC-E UPC-A Code 39 mod 43 (Full ASCII) Code 93 QR Code 93 (Full ASCII) GTIN Family Code 128 PDF417 Aztec Numbers Alpha-Numeric Arbitrary Data 1D 2D 1994

Barcodes supported by ios Shortened Standard Code 39 Stacked Lines Squares EAN-8 EAN-13 Code 39 mod 43 Code 39 (Full ASCII) UPC-E UPC-A Code 39 mod 43 (Full ASCII) Code 93 QR Code 93 (Full ASCII) GTIN Family Code 128 PDF417 Aztec Numbers Alpha-Numeric Arbitrary Data 1D 2D 1995

Barcode Scanning

AV Foundation Obj-C AV Foundation Core Audio Core Media Core Animation C

Camera! AVCaptureDevice initwithdevice: AVCaptureInputPort Meta AVCaptureDeviceInput ports AVCaptureInputPort Video addinput: inputs I'm the manager! inputports inputports AVCaptureSession AVCaptureConnection AVCaptureConnection outputs output Preview addoutput: AVCaptureVideoPreviewLayer AVCaptureStillImageOutput connections session connection Book Chapter 2 Sample App: Camera

Camera Authorization since ios 7, but only for device sold in China since ios 8 for all devices not determined - request authorization authorized - all is fine denied - user s choice restricted - higher power s choice deal gracefully with loss of functionality

Camera! AVCaptureDevice initwithdevice: AVCaptureInputPort Meta AVCaptureDeviceInput ports AVCaptureInputPort Video addinput: inputs I'm the manager! inputports inputports AVCaptureSession AVCaptureConnection AVCaptureConnection outputs output Preview addoutput: AVCaptureVideoPreviewLayer AVCaptureStillImageOutput connections session connection Book Chapter 2 Sample App: Camera

Camera! AVCaptureDevice initwithdevice: AVCaptureInputPort Meta AVCaptureDeviceInput ports AVCaptureInputPort Video addinput: inputs I'm the manager! inputports inputports AVCaptureSession AVCaptureConnection AVCaptureConnection outputs output Preview addoutput: AVCaptureVideoPreviewLayer AVCaptureMetadataOutput metadataobjects Delegate connections session connection Gets informed about all detected metadata objects Your delegate Book Chapter 3 Sample App: QRScanner

Metadata Objects 2D Barcode Face 1D Barcode

Scanning Takeaways Delegate called separately for faces and barcodes Use background queue if doing CPU-intense work 1D codes use multiple scan lines, max. 1 recognized 2D codes can be detected anywhere in video frames, up to 4 recognized (except for PDF417) Performance better scanning for fewer types Optimize the UI for 1D or 2D: Rect of Interest

Barcode Generation

Why would you? Nice version of an item s GTIN (instead of photo) Data transfer: show dynamic 2D code for other phone to scan it (like Passbook) AirPrint QR Codes to A4 sticker sheet AirPrint single serial number sticker (e.g. for a hardware inventory tracking app) Extend the scannable universe

2D Barcode Generation Generate with Core Image Only CIQRCodeGenerator documented creates CIImage, need to render into CGImage and scale afterwards Aztec or PDF417 private API Book Chapter 5 Sample App: QRBuilder

1D Barcode Generation No public APIs in ios Generate with BarCodeKit Free for owners of my book Draws to bitmap or PDF context BarCodeKit creates: Codabar Code 11 Code 39 (plain, modulo 43, full ASCII) Code 93 Code 128 Facing Identification Mark (FIM) GTIN family: EAN-8, EAN-13, UPC-A, UPC-E, EAN-2, EAN-5 Interleaved 2 of 5 MSI Pharmacode One Track Standard 2 of 5 Book Chapter 5 Sample App: SerialSticker

Label Printers Inexpensive, ideal for single stickers Roll-fed: Endless or Die-Cut Endless: calculate cut-off length Beware of thermal bleeding Paper sensors report size via AirPrint Label printers are endless fun!

Product Information

GTIN is just a number Devices have mobile internet Query web services, e.g. Discogs No normalization of GTINs No reliable source of product info GS1 only has manufacturer info amazon.com - guess again Book Chapter 6 Sample App: MusicCollection

Amazon.com Product Advertising API License Agreement " 4: (e) You will not, without our express prior written approval, use any Product Advertising Content on or in connection with any site or application designed or intended for use with a mobile phone or other handheld device, or any television set-top box or Internet-enabled television"

productlayer

productlayer Free JSON+RESTful web service ios SDK on GitHub (Open Source) 1.7 Mio products so far Standard categories from GS1 + additional sub-categories Build any app you like with it, we ll help you promote it Your app users contribute back via SDK (missing details, photos, etc.) User s lists of products accessible via API Go to developer.productlayer.com to sign up for free account

Thanks for watching! @cocoanetics @productlayer