Do’s and Don’ts for app speed

@appwebmobile In the future please create new topics or direct message others instead of replying in a topic. Best to keep such a good resource on topic. Thanks

1 Like

Yah, I kinda noticed that today when I came back in. I had a braindead tired day running on autopilot :grin: :face_with_head_bandage: I’ll get better at this maybe after some more coffee… Too many places all of the time wearing too many hats. Thanks for the kind reminder @Colin !

1 Like

Leaving this here since you asked about loading screen or something to handle complex actions: Loading Screen For Multiple, Complex Actions - #2 by Eugen

Hopefully it’d be useful. It’s a tutorial on how to implement a loading screen in between your button with complex actions and success screen.

5 Likes

@Victor thanks for tagging me here, looks like all the experts have already covered majority of the suggestions here.

Similar to @JL_LJ, I have been using more of Xano lately including the authentication provided by them. Quite satisfied with the performance.

One additional suggestion I’d like to add would be to probably think through the user flow and if possible have a rough sketch on paper before adding new screens in Adalo, I saw recently in many apps while helping others with too many repetitive screens ending up in slower performance.

2 Likes

Hi @JL_LJ , when you use Airtable views as a filter, what do you put in the Filter section in Adalo? I’d also like to do this thing with my apps, because currently I filter inside Adalo and it takes me a long time to load lists.

image

I’d be very interested to know if there’s a syntax that will pull in records from a particular Airtable view only.

1 Like

Hi @Victor,
I am a long time user of AWS, as for S3 vs ImgIX, I am not that familiar with ImgIX to be honest (I have used other alternatives in the past), but I believe ImgIX is only a compressor, still needs S3 as storage provider. For that compressor I use ImagekitIO, the support is quite great and has a generous free tier (20GB). You can also use CloudFront (AWS) for CDN, or in my case Cloudflare (They have a good free plan) and it works with AWS.

I do agree 100% with you, it is not easy to setup, it takes some time to get the hang of it (In my opinion it is the downfall of AWS in converting beginners to the business), But I think it is a great solution for storage and one the cheapest in the Market.

Regarding Airtable speed, I cannot really tell now, but I can do a couple of tests during weekend “FilterByFormula vs Views”.

So mainly yes, 100 records, that is why I use the view also to filter only 100 records when possible (the booking system case where I only filter the next 90 days). Very useful to pull most recent records.

Hopefully I will have more time to make some more videos regarding AWS, I just released one in how to use with Integromat, but waiting for Adalo team to tell me if images are deleted or not from Adalo side (I tested and it does not seem that way so far).

I have this going on: HOW storage works
Would be great if Adalo team would clarify.

4 Likes

Hi @AddyEdwin ,
Taking a look into your screenshot, you can already filter in Airtable directly using a view with a “Status = Active” for example, so one less filter in frontend.

Don’t know what is “Retainer”, but maybe also can be used in Airtable using a find/search/contains formula directly in Airtable.

2 Likes

Is there anyone who can work for me (for a fee) for image optimization? I would not want to reduce its quality to resize them, I would only need to load them faster.

Which solution you are looking for? Maybe @Victor or @theadaloguy, they are used to ImgIX I believe.

No, I meant how do you get Adalo to pull records from only a VIEW? What do I need to put into Adalo, not Airtable?

Hi @alexbarciog,

I’ve made a video about this some time ago, I’d recommend to have a look: Adalo hints and tricks: Image manipulation with ImgIX - YouTube
I think this should help. Look at advice here Resize Fit Mode | Size Parameters | imgix URL API Documentation fit=clip&w=100 - your images will be only 100 pixel width. Of course you can change and experiment :slight_smile:

Please feel free to DM if you have more questions.

Best regards, Victor.

Hi @JL_LJ,

Thanks for sharing the info!
It would be interesting to know the performance, please keep us updated :slight_smile:

Best regards, Victor.

Hi,
You create the filter first and then the view:

Then in the API endpoint, you add “views=XXXX” with the name of your view to the endpoint:

Example: https://api.airtable.com/v0/appXXXXXXXXX/Movies&**view=Movies** and use it on the external collection.

4 Likes

Thanks a lot! This is new to me, I’ll try it out :smiley:

Hi. Do you guys know if hidden components in a page affect speed? Thanks

I believe elements and even data gets cached until it’s been changed, so if your users close the app but don’t log out, things will load instantly.

I could be wrong, if someone wants to chime in also?

Dead Adalo team,

Please do something about the app speed fast OR change your marketing message to avoid your customers getting the very wrong idea that they can actually build commercial apps. This is simply not true due to terrible app speed.

I tried all suggestions from this thread (and more):
• Avoiding many-to-many relationships
• Limiting the amount of lists per screen to 1-3 (and not having lists of lists)
• Installing a “data preloader” from PragmaFlow
• Trying an external database (AirTable)
• Minimising the use of visuals, not using videos
• Avoiding long lists with a lot of records
• Avoiding making the database huge (building mostly via “update record” rather than creating new)
• Avoiding having a lot of actions attached to one button
• Not having too many screens (in this case <20)

And all of this doesn’t help. The app works well on the web but the Android app is really not usable. And it’s not usable with just 1 person (me) being online. What would happen if hundreds of people logged in?

I took on a client and also started building apps for my company… and now I honestly feel a little embarrassed that I was naive believing the no-code tools could work.

2 Likes

Hi @Vykintas,

Sorry to hear that you experience troubles with the app’s performance on Android phone.

Based on what you write, the issue is not related to general Adalo performance, but rather to some specific problem of your app on your phone.
The thing is that Webapps (PWAs) usually work slower than native apps. During app execution the former are interpreted by a browser engine, and such interpretation takes some time and resources. Try to run webapp at a same time with Google Meet videoconference - you will see the performance degradation. Native apps are already precompiled, so they work faster.

But in your case webapp works faster. So, in my opinion it means that the problem is related to a combination of a compiled app + phone model. It will be quite difficult to say what causes the problem and I would advise to submit a support ticket here: Submit a Support Ticket, so that Adalo team can have a look at your app and find what might cause the problem.

Best regards, Victor.

4 Likes

Thanks a lot, @Victor. Appreciate your continuous support to the community.

I recently tried releasing multiple apps as native Android apps and tested with multiple devices:

  1. Pretty heavy app w/ AirTable database (a lot of screens and functionality, with multiple (2-3) lists per some screens)
  2. Medium size app w/ Adalo database (way less screens, though some having 3 lists and some “count” elements on them)
  3. Small app w/ Adalo database (10 screens with 0-2 lists per screen)

The results are that all of them work well on laptop web browsers but only the #3 works ok as a native Android app. The #2 & #3 are really “unreleasable” to an external audiences due to unbearable lag.

So the conclusion I’m making is that only very light minimalistic apps can work decently well on Adalo (and still having question marks on what happens when hundreds of people log in).

Don’t get me wrong, I’m grateful to Adalo for developing the best app building interface out there… however, performance is really the weak spot of Adalo and I believe Adalo’s marketing team should communicate honestly about what their platform can and cannot do.

Otherwise, they raise unrealistic expectations and seriously risk losing customers (e.g. I’m now testing Bubble and FlutterFlow as potential substitutes).

3 Likes