ipfs / ipfs-desktop

An unobtrusive and user-friendly desktop application for IPFS on Windows, Mac and Linux.
https://docs.ipfs.tech/install/ipfs-desktop/
MIT License
5.94k stars 857 forks source link

Visualise the status of the ipfs daemon and be robust to it not stopping. #857

Closed olizilla closed 5 years ago

olizilla commented 5 years ago

If you leave the IPFS daemon running for a long time, trying to stop it can take a long time. The user has no clue what is going on, so it just seems like the app is stalled... I took a screen recording of a particularly suprising session, that stalled, then crashed, then installed an update

https://ipfs.io/ipfs/QmWEDikLypHaWYNJC3ftmGNkuZCogeSoMSnwAp7UaLyCdz/ipfs-desktop-no-node-status.mp4

The app should not crash if the daemon takes a long time to stop. We may have to consider killing the process or offering the user a way to do it, if it does take a really long time. Command line users are just another ctrl+c away from killing it.

We could indicate the current status of the daemon by adding a label to the "Status" entry on the menubar with labels for ["stopped", "starting...", "connected", "stopping..."] or similar. I've used "connected" for the all ok label, as that mirrors the language in the web ui.

We would be good if the power button visually indicated if the "power" was on or not, as companion does. It may make more sense as a slider toggle switch, as per https://github.com/ipfs-shipyard/ipfs-companion/issues/689#issuecomment-469496633

hacdias commented 5 years ago

image

I personally like the idea of keeping the power button and add a circle on its right telling the current state,

hacdias commented 5 years ago

image

image

image

olizilla commented 5 years ago

For the status, I'd go for a label + colored circle. We can add it to the status section in the menu. We can't rely on just a color change to communicate state to the user as many folks have some form of color blindness.

This is what docker does

Screenshot 2019-03-12 at 12 08 57

A toggle would work for the start/stop button, tho the power button does match the one in companion right now. The smallest change is that it should give the user some feedback that it was clicked. The one in companion turns gray when the intergration is switched off.

fsdiogo commented 5 years ago

@hacdias I'm also up for keeping the power button instead of a toggle.

This can be tricky as it may confuse users and seem like a button too:

stat