Item13552: UX for web-based extensions installer is confusing/error-prone
Current State: Confirmed
Released In: n/a
Target Release: patch
Applies To: Engine
In no particular order, things that are strange and possibly worth reworking:
- Some error messages show up in a reddish popup that does not scroll with the page but can contain extreme amounts of text. Since most operations that trigger these have their own popup window, output should go there.
- After an install is complete, the list of installable extensions remains open, the installed items still show up in the list and are still checked.
- Installs pop up two dialogs. The first one says essentially "something is happening [some cryptic string]". A second one pops up later and shows the result (iff the install is more or less successful). This should be condensed into one dialog, showing something more understandable and intuitive at first, e.g. "The following extensions are being installed, please wait..." along with a loading animation (which is an intuitive cue that the dialog is "working"). I don't understand the yellow "close" bubble at all.
- When an install completes, there is no hint on what to do next; the extension's Config.spec items are applied but not yet saved, and new items are not rendered anywhere. We should either apply Config.spec items on the server during the install (definitely my preferred option because it eliminates any chance to accidentally not apply the Config.spec defaults) or at least tell the user to save and reload. In fact it's probably a good idea to semi-force the user to do that because the UI is outdated at this point.
- Minor: it's not directly clear that "review installed extensions" is where you go to update things. It might make sense to relabel the set of buttons: "Install new", "Update/Remove", "Search".
I suggest the following changes:
- Rework dialog/errors/progress/output UI and make it all fit together better. Ideally I would like to see exactly one dialog frame for each operation.
- Close or update the extensions list when an install/update/remove operation succeeds.
- During install/update, automatically apply new Config.spec values and save them at the end (for all extensions that succeeded). Update the session data and DOM accordingly. There should be no way for the user to accidentally miss out on the defaults.
- After the install, display a message: "new configuration options are available, (button)reload". Ideally this would be conditional on whether there actually are any new options. For extra bonus points, automatically update the DOM to show them immediately.
- More concise naming of things, especially buttons.
- Visualize operation in progress using a modal dialog with a loading animation, and populate with results (success or error). For extension installs, it would be fairly awesome to get concise progress updates, but I don't know the current architecture well enough to understand what's involved for that.
Please weigh in!
- 23 Jul 2015
+1 on most points. The usability of this is a bit weak, especially if something fails.
I suspect the missing defaults comes only after a crash where the spec was not readable, or the DOM updates didn't complete. The DOM has the data, but the tabs for the new extension are missing.
- 23 Jul 2015
This is a "catch-all" usability task. Some of this may have been fixed, but needs further verification.
- 25 Sep 2016