Delay in loading default values, Causing bad user experience

We have created an App related to Pay packages, which can be used by employees to boost their earnings.

Only 2 default values (fixed and variable pay packages) are coming from GSheet & all other values are getting calculated in Glide Tables.

We’re currently experiencing an issue wherein it is taking 2mts for the 2 default values (from GSheet) to reflect on Glide App when a new user logs in, until then the users sees blank non editable data fields, making it seem like the App is not working.

Even after 2 mins, when the 2 default values are assigned, some parameters which are being calculated using glide table remain blank on 1/2 screens.

Further another screen shows the loading sign for more than 4/5 mts.

All of the above is resulting in bad user experience.

Pls refer to the recording for details: new users loading issue.mp4 - Google Drive

Pls guide us on how to fix for this.

As you have noticed, Glide takes a while to sync the Google Sheet values back to the app, especially in this case, where I assume you’re calculating things using a Sheet formula.

I wrote a recommendation for you in your other thread.

Please try to move as much logic to Glide Tables and Glide calculated columns as possible.

1 Like

There was an issue reported some time ago whereby fields in the User Profile row (coming from a Google Sheet) were not “available” for a period of time after the first user login. This was down to a bottleneck with Glide syncing the content of the sheet and the data editor. I had thought it was fixed but this may be a recurrence.

In my case it was happening with a Public Pro app (i.e. public with email). When a new user first logged in I wanted to have them update some fields in their user profile row, however the fields were not available (dimmed out) for a while. I could make them available immediately by refreshing the data editor.

I’m not sure if this is your issue, but it may be worth checking.

@V88 , in our case all the rows are visible across all other sheets, so we are not facing this issue right now, and we often refresh the data editor to update the data coming from the gsheets to glide quickly. Now the data for the input fields is coming from the gsheets, but as the new user logs in, it obviously takes time to update the data for these input fields coming from the gsheets to the glide, leading to blank fields till the data updates i.e. which takes 2-3 mins in our case. Refreshing the data editor, every time when the new user logs in is not a good idea. We are looking for other ways where we can reduce this lag time, and show the data quickly.

@ThinhDinh , we have moved everything to the glide tables and the glide columns are being computed using hyper formulas, etc. As discussed in Assign default values for the number entry input fields in the glide app . Our main/ only concern right now is how we can move this default values to the glide. Before moving logic to the glide tables we have noticed that there was a lag of 10-15 seconds maximum for the input data fields to appear in the app screen, and for the computation of any fields it used to took us 15-30 seconds to update. but after few suggestions from the community we have done three actionable:

  1. Moved our entire logic to the glide table.
  2. We have added some more columns to support our features in the google sheets.
  3. We have added more 50 users.

After all these actionable published, when we test the app performance then we have noticed a huge delay of 2-3 mins to update the input fields while it was 10-15 seconds before. As discussed the tables, graphs etc. are updating quickly but these are dependent on the input fields coming from the gsheets which also shows blank.

Are these default values static, or do they need to be calculated?
If they are static, then it should be easy.
For text values, you can use a template column to create a default value.
For numeric values, you can use a math column.
If they need to be calculated, then again it should be possible - as long as Glide has access to the data needed for the calculation.

@Darren_Murphy , thank you for your response. We have in total 3 input number entry fields, let’s say input field A, input field B, input field C. Input field A is static and input field B is calculated as 70% increase of A and input field C is the avg. of both the input fields. We have implemented this logic to the input columns in the Google Sheets. So we have 1 static value and other 2 are calculated values. In addition to that we have to meet the following conditions:

  1. These input columns should be editable by the user, till then it should be showing these default values.
  2. The Static input field i.e. A should be user specific. i.e. for user type 1 the default value should be 100, for user type 2 the default value should be 60.

Ok. Still sounds like my previous issue I think. Final check, please take a look at this short video:

@V88 , yes it is similar to this issue, but our Google sheet file is so big and also contains so many sub-sheets, that refreshing it takes minimum of 20-30 seconds in glide to update all the fields, and after done refreshing the input fields default values are visible. But every time it is not possible to refresh the Google Sheets from glide when the app is live, our app is used by many users, any unknown user logs in to checkout the app will see blank values. You can also experience how the new users see when they log in the app by visiting here:

Can you please clarify this - are you saying that all three of A/B/C are user editable?
This makes no sense, given that you also say that B & C are calculated based on the value of A.
I’ll assume that only A can be edited by the user.

Why? It’s a very simple calculation, why would you deliberately introduce delays by doing this in the Google Sheet?

Here is what I would do. I’ll assume that in your User Profiles table you have a column that defines the User Type, either Type 1 or Type 2.

  • Start with an if-then-else column in your User Profiles table:
    – If User Type equals 1, then 100
    – Else 60
  • Now add a User Specific number type column. This will be used for your Input A.
  • Next add a math column using the formula A * 1.7, where A is the previous column (This will be “Input B”)
  • Another math column: (A+B)/2, where A is the User Specific Column, and B is the first math column. (this will be “Input C”)

When a new user signs in, you will need to present them with a button or some other component that can have an action attached. When they tap the button, the action should take the value from the if-then-else column described above, and use it to set the value of the user specific column.

You then present the screen with 3 components:

  • Number Entry Component (A): targeted at the user specific column. It will have the default value, but they can edit it.
  • Some type of text components for B & C: these will have an initial value based on the default for A, but will update dynamically (and instantly) as the user changes the value in A.

@Darren_Murphy , yes all the three number entry input fields are editable, As you can see from the screenshots

these number entry input fields cannot be empty, as sometimes the user doesn’t know the benchmark pay packages but does know the present/current pay packages, so we provide/assign some default values until the user edits depending upon his pay package. All these number entry values comes from Google Sheet source columns, so we have implemented a logic to the input field column in the google sheet such that the benchmark pay should be 70% greater than current pay and the VenEx Pay package should be avg. of both the values. And Suppose the user is hr then he can choose the pay package less than the benchmark pay.

@Darren_Murphy you can use our app, to see what new user is experiencing:

Yes. I see it. The issue is the same I believe. It would be worth raising a ticket. I understand that refreshing the GDE is not a solution, but it proves the issue.