How many documents in a data-collection can Composer process?

Recently I achieved a point where I am happy with the interface and the logic of my App. :sweat_smile:
Now I want to confirm the performance and responsiveness of the app with a realistic amount of data.

Setup:

  • firestore collection with 500 documents (created for testing).
  • parameter for pageSize is set to 2.000 ( …?pageSize=2000 )
  • in the App the collection is stored to a data-variable
  • a row is repeated with this data variable

Observation in web preview and iOS preview:

  1. only 368 of 500 documents are downloaded. The incomplete number of 368 documents repeated several time to exactly this number.
  2. the responsiveness of the app slows down significantly. For instance it takes several seconds, after a clicked checkbox changes. This is even the case for a solitary checkbox without any logic or data-binding. :snail:
  3. please have a look on the video to see the slow performance.

Questions:

  1. is the limitation to 368 documents for the download of a data-collection set intentionally as design of the Composer?
  2. is there a way to speed up the responsiveness of the checkboxes?
  3. @Mevi, @Mari ; to summarize: what design guideline do Composer-Apps have to follow, to process data and stay responsive at the same time?

Remarks:

Hi!

This thread is highly relevant for you. TL;DR: I have submitted a report about slowness of changing checkbox value in lists.

  1. No clue, and there’s no limit on Composer side that I know of?
  2. The thread linked above
  3. Highly recommend to use Recycler view.

In general in React Native whenever you have a ton of UI components on a page, rendering and responsiveness get slower. Using Recycler view helps with rendering long lists of repeated components, so whenever you have a list with a lot of elements, always use Recycler view. If you would like a more technical explanation of why lists using Recycler view are more performant than e.g. ScrollView or just plain Containers, please see e.g. here.

1 Like