Possible Causes of Slow Form Performance

Hi all,

Our staff have reported significant delays when entering data through the ODK Collect app. Each input (number or letter) takes approximately 4-5 seconds, which is affecting workflow efficiency.

I’m unsure what might be causing the problem. Potential factors include:

  • Limited device memory
  • The app version being used (ODK Collect version 2021.2.4)
  • The form being linked to Entities with over 1,500 records
  • The large number of submissions (over 17,000 forms) stored in ODK Central

Could you please provide guidance on possible causes and solutions?

Hi @Chonticha

How you doing? :smile:

So, let's diagnose the same:

  1. Limited device memory.
    Yes, it can be the cause.

  2. The app version being used (ODK Collect version 2021.2.4).
    I don't feel like it can be the cause, but yeah, why such an old version? Doesn't the device support the newer one?

  3. The form being linked to Entities with over 1,500 records.
    Is the form creating the entities or fetching and using the entities? In case, the form is only creating the new entities over the ODK Central server, this probably isn't the cause. In case the form is reading the present entities and using those within the form, then it can be the potential reason for such a laggy device:
    A. Device only lags when the question related to entities is being answered, is that the case?
    B. 1,500 record, I would suggest checking device's storage. Is it pre-occupied or full?

  4. The large number of submissions (over 17,000 forms) stored in ODK Central
    Naah, that can't be the reason. This is an android specific issue.

I had such an experience with the data collectors in the past as well. I tested the form on multiple devices only to realize that it was only acting weird on that one specific device. I investigated the device taking time out of my busy schedule. And, guess what I found? It had a malware installed occupying it's entire storage, processing space and memory. Removing it, restored everything to normal. Many times, data collectors, in their free time use the devices to either browse the web, or playing games and that's when they mistakenly invite such malwares to their devices. I would recommend checking the same.

Great day ahead! :smile:

3 Likes

Thank you for sharing your experience and suggestion.

I will pass this recommendation along to the users and ask them to check their devices for malware or any unnecessary applications that might be affecting performance.

I agree with @MinimalPotato's responses and have just a few more specific things to add.

This suggests that the value that is being entered is used in one or more intensive calculations and is in a field list. Does this value filter the Entity list for example? Is the filter expression complex? You mention 1,500 Entities, do those have many properties? Could you move the field outside of a field list?

We've made many changes and improvements to how values are looked up in Entity Lists and other data sources since then. I would recommend that you try you form with the same device and the latest Collect to see whether it makes a difference in your case.

1 Like