Feature: Apps now load faster

The largest apps created with Calcapp can take can take a long time to load. Today, we are speeding up the process considerably by compressing apps and PDF reports before they are downloaded.

Apps created with Calcapp keep getting larger. That’s great, but we’ve noticed that some of the biggest apps can take a long time to load, especially on slow connections. Sometimes, apps take so long to load that you get an error message.

Modern web browsers are able to use compression when downloading images, documents and even apps. Compression reduces the size of what gets downloaded, so you get results faster. Having a web browser that supports compression isn’t enough, though, the party on the other end of the line (the server) also needs to support compression.

Before, Calcapp didn’t support compression and apps and other files (such as PDF reports) were downloaded as they were, with no attempts to speed things up. That changes today. Starting now, Calcapp will honor your web browser’s request to have data sent to it in compressed form, which will enable apps and reports to be opened faster. As you can imagine, this is especially important if your connection to the Internet is slow.

This change, along with another change related to how long your device is willing to wait for apps to download, will enable apps to be run that are roughly four times as large as before. We have more work to do in the future to make apps download even faster. For now, though, this change should provide a noticeable speed boost.

February 25 update

We have managed to shave additional time off the load time for large apps. Previously, we did a lot of work every time you ran an app, including converting Calcapp formulas to a format a computer can make sense of more easily.

(If you’re technically inclined, you may find it interesting to know that we have a custom-written compiler running on our server which converts Calcapp formulas to JavaScript expressions your web browser can run.)

Now, we do that work once (when you share an app) and make use of this work instead of performing it needlessly again and again every time an app is requested. For very large apps, this change improves load times by as much as five seconds. Taken together with the compression work described above, very large apps can now be expected to load in a few seconds instead of taking ten seconds or even longer to load.

At this point, we’re not only interested in improving performance for our users, we are also interested in making sure that our server can cope with a future influx of users. The reason is that we want to provide a great experience not only when apps are run directly but also when apps are embedded in other web sites. We have spoken to website owners running large sites who don’t want to rely on our current beta service but are anxious to become customers once we end the beta. Some of these sites are viewed hundreds of thousands or even millions of times every month. We want to make sure that we can service these page loads as quickly as possible so that we can do a good job serving large websites embedding apps created with Calcapp — and invest as little money as possible buying more server capacity.

As such, this change should not only improve your experience — because your apps will load noticeably faster if they’re large — but also be good for our budget, as we’ll be able to do more with the resources we already have.

« Tip: Include only selected fields in reports Tip: Limit the length of a text field »