On the official Esri Blog's, there was an article pushed out almost 2 years ago that discussed the way users could begin using a barcode scanner with Collector to automatically populate a field. Pretty awesome.
The one limitation of the article were some of the details that were missing. "Why do I need an external scanner?" "Can I just use the device camera?" "Will the keyboard still work?" So, what are the answers, and why 2 years later?
I am currently working with a few other individuals on putting together a solution for "Tracking and Traceabilty", a regulation that will be coming to gas distribution customers, most likely in the next year (read this StoryMap for more details). In brief, the regulation requires users to capture the barcode information from any assets that are installed or updated (think gas pipes). What better way to handle this regulation than with Collector? Users can capture the coordinates of the feature, the barcode, installation date, and then sync all of this data directly with their production GIS, all with one device. This was the impetus for revisiting the Collector barcode scanning capability and seeing what was possible today.
With the new release of Collector for ArcGIS, there is the ability to use a high-accuracy GPS and capture metadata. So, users now have the ability to get sub-meter accuracy from Collector and view the real-time metadata of the GPS accuracy during a collection. This is a huge enhancement, but what about the barcode scanning? While the high-accuracy GPS pairs with and works across all devices (hardware), there were some minor differences with the barcode scanning. I only tested 2 different types of devices for this workflow (sorry Collector for Windows).
Using an iPad Air, I paired a Bad Elf GNSS Surveyor (thanks for providing Bad Elf!) as the external GPS unit (a separate Esri blog discusses this in detail). The Collector Beta version (full release in June 2016) displayed the accuracy and full metadata streaming in from the unit, pretty cool. Next, I paired a Socket Mobile CHS 8Ci as the external barcode scanner. Out in the field (walking around the campus), I was able to collect barcodes using the trigger on the barcode scanner (using a test piece of PVC) and click on the scanner to disable it momentarily to use the keyboard to fill in other values. All told, it worked really well. One limitation I had, was with the type of scanner I was using, which only reads 1D barcodes (horizontal type). The same company produces a 1D and 2D scanner, which could be used for QR barcodes and traditional, but I was not able to test with it. Lastly, the scanner needed to be in HID mode, which basically replaces the keyboard, hence the need to click it and momentarily disable if you need to enter data via the keyboard.
This led me to a question, "Why not just use the camera to capture the barcode?" While there are countless QR and barcode scanning apps, none of these integrate with the Apple keyboard, meaning, you could capture values in a separate app, copy the value, re-open Collector, and paste in the values, but that would be a pain. Enter Android.
On a Samsung Galaxy tablet, I located an app available through a 3rd party that replaces the default keyboard on the device. This keyboard has a 'scanner' button as part of the keyboard, allowing values to be entered directly into Collector without leaving the app and using the on-board camera. Simply search the Google Play Store for "barcode scanner keyboard" and there are 2 apps by 'Tec-It' (make sure you install the 'keyboard/scanner' apps). There may be other apps with the same functionality, but this is the only one I tested. Also, I didn't test the paid version, but it looks like it can scan both 1D and 2D barcodes. Using Collector, I was able to scan a barcode and then continue entering values using the keyboard right within Collector. It worked really well and it was nice to only have the external GPS (Bad Elf) unit, rather than 2 extra devices I was carrying around. Yet, to be fair, they probably weigh 6 ounces.
The one caveat to the Android scanner app, would be the quality of the scan. Using the on-board camera will not give you the same consistency/quality as a laser based scanner built for one purpose only, to scan barcodes. Keep this in mind when thinking of a solution. Obviously, the ability to have one less piece of hardware is a benefit, but comes with a drawback in terms of consistency.
Both the iPad and Galaxy had their pros and cons, but either could be a great solution. It was great to see how Collector could be deployed with both a barcode scanner and high-accuracy GPS unit to extend the types of data that could be collected and how it could be used for the Tracking and Traceability regulation.