Darren, I wish I could say I got ALL favorable results with my “Controlled” testing but in the end… I came close and learned a lot in the process!
Test 1:
Using 2 Android devices and 1 iPhone in my test. New install of app on second Android phone after a small structure update (just physically added 1 new word, 1 extra period and a heart emoji via markdown to the end of an existing custom Rich Text component and re-published the app).
Of course the new install picks up every change since it’s the initial install of the app. Other two devices with previous install of app did NOT change at all, even after roughly 2 hours leaving the app instance open, switching them to airplane mode, switching to other apps and bringing the Glide app back into focus, and switching between 5G while briefly in my car and back to WiFi in the office. No state change applied forced a structural app update thus far. Did a browser refresh in the browser instance of the app on my laptop and as expected that updated on-screen.
Test 2.
Next, I created a new “Visible” app tab (actually “Menu” item vs. tab). Dropped an Image & Hint component on this page and again published the app manually. Waited another hour…nothing on any of the devices. No Visibility conditions but a new menu tab nowhere to be found.
UPDATE 1:
On iPhone 6 , after sitting for 3+ hours, I picked it up, brought the Glide app back in focus and it did a screen refresh of the app to apply the latest updates. Sadly I can’t remember if I did the airplane mode toggle one more time, but I do remember refreshing the CNN website in the other browser window before returning to the Glide app. So, yes it took nearly 3.5 hours but on the iPhone 6 I sort of matched your outcome of auto update over time. Sadly, neither of my Android phones (one much newer than the iPhone) have updated yet when bringing the open installed app back into focus.
UPDATE 2:
About 30 minutes later, I picked up older Android phone, saw nothing updated, toggled airplane mode on then back off again, briefly looked at CNN in a separate browser instance, but noticed I still had the Glide app up in the browser as well which appeared to refresh itself and present the “install app” message at which point the app now was updated to the newest version. The same held true for the mobile “installed” version of the app. Sadly, newest & fastest Android phone is still sitting on older version of the app even after toggling airplane mode. That’s wild???
Test 3.
Last test was to add another Hint component to the same now “existing” new visible test menu item / tab but this time create two new “text” type columns in one of my sheets “Hidden Title” & “Hidden Text” and turn on edit option for the tab.
Closing and reopening the iPhone app instance to get the new published updates, I was able to enter edit mode, type into the text entry fields and save.
As expected, because it was a DATA TABLE update, it updated on all of the devices (iPhone, older Android with previous version of app & laptop web instance of the app). But for my newer fast Samsung Galaxy S20 FE 5G handset… nadda, nothing! No update from the previous 3 versions of the app nearly 5 hours later before any of the publishing. And since that new DATA driven component was NOT on the original versions of the app, the new device missed the data edit change. That is definitely saddening!
In Conclusion:
While the Glide app DOES appear to auto-update app “structural” changes over a random period of time (3-4 hours in testing) for some devices, my test case still left one device (the newest one) with NO update at all.
So given this, my recommendation is that we try to design Glide apps “with Dynamic tab components” that might require more “real-time” “structural” updates (a swap out of text on a page, or change to header or body images, or a drop in place Vimeo or YouTube video, etc.). We will try to logically plan for or anticipate those potential updates ahead of time. Perhaps taking a top to bottom look over a “Detailed” app tab page design and setting as many dynamic components as editable on the page while linking each one to a configurable data table source column on the back-end. Pre-existing “empty” components that load during the first install and show / hide when populated by data or left empty in the table.
While this may NOT be viable for every instance or every component, it will work in a pinch allowing near “real-time” structural updates to User base app installs on the fly. Not pretty, I know, but it’s an interface design solution for those of us who want more immediate flexibility in addressing potential content needs in our app’s interface on the go.
And most importantly for our needs during conferences with 500+ attendees, like the rest of our data, these planned dynamic structural interface updates in key locations on a formatted tab can be handled from a mobile device without the need to log into the Glide back-end Editor! 