What ISVs Need to Know About Printing in a Non-Windows® Mobile World
Cross-platform development environments are emerging to help developers enable mobile printing for Android™ and iOS® applications.
Security and software updates for Windows® 10 Mobile end on December 10, 2019, and support for Windows® 10 Mobile Enterprise ended June 11, 2019. With Microsoft® moving out of the mobile world, it forces your business and enterprise clients to find new mobile operating systems. The de facto choices are Android™ and iOS®.
But those operating systems don’t have something that Windows® had: Windows® printer drivers. Apple® offers AirPrint®, although it only works over a network-connected printer. And although printer supported platforms for Android™ exist, there isn’t a universal solution.
In the Windows® mobile era, few software developers focused on printing — they sent print jobs to the Windows® operating system to manage. Mobile printing from iOS® and Android™ applications, however, is pushing some developers into alien territory. Some are hiring in-house resources for both iOS® and Android™ printing, some are relying on middleware to support printing — and some have decided not to enable printing at all.
While for some applications digital-only documentation may work, others have no choice but to print. Retail merchants need to offer printed receipts. Grocers need shelf labels. Route distributors need receipts and order summaries. Pest management services are required by some states to leave a printed statement of what chemicals were used. Manufacturers and distribution centers need barcode labels. The entertainment, transportation and O&G industries need ticketing capabilities. Home healthcare needs patient care plans, and medication lists. Clinical healthcare needs ID wristbands and specimen labels. Operations in a wide range of verticals — using a wide range of printer models — require printing.
The Barcode Printing Issue
To complicate the matter further, many businesses with mission-critical printing requirements are printing barcodes. As convenient as Windows® printer drivers were for developers, Microsoft® never fully addressed barcode printing. Windows® printer drivers are based on graphics printing rather than using the printing languages unique to barcodes. Therefore, if a printer received a graphics file that wasn’t high resolution, it would result in subpar barcode quality. For barcodes, however, quality resolution is everything. Barcode labels are used to collect vital information about a product or a shipment, or positive patient ID and unreadable codes have the potential to cause big problems.
Options for Development
To assist developers with printing, leading printer manufacturers publish software development kits (SDKs). They include libraries of functions and printer languages to enable developers to write code so users can use their printers to print from the developers’ applications. SDKs are a solution to the mobile printing challenge, but a time- and labor-intensive one. Developers would have to write code for each and every printer model users choose and write if for both Apple® and Android™.
Cross-platform development environments are emerging, such as Microsoft’s® Xamarin, Google’s Flutter™, and the Apache® Cordova™ software, that can help developers overcome some of the challenges of enabling printing. What’s significant is that iOS® and Android™ skills aren’t necessary in these environments – just an understanding of coding. Benefits of using a cross-platform development environment include only needing to hire one team vs. Android™– or iOS®-specific developers and the ability to reuse the majority of code for different applications.
Your Choice of a Printer Vendor Partner Has Never Been More Important
If it’s vital for your application to natively support printing, you need a partner that can help your team enable printing in OS-specific or cross-platform environments. Research the level of development support a printer vendor can provide your team. Although they may not yet have SDKs for each OS or cross-platform development environment, ensure they have in-house resources who are accessible, knowledgeable and can help you work through issues you encounter during the development process.
One thing is clear; the mobile printing issue isn’t going to go away. Printing from iOS® and Android™ is a necessity, and cross-platform development will become more commonplace. Until printer vendors can provide developers with SDKs and documentation for each development environment, it will take strong support capabilities to help developers conquer this new frontier.