For this first post, I’m going back to basics. Why is printing still needed? Why do you need to think about printing when creating apps?
There are many use cases for printing depending on the type of application you are writing. If you're creating applications for retail, you may need a way to create shelf labels, or mark a price down on specific items. You could also be tied in to a system to ship items or distribute tickets. You could be engaging in mobile sales. While many times e-mailing receipts works fine, many people prefer a printed receipt and some governments require it.
Printing in these environments is very different from printing at home or in the office. In your office you may print reports, directions, or tickets. The primary purpose for printing in business is to track items: provide visibility to what an item is, where it is, where has it been, and what’s its condition. This is what Zebra calls the Visible Value Chain. Providing this visibility is vital for everything from shipped packages, to identifying people, to monetary transactions. Solutions that do this are essential to attach the physical world to the digital.
Once you've determined the need to add tracking to your application, the printer becomes one device in the solution, similar to the barcode scanner, camera, or mobile computer. Especially in the mobile world, the value of one device over another is how easy it is to work with and manage. Managing other devices in mobility is very different than on a non-mobile OS. There are no printer or peripheral device drivers for iOS or Android.
This means developers have to have a better understanding of the devices they wish to communicate with. Each peripheral device company has its own "language" that tells the device what to do with the data. These languages are usually published and freely available. For printers, the benefits to sending print language rather than printing with a driver are that the data sent is much smaller, the printer processes it much quicker, and the developer and user have access to a host of diagnostic information and settings allowing for optimized integration. Zebra has made it as easy as possible for this integration with thorough documentation and the Zebra Link-OS Multiplatform SDK.
Please use the Zebra Launchpad forum to ask questions. This forum is monitored by Zebra engineers from the Zebra ISV program.
Robin West, architect at Zebra Technologies