Delay in data refreshing

I am using the free version and my app deals with date calculations, thanks to @Jeff_Hager for his support on data calculations, however, there seems to be a noticeable delay in data refreshing. Is this due to having the free version, or can it be attributed to date calculations.

How long a delay? It is normal to have up to a 3 min delay if no data updates, caused by data entry in the app, are sent from the app to the spreadsheet. Glide only polls the spreadsheet on a 3 min cycle if there is not app activity.

Only Pro apps get polled every few minutes. Free apps refresh when a human changes the sheet or a human makes a change inside the app.

@George_B and @david. Please see the attached image for the current problem that I am facing. The delay of 32.87 seconds in filling the “Choice component” is resulting in reserving available time for a different date, or more accurately to the initial date the choice component had 28/1/2019. Any suggestions on how to overcome this problem

Are you rebuilding the date/time choices inside the spreadsheet based off the first date? You should be able to use a filter (on the second choice component) from the first choice component to narrow down the choices in second choice component. That should give you an instant result instead of waiting for an update from the sheet.

Yes, I am. I rebuild the dates and available appointments upon user entering the desired date (26/1/2020 as per the newly attached gif). To rebuild the dates for the selected date (I opted to do so to avoid large date calculations & to present the user with choices only for the selected date). The steps that I take are:

  1. The user inputs the date
  2. I write the date on column “C” as text (Glide only gives me data as text, or so I think)
  3. I change text date in column “C” to date in column “G” using this equation:

=TO_DATE(DATEVALUE(MID(C2,4,2)&LEFT(C2,3)&RIGHT(C2,4)))

  1. I build timeslots/available appointments for that chosen dates in column “D” using this equation

=Arrayformula(G2+(TIME(hour(Home!H2),row(G1:G28)*30,0)))

  1. I check the generated timeslots against logged in appointments for that date

=ARRAYFORMULA(IF(LEN(D2:D29)=0, “”, IF(ISERROR(VLOOKUP(trim(D2:D29), trim(Omar_Rsvp!E2:E), 1, FALSE)), TRUE, FALSE)))

Thanks @Jeff_Hager, would you be kind enough to elaborate! Also, could any of the steps above be accelerated / shortened.

I may have been wrong. That’s what happens when I quickly write these responses from my phone and I’m not by a computer to verify what I’m saying. :wink:

My only suggestion to speed things up involves keeping a full list of date time combinations, then using relations to build a list of available times. When selecting a time, it takes you to a detail page where the user can then reserve that time slot. I put together an example in the WeVet app (https://lhxgi.glideapp.io) that I had a copy of. Look for New Tab. That is were I had put the Dates Example in the same sheet before, so it was just easier for me to use the same app. You might still have to work out how to set it up with multiple barbers, but you may already have that figured out.

Since the choice component fills a value that’s used for all users, I’m hoping that whenever the new Per User columns become available, hopefully that would help make things easier. I’m not sure how it will work for apps that are public. We’ll have to wait and see.

Edit: After rethinking, I was able to set up two situations in the tab. The one described above, which creates a list of times to choose from and proceed, and a second choice component to pick the filtered times. So, there are 2 ways to set the RSVP in my example. Either select a time in the second choice component and click on the Reserve button, or select a time from the list, which will take you to a different screen for you to click on a different Reserve button.