saros
saros copied to clipboard
Improve usability to choose existing projects for all shared projects
Is your feature request related to a problem? Please describe. In my work, we have a workspace with like 40 plugin projects. Working on one topic might involve easily a handful plugin projects. When starting to join a session, all participants are on the same git revision and have the some projects already available in their workspace.
However, the start dialog asks for each shared plugin project, to create a new one or to use an existing one. The existing one is not prefilled, so it must be selected from the long list, or copied from the suggested new name.
Describe the solution you'd like The easy solution to enhance usability a lot here, would be if the plugin project already exists, then it is preselected in the "use existing" selection.
Describe alternatives you've considered The dialog might be reworked completely. Instead of having one tab per plugin project, have a single table where you might choose to use the existing project with a single click.
IDE Eclipse
Additional context no
We decided to not select existing projects just because their name match with the remote side which may cause unwanted overrides if you do not carefully read what will happen. However with the actual Eclipse version you should only do this once (assigning 40 projects). When you share the projects again they should be preselected.
Describe alternatives you've considered The dialog might be reworked completely. Instead of having one tab per plugin project, have a single table where you might choose to use the existing project with a single click.
We have already done that and usability was not that better. Instead of tabbing you had to scroll up and down.
With the new selection dialog introduced in #1037, I actually re-added the feature to guess project names. (But, as #1037 is still in review, this change is not final yet.) I did this based on the assumption that project names should be somewhat unique in the workspace and would therefore be a good heuristic for suggesting a local mapping. Furthermore, since sharing complete projects is a very common use case for Saros, offering a better usability for such cases is actually quite important in my opinion.
(Even though the selection is saved after the first successful session negotiation, the same is not true if the wizard is canceled. I struggled with this a lot when playing around with sharing the Saros sources through Saros and having to cancel the dialog as I forgot to mark one of the .project
or .classpath
files as derived.)
While this makes it a bit easier to accidentally overwrite existing local project, the user is still explicitly warned about which resource will be removed as part of the sharing process.
@srossbach
Describe alternatives you've considered The dialog might be reworked completely. Instead of having one tab per plugin project, have a single table where you might choose to use the existing project with a single click.
We have already done that and usability was not that better. Instead of tabbing you had to scroll up and down.
I agree with @srossbach. Just moving the same content to a single page does not really improve the usability and potentially makes it much harder to get an overview over the current selection.
While it is probably possible to provide a better usability using a single-page-layout, this would probably require a lot of design and UX work that we are currently not set up for (and that is somewhat lower on our list of priorities).
But I also have to say that the current solution with the tabs is sub-optimal. Even I still sometimes forget that there are different tabs for other shared resources. A good solution for this would be to highlight other tabs when the wizard first opens (e.g. have them flash a couple of times), but I am not sure whether the SWT framework is set up for this. Also, this is not really part of this usability discussion.
With the new selection dialog introduced in #1037, I actually re-added the feature to guess project names. (But, as #1037 is still in review, this change is not final yet.) I did this based on the assumption that project names should be somewhat unique in the workspace and would therefore be a good heuristic for suggesting a local mapping. Furthermore, since sharing complete projects is a very common use case for Saros, offering a better usability for such cases is actually quite important in my opinion.
I have not looked at the PR yet but I think this feature should not be automatically used. E.g just adding a button (name it Auto-Assign) that will do that is a lot "safer".