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

IPFS User Interface research #31

Merged
merged 13 commits into from
Mar 15, 2018
Merged

IPFS User Interface research #31

merged 13 commits into from
Mar 15, 2018

Conversation

olizilla
Copy link
Member

@olizilla olizilla commented Mar 13, 2018

This doc identifies the feature lists of each WebUI, Desktop & Companion. It's to figure out what features we've got, what features we need, and to help us pin down what we want to call these things and how they should work across all the apps.

See it in it's rendered html glory, here

This was supposed to be a googledocs but I'm so out of practice in writing that I have fallen back on the ol'markdown to gather the UI research. I can port to googledocs once it's done if that is the will of the group, but I'll complain loudly as I do so.

Let's talk it through. Feel free to add to it and comment on anything that interests you.


- GATEWAY - the http address of the IPFS gateway you are using.
- API - the http address of the IPFS API you are using.
- VERSION - the version of the ipfs api impl as reported by `ipfs.version()`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally, we have a clear problem with "version".
Desktop displays "protocol version".
Companion displays "backend app version" (go-ipfs or js-ipfs)
WebUI displays both.

|---------------------|----------------------|
| ![](img/002-add-file-companion-1.png) | ![](img/002-add-file-companion-2.png) |

The current tab redirects to the url for the file just added. Adding a large file is handled, as the filepicker is a standard html file input. There is no progress indication; the usual browser page loading indicators give a clue that something is happening.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


<img width='600' src='img/002-add-file-desktop-3.png' />

**Companion** adds extra sharing related links to the menu when the current tab is showing a file from IPFS. "Copy Canonical Address", copies a Nested URI `/ipfs/QmHash` address to the clipboard. "Copy Public Gateway URL", copies the full ipfs.io url for the file. Both indicate that it worked with a browser notification. There is no indication to the user that these extra features exist, they only see them by re-opening the ifps browser action menu.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


**Desktop** lists files by filename, sorted with most recently added at the top. The time the file was added is provided as muted, secondary text. In the 0.3, you can't drill down into folders, though I think this feature is available in the latest dev version.

**Companion** has no file browsing feature.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May be worth mentioning that MFS support for uploaded files is planned: ipfs/ipfs-companion#415
It provides a wider context and implies that we either will have file browser in extension or will open one from dweb/web-ui.


The UI/UX should be improved but the idea is interesting, and could become a vital tool for helping people to understand IPFS and IPLD.

## Pinning
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For completeness, let's add short note that Companion supports recursive pinning of arbitrary resources by navigating to the resource root CID and clicking on "Pin" in Browser/Page Action.


Both Desktop and Companion offer this, but is "Open WebUI" the right name for this action? As a companion or desktop user, I may have never seen the WebUI app, and so may have no intuitions as to what it's for.

Desktop and companion have differing ideas as to what the best url for WebUI is.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think companion uses IP for API just for visual consistency with Gateway.
We have to use IP instead of localhost for Gateway due to: ipfs/ipfs-companion#328


Companion let's you toggle between an embedded js-ipfs node or an external IPFS daemon. In the preferences you can even have it connect to a remote IPFS node.

Desktop uses [`js-ipfsd-ctl`](https://github.com/ipfs/js-ipfsd-ctl) and bundles `go-ipfs`, and it's not configureable. If you run a local ipfs daemon, Desktop cannot start, and instead shows an error message, "Please stop your IPFS daemon before running this application".
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo: configureableconfigurable

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@olizilla olizilla merged commit 3c8a26a into master Mar 15, 2018
@jessicaschilling jessicaschilling deleted the research branch April 8, 2020 23:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants