SoongNoonien / plattenalbum

Connect to your music
GNU General Public License v3.0
172 stars 24 forks source link

[Circle]: Onboarding/connection workflow #131

Closed bragefuglseth closed 4 weeks ago

bragefuglseth commented 1 month ago

Breakout thread from the ongoing GNOME Circle review of the app.

When opening the app for the first time, it should be obvious what the "next step" is even if you don't have any previous knowledge of MPD. There is also no feedback if the connection fails, the button just doesn't do anything. I managed to work out that I needed to open the Help page from the main menu, but ideally people shouldn't have to figure that out on their own. They should just be guided into it, for example like this:

connection

This can also be used at later stages in the app; instead of connecting to e.g. a remote database by tweaking stuff in Settings, there can be a "disconnect" item in the main menu of the app that takes you back to this page.

SoongNoonien commented 1 month ago

I think this looks nice and I can implement something similar. Though I'm not sure if it's feasible to add distribution specific installation instructions. Inevitably this will become an unmaintainable mess if people submit instructions for their favorite distribution. It is very hard to keep these instructions up to date and correct. Maybe a more generic text like "In most distributions MPD can be obtained by installing a package named mpd". It is unfortunate that for Fedora this is a bit more complicated. Also if we provide distribution specific installation instructions we should also provide distribution specific "initialization" instructions. For example in Ubuntu the server is started with the installation in root context. I'm not sure if the download/save button is really necessary. This is not significantly faster than just copying the text to the clipboard and preceded the way you like the most. Especially considering that the ~/.mpd directory is most certainly not present when setting up MPD for the first time. I think this button could be replaced by a "copy to clipboard" button. Or perhaps even better it could be replaced by one or two shell command which do all these things directly. This should then be combined with a "copy to clipboard" for each command. Such a button would also be nice to have for all other commands in the instructions. This way one can simply open a console run a few commands and be done.

SoongNoonien commented 1 month ago

Ah, another question. Should this page also be shown if the connection to MPD is lost while simply using the client and not explicitly pressing the "disconnect" button?

bragefuglseth commented 1 month ago

most of 1st comment

Change it however you see fit 😁 I was thinking that if someone wants to save the config file another way, they could just select the text manually and copy it, but do what you think makes the most sense.

Also if we provide distribution specific installation instructions we should also provide distribution specific "initialization" instructions. For example in Ubuntu the server is started with the installation in root context.

I think it’s a good idea to provide a couple of distro-specific commands for initialization even if we don’t do it for the installation. It’s less likely to change over time than the installation method, and people are much less likely to just «know» the right command for it.

Ah, another question. Should this page also be shown if the connection to MPD is lost while simply using the client and not explicitly pressing the "disconnect" button?

Maybe it would be a good idea to display a «No connection» banner in the player window with a reconnect button? That way people can disconnect if they actually want to connect to another server, or just try reconnecting to the existing one with existing information.

SoongNoonien commented 1 month ago

I've addressed this in master now. I've deviated from the initial proposal a bit. After checking ubuntu again I've noticed that using the provided systemd command is actually correct. This command will set up a instance in the user context which has higher priority when connecting in Plattenalbum. So I don't see the need to provide distribution specific instructions anymore. I think systemd can safely be assumed to be present, if it is not then the respective users probably know what they are doing anyway.

bragefuglseth commented 4 weeks ago

I've tested the setup process from the master branch now, and it looks good! I'll just open a PR addressing some minor string stuff I found.