Hi gliders,
Decided to leave the topic as “Uncategorized” as I don’t really know where to put this story.
TL"DR - 200 user sent 20 answers to trivia game in a period of 30 min caused huge dealy (hours) in writing data to the sheet and update the app back,
Full story:
I built a trivia app as a small entry project for what could have a been a huge customer for me on the glide platform, a municipality here in Israel.
The game itself was relatively simple, 20 questions (answers were submited using choice components), few images, a users sheet where all the user’s data is being handled (details and answers+result calclation)and question and answers sheets and a process where the user first sign in and then sign up using filtered (by email) details screen and buttons (increment actions) to “move” to next stage of playing the game.
key point: all fields were writing to the sheet as they were filled by the user both on the signup and during the game itelf (i.e.choose answer and it’s being written to the sheet in real time)
the game itself presented a feedback to the player on each answer if it was right or wrong while in the sheet it was calculating the score and when the player finish the 20 questions present the total score back.
we tested the app on few tens of people and everything was working perfectly.
on Wednsday we launch the app officially in the municipality’s pffocoal facebook page… OH boy… did not see what happened comming…
on the first 30 min we had about 150 users entering the app (+50 after) to play and because each of them was sending about 25 “arrows” of information (personal info+20 answers) from glide to the sheet and that created a kind of overload which resulted in the data delayed in writing into the sheet which lasted from 10 min over 3 hours until all the data was finally written in the sheet.
Because I was using choice components and my correct/wrong logic was built on visibility in glide as well as using increment a user specific column to move to next question the app itself work perfectly and gave the user the correct feedback (i.e. right/wrong respond) and moved perfectly between the questions. The problem was on the end when a user finished the game and got the final score which was wrong (most cases presented 0) as it wasn’t written to the sheet, not calculating the right/wrong answers and thus automatically showing 0.
We got over a 100 comments on the game post (in the official municipality’s facebook page…) of people complaining that the game isn’t working and that the result is wrong. this created an embarrassment to the city and for me which resulted with the city in deleting the post of the game alltogether and take the app off the air.
I contacted glide team in real time for help and got a respond that there was a lot of data comming at the same time and that it created a queue and that all the data will arrive eventually.
from corresponding with the team I learn that it would be better to work on a glide table which would eliminate the delay or a user specific to store the data and once the user finishes the game send all the data at once (like a form in a way).
On my personal point of view, I would expect the app to work correctly and didn’t think that this would be consider a “lot of data” (there were suppose to play total of 500 users) which can create such a huge delay (over 3 hours from the last person entering data until it was written in the sheet) but the point is that you need to think very good on how you collect the data and how you save it to your sheet especially if you plan to have ,any users on the same tine writing and editing data.
As many of you know me, you know I’m one of glide’s biggest fans as well as leading both IL and global facebook communities for glide and no-code and will continue using glide and I still think this is one of the best and most flexible platform around but this made me be more carfull in the future of what I’m using glide for and how I build each app to make sure this kind of thing doesn’t happen again.
Thanks for reading.