In general, performance of your Screens comes down to:

  • The memory and power of the devices running your Screens
    Higher quality, better equipped devices that have more memory and faster processors will obviously always run your apps better.
    That said there is still a huge variety of options - particularly in Android - and so whenever possible you should specify known, tested devices for your users to procure.

  • Total number of fields in the Screen
    We don't have a hard upper limit on field numbers, but recommend staying under 2,500 fields in a Form design

  • How these fields are distributed across Form pages
    We recommend staying below 100 fields per page in your design, since each field in a page has a device rendering cost that impacts memory usage and performance.

  • The mix of field types in a Form page
    Certain field types have heavier memory and performance impact than others.
    In particular image fields incur overhead due to the inline display of image snapshots and associated editing functions.

  • The total number of Data Sources involved and the number of rows in these Data Sources
    We don't have an upper limit on how many Data Sources can be linked to a Screen design, however each additional Data Source that has to be loaded with your Screen will have a memory and performance impact. This impact increases with the number of rows and columns involved.
    So for example 50 Data Sources with an average of 100 rows each will have a lesser performance impact than 10 Data Sources with 50,000 rows each.

Ultimately the above are guidelines to building a performant, stable app on our platform.

You should always test your designs on the types of devices you expect your users to have.

This way you can gauge the performance and make tweaks to your designs as needed.

Also whenever possible you should recommend specific, tested devices for your users to purchase.

By recommending trusted device types you can avoid the issues of the 'wild west' of Android, where there are many poor (but very cheap) devices around which will run pretty much any kind of app badly.

Did this answer your question?