As a business professional getting into the world of Quickbase, you will often find that your applications grow beyond your original expectations, given how powerful and flexible Quickbase is. What’s even better is how Quickbase continues to operate at extremely fast speeds with increasing levels of complexity. In nearly real time, Quickbase can take a table of operational data and return a report to you that includes calculated fields, summaries and lookups, all while evaluating permissions on every single record.
As your application uses these features and becomes more sophisticated, it is inevitable that users will come to you reporting feedback. You may receive feedback such as “this report is slow” or “the page takes a long time to load.” Let’s discuss some ways to peel back the onion and simplify how to troubleshoot this feedback.
How to troubleshoot user feedback
To quickly help your users, you’ll need to collect some information and perform some basic checks. While it may seem obvious, it’s amazing how many folks overlook this piece only to find the issue is as simple as their user lost internet connection. You will need to gather information such as:
- The page the user was on
- Exactly what action they were taking at the time
- How they define slow
Ask the user having the problem to show you the issue. Take notes about what’s happening and be sure to include screenshots or videos where applicable. Next, check their internet connection and make sure they have sufficient speeds and are using a modern browser. Once you’ve verified the baseline and have all the information, you can start to dive in, understand the problem and come up with solutions.
Tools to uncover the root cause
Get ready to start peeling back the onion! Here are a few tools to help you understand what is making up a slower-than-ideal response time.
1. Quickbase Performance Bar
Once you enable the Quickbase Performance Bar in Application Properties, any user can see it. This allows them to see how long Quickbase took to respond to a request, how the browser is behaving and even run a network test. It also can provide further details (such as an operation ID) to help Quickbase staff when searching logs. When activated, the bottom of all Quickbase pages will include this:
2. Quickbase Performance Analyzer
The Quickbase Performance Analyzer is somewhat of a hidden gem. When you do find a specific page or action that is worthy of deep dives (possibly found by the Performance Bar), it helps to get some more details on what is going on behind the scenes. The Performance Analyzer will lay out the things that you can control to improve performance. On top of running this ad-hoc when a user reports an opportunity for improvement, it is also a good practice to run this on high-volume actions regularly. By being proactive, we can reduce the chance of (or even eliminate) many issues from happening in the first place.
3. Chrome Network Analyzer
When you are dealing with a single interface that talks to multiple different web services or endpoints, sometimes you need to understand which of those services is responding slowly. In general, these types of web services can range from functions as simple as checking the weather at a delivery location mapped in Quickbase to something more complex, such as running credit checks or posting data to another system. Mainstream browsers offer a set of developer tools that help us do that – and they are simple to start learning. Chrome’s network analyzer is very helpful and can be used by anyone to understand how long different services are taking to respond.
Putting this framework into action
Let’s start by looking at a recent example where we helped a customer troubleshoot some performance issues using these tools.
Network analyzer to the rescue
First, the business users showed us a specific form in the application in which they were having issues with slowness. On this form, there is a button that, when pressed, showed a loading icon (what a great user experience). The processing behind this button was calling multiple other web services to gather data and perform some logic. After processing, records were added to a related Quickbase table with the results and the page reloaded. This is where the network tab in Chrome’s Developer Tools comes in.
In this type of scenario, using the network monitor is extremely valuable. With all the calls to different services, it is important to see how long each one takes to respond. We learned that, in this case, some of the services operated quickly and others took more than a few seconds. These were adding up to a long processing time for the user. After all of the external calls though, the final processing where the custom code was writing the data back to Quickbase was processing quickly. In the end, the client’s software engineer had enough information to begin evaluating the other systems to see if there were ways to optimize the performance. The users also appreciated being part of that experience, learning how much more goes into a single button press than meets the eye.
My experience could be faster: diagnosing with the Quickbase Performance Bar & Performance Analyzer
Next, we moved on to some more general items. The overall feedback was that the users felt their Quickbase experience could be faster. This could be very difficult to troubleshoot as any number of things could be causing suboptimal speed. The first thing we did was turn on the Quickbase Performance Bar so that we could collaboratively browse the application and see how long Quickbase took to respond on each page. The goal in software (from a performance standpoint) is to reduce the amount of processing time. Using this tool, we are looking for one of two things:
- A page that repetitively is in the “red” (long performance load time).
- A page that might load fast, but you know from business context that it is used very often.
In this exercise, we found more of #2. They didn’t have many poorly-performing reports or forms, but they did have a rather high volume.
Take a table report of “my open tasks” that shows on a dashboard for 100 users. If each user loads their dashboard ~50 times a day, that report gets run about 5,000 times over the business day. Even small improvements here can have a big ROI. Running the Quickbase Performance Analyzer might tell us to change the order of filtering of the criteria, or that the number of columns can be reduced. If we make even a nominal increase of .10 seconds on the average load time of that report, Quickbase will do about 8.3 minutes less processing each day (assuming our baseline of 5,000x a day). Do this a handful of times in your application on a regular basis, and you’ll have a recipe for success!
Significant returns, minimal effort
The time spent with this client had some pretty significant returns for minimal effort. We could help real-time with a few reports and forms but, more importantly, set them up with the knowledge and tools they needed to continue evaluating and improving the application on their own. With a little bit of practice, all builders can achieve similar results. You might find it valuable to get yourself in a regular maintenance cadence by scheduling time every quarter to review the application and look for ways to improve the overall health.
We also have some great articles on Quickbase Community that might help, whether you are new to Quickbase or have been working in it for years.
- How can I troubleshoot Quickbase performance?
- What are the most common Quickbase functions that can affect performance?
When you do need more help, our fantastic team here Quickbase is happy to assist you. You can always open a support case and our Care team can help troubleshoot and optimize your application(s) for the best user experience.