New to AppSheet - My extremely simple app takes 10-15 seconds to change one cell

Hello. I’m new to AppSheet. I built a very simple app from a very simple Google Sheet. Sheet has 5 rows of data and maybe 10 columns.

My app is for baseball/softball. I want a simple way to track a player’s at-bats, with simple buttons for Hit, Walk, Out, etc. I have this working but it is extremely slow.

In AppSheet I created four Actions under the Behavior section. Each action increments a specific column in the sheet by 1, for the selected Row. My sheet then has two calculated columns (Total At-Bats and Batting Average) that use these “input field” columns, so those two numbers are re-calculated.

When I tap on the Action buttons in my app, I see the sync arrow appear. It takes a good 10 seconds for the sync to happen. It then takes another 2-4 seconds for me to see the updated values for the calculated columns in the app.

is this normal? In my current use case speed isn’t that important but I could not imagine waiting 10 seconds for an inventory management type app or similar.

I’m still on free account and just testing, not sure if that matters…

PS- I find it interesting that “performance” and “speed” are not in the list of tags.

It sounds like to me that you have background and delayed sync turned on.

2 Likes

Thanks. I just looked at Behavior, Offline\Sync and Delayed sync was ON but the app was still syncing on its own…how is that possible? I would see a “1” badge on the sync arrow and I would count, and watch the badge disappear.

I just now set this to OFF and I see possibly the slightest improvement. Now taking about 7 seconds to sync and refresh the calculated field.

Where can I check for “background”?

It’s labeled “Automatic Updates” I think.

With those two on, it does the behavior you saw initially. With them both off, it will show a sync screen for every change.

What I suggest is Automatic Updates off, Delayed Sync on. Then you manually click that sync button when you want to see the changes.

2 Likes

Thank you, I’ll take a look but that seems to be opposite of what I want. I want to tap one button and have data updated, calculations reflected and then shown in the UI, in a reasonable amount of time.

it’s all working-- tap on one of my action buttons and it automatically increments that value by one, which will in turn force two columns to recalc, and automatically shows those new values in the app. But 10-15 seconds feels very slow.

is this not possible without it taking 10-15 seconds? I can’t think of a more simple use case and if AppSheet can’t do this I’m going to move on to other tools.

Well, outside of your internet speed, I can’t think of too many other factors that would be affecting sync speed that badly. I have a more complex app that syncs in under 2. But there is a performance analyzer to show whats taking so long.

Just remember, you aren’t working with the data locally. The app has to interpret each change. Send the information to AppSheet servers. For a real column, open the gSheet. Write your change. And then the data comes back the other way. If you have sheet formula’s doing your calculations, then there is always going to have that lag time.

I believe if you used Virtual Columns to do the math that you want to see in real-time, it would do the trick.

1 Like

AppSheet does not and cannot maintain a persistent/real-time connection to the data store. Your app is best designed to do the work itself, rather than relying on the spreadsheet.

Thanks Steve. I get that the app is syncing. Unfortunately, I’m just not able to figure this out.

I’ve tried making virtual columns but I can’t figure out how to format a number as .### in a Virtual Column. This is required for baseball “batting average”.

Nothing I do seems to make an impact. I increment “Hit” field by 1, then the app works but takes 10-15 seconds to show the updated batting average.

There is simply no way to improve things much so long as you rely on the worksheet to do processing.

Hi, is there a way you can have the background sync on every change with no window popping up every time?

@ sigamy
Hey, I had the same problem, but now it’s fixed, try this:

LOOKUP([_THISROW], “your table name”, “the key column”, “Hits”)+1

Should work instantly.