Client: AppCan

Technology: Xamarin

Service: Project/Managed Services/Support

Delivery: Mobile Application Development

“We are extremely lucky to have Ballard Chalmers as our partners, their delivery of all projects we have undertaken with them has been first class, and they are a perfect fit for our business.”

Managing Director, AppCan

AppCan is a software company working within the utility construction industry. In 2013 they created a mobile application connected to a central platform which would allow documents to be distributed and data collected through digital forms from field workers.

The AppCan platform is a mobile data collection and documentation distribution platform for businesses who require their field-force teams to either collate and submit relevant job-related data or to receive / access documentation pertinent to their field-force activities.

The original application was a success but only available on iOS and was complex to maintain and extend. Having already worked with Ballard Chalmers on the development, support and administration of their multitenant cloud-based Software as a Service (SaaS) system we were the natural choice for phase two of the project: creating a cross-platform mobile application with a high degree of shared code that is easy to extend and maintain.

Situation

From the client:

Our previous mobile app only supported Apple iOS and had been in use for several years. Stage two – AppCan XP is a cross-platform mobile app, supporting both Apple and Android operating systems.

It was always our ambition to make our mobile app cross-platform, and Ballard Chalmers made that possible.  As Ballard Chalmers is our partner for all software developments, hosting and support, we approached them to discuss the requirements to build the new AppCan mobile app from the ground up.

From the onset of this project, Ballard Chalmers led us through all the available development options, discussing the pros and cons of each one.  As part of the decision-making process, not only was it extremely important to get the right development solution, it was essential that the technologies used weren’t just the right fit for today, but also for the future.

Following meetings and conference calls with the CTO and Senior Developers at Ballard Chalmers and taking in to account all our requirements for the new mobile app, a final recommendation was made.

A very detailed proposal document was sent to us for review, which included the specification, technologies to be used and timescales for delivery.  We particularly welcomed the approach to the development, which proposed a three-phase development, allowing us to review each stage of the development to make sure the project met our requirements and expectations before commencement of the next stage.

From the developers:

The original AppCan system was based on web sites and APIs built using .NET and SQL Server deployed on Microsoft Azure together with a Mobile app developed in Objective-C for iOS devices.

The Mobile app had several limitations:

  • It worked on IOS devices only
  • It was developed a few years ago and was 100% Objective-C code and did not take advantage of some of Apple’s later developments such as Swift and Storyboards
  • It was developed using a general-purpose forms framework created by the development company that originally wrote it. The framework was used by multiple apps, one of which was AppCan, and all app-specific code was in subclass files. This had doubled the number of source code files making the app unnecessarily complex to maintain and extend

The app needed to be redeveloped to work cross-platform with as much shared code as possible.

The targeted platforms were:

iOS: Phone and iPad.
Android: Phone and tablet.

The new app needed to:

  • Use the same API as the existing iOS app used so that it could be introduced without change to the Azure API and web sites
  • Have the same functionality as the current version of the iOS app.

Solution

The technology behind the AppCan solution is:

  • .NET Web applications on Azure App Services: For customer specific web sites and the central administration web site
  • Xamarin Forms Mobile App supporting both iOS and Android platforms
  • .NET Web API on Azure App Services: APIs used by mobile devices for sharing data
  • Azure File Service: Cloud-based file system for storing documents and images
  • SQL Azure: Cloud-based database holding the master data for the system
  • C#, T-SQL, JavaScript and XQuery programming languages

The system is designed as a serverless Azure application, so there is no need to patch or manage servers. It is designed to auto-scale out to multiple physical servers as load increases, with SQL Azure that can be scaled up and down as load dictates.

Outcome

“The development of AppCan XP with Ballard Chalmers was straight forward with minimal user acceptance testing.  Full credit goes to the developers and management of our development partner, who fully understood the requirements and delivered this project with remarkable speed.  They made it a completely painless process and that gave us all the confidence that AppCan XP was going to be very successful.

“AppCan XP is now live across all our client base, and the users are really enjoying using the new app.  The feedback from users has been incredible, as it is not only much faster in its use, but also brings new essential features, including Photo markups and automated filing of records into the document folders.  And, for the first time, this has allowed us to talk to existing and potential clients who use Android as their mobile device of choice, which brings new opportunities for AppCan.” Boyd Neal – Managing Director, AppCan