Five Tips for Improving Your Adalo App Performance
The Adalo team has spent the past few months focused almost exclusively on stability and performance. Regarding performance, the ongoing migration to a more reliable and maintainable database infrastructure has undoubtedly helped, and we’ve also been working on both optimizing and slimming down the code base. However, after having met with hundreds of makers as part of this effort it’s become clear that we need to do a better job offering guidance regarding how to build more performant apps.
As part of this effort, we’ve recently published a new section on Performance in our documentation. We’ll continue expanding this section in the weeks and months ahead but in the meantime wanted to publish this separate post highlighting the five most common performance issues we’re seeing within Adalo apps that can easily be fixed by the app maker.
Tip #1. Optimize Your Images
If your app allows users to upload images chances are that those images are being uploaded from a mobile device and the image files will be large and not optimized for the web or use in apps. Adalo uses a service called Imgix to display images in your app. Through the power of their API, you can adjust the pictures uploaded and optimize those user-generated images. Watch this video to learn how to take advantage of this critical optimization feature:
Tip #2. Use the Load Items as User Scrolls Option
Adalo will by default load all list items into the screen which can quickly cause performance issues if you haven’t limited the output to a reasonable maximum. If you do need to load a large number of list items into a screen then consider enabling the Load Items as User Scrolls option, which does exactly what you think it does.
You’ll find this feature found in any list under “Advanced Options” allows for your list to load as the user scrolls through the list.
Tip #3. Use Adalo’s Native Lists
Adalo supports seven types of lists, including a simple list, card list, image list, avatar list, horizontal card list, horizontal chip list, and table. Additionally we support the option of creating a custom list when the maker determines that the default list layouts aren’t suitable to their specific app requirements. However, our observation is that makers are increasingly choosing the custom list option over the native options for what appears to be minor cosmetic reasons and performance is suffering because of it due to the additional overhead imposed by custom lists.
Our advice is that you always select a native list over a custom list if at all practical, because custom list performance will always be inferior to the native options. To make this decision even easier, we are presently working on a few new native list types and will announce them as soon as they are available.
Tip #4. Avoid List within Lists
If you do require the customizability of a custom list, then try to avoid embedding lists inside of lists because the complexity quickly increases and performance suffers accordingly. Overuse of embedded lists is quite possibly the #1 performance-related mistake makers make. Should you find yourself gravitating towards embedding a list within a custom list, ask yourself whether there are other design options which might be implemented instead.
Tip #5. Pull Counts From Record Properties
Creating counts with filters on a list record is similar to creating a list within a list which will decrease your app’s performance score. You can avoid this by adding a number property to your collection which can be used to track the record count. In doing so you will avoid requiring the app to constantly calculate the record count on every screen load. Watch this video for more information:
Conclusion
These five strategies have been measured to double an app's performance. Which for your app and your end user is a big deal. Adalo will continue to develop more tools to provide the best environment for a performant app. As a maker, you can use the strategies to maximize Adalo’s performance potential. Together, we will build to create amazing apps for your community.
Last updated
Was this helpful?