mumble-voip / mumble

Mumble is an open-source, low-latency, high quality voice chat software.
https://www.mumble.info
Other
6.46k stars 1.12k forks source link

"Add server" dialog should be empty by default, autofilling explicitly #2303

Closed iakat closed 7 years ago

iakat commented 8 years ago

Right now it seems to keep the last added server's config; which isn't ideal since the default port is hard to remember (64738) yet it's configured on most servers.

mkrautz commented 8 years ago

This seems like a bug to me.

iakat commented 8 years ago

Connect - Add New on latest snapshot (1256) seems to have my last added server's configuration.

Is it supposed to be empty?

mkrautz commented 8 years ago

No, that happens to me, too.

However, I don't think it should.

bendem commented 8 years ago

Heh, I always thought it was a (not so useful) feature.

mkrautz commented 8 years ago

I can't reproduce this anymore?

Does it still happen for you? @bendem @chauffer

bendem commented 8 years ago

I can still reproduce on current master

mkrautz commented 8 years ago

Actually, what happens here is seemingly that if you have a mumble:// URL in your pasteboard, it will auto-fill the dialog.

So, not the last server you added, but what's in your pasteboard.

Agree?

Or, if not, please provide steps to reproduce. :-)

bendem commented 8 years ago

Well, I don't have a mumble url in my clipboard. I just open the server list, click on "Add New" and the dialog that opens is already populated.

bendem commented 8 years ago

More info on this, the "add server" dialog is only fully populated if I'm connected to a server (with the information of that server). If I'm not connected, only the port is populated with the port of one of my saved servers (always the same but I could not figure out the logic).

EDIT: the port field is populated with 64738 which only one of my saved servers is using. Just realized it's the default port. So when disconnected, the "Add server" dialog works as expected.

EDIT2: this is on 2f88605

EDIT3: this is the code concerned https://github.com/mumble-voip/mumble/blob/084da530767991605b045a6183a3857f14b1b502/src/mumble/ConnectDialog.cpp#L1052

bendem commented 8 years ago

@mkrautz So is this a bug? From the code it looks like intended behavior.

hacst commented 8 years ago

It is intended behavior. The idea was that if you joined a server via a mumble:// url you are quite likely to want to add it to your favourites. Hence the pre-fill for convinience.

mkrautz commented 8 years ago

OK, so the connect dialog has the following behaviors:

Hmmm....

hacst commented 8 years ago

Yeah. Pretty much optimized for "if you are handed/clicked a url and then want to add the server". Iirc I assumed that would be the usual cases for when you add a server (if the admin knows of mumble:// urls that is ;) ).

mkrautz commented 8 years ago

I do remember the functionality being added, but as a user, it's surprising.

Perhaps a QMessageBox asking you whether you want to auto-fill the currently connected server (if connected via mumble://), or auto-fill from the clipboard (if a mumble:// URL is in the clipboard)?

bendem commented 8 years ago

What about this?

I find solving UX problems by adding dialogs is generally not the right solution.

mkrautz commented 8 years ago

The problem with the feature as-is is that it was indistinguishable from a bug to me.

I'm fine with auto-filling as long as the user is made aware that it has happened. Perhaps a small area near the top that informs the user that the dialog has been auto-filled from the clipboard or from the currently-connected server.

mkrautz commented 8 years ago

@bendem I agree that adding dialogs is not the correct solution. However, in QtWidgets, that's often the most straight forward solution. We're often blocked on things due to it being hard to express the UI we want.

For example, the local user volume feature was blocked for a long time. It was initially a slider in a sub-menu of a user's context menu.

In the end, it was converted to a dialog.

I wanted the other approach, but it stalled.

Dialogs were easier.

bendem commented 8 years ago

True, the lack of manpower is always a problem. So easier is better from a development POV

Tarun80 commented 8 years ago

My friend and I were discussing this yesterday. Based upon the ideas we tossed back and forth, we spoke about changing some things as follows:

We had also discussed ideas for a prompt after connecting. However that could also cause issues with too many prompts, especially after connecting to a server not using an SSL certificate. Also, if their first use it would mean Audio Wizard, Adding a server, no SSL prompt if it applies, then "Add to Favorites?" which would be overwhelming the user.

We both agreed that it would be a bad idea that could be abused by others to have something like...

mumble://exampleserver.com?title=MyAwesomeServer&version=1.2.0&addfavorite=yes
hacst commented 8 years ago

Not having a popup but a info-bar style message about the auto-fill that it did (maybe with a reset button to undo what it did) might work decently.

I really don't want additional dialogs, popups or additional potentially confusing ui elements in there if we can help it at all.

Tarun80 commented 8 years ago

If I'm connected to a server and I need to add another server, I really don't want to have to hit reset every time I need to add a new server. Those fields should be blank by default, in my opinion.

hacst commented 8 years ago

@Tarun80 We could prevent pre-fill if the server is already a favorite.

mkrautz commented 8 years ago

Removing the 1.3.0 milestone since this is not a bug.

Kissaki commented 8 years ago

IMO the dialog fields should be empty, and filling it with the current server/clipboard data should be an explicit action.

Additional buttons would be an option, greyed out if not available. UX wise better would be checking for available data and suggesting to the user to fill it in. This way the text could elaborate on the suggestion.

hacst commented 8 years ago

Imho we should simply optimize for the common case. I still think that is trying to add the server you are already connected to. Be it via a mumble:// url or the public list. In both cases I think the prefill makes it a lot easier for the user to add the server.

If we simply prevent the auto-fill if the server is already a favourite wouldn't that be sufficient? No additional buttons, bars or whatnot required.

Kissaki commented 7 years ago

This should be resolved by #3182 once it lands. It offers filling the dialog data with clipboard data if available, and if not with the current connected to server data if connected.

davidebeatrici commented 7 years ago

Resolved by #3182.