-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve UX of the root domain landing page #58
Comments
+1, my wishlist for it would be to improve user agency and transparency:
As for page design, friendly pattern:
|
suggestion from @aschmahmann
Yes, I think that we can use iframe to detect if user configured things before, and skip it if they configured things and clicked on init button before. |
Not sure what you mean here. But we have the default configuration from the code and the user can change that locally for each subdomain URL. This could result in config being different from one origin to another. What's the idea with using iframe? (and do we need a separate issue for this) |
I can't entirely agree with the first part of this. SW registering should happen immediately, but we could block the content loading behind the button. I've also talked with Adin about this, and he wants to minimize the friction for subsequent visits. That's fair and a good UX, but we should also add some messaging around how to configure the service-worker-gateway. We should always show the config and information when a user first visits the site, but if the user has seen things before and configured auto-reload, they should not see it. Adin would prefer it if we defaulted to auto-reload so there was less friction on new subdomains where we must register a new service worker instance. Still, I think this could hide the configurability and users could shoot themselves in the foot by enabling "auto reload" and then not remembering how to configure trustless gateways (local/custom/pinata/infura/scaleway/etc) when they realize they need to. To get around that issue, we need some explicit messaging about accessing the config page on the landing page discussed in this issue.
@2color answered more in your issue #75, but I am reiterating it here for others who may see this. The config is globalized at the root domain and shared via iframe message passing. I would also love a better-looking config page and better UI of that config page when rendered within the iframe. |
This may become less of an issue when we are fully utilizing responses from delegated routing in the |
Yeah, I think if someone opens a subdomain SW gateway URL, there's no reason for us to hold off registering the SW. Regarding "auto reloading" the page by default so that the CID is automatically loaded, I think that might actually be a case for auto-reload. There are two things we get from not auto-reloading on the first load:
I'm gonna play devil's advocate: users coming from normal trusted gateways don't care about this things and just want their site/dapp to load. It's not like any users have been desperately asking us for local-verification. At the end of the day, they just want their CIDs to load. With that perspective in mind, we should get out of the way and load things for them with sane default. Given local verification, this will still be much safer than trusting the gateway response.
One thing that isn't clear to me is what are we actually referring to when we say landing page. There are two possible landing pages:
Which one are you referring to? |
Following our sync discussion today:
For configuration, users will be required to go to the landing page. Pages and namingTo make sure we have the same understanding
UX patterns and animations for the SW loader page@lidel mentioned we already have some patterns for this in: |
Below answer based on latest changes on I was referring to what is now called the
I think "sw registration page" doesn't make sense for a name because we should register the service worker in 99% of scenarios, as soon as possible. The redirect page, helper-ui page, and config page each handle the sw registration because they can all be accessed directly via hash fragment or lack thereof. I like "redirect-page" for the name, because that's what it's doing: handling the case where a user requested some content, and we couldn't intercept it with the service worker for some reason. We could meet in the middle and call it a loading page? Also, I think the nuance of pages and loading is a little more clear with the latest changes, compared to when we discussed this previously. |
Looking at the tasklist above, i'm a little unclear on exactly what each action item is for. @2color if you're still planning to handle this lmk and I can step away, but here are some questions:
|
Since that's also the name in the code, I'm happy to stick with that. I just wanted to make sure we're talking about the same thing since there was a bit of ambiguity about what we were referring to.
Feel free to take this over.
Looks like a good start. Some small refinements
The intention was to ensure that users who try to copy a SW Gateway URL from the browser and curl it in the terminal understand that you cannot use it to with CURL. |
We should use the opportunity before the SW is installed to let the user now how the SW is different from a normal gateway before auto-redirecting.
Tasks
The text was updated successfully, but these errors were encountered: