Hello there,
I'm working on an app, let's call it Main App, that is connected to several different Form Apps, at first all of these were on the Desktop Mode UI, but over time I realized that the Form Apps were never updating with my changes, it turns out you can't do a force sync to a form in another app and get the current data while using Desktop Mode.
As a solution I switched the Form Apps to legacy mode, and now we are able to force a sync to the Form Apps so that our users always get the current version, but the issue now is that our users see the following when they navigate from the Main App (Desktop Mode) to the Form Apps (Legacy Mode):
1- A loading screen with the Desktop Mode UI
2- The actual form from the Form App, still looking like the Desktop Mode UI for 1 or 2 seconds (they can even interact with it during this time)
3- Another loading screen, this time with the Legacy Mode UI
4- The actual form in Legacy Mode
Needless to say this navigation is extremely user unfriendly, has anybody reported this issue before?
Attn @Arthur_Rallu
Working on this project with Rafael, it's been a pesky issue in an intricate app we've got working smoothly outside of that one senario.
Desktop mode itself is a huge hack that creates an entirely new URL structure for apps. I'm surprised it's taken this long to run into a problem like this.
Precursor: Desktop Mode has been a huge improvement from a UI stand point and would never wish to go back.
I have definitely noticed the ~100 character string/id in the URLs of Desktop Mode apps; makes navigating from external sources into an AppSheet app difficult.
Is there any information on that new URL structure? maybe if I change the hyperlink to match that new URL structure it won't try to load the entire thing twice
I am unaware of any documentation on the desktop UI URL structure. @lizlynch, do you have any insight?
The vss parameter holds most of the internal UI state of the desktop app to enable sharing a link to the app in a specific state, but is not intended to be manually constructed. The random-looking string is actually compressed to reduce the size of the url, but the value is often still large because the desktop app can have multiple views open at the same time, each in various states. The desktop app does still support constructing links to single views with the same deep link functions and parameters that can be used in the mobile app.
The thing that's relevant is the ?platform=desktop part, but the refresh you're seeing is due to the need to switch platforms when going from one app to the other. If you're making a point to have the target app not use desktop while the source app is using desktop, unfortunately I don't think there's anything that can be done with the url to avoid this. Ideally all the apps in this kind of setup would use the same platform, it sounds like that's also your preference if this issue with forced sync is addressed, so let's see if we can figure out what's going wrong there.
Hey, I think it should be fixed on the AppSheet end but a quick fix can be PROBABLY adding a query param to the app URL like this (works for my scenarios):
https://your_app_url?platform=desktop
Iโll definitely give it a try. Thanks! @mateo
@lizlynch @Arthur_Rallu this is for a large enterprise app, is there any way we could get some help on this?
@Rafael_ANEIC-PY - Checking in with the AppSheet team on this issue. Thanks for reporting and apologies for the delay!
Can you elaborate more about this issue: it turns out you can't do a force sync to a form in another app and get the current data while using Desktop Mode.
And if you could tell me the app name that you're seeing this in I can try take a look at it. Ideally you would have Desktop Mode enabled for all of your apps so when you switch between them there doesn' t need to be a platform switch.
I just sent you a private message with the app details ! Thank you
@Rafael_ANEIC-PY wrote:
1- A loading screen with the Desktop Mode UI
2- The actual form from the Form App, still looking like the Desktop Mode UI for 1 or 2 seconds (they can even interact with it during this time)
3- Another loading screen, this time with the Legacy Mode UI
4- The actual form in Legacy Mode
Re: Desktop user interface is Generally Available - Google Cloud Community .
@Rifad wrote:
We have enabled the new desktop mode for a public app. When a user clicks the URL, the app opens in the old desktop UI within 1-2 seconds, then reloads to the new desktop UI.
This behavior is unexpected and unprofessional, as the webpage loads multiple times intially, confusing mostly one-time users who see one view disappear and another load. Please address this issue, especially with 'Sync on start' turned off. The new UI should be displayed by default if it is generally available. We dont ever want to see the old UI at all. Its just 1-2 or upto 5 seconds depending on the network speed before it switches to new UI. Which is not at all ideal.
I encountered the opposite issue from yours. Could it be a cache problem? It's strange that both experiences are so different.
@Rafael_ANEIC-PY
We recently ramped up a change that should load the app without a refresh if desktop mode is on - this was enabled for everyone a couple of days ago, can you check if you're still seeing this issue today?
@Rifad wrote:
I rechecked my app after 5 days, and the issue has magically disappeared. It might have been a caching problem, either on the AppSheet server or in the browser. Last week, I experienced multiple loading issues on different browsers on the same device. However, those problems are gone now. My app didn't have sync on start enabled, so it briefly loaded the legacy UI before switching to the new desktop UI. Now, that issue has resolved itself.
Maybe wait for a week like I did ? But surely a bug @Rafael_ANEIC-PY
Our (Rafael and QREW Team) goal is to navigate a user from a desktop mode appA to desktop mode appB.
The reason why we switched appB from desktop mode to a legacy mode is because when you use LINKTO_____ to a desktop mode app it loads the users last cached app version, causing an issue where users were opening old versions of the app.
The solution to our primary issue is:
when AppSheet loads the destination appB (in desktop mode) it auto initiates an update to the current version.
Is this quote(below) saying you guys have pushed a change that:
- does not automatically refresh and keeps the user on the cached version
OR
- it updates the version without the user needing to manually refresh
@amyplin wrote:We recently ramped up a change that should load the app without a refresh if desktop mode is on - this was enabled for everyone a couple of days ago, can you check if you're still seeing this issue today?
Thanks for the read ๐
The change Amy mentioned would apply to initial app load such as from a link, as in Rifad's case. It's about trying to show the correct platform sooner to avoid seeing two different startup UIs, I'm not sure if it will affect the app switch from one platform to another though. At best it would only affect what you see after the refresh is triggered.
@QREW_Cam wrote:
The reason why we switched appB from desktop mode to a legacy mode is because when you use LINKTO_____ to a desktop mode app it loads the users last cached app version, causing an issue where users were opening old versions of the app.
The solution to our primary issue is:
when AppSheet loads the destination appB (in desktop mode) it auto initiates an update to the current version.
I see, yes this is intended to "just work" if you have Automatic Updates enabled (syncs in the background) and it shouldn't be necessary to include the "at" parameter to force a sync unless you specifically want to force the full screen sync UI (although this might be a good case for that if the sync is supposed to populate the form view).
But when a form view is open (or other sorts of data changes in progress) the sync is somewhat defensive about trying to avoid wiping out local changes in progress. Basically once a user starts filling out the form, the sync becomes deferred until the form is saved or canceled. In this case it looks like there is a "false positive" happening in Desktop where the data changes initiated by the form opening are incorrectly blocking the sync (incorrectly because the user hasn't actually interacted with the form yet). This is something we'll need to fix on our end, but I think we can do that easily enough.
BTW appending "&platform=legacy" to the deep link isn't doing what you want, it's treated as part of the "at" value and causing it not to be interpreted correctly - I would just take that out.
Thanks a ton for the response. Glad to hear you guys have a good understanding of our issue.
Appreciate you Gogglers!
It looks like the bug among other things involves the interaction between the "at" in the link forcing a sync and the app being configured with sync on start / automatic updates. If you remove the "at" from the link and just rely on the sync-on-start behavior to trigger the sync, it might work around it.
@Rafael_ANEIC-PY wrote:
@lizlynch @Arthur_Rallu this is for a large enterprise app, is there any way we could get some help on this?
It seems that's the 'keyword' for getting a response from the AppSheet team. I reported this on Friday, and I still haven't received a reply.๐คท๐ผ
I think tagging us directly is the biggest factor, at least when it comes to seeing the post. Regarding the issue you posted Friday, I think you should see improvement with the next update.
@Rifad wrote:
It's strange that both experiences are so different.
In the case of following a link to the app, the server can check which platform is configured for it and include that information in the initial page load to avoid the platform switch (this is basically the change coming in the next update).
The app switch case is a bit different because it normally only involves a change in the url hash without reloading the page. The client only learns it should switch the platform after syncing the new app configuration, which involves some window of time where you continue to see the initial platform.
I rechecked my app after 5 days, and the issue has magically disappeared. It might have been a caching problem, either on the AppSheet server or in the browser. Last week, I experienced multiple loading issues on different browsers on the same device. However, those problems are gone now. My app didn't have sync on start enabled, so it briefly loaded the legacy UI before switching to the new desktop UI. Now, that issue has resolved itself.
Maybe wait for a week like I did ? But surely a bug @Rafael_ANEIC-PY
User | Count |
---|---|
18 | |
12 | |
8 | |
4 | |
3 |