Lightening fast listing pages
This feature will significantly improve the loading speed of listing pages such as the team, and events landing pages.
Currently, pages that have to load a large amount of information, for example the team pages, where they need to load between 20 and 500 profiles, are loading very slowly, even for anonymous users. We will significantly improve the page load time for pages that list a large amount of content. In line with this, we will update how the filters work for these sections. Currently, when you apply a filter, the page needs to reload, to show you then only the content that you would like to see. This can be a slow process, if there is a lot of information to show. We will now use the browser to enable us to display the results to a user immediately, rather than having to send a request to the server, each time they would like to filter the content. This enables the filtering to be instant.
For the listing pages (currently team and events), we are now paginating the information using a load more button - so instead of rendering 500 items from the start, we render 20, and then 20 more, etc - this decreases the time spent actually rendering the page initially. At the same time, we are pulling all the content from the server into the browser's memory, so after the first 20 items are displayed on the page, we are no longer contacting the server because we already have the other 480, but are not showing them yet, as it would slow down the initial landing page. As we now have all the information in the browser, this is where we can then do the filtering of the content, to provide rapid search results.
In carrying out this work, we have decreased the listing page load time by, on average, 70%. In line with this, when a user wants to filter content on a listing page, it is nearly instant.
AS A USER I WANT TO be able to access the listing pages on a Haiku website, as quickly as possible SO THAT I have a good user experience.
AS AN ADMIN I WANT TO ensure that the users of my Haiku site have the best possible user experience, and part of this is loading pages quickly SO THAT they will stay on my website to look for more information that may e of interest to them.