The Key Components & Features
Synchronizer (Online & Offline Capabilities)
In our mission to replace paper timesheets and other paperwork with real-time data entry, we encountered a couple of challenges: one, multiple users may be working on the same report at the same time, and two, some users may not have Internet access at their job sites. To solve these issues, we designed a robust data synchronization system, including full support for offline work and a conflict resolution system that can resolve incompatibilities between different users’ input without requiring their intervention. We designed the mobile apps to automatically sync data with the server as soon as the device has an internet connection, even if the app is in the background, so that the mobile app users don’t have to remember to submit their data after leaving the jobsite and returning to an area with WiFi or cellular coverage.
The app is also built to function offline for an extended period, store and forward changes, and deal with changes coming from other offline users, as well as providing smart conflict resolution once all devices are back in sync and online, including changes from multiple sources on the same dataset. This includes many different kinds of data, such as standard data changes, documents, BLOB data, images, JSON data, etc. Change objects are created with point-in-time vector data in order to help the device synchronize properly when back online.
Document Management System
Recognizing the ongoing reliance on paper-based processes in construction, we engineered a sophisticated document management system within CrewTracks. This system includes a complex data structure linking resources to their respective documents, coupled with a versatile document editor accessible across all platforms, iOS, Android, and web.
Our system allows users to add annotations to documents or fill out custom forms, which could happen multiple times per day on multiple devices or systems (including the same document).
Instead of creating a copy of a PDF file for each time it’s filled out or otherwise modified, we were able to save a significant amount of storage and bandwidth by saving the form data and annotations separately in a JSON format. This JSON is run through our synchronization system, which also allows for real-time collaboration, and even enables multiple offline users to edit the same document at the same time and get automatic conflict resolution where needed.