This app began life as a C# based MonoTouch project. That app was buggy, unstable, highly unreliable and architected to use static questions. I was tasked with improving the app and making it fully scalable to handle not only different survey questions, but potentially a different number of survey questions. Of course, the natural choice was to take advantage the reliability and full access to the native APIs of a fully native iOS app. The initial conversion project lasted about 3 months and the end result was an application using a redesigned database that would handle an unlimited number of survey questions and could be managed locally by clinic staff with a unique gesture based security process. The survey structure allowed new surveys to be created with both English and Spanish translations and an unlimited number of custom questions.
Since the initial release, lots of improvements have been made:
- Internet down mode automatically saves surveys taken to persistent storage when the web-service is unreachable. The application continues to function normally (although support staff are notified that the device is now in offline mode). Every time a survey is taken the app checks for a connection to the web-service and if the connection is restored, all the unsent surveys are sent along as a JSON object which the web-service parses and saves to the database.
- A completely offline mode allows for remote survey use and then a sync feature saves all the surveys taken locally to the server once the application has Internet access again.
This app is in use in several clinics inside the main campus of Arkansas Children’s Hospital as well as in our clinics in West Little Rock, Lowell and Jonesboro.