We tackled the challenge of parsing data and retrieving it from various sources. Specifically, in Firebase Firestore, file paths and survey configurations were stored separately. Our task was to accurately select the correct configuration, retrieve the necessary information from Firestore using the file’s name, and subsequently present this data to the user.
We were tasked with enabling the app to function autonomously without an internet connection, storing numerous surveys and responses. By implementing caching for video downloads and uploads, we ensured quick access to content without needing to reload from the server each time. This approach optimized resource usage and enhanced app speed.
To ensure efficient data usage and faster load times, we implemented incremental downloading. This method involves downloading only the resources not already present on the device. If parts of the survey data were previously downloaded and stored either on the device or the server, the system would only fetch the missing or updated portions, preventing unnecessary data transfer and accelerating the process for the user.
We ensured seamless video playback by enabling videos to play sequentially and continuously. All videos were cached to guarantee smooth playback and avoid viewer confusion. A significant challenge was parsing the layout data, which was provided in HTML and CSS file formats.