Make your Glide Apps Fly Like A Jet: Building for Speed and Scale
Learn from a Glide Expert how to think holistically and create faster, more performant software
Gideon Lahav
Glide Certified Expert
No one wants to wait for software. They just want to do their jobs, and have the tools they rely on to do those jobs work—fast and frictionlessly.
When you’re building software for yourself, your team, or your clients, the choices you make in your app development determine how fast those apps will function. Small adjustments add up to make a huge difference. If you can build your apps for speed, it will make a huge difference in the way your apps are experienced and how well they help the end user get their work done.
Speed is important in three main ways:
Scaling: As your business grows and your app grows alongside it, it will inevitably increase in scale (in terms of data, usage, and users). When your app is still small and fairly simple, it’s likely to feel fast, no matter how the structure has been developed. However, as you scale, the tiniest slowdowns will add up, making your app feel sluggish and frustrating to use. Think about where your app needs to be in six months, a year, five years from now. Will your app work just as quickly at 2,000 rows of data as it does at 100? Be ambitious, and build for the future. The whole point of the software you are building is to drive the success of your business. Invest in it.
Collaboration: One of the most powerful functions of a Glide app is the way it enables multiple team members to share data, gain visibility into each other’s work, and collaborate in real-time. A high-performance app helps those collaborators see changes immediately as they happen so they can work in sync and have access to updated data at all times.
User satisfaction and app adoption: Your apps should feel natural and seamless for all your users. Slow performance will hinder adoption. If you have team members using your app to increase efficiency at work, they will be reluctant to use the app for its intended purpose if it’s always a pain to load. If you have customers making orders or checking inventory, they want immediate, accurate responses. If you have C-level folks working on your app or using it for reporting and decision-making, they need real-time data to make real-time decisions. The experience of using your app is a crucial part of its success.
Luckily, the performance of your app is in your hands. You have the power to speed up your app considerably by making relatively minor changes. The trick is a holistic approach. You have to improve each aspect of your app; data, files, function, and layout. Follow good data hygiene. Build clean, make it organized, and keep it simple. You don’t need your app structure to be fancy. You just need to work and work fast.
You may not need to know code to build a Glide app, but you do need to understand the logic of computers and how the architecture of software works. There is a proper way to build apps. Following these steps will help you do it well.
Improving the speed of your Glide apps is crucial. Here are five of the most effective tips for boosting the performance of your Glide apps:
1. Use Glide Tables
When it’s possible, use Glide Tables over external data sources like Google Sheets or Airtable. Data in Glide Tables will load faster and reduce the user's waiting time, especially over large volumes of data.
In general, spreadsheets are best for storing data that doesn’t change much, while databases are better for operational data that is actively used for tasks. While Airtable is a database product, it has what is essentially a spreadsheet API, so pairing it with an external app can cause sluggish performance.
The main reason to prefer Glide Tables is that its an internal native data source. Internal data will always load faster than external data. When you use an external data source, Glide needs to send a signal to that source to retrieve and display its data and then send your data back to that source when you make changes. It also takes longer to show up on other user’s apps. For example, if you add a new row to Google Sheets from Glide, it will take a few moments for other users to see that data.
When you use Glide sources, the data is already here in your app. It can be fetched instantly. When you minimize complexity and minimize movement. Using fewer data movements also eliminates the risk (even if small) of lost data and doesn’t use updates on your plan, saving you money as well as time.
Other useful tips - when you do need to use external sources, opt for using the Glide API to connect them rather than the Google Sheets API or Airtable API. Additionally, when you add or edit information in Glide Big Tables, use query refresh as often as possible.
Avoid using queries as much as possible. Instead, opt for relations whenever you can. Queries require more processing time and can slow down your app, while relations can provide the same result more efficiently.
A relation is a simple relationship between two pieces of data. For example, each client has projects to complete and each project has tasks to complete. The relationship between those pieces of data is a relation. A query helps you find specific items from a relation. For example, out of all the tasks on your team, which of the tasks that have the status “in progress” how many of those are assigned to “Steve”?
The most common (and most impactful) problem that Glide builders often have is using a query as a relation. For example, using a query to search all tasks and say, I want to see all the products that are in the category “Acessories” and also have an inventory of “0”. The better approach is to first make the relation (show all products in the category “Accessories”) and then make a query (find products within the category “Accessories” that have an inventory of “0”) to filter that information.
This is faster because the query is working on a much smaller dataset instead of searching a whole table. Instead of processing your entire inventory of 500 products, it will just be working on the 5 products you have in the category of “Accessories”. Your goal is to try to work from the smallest pool of relations possible. Query by itself is a slow function by default. The easier you can make it, the faster it will work.
The worst thing you can do is make a query on its own table. This can just crash your app.
To simplify finding only the items you need without using queries, follow these steps:
Identify the Relationship: Use "project row id" as the identifier in both the projects and tasks tables to link projects to their tasks.
Create a Conditional Column: In the tasks table, add an "IF-THEN-ELSE" column. Set it to show the "project row id" only if the task is completed.
Establish a New Relation: In the projects table, create a relation from "project row id" to the new conditional "project row id" column in the tasks table.
This method eliminates the need for queries in the projects table and improves speed, even though it requires an extra column.
Examples:
This is a bad use of query:
This is a better use of query:
This is the best use of query (first create if then else column in the destination table, and then create a relation to it):
Large images can significantly slow down your app's loading time. Use image compression tools before uploading to ensure faster page loads for image-heavy content. Image compression is applicable to any sort of web activity, from website design to web app development.
To compress your images, you can either use the native features of designer tools like Adobe or Figma to export smaller images or use a free tool like TinyPNG. In general, there is no need for images more than 1,500 px squared in a Glide app, any bigger than that is overkill. When you do need to include a larger image file, use an “open link” action to open it in a new tab.
When someone uses a native app, they initially download the majority of the data they need to run the app. This is why downloading a native app to your device in the first place can sometimes take a long time, and they can take up a big chunk of your device’s storage space. Web apps, on the other hand, live in the cloud. They rely on your internet connection to fetch all the data they need to run and display their layout to you every time you open the app. This does give them the advantage of being more connected and constantly up to date with shared data, but it means they need to be a little leaner to be performant.
The more you can compress images and reduce the amount of data that needs to be downloaded, the faster the app will load when someone first opens it. Chances are, you don’t need super huge images anyway. Most functional images in a Glide app are for illustrative purposes, like icons or inventory item images, and won’t ever be viewed any larger than a thumbnail.
4. Remove irrelevant components and pages
You can speed up your app by minimizing the complexity of your app layout. Removing components and pages that are not relevant to each user allows for a smoother and faster user experience. Having fewer data and components loaded onto the device results in better speed and performance for your app.
As mentioned above, your device needs to load all of this information when a user opens the app. If the main pages are simple, the device will find your app easier to load. Look through your pages and see if you can reduce how many components you use, streamline your pages, and deliver just the necessary information that each user needs.
It’s not just about minimizing the components themselves, it’s also about minimizing the use of screen. Don’t include huge lists in your app that make the user scroll forever. Your app will slow to a crawl too. Include a maximum of 24 items viewable at a time and use strategies like pagination, filters, relations, and a search bar to display just the needed information at a given time. Most users won't need to see so many items anyway. Give them the option to choose what they see from the smallest pool of options possible.
5. Create separate apps for different tasks and user types
Creating separate apps for each user type allows you to use Row Owners, which reduces the amount of data loaded onto the user's device, enhancing the loading speed of pages and components. One of the most beneficial features of Glide is that you can create multiple apps on top of the same shared data. You also have the ability to create an unlimited number of apps if you’re on a Team, Business, or Enterprise level plan, so use that ability to build a better software experience.
Most commonly, this will apply if you’re using your Glide app to interface with Customers. Your customers need to see certain information—and you need to hide internal information from them both to keep information private and give them a more streamlined user experience. Your employees need to see more information in their app so they can get the big picture of your customers. Finally, you have admins who need much more exhaustive information on the entire operation.
For example, if you have a Customer Portal for tracking the projects your team is working on for your clients:
You only want to show clients completed tasks.
Your employees need to see completed tasks, as well as planned, blocked, and in progress.
Admins need visibility into all of this, as well as the power to add or delete tasks from the calendar.
If you create a single app to serve all these users, you’ll end up with a huge number of components on every page, with many of them hidden. Your app will be slow for everyone. Instead, create three separate apps - the Customer Portal, Task Management, and Admin. Your apps will run faster. Your admin app will be slower, but your managers and C-level users can live with that. Your clients will have the best experience possible, and your team will waste less time wrestling slow software.
Off-the-shelf software has to be everything to everyone. That’s how you end up with bloatware. When you’re creating custom software with Glide, you are in control of your tools and can structure them in the way that works best for you or your clients.
Examples:
Slow: With all users in same table, you need to use more computed columns for the same table. This results in a heavy app and more components in the same “user page” requiring the use of a lot of visibility conditions:
Faster: Here, we've separated users into two apps, one for C-Level and one for Employees. Not all columns need to be in use in both tables. Therefore, the app is less heavy, and fewer components are needed, resulting in a faster-performing app:
Bonus: Improve your UI/UX design
While not explicitly a technical tip, being aware of your user experience and putting thought into the UI/UX design of your app helps users experience your apps faster. Minimizing the complexity of your interface helps users find what they are looking for more quickly. If they can get information fast, your app will feel fast to use.
Another helpful tip? Add waiting and loading actions to your app.
Waiting with no end in sight is excruciating. A Columbia psychological study found that adding things like countdown clocks and timers to wait times helps calm people and make the wait less painful. In an app or website, a simple loading animation also indicates that the program hasn’t frozen, and prevents users from endlessly refreshing the page or losing trust in your app.
For example, if your app has an action that adds/deletes multiple rows, add an action that instructs to “wait for count of task will be zero” and then delivers a done notification. Sometimes it’s not about the objective speed of your app, but about the feeling of speed your users have.
Make your apps more efficient on your own, or with help
These principles, among others, can significantly enhance the user experience of your Glide apps, ensuring fast and efficient performance. Efficiency is progressive, it’s the details that matter.
In the end, Glide is like a machine. Even a machine can break. You can’t put a fridge on your car and expect it to run at the same speed. Software isn’t magic. It can work harder and faster than you, but you still need to care for it and avoid overstressing it.
Learn how to think about how all these elements work together to make your app more performant. Think more holistically about your apps and how its data, files, functions, and layout work together. You’ll start thinking about software in a new way and become a better developer.
If you still need help, Experts are a great resource. We can build you a new app from scratch, jump into an existing project to make improvements or add advanced features, or just work with you to provide guidance and recommendations to help you make your own improvements.
Building organized and clean is part of the Expert’s way of life. If you can learn to build like this, you’ll be one step closer to becoming an Expert in Glide yourself.
Gideon is a Certified Expert with an M.A. in Business. He's made a focus of developing bespoke business applications with Glide, tailored to streamline business operations and maximize efficiency. If you need help with an app, find him at gideonlahav.com or on the Glide Experts Directory