I would like to be able to make the implement...

(Kirk Masden) #1

I would like to be able to make the implementation of a change column conditional on the value of another column and cannot figure out how to do this.

Valid_if does not work because it produces an unwanted error.

Is there a way to make change columns conditional?

I would like to do this because I want to have a “Lite Mode” setting on my app.

Frequent implementation of change columns means that more needs to be written to the spreadsheet and that syncing can take longer. There are situations on my app where the data written to the change columns may be desirable but not necessary.

If the user feels that there a need to enter “Lite Mode,” where only data that is really necessary will be synced, I would like to be able to allow that by making certain change columns conditional of that setting.

Is this possible?

If so, how can it be done?

(Kirk Masden) #2


I think I may be able to answer my own question, at least is part.

First, making a change column (either ChangeTimestamp, ChangeCounter, or ChangeLocation) conditional seems to be impossible, at least as far as I can see.

The good news, however, seems to be that we probably don’t need to make them conditional after all, at least if the goal is to improve sync times.

As far as I can tell, change columns don’t affect sync times; they seem to change with the column they are linked to, not after the change to that column.

By contrast, a serious of actions can take some time to sync because each sequential writing act seems to depend on the completion of the previous one.

So, my little struggle with this issue today has led me to the idea that, in order to speed up sync times, I have a few places in my app where I was using actions to do the work of change columns and that by reconfiguring these parts of my app to do the same work via change columns, I think I can speed up the syncing process.

I would deeply appreciate it if someone who, unlike me, really understands what’s happening under the hood, so to speak, would tell me if I have come to the correct conclusion about this.


(Steven Coile) #3

Rows are written back to the spreadsheet in their entirety, so even if the user changes only a single column value, the entire row is synced back. The change columns are updated when the user saves the change, not as the sync is occurring. Therefore, change columns adjustments have no impact on sync time. The mere existence of change columns, though, do affect sync time, as does every additional column. If users have the option to disable data collection, you might consider whether that data collection is really needed.

(Kirk Masden) #4

Thanks +Steve Coile!

The kind of sync I do a lot of in my app is where values already in the app are written to individual cells, often on another sheet.

When I use grouped actions to transfer several cells from the same row in one table to another row in another table (see following video) the syncs are done sequentially and take a fair amount of time (the time of the video has not been adjusted).

It seems to me that, on the whole, the combination of updating a single cell with an action and then having a couple more cells updated

via change columns is faster than three individual actions writing to different cells as you see in the video.

I wanted to have two modes for two different types of usage of my flashcard app for language learners: One would be for individual users who were only interested in their own progress and the other would be in for classroom situations.

In a classroom situation, more data would be collected for evaluation/grading purposes while such data collection would not be necessary for individual users.

I thought of having two “modes” for this reason.

My first thought was to have two versions of the app but then I thought it might be better if the user could merely switch to the faster “individual” mode for continued study after the course ended.

Even for individual users, however, a fair amount of data collection is necessary to make the app work properly and I’m beginning to think that the difference between the two modes may not be great enough to make presenting and explaining the choice worth the trouble.

Still, if change columns add significantly to sync times it would seem like it might be nice to be able to turn them on and off depending on the circumstances, as can be done with actions.

Moreover, more control would make it possible to only count certain kinds of changes as opposed to all changes in a column.

This can be done to some extent already but more power/options would be welcome.