We’ve spent the better part of the past three months laying the groundwork for cross-references and calculated properties. That work is now beginning to bear fruit. The current plan is to ship this work in two phases in February and in March. The first phase will include cross-references, which will enable you to refer to fields in other panels. The second phase will add support for calculated properties, which will enable you to, say, determine if a field or a text box is visible using a formula.
Two months ago, we announced that we planned to end the beta “in the next few months.” That was contingent on us managing to finish a number of features we think are vital to a viable product, including cross-references, calculated properties and the ability to customize the appearance of apps and to copy and paste fields and panels. As is often the case, this work has taken longer than expected. We will not end the beta until we have added these features.
There’s lots more to come in the future, including native apps, app store submissions, more versatile fields (including sliders) and support for tabular data and look-up functions. We need to start generating revenue before we can start work on all these great features, though.
We’ve realized that apps built with Calcapp are either for private use within an organization or for public use. What’s a private app? It’s one where you don’t want anyone from outside your organization to access the app and certainly not be able to send you reports. You may consider your formulas or other aspects of the app confidential. A public app, on the other hand, is one that prospective customers might use, or one that simply doesn’t contain anything you’re not comfortable sharing with the world. Perhaps you link to your public app from your web page or even embed it directly.
As such, we think that our price structure should reflect the fact that apps are either for internal use or for public use. It is probable that we will charge per user for private apps and per app for public apps. We’re also looking into adding better access controls for private apps, which would enable you to control which users can access the apps you build.
There will likely be a free plan once we end the beta, which will be free for personal use. Our current thinking is not to limit apps built with the free plan, other than preventing them from being shared. In other words, you’ll be able to build apps for your own private use and access them by signing into your account using Calcapp Connect. We may allow limited sharing through social media, if it’s technically feasible.
None is this is set in stone. If you have any thoughts on what would or wouldn’t work for you or your organization, let our co-founder David know, and he’d be happy to have a conversation with you.
Status of cross-references
We’re happy to report that we have made substantial progress on enabling cross-references. Being able to reference other panels will enable much, much larger apps to be built.
We’ve built calculator apps for years with prior versions of Calcapp. (Internally, we refer to the version you’re using as “Calcapp 3.”) We were recently asked to upgrade an app we built years ago to an app that could be used on cell phones. The prior version of Calcapp that this particular app was built on could only create native apps for desktops, so we set out to rebuild it using the current development version of Calcapp Creator.
In order to create an attractive app with functionality neatly divided across different screens logically following one another, we needed cross-references. Luckily, we have just managed to get cross-references working, and we were thus able to build an attractive new app for our client.
Here’s what the formula bar of Calcapp Creator looks like when editing one particular output field:
To reference another panel, you write the panel name followed by an exclamation point and then the field name. In this image, there are lots of such cross-references. If you’re a Microsoft Excel user, this syntax may be familiar to you, as this is the exact same syntax used to reference cells on other worksheets in Microsoft’s product. (LibreOffice and OpenOffice.org use a period instead of an exclamation point.)
There are a number of missing features we’re currently working on:
- Panels can’t yet be named, which explains why we reference “CalculationPanel1” and “CalculationPanel2” in the image above. We’d prefer more descriptive names.
- To reference a field on another panel, you currently need to type the reference manually. We want to enable you to point and click at the field in the same way you’re used to when referencing fields on the same panel.
- Changing the name of a field automatically updates the formulas on the same panel, but not formulas associated with fields on other panels. As field names are now updated automatically when changing field captions, it’s important that all formulas are changed automatically and reliably.
Upgrading your apps
The way your apps are represented on our server has changed dramatically, which means that we need to upgrade them to work with our new release. We last changed how your apps are represented in June last year. At that point, we introduced a system that transparently does the upgrade when you load or run your apps. You didn’t notice that anything out of the ordinary happened, as the process was very quick.
That worked fine in June, but today, there are much larger apps that have been built using Calcapp. Upgrading the largest app currently takes around half a minute. We need to either create a user interface that lets you know that the upgrade is taking place (complete with a progress bar), or we need to upgrade all apps or perhaps only the large apps ourselves. In order to to the latter, we need to either take the service fully offline while doing the upgrade, or we need to do the work to enable apps to be used (but not modified) while we perform the upgrade.
Either way, we have our work cut out for us.
Looking ahead to calculated properties
We’re excited about calculated properties and the features they will bring to your apps. Do you want a list panel option to only be visible if the user has entered a large enough number in the previous panel? Attach a formula to the Visible property of the list panel option. Do you want a button that sends you reports to only be enabled if all required field have been filled out? Use the Enabled property of the button with a formula that checks all required fields using the ISDEFINED formula function. Do you want the initial value of a field to be equal to the calculated value of another field on another panel? Just attach a formula to the InitialValue property.
We’re hoping to use calculated properties to meet longstanding feature requests, including the ability to assign a field color based on a formula and to help you validate fields. We think that calculated properties will also help our reporting feature become more versatile, so that you can determine the recipients of an e-mailed report using a formula and use a formula to determine the sender shown to your users.
In other words, we have lots of exciting changes in the pipeline. Thanks for your patience!