The more you have to deal with legacy issues:
We’re just putting the finishing touches to an app for handling brewery deliveries to pubs and bars. At the start of the day, a list of deliveries and collections is loaded onto the device, the driver makes their round delivering (and collecting) beer casks, bottles and glasses, scanning the valuable casks with a barcode scanner so that the location of each cask is known and associated with an order or collection. The driver fills out other necessary details on the device and takes payment if necessary in cash, on account or by invoking any mPayment option on the device such as Paypal of iZettle. They also take a signature from the customer to confirm the transaction.
While the driver’s on his way to the next delivery, a background process creates a PDF invoice for the client including their signature (using iText PDF software) and emails it to them as well as saving a copy on the device.
At the end of the day when the driver returns to base, a CSV of all the driver input and the PDF invoices are uploaded back to the client’s delivery management system.
So where are the legacy issues? When the client first briefed us, we thought – cool, so that’ll be a seamless system where data flies via an API from server to the device over wifi or 3G, and back again without human input. But no… some of the breweries don’t have wifi, some are outside mobile reception, and many don’t have the IT capabilities to create web services to send the data backwards and forwards. There are some pretty rural and old-school operators in the brewery sector and the tactical solution suggested by the client was to use a good old-fashioned USB cable to copy data across from the client’s system to the devices.
In the age of wireless everything this flummoxed us for a good ten minutes. Then we set to work making it happen. It’s really not hard on Android, the device’s shared storage can be easily mounted on a PC or Mac and a CSV, or multiple PDFs can be copied across in one direction or the other. Of course the app needs to know which folder to look at and save to, and there was a bit of fiddly work around getting the desktop to refresh the folder contents when it has changed whilst connected. This involved the Android device cycling through all the files in the folder and ensuring the desktop recognised each in turn, but in the end the system works well, even if it is a little labour intensive. Maybe one day small local breweries will move into the 21st century, but we like old-school beer so let’s hope it’s not too quickly – and until then we’ll continue to try and blend cutting edge with legacy as best we can!