How to Make Your Search Results Page Load Faster
April 26, 2012
In the previous article in this series, we discussed how you can make your online database app searches perform faster.
After the search has done its thing, the Caspio App Engine has to pack up the matching records, arrange it in the layout and paging you have selected, apply styling and localization, perform any calculations and grouping as needed, and generate it all in HTML and send it to the browser. Then the browser has to wait until the entire data is loaded (because it’s in a table) and then render it for the user to see.
Part 2: Return the Results Fast
To make your search results page load as fast as possible, see if you can apply some of the ideas below. Don’t worry if your application design prevents you from implementing these tips. Most users can only apply one or two ideas at best. But the more you apply, the better your apps will perform.
Optimizing Images
If your app displays images in the results page, the single most important thing you can do to speed performance is optimizing the images.
What to do:
An easy way to optimize images is enabling the Caspio Image Resizer feature, which is available in most packages. Uploaded images are typically very large, but you rarely need to serve such large images on the web. In fact, chances are that all you need on your results pages are small thumbnails of the original images. By enabling Image Resizer, the Caspio App Engine automatically resizes every image as soon as it is uploaded. You have the option to replace the original image or leave the original intact. Once your images are resized, you can use the thumbnail to speed up the result page and display the larger version on the details page if you like.
If you need more complex image manipulation, such as resizing to multiple sizes, open a support ticket to make the arrangements.
Provided that your images are not sensitive in nature, also take a look at Caspio’s FileStor add-on feature. For a flat rate, you get a huge file space with no data transfer fees and it works as if it’s coming from the database but without the overhead, so file load times are much faster.
Records Per Page
Caspio’s default results page is set to display 25 records per page, which should be fine for most users. Keep in mind that changing it to display more than 25 records not only takes longer to return the results, but the browser also needs more time to render the HTML.
What to do:
Consider displaying fewer results per page (5, 10, 20) particularly if you are displaying a lot of fields. You can allow end users to select more records using the “Show per page” interactive dropdown.
Fields Per Record
Similarly, fewer fields per record mean smaller data transfer during each page view and faster rendering by the browser.
What to do:
Keep only the most critical fields on your results page and put the rest on the details page.
Choice of Browser
Different browsers render complex tables at different speed, sometimes varying greatly.
What to do:
Consider testing your app on different browsers and inform your users that they can experience a faster performance if they use the preferred browser.
Let us know if these ideas work for you or if you have other suggestions.