Glide Speed

Hello everyone,

despite the various optimizations done for app speed, my app is still very slow to open open. A blank screen appears for various second and the entire app opening process takes from 10 to 20 seconds… is anyone aware of when Glide is going to address these speed issues?

Thanks

Andrea

Speed issues usually mean you have a lot of data, heavy images, or a lot of computations that need to process and load before your app is loaded. I don’t use a lot of images in my apps and I wouldn’t say that I have a large amount of data, but whenever I see speed issues it’s because I have a lot of calculations and relations interlinking several tables together Basically relations that rely on computed columns so everything is forced to compute immediately to link everything together.

1 Like

Thanks Jeff! You think also CSS can slow down the app? Also it would be great to know when Glide can boost their infrastructure to help more complex apps be faster!

I don’t think CSS would have much of an effect on speed. Just be mindful of how Glide Apps work. They are web apps, so more or less a glorified web page that pulls everything from the server including data as well as the underlying code to make the app function. This then all runs locally on your device and only syncs data changes to and from the server. Also be mindful that the user’s device does most if not all of the computations locally on that device. So when you mention infrastructure, that includes your own Internet speed and your own device capabilities. Your device has to download all of the data and code, run through all computed columns that are necessary, download all images, and then render all of that on the screen. At that point, the Glide servers aren’t doing a whole lot other than managing the sync of updated data in the background. A lot of it comes down to how efficiently you have structured your data, the computed columns, and any additional assets such as images that have to download and get cached.

Glide isn’t only handling your app. It’s also handling millions of users on hundreds of thousands of apps worldwide. So, I don’t think Glide’s infrastructure is necessarily the issue. If speed is becoming an issue for you, you may want to consider alternative data sources, such as Big Table or SQL. Sources like that load smaller subsets of data at any one time, which can help lighten the load on your app because you aren’t running computed columns on a massive dump of data all at once.

In my app, I have one tab that is slow, but it’s not the first tab that is shown. Because of that my app does load quickly. It’s only when I view that one tab that it becomes slow for that initial load. That is because computations are then activated on about 10k rows across 3 or 4 tables so that my relations that rely on computed values can be built. Glide has made it pretty efficient by only running computed columns if and when they are needed and in some cases only for the data that is shown on the screen at one particular time. However, in my case, I have things set up in such a way that all computed column are forced to run at the same time, which takes a little bit of time to process. I’ve made drastic improvements over the years by reducing as many computed columns as possible on larger tables, and trying to avoid relations that rely on computed columns. I’ve also built an archiving process to remove rows that are more than 2 years old. I’m rebuilding my app at the moment and hope to address a lot of those remaining issues using some newer glide features and hopefully reducing or eliminating some inefficiencies in my structure. At the end of the day, we as app builders have just as much responsibility to make everything as efficient as possible in our own apps. Glide can only provide the tools and functionality to make that happen and I feel in many ways they have even though it may not be immediately apparent.

It’s really hard to give a single piece of advice to improve app speed. Everybody’s situation is different and it just comes down to a lot of trial and error. All I can say is to check the following and try to imagine what all has to download, cache, run, and render when you open an app and before that first screen is shown:

  • How much data are you attempting to load on the primary tab,
  • How many and how complex are your computed columns.
  • Do you have relations that link to other tables.
  • Do those relations relay on computed columns in either table.
  • How many images do you have.
  • How large are the images.
6 Likes