Teamhaven Details
Sole Mobile Programmer (iOS/Android) for the central offering of Teamhaven LTD
In 2011, Teamhaven contracted me to write their mobile app, based on their Windows ME version.
Their customers are big retailers like HP, Nestle, and Amazon—any company that sends staff to check product placements, or sales promotions, or installers of products. These are people who used to fill out forms on paper and input the data manually afterwards.
Teamhaven allows the managers to define a questionnaire consisting of a number of forms with questions ranging from text and multi-choice to photos or signatures.
The app is incredibly flexible and data-driven, so there is a balancing act between performance and memory usage. I have been responsible for all architectural design, performance tuning, issue fixing, and added functionality since then.
I designed the apps to be 100% functional offline; all data is stored in SQLite, and there are threads sending data to the server in the background.
Since the first versions of both apps in Java and Objective-C, I have been responsible for adding functionality such as:
- Biometrics
- Barcode reading
- Notifications
- Ability to view data in calendar, map, or list formats
- Ability to sort and group data in lists
- Rewrite Look and Feel according to graphical designs
- Check-in functionality which allows an independent thread to upload data outside of the normal synchronization
- Prevention of Mock Locations
- Connection to selected navigation apps
- Support for multiple languages
- Ability to create new calls from within the app
- Ability to log the start and end of a day
- Rewrite of Objective-C to Swift
- Rewrite of Java to Kotlin
- Multiple changes in response to requests from clients
- Multiple fixes to reported issues
I have been 100% responsible for both apps in a unique environment. It is unique because everyone who uses this app uses it all day every day to do their jobs. Therefore, any issues are reported and need to be fixed as they affect people's ability to do their job. It also means I have to ensure there are no memory leaks, as the app is used continuously and performs well and efficiently, regardless of the complexity of the questionnaires that are configured by the end users.
James is a great person to work with. He’s always looking to come up with new solutions and has helped us in tackling very complex problems. I have worked closely with James for the last five years and our company has worked with him for a total of 13. James has created, maintained, deployed, and continuously improved several highly complicated and dynamic iOS and Android applications for us. James is fantastic at working under pressure and has never failed to deliver a quick solution when we have needed one. James has a brilliant can-do attitude and is very self-motivated, which makes him extremely easy to work with. We’ve thrown a great number of weird, wacky, and tricky tasks at him over the years and each time he has risen to the challenge and provided us with solutions that have exceeded our expectations.
Georgie Grimes
Marketing Manager
Project information
- Category Field Automation Software
- Client Teamhaven LTD
- Project date 01/03/2011 to now
- Visit Website
- Technology Android, Kotlin, Java , iOS, Swift, Objective C, SQL/SQlite, both App stores, SwiftUI, Combine,Concurrency, Jetpack Compose, Kotlin coroutines, Kotlin flow