EPX-B: A Flexible Barcode Scanning Solution for Android
As we have evaluated various Android-based barcode scanning solutions, we have repeatedly seen that they lack flexibility and features. Google has not provided a standard programming interface (API) for barcode scanning, and the APIs available today usually work with just one scanner type or brand. It is for these reasons that SDG developed its Enterprise Platform Extensions for Barcode scanning (EPX-B) for Android. EPX-B works with device-integrated, USB, Bluetooth and camera-based scanners. In this article, we will discuss how EPX-B can be used by OEMs, system integrators and application developers to achieve flexible barcode scanning solutions for Android.
EPX-B provides both a “device driver” interface and an application interface. The device driver interface lets the generic EPX-B Service communicate with the hardware-specific device drivers that control the scanner hardware. These device driver “plug-ins” allow EPX-B to communicate with any type of scanner using a standard interface. To allow EPX-B to work with a new type of scanner, the only thing needed is a device driver for that scanner. Device drivers may be pre-installed by an OEM, or downloaded from Google Play as an APK file. For example, our device driver for SNAPI-based Motorola/Symbol scanners is currently available in the Google Play store. Similar drivers are planned for Bluetooth-based scanners such as the Motorola CS4070, Opticon OPN2006 or Bluebird BI-500. (SDG plans to add at least one EPX-B Bluetooth barcode scanner driver by late 2014 or early 2015.) A device driver also reports its capabilities to the EPX-B Service, which will then automatically generate the barcode scanner settings available to the user or application.
The application interface is used by applications (apps) to talk to the EPX-B Service. The key advantage for application developers is that they can write one application that supports a growing number of barcode scanners, without needing to update their application for each new scanner. The other main advantage is that they can provide a better user experience (UX) by having full control of the barcode scanner. Without this control, a user needs to scan using keyboard mode (e.g. Bluetooth HID), which requires the user to focus the input to a text area before scanning. With EPX-B, the developer can use the scanned data in flexible and efficient ways. For example, a user can scan products and the application developer can match those products to items in an order.
The EPX-B Service is part of the EPX-B Core application package, also on Google Play. EPX-B Core is especially nice for the end user because EPX-B supports camera scanning right out of the box (using ZXing-based libraries). It includes our ScanNow app that allows the user to scan from any other app by simply pressing a button in the notification area. Users can scan more efficiently by adding a Bluetooth or USB scanner and driver. We also have the free Barcode List Manager app that makes it easy to create and store barcode lists from multiple scanners.
SDG Systems’ team can develop quality barcode scanning apps for you, or help your team develop them. We can support new barcode scanners, often in less than a week. The EPX-B SDK is free of charge. Contact us for licensing information for the use of various hardware barcode scanning drivers. More information is available on our EPX-B page (now called ID-Engine).