This document provides several tips for improving the quality, efficiency and performance of your Caspio applications and result in improved user experience and lower data transfer usage.
- Give users choices instead of open fields
Use dropdown, listbox, radio button, and autocomplete form elements in the wherever possible. Doing so forces the user to select from existing options resulting in cleaner data input and more efficient searches.
- Faster dropdown, listbox, and autocomplete
When these form elements are based on a table or view, an extra database query is made every time the form element has to be displayed on the screen. So it is prudent to make this second database query as fast as possible.
The solution is to use a lean lookup table. A lean lookup table only contains the fields and values that you need in your form element and each option is listed only once. Under certain conditions the DataPage wizard may popup a message informing you that it can automatically create a lookup table for you. If you come across this message, it’s a good idea to allow it to proceed.
- “All” or “Any” option in dropdowns, listboxes, and radio buttons
Adding an “All” or “Any” option to dropdowns, listboxes or radio buttons in search forms allows the user to be able to ignore that criteria and not filter records by any of the choices. Read this article to see how.
- Email form element
For your email fields consider using form element “Email” instead of the generic “text box” in your forms. This ensures that only valid emails are entered.
- Add “I agree” checkbox to your registration forms
This article describes how to accomplish this.
- Keep search forms short
Long and complex search forms can be confusing for some users. Based on our experience it is best to provide the simplest possible search form as default, but offer an advanced search form separately for people who really need one.
- Speed up search
Comparison type “Contains” is very handy as it allows the search keyword to be anywhere in a field. For very large databases, with 100,000+ records, this could slow down performance. If you need one, go ahead and use it, but if you can get away with “Equal” comparison type, know that your search will be much faster. Also note that “Contains” runs a lot faster on Text 255 versus Text 64000 fields.
- Efficient results download
If download results is enabled in your report DataPages, consider enabling Zip format for quick download.
- Use filters with default criteria
If your database contains thousands of records, default criteria that is left blank returns all the records, which could be slow and cause unnecessary data transfer. Consider setting up a filter to limit what is being returned or provide users with a search to filter as they wish.
- Enable results paging
Enable paging in your reports to limit the number of records per page. We recommend displaying 25 or fewer records per page. High number of records per page will take longer to load and increase data transfer. This article shows how to setup paging.
- Limit search results
Consider setting a limit to the total records returned on a Report DataPage when the data source is larger than 1000 records. To do so, navigate to the “Search Results Option” wizard screen and change the Total records returned from “All matching” to a fixed number.
- Skip the results page
We suggest enabling “Always skip Results Page when only one record found” option on the “Results Options” screen. This skips the search results page when there is no need for it.
- Use fewer fields on search results
Limit the number of fields on tabular results pages to about 10 and let the users navigate down to the details page to view more information. Use List or Gallery reports if a large number of fields are needed. This improves usability and eliminates unnecessary navigation.
- Truncate large text
We recommend placing Text 64000 fields that contain large amount of texts on details pages rather than the results pages. If you want them in the results page, consider enabling the Truncate feature.
- Easy “Search Again”
For improved usability we suggest enabling the Search Again links where applicable. This article explains where to enable Search Again link.
- Use multiple update forms
In details pages with 100 fields or more, it is more user friendly to display fields in well-organized read-only sections. In each section, include a link to an update form for modifying only those fields.
- Use thumbnail images
If your database includes images that you would like to display on search results page, consider using Caspio image resizer during upload to create a thumbnail of the image and use the smaller version on the search results for faster loading and lower data transfer usage. See if your plan includes the image resizer feature, and learn how to setup image resizer here.
- Use Caspio FileStor CDN for files and images
If your files and images are not sensitive in nature and can be publicly available, consider using Caspio FileStor CDN. Using FileStor CDN significantly improve performance and provides free unlimited data transfer. Learn more here.
- Download option in search results
This option is useful for password-protected internal-use apps. Be careful enabling download on publicly accessible results pages as frequent usage of this feature can increase your data transfer usage.
- Break long forms into multiple smaller forms
Long forms are harder to work with and if left unfinished can time out. Divide forms that have too many fields into multi-step smaller forms. This video shows how to implement this.
- Use notification emails
Utilize notification and acknowledgement emails in submission and update forms to keep relevant people informed about the new submission or changes to data.
- Validate new user emails
If you have new user registration forms consider implementing email validation. Learn more here.
- Embed DataPages
We recommend the Embed deployment method which seamlessly deploys the form and reports into your web pages. Use other options when embedding is not meeting your needs.
- Encrypted deployment
Since the release of Caspio 8.5 in January 2015, the deploy code of authenticated DataPages are defaulted to HTTPS for security purposes. We highly recommend that you also enable Enforce Encryption in the deployment dialog, to ensure that DataPages do not respond to non-HTTPS calls.
If some of your authenticated DataPages are deployed in HTTP and some in HTTPS, cross-app login between them will not work.
- Consideration for deployment on very high traffic web pages
News and other high traffic websites can cause a lot of unintended DataPage usage and data transfer. One method to prevent unnecessary loading of DataPages is to place a link or a button to them, so only users who are specifically looking for the DataPage interact with it. This advice is not intended to change how you really like to deploy your DataPages. Know that Caspio data transfer rates drop significantly as usage goes up. Contact your account manager to reserve the data transfer that you need at the lowest possible rate.
- Let us prepare you for a major release
If you expect more than a million hits to your DataPage in a day, let us know ahead of time and we will optimize your DataPage and account to ensure your users don’t experience slow response.