Skip to content
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 onboarding via OS-level protocol handler #1646

Closed
lidel opened this issue Sep 15, 2020 · 9 comments
Closed

Improve onboarding via OS-level protocol handler #1646

lidel opened this issue Sep 15, 2020 · 9 comments
Assignees
Labels
area/protocol-handler Issues related to OS-wide protocol handler registered during IPFS Desktop install effort/hours Estimated to take one or several hours exp/intermediate Prior experience is likely helpful good first issue Good issue for new contributors help wanted Seeking public contribution on this issue kind/enhancement A net-new feature or improvement to an existing feature P3 Low: Not priority right now status/ready Ready to be worked topic/design-front-end Front-end implementation of UX/UI work

Comments

@lidel
Copy link
Member

lidel commented Sep 15, 2020

Right now, IPFS Desktop installs system-wide protocol handlers (dweb, ipfs, ipns) which converts ipfs://<cid> URI to gateway URL and opens that in default browser.

It is fine, but may be confusing on the first use.

We could improve this behavior and show a dialog window, where user can choose how to open IPFS resource via radio-button-like selector:

  • open from public gateway in the default web browser (default)
  • open from a local gateway (show only if daemon in running)
  • open in webui/Files (show only if daemon in running)
  • open in webui/Explore (show only if daemon in running)
  • (checkbox) remember the choice for the future
    • should be accompanied by a toggle in menubar menu: "Ask how to handle IPFS URIs" so user can change their mind later

(thx @aschmahmann for noticing that onboarding is especially confusing if user's default browser is not the one with ipfs-companion)

@lidel lidel added the need/triage Needs initial labeling and prioritization label Sep 15, 2020
@lidel lidel added the area/protocol-handler Issues related to OS-wide protocol handler registered during IPFS Desktop install label Sep 15, 2020
@jessicaschilling
Copy link
Contributor

jessicaschilling commented Sep 16, 2020

This is also a good opportunity to emphasize on first use that Desktop is acting as the intermediary - otherwise, the flow is like this:

  • user types ipfs://QmY7Yh4UquoXHLPFo2XbhXkhBvFoPwmQUSa92pxnxjQuPU into their browser bar
  • they get a "do you want to open this in IPFS Desktop?" dialog, and click "OK"
  • but then they just stay in their browser and see their requested resource in a new tab

This is super-confusing if you've never encountered it before.

@jessicaschilling
Copy link
Contributor

Quick mockup of menu item mentioned above:

image

@jessicaschilling
Copy link
Contributor

Quick mockup of choice modal (note this could appear over whatever screen the user currently has open in Desktop):
image

@jessicaschilling jessicaschilling added this to the v0.13 milestone Sep 16, 2020
@lidel
Copy link
Member Author

lidel commented Sep 16, 2020

Thank you, yes, this would do the trick.

nit: this modal is specific to Desktop app, so I think it should not be part of WebUI, but a separate window that loads the modal page.

@jessicaschilling
Copy link
Contributor

jessicaschilling commented Sep 16, 2020

a separate window that loads the modal page

Confirmed this just means modal appears in its own window without Web UI furniture behind it: i.e., ignore grayed-out Web UI interface behind the modal in the mockup above. Can amend mockup if this is absolutely necessary, but this should be ready to work. Text (for copy-paste convenience) is as follows:

How would you like IFPS Desktop to open this ipfs://URI?

  • In my default browser using a public gateway
  • In my default browser using my local gateway
  • In the Files screen
  • In the Explore Screen

(checkbox) Remember this choice for all ipfs:// URIs

(buttons) Close / Continue

Note that the image in the modal is the standard stroke_link icon from ipfs-css.

image

@jessicaschilling jessicaschilling added exp/intermediate Prior experience is likely helpful effort/hours Estimated to take one or several hours good first issue Good issue for new contributors help wanted Seeking public contribution on this issue kind/enhancement A net-new feature or improvement to an existing feature P2 Medium: Good to have, but can wait until someone steps up status/ready Ready to be worked topic/design-front-end Front-end implementation of UX/UI work and removed need/triage Needs initial labeling and prioritization labels Sep 21, 2020
@lidel lidel modified the milestones: v0.13, v0.14 Sep 25, 2020
@lidel lidel added P1 High: Likely tackled by core team if no one steps up and removed P2 Medium: Good to have, but can wait until someone steps up labels Oct 12, 2020
@lidel
Copy link
Member Author

lidel commented Oct 12, 2020

This is a significant UX improvement, bumped a priority a bit.

ps. I suspect protocol handler does not work everywhere (eg. #1549).

@unmellow
Copy link

unmellow commented Nov 29, 2021

Not sure if this is the best place to mention this but I think it would be a good idea for you to a url in the style of lokinet
E.G. http://awsomeipfs.io.ipns vs the current system

the idea is lokinet recognizes all domains as their own origins
so copying their structure should help

Not actually knowledgeable of the low level of how this works but untill the web 2.0 APIs are complete you should in theory be able to imatate whatever it is that they've done

@lidel lidel modified the milestones: v0.16, v0.19 Jan 17, 2022
@hacdias hacdias self-assigned this Jan 28, 2022
@hacdias
Copy link
Member

hacdias commented Jan 28, 2022

I'm now working on this on #1966. I also want to add that the Explore page does NOT support IPNS links. Options I see:

  1. Ask this prompt for each different scheme: ipfs://, ipns://, dweb:/ipfs, dweb:/ipns
  2. Default to opening on files or browser for IPNS.

2 is easier to implement than 1.

What do you think?

@lidel lidel removed this from the v0.19 milestone Mar 3, 2022
@SgtPooki SgtPooki moved this to To do in IPFS-GUI (PL EngRes) Jul 19, 2022
@lidel lidel added P3 Low: Not priority right now and removed P1 High: Likely tackled by core team if no one steps up labels Nov 6, 2023
@lidel
Copy link
Member Author

lidel commented Nov 6, 2023

The proliferation of ipns:// and ipfs:// addresses for website hosting changed the feasibility here.

URIs are now natively supported by Brave and ipfs-chromium, and IPFS Desktop trying to capture them and opening them in IPLD Explorer or Files explorer becomes effectively harmful, as miss-click will break websites for less technical users, especially if the checkbox to remember choice is checked.

Due to this, I'm closing this, as it is no longer something desired in user-friendly tool.

@lidel lidel closed this as not planned Won't fix, can't repro, duplicate, stale Nov 6, 2023
@github-project-automation github-project-automation bot moved this from Needs Grooming to Done in IPFS-GUI (PL EngRes) Nov 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/protocol-handler Issues related to OS-wide protocol handler registered during IPFS Desktop install effort/hours Estimated to take one or several hours exp/intermediate Prior experience is likely helpful good first issue Good issue for new contributors help wanted Seeking public contribution on this issue kind/enhancement A net-new feature or improvement to an existing feature P3 Low: Not priority right now status/ready Ready to be worked topic/design-front-end Front-end implementation of UX/UI work
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants