-
Notifications
You must be signed in to change notification settings - Fork 17
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
Define the focus and scope of each app #41
Comments
Do we want a minimal desktop app with OS integration + super deluxe WebUI rebuild with all the features, and have desktop and companion hand off to this nu-webui for significant features? Or... do we want to remove / reduce WebUI and replace it with a super deluxe Desktop app that operates as a node admin / dashboard / workbench and general purpose IPFS / IPLD explorer. Could Companion hand-off to a Desktop if available? Or some other combo? |
IPFS DesktopThis app is the most important from UX perspective.
Offline FirstRegarding bundling and deciding what things should be delegated to WebUI in general, I want to channel concern raised by @lgierth in PR about Landing Page for browser extension (ipfs/ipfs-companion#326 (comment)):
This does not mean we can't delegate things to WebUI, but we should think which features won't work in offline environments and make sure initial experience is not full of Page Not Found errors :) |
Answering to your first question, @olizilla, I believe it is. I think we've talked about that once (cc @lidel). Now, about WebUI and Desktop. DesktopIn my opinion, Desktop should be the smallest - in terms of size it can't be due to Electron... - and the entry point to IPFS. With it, you could:
WebUIMy first feeling is about the name of this piece of software. We've discussed this before and we didn't really change the name (ipfs/ipfs-webui#612). Although, I don't find "WebUI" the best word to describe what this does. Something I would like to be done was to untie WebUI from the But... what is webUI supposed to do?
|
Ace 👍 We're going to focus on making WebUI awesome (name could change at some point, but we're not gonna focus on that right now). It's going to have a responsive, accessible, file-browser and make sharing files directly with friends super easy. It's going to have a IPLD Explorer to show what makes IPFS work, to help people build a mental model, and inspire them to dream up radical new uses-cases for hash linked data. It'll help you publish websites and co-host content you love. For metrics that you can influence it'll provide simple controls to manage them. Power users will be able to fully customise their node, from a validating config editor. A little bit like it is now, but totally rad. 🚀✨✨✨ We're going to start wireframing these flows tomorrow. The current thinking is to have Desktop embed the new WebUI to minimise the duplication of effort and reduce the documentation burden. To keep the lightweight menubar app feeling, we'll consider creating a minimal Desktop specific UI. It could provide the most interesting stats and list recently added files. Actions would open up a separate window to hand off file-browsing / upload'n'share / IPLD exploring and all, to the embedded WebUI. WebUI will use the new We may explicitly bundle a version of the WebUI code with Desktop, so that it can work offline, and provide a mechanism to announce a new CID for the latest WebUI release and have Desktop pin it and update to that. We'll look at decoupling WebUI from This is deliberately described at a high-level; the details are subject to change, but from recent conversations and the discussions here, this is the direction we're heading in. |
Sorry for late reply, my thoughts and summary a bit: IPFS Desktop About the “size” of application - I agree that is should be light and complex, but we also need to remember that is should have quite developed file management. So we need to combine the available functions with a small size in a smart way - so that the interface does not lose its readability. Key features of MVP:
WebUI In my opinion this application should be the biggest and the most advance with all. It will be a little hard to design because it should be a place that none-technical person can make some more advance operations and also for advance user.
Let me know what do you think about it :) 👍 |
So to reiterate, what we're thinking is that IPFS Desktop will sit in the tray, on click, it'll show a minimal drop down to show some basic node health info, and from the dropdown you can click to open a bigger window which embeds a new WebUI for all other functionality. I can get behind this, I was worried that this felt a little clunky at first but it's literally what all my other tray apps do so I guess it's fine 😛 Test to ensure we can inject a The cool thing about using It can also fallback to js-ipfs-api so it can still be bundled with go-ipfs if necessary (although I think we'll recommend that it isn't) and can be used to administer a js-ipfs node running in the browser FTW. |
Closing this in favor of the more recent ipfs/ipfs-desktop#1389 - but linking to it there for reference. |
What is the main purpose of WebUI, or whatever it will become? WebUI has a lot of good ideas in it, but it's due to some UX & perf issues and some missing features, I don't think it is able to do a great job yet.
Companion's purpose is clear as it is greatly limited in what it can do by being confined to the WebExtension apis. It is to integrate IPFS functionality into the browser. It can offer IPFS info to the user about content that is in the current tab, and it can provide a drop-down menu of options. Significant features (add / share file, browse files) have to be offloaded to a web ui, either custom to Companion and bundled with it (as per the current impl of file upload) or it can directly hand off to a separate app (WebUI... or possibly Desktop via protocol handlers? @lidel @hacdias is that possible?)
Desktop as a standalone app, has the most freedom in how we build it, what it does, and how it looks. We could rethink it as a minimal menubar application, with it's main purpose to keep an ipfs daemon running and indicate to the user at the OS level that IPFS is available, along with OS integration so it shows up in the native file browsers. This is how Dropbox works right now
Alternatively, we could make it a full screen, desktop app, and have it do everything (file-browser, dag explorer, ipfs node manager, PIN a dataset). This'd be more like an IPFS Workbench app (think db explorer).
There is a desire to decouple to WebUI from go-ipfs deployment, to allow us to iterate on it separately, and to avoid sending the message that people should open api ports on their own ipfs gateways! There is clearly a desire for an IPFS node management app, that let's a gateway admin see what's going on with a given IPFS node. But we could rethink that as a single app that could be pointed at any IPFS node (there is a missing authentication story here, but we should come up with with the best apps we can think of and then describe what's needed to get there, and bump the priority on issues we need to fix to make it happen)
The text was updated successfully, but these errors were encountered: