Efficently running apps for eventual data collection

Mobile Development Success Story

In this current digital world, it may come as a surprise but there are still several countries where 3 meals a day is considered a privilege, & many organizations around the world have been trying to help these poor countries in many ways.

However, before they can help they need supporting information enough about these groups of people to create a regular earning model for them.

We came across a similar requirement recently, where the sponsor of a fund for farmers wanted to gain insights on farmers' current livestock, dry stock & assets holdings before they could strategize benefits policy. Nothing is easy in such geographical locations, as they have unique challenges to solve. Owning a personal mobile is still considered a privilege, internet availability is very intermittent (towers run out of fuel, irregular mains power, and less coverage because of distant network towers).

We were asked to solve problems that hinder the digital collection of information from farmers. The collected information was supposed to be used for analysis, & help farmers with suggestions for better produce & sell their produced dry stock.

Client Needs

  • Develop a solution for users who most probably have never used mobile, and are not enough educated, so the user experience for such a group of users.
  • Minimalistic user inputs, not even requiring farmers to re-login.
  • Ability to input information from no internet locations, and sync when internet is available.
  • Accidental mobile application deletions, and re-installation should not result in loss of data.
  • Not requiring users to update to newer versions manually.
  • Ways of knowing if users are interacting with the application regularly or not.

Working Process

Our First challenge was to develop a user experience that makes use of applications easy for users to input information in a few clicks.

During our Brainstorming sessions, we utilized intutive images, and icons to make the user experience easy for users to understand. For example, users were required to record the activity they performed today and also who performed the activity, we used images of their family members instead of requiring them to input names or select from drop-down.

Our second challenge to solve was offline capability, knowing if farmers are filling out expected forms regularly or not.

PWA provides offline capabilities to ensure that users can access essential features and content even without an active internet connection. By caching important assets like HTML, CSS, and JavaScript files, PWAs can provide a seamless experience, reducing frustration and improving user satisfaction.

Solution

checkOffline Capability

Our solution with this was pretty simple yet powerful. We captured every addition farmers made and kept them in IndexedDB, in JSON format. This acted as a queue for us, every record was sent over the wire whenever mobile came under the network area. This helped us understand how often users are filling in the information, and most importantly know if they have stopped filling information.

checkAccidental application deletions handled

For accidental mobile application deletions, we developed an OTP (server-generated) mechanism using which farmers were able to sync their devices to the date their records exist in the database.

checkInsights to activities until user(s) sync

We pulled additional metadata with every such record coming to the server, like network speed, time of the device, latitude & longitude - which helped us analyze which geographical locations have better network bandwidth.

Farmers of the application were required to sync the information they submitted when they were in a good network range. Measures were taken to ensure that the sync button was enabled when farmers were in a good network & had pending submissions on their devices.

Created tokens that had salts embedded so that we could identify malicious requests.

Local storage was used to preserve farmers' information and to handle the cache-clearing scenarios.

Ready to Build Your Mobile Solution?

Contact Brainstack Technologies to discuss how we can help you build efficient mobile applications with offline capabilities and seamless user experiences.