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.
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.
Hi, is there a way you can have the background sync on every change with no window popping up every time?
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.
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.
@ 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.
User | Count |
---|---|
43 | |
27 | |
24 | |
22 | |
13 |