The Bolleta Project was to create native Android and iOS applications to be run on both phones and tablets, in order to take and print credit card transactions using either the Rambler Reader or the Blue Bamboo combination card reader and bluetooth printer. It would communicate with an existing web services infrastructure. The intention was for merchants to be able to take credit card payments on the spot for goods and services.
The process started with an upfront analysis of existing of existing web services and infrastructure. The mobile client would need know know how to exact interface for interacting with the existing web services, and an infrastructure would be needed for building, deploying, and delivering the cross platform compatible mobile application. One of our standard architectures was used. We use Sencha Touch as the underlying mobile technology through a Cordova native bridge for iOS and Android, build and deploy through a Jenkins continuous integration server, and deploy to TestFlight which acts an a private AppStore for delivery purposes.
Next started an analysis of how the mobile client would function, along with the design of the graphical user interfaces for usage on the mobile client. It was decided that the mobile client would need to function on both phone and tablet devices, which meant that there would need to be two different sets of graphical user interfaces. One would be optimized for the resolution on common mobile devices and the other would be optimized for the resolution on the higher resolution tablet devices. A combination of wireframing and prototyping allowed us to work out the end goals and functions of the mobile application.
At a more technical level, there we no plugins for Android or iOS for interacting with the Blue Bamboo device or the Rambler Reader device. This required that we create native plugin implementations for each device on both Android and iOS, according to the Cordova plugin guidelines. The advantage of using the Cordova plugin standard is that these plugins are standalone, and reusable in other future projects.
The application would automatically be built with each change for automated testing purposes, and would then be automatically pushed to TestFlight daily for quality assurance on various native iOS and Android devices. The result was a quick turnaround for changes, which allowed us to rapidly deliver functionality that was measurable on an hourly basis.