Performance improvements coming to the New Table Report Style
In May 2021, we made the new style for table reports the default for all users. We designed the new style to help your users get their work done faster, by adding features like column filtering, hierarchical grouping and re-sizable columns.
Since May, we continue to see significantly more people using the new style compared to the legacy style. Over the past few weeks alone, we’ve seen 4 million more clicks in the new style versus legacy. We have been focusing on addressing questions and issues with the new experience. As a result, we’ve fixed a number of bugs reported by customers about the new style.
We’ve already received feedback from hundreds of you about the new table report style. First, thank you for your input! We strive to balance the needs and the preferences of different personas and different use cases to meet the needs of the overall Quickbase community. One thing we heard from you after the new style became the default, was that we needed to invest more in performance. Now we are ready to bring some of that work to light.
To speed up the performance of the new table report style, we will be adding UI virtualization. To understand this concept, it helps to first consider how longer web pages are loaded when UI virtualization is not present.
The longer a web page is, the more data your web browser needs to process to display that page. However, when viewing a long web page, you can only see a small portion of the web page at a time. Then you scroll to different parts of the page as needed. UI virtualization is an industry-accepted best practice, which updates the contents of a web page as you scroll. This speeds up web pages’ performance, since the web browser only needs to store the content that’s currently visible on your screen.
This may sound like a simple shift in how Quickbase displays report data. However, table reports essentially allow you to display any type of data. So that complicates the question of how UI virtualization should be implemented in Quickbase. We have already taken some steps to virtualize the new table report style, and we’ll complete that journey in Q1 2022. Afterward, we will monitor the improvement in performance and assess whether further performance improvements are needed.
The new table report style not only represents a more modern experience for your app’s users. It also represents an evolution of the architecture of the Quickbase platform.
Evolving our system architecture
When a report is loaded using the legacy style, a single network request is made. All the record data, and details about how to display that data, are fetched for the first page of the report. The user waits for the page to load, and once it has loaded, the page responds very quickly. After that, the user can scroll around any part of the page without making further network requests. This used to be the industry standard online, for loading long webpages. It’s important to realize that this design has benefited from 20 years of customer feedback and us at Quickbase fine-tuning the user experience. However, design patterns for the web have changed dramatically since we first created the table report feature in 1999. All software designs have benefits and drawbacks. And the drawbacks of the legacy table report style have become more impactful as time goes on. Here's a bit more detail on those drawbacks:
- Since the legacy style loads one full page of report data at once, other user actions in the same app can be delayed.
- The legacy style uses 1 network request to fetch both record data and display preferences for that data (such as currency symbols). This means that our custom, in-memory database engine must also serve as a presentation layer for Quickbase. Using that type of software architecture prevents us from taking advantage of new technologies as they become available and therefore limits our ability to offer innovative new features.
The new table report style fetches record data from our in-memory database engine, just as the legacy style did. But unlike the legacy style, the new style fetches presentation details from a brand-new module we designed purely for managing the presentation of reports. This has already enabled us to improve the new table report style much more quickly than we could have with the legacy style. However, the work to achieve the level of report performance we need with the new style will be a longer-term effort.
Adding UI virtualization to the new table report style will also allow us to enhance record grouping.
Once UI virtualization is added to the new table report style, we plan to enhance record grouping. When we made the new style the default at Empower 2021, it included grouping improvements such as displaying subgroups using a tiered display and collapsing all groups on the page at once.
Adding UI virtualization will allow us to further enhance grouping, by displaying summary information like totals and averages when a group is collapsed. It will also allow collapsing all groups in the entire report, with one click. For app builders, this will put deeper insights at your users fingertips. And since this brings some summary report functionality to table reports, enhanced grouping will allow app builders to surface key business insights while building a smaller number of more flexible reports.
NOTE: This is a prototype showing what table reports may look like with enhanced grouping. This is not the final design.
Removing the table report toggle
Our plan to eventually remove the toggle has not changed, since we intend for the new style to replace the legacy style. However, due our focus on performance, we will not be removing the toggle in 2021. Before we are ready to remove the toggle, there are several improvements we will make to the new table report style. As we discussed, we will improve its performance. We will also add some missing features from the legacy style such as favoriting. Finally, we are evaluating some improvements to how groups display – which will reduce the need to create summary reports. We expect that we will remove the table report toggle sometimes in 2022, and we will notify all customers well in advance of making that change.
As we have shared previously, we want to make it easier for users to make quick edits to records. We are still exploring an in-line editing feature to support this. However, this feature is on hold for now, in favor of the performance and grouping improvements above. It is your consistent feedback about table report performance which caused us to re-order these items on the roadmap.