Bug report #7482
new dual view mode for attribute table overly complicated, should offer simpler user experience
|Affected QGIS version:||master||Regression?:||No|
|Operating System:||Easy fix?:||No|
|Pull Request or Patch supplied:||No||Resolution:|
|Crashes QGIS or corrupts data:||No||Copied to github as #:||16434|
The new dual view mode for the refreshed attribute table is really exciting stuff. That said, I think the user experience could be improved.
The clicking on pen vs string is IMO overly complicated and will lead people to wrongly conclude the dual view is broken when clicking on string and seeing nothing happens.
What about offering a simplified interaction:
- If the user selects one item, the right-side area shows the attribute data form
- If the user selects more than one item, the right side area shows a grayed-out string that says something along the lines of "select one item to view / edit its attribute data".
Gone is the pen, simplified is the experience, that should make users happy : )
#1 Updated by Matthias Kuhn over 7 years ago
- Status changed from Open to Feedback
With your suggested approach, the user would loose any information about feature selection.
Or you would link feature selection and item editing, which makes you loose your selection every time you change the edit selection.
One thing we've been discussing was to change the pen to some sort of "selection icon" and use the list selection (blue background here, depends on your system style) for editing.
Selecting multiple features and "mass-edit" their attributes is something that I hope I'll be able to implement in the future.
#2 Updated by Mathieu Pellerin - nIRV over 7 years ago
IMO, the biggest counter-intuitiveness with the current implementation is that it defies a super basic user expectation: if I simply click on an item, I should see something on the right-side panel. That's a behavior that matches many, many applications out there :)
So maybe a refined implementation as follow:
- If the user selects one row, that row shows up in the right-side attribute panel, and the row's pen button is activated
- If the user selects additional row(s), the right-side attribute panel stays open to the first selected item, and the user knows about that since the pen button is indicating which row is open in the right-side panel
- The user can still edit other rows without affecting the selection by clicking on the pen button.
- IMO, the simple single click on a row (no shift, ctrl keys used) should always lead to right side panel showing up row's attributes (i.e. activate the pen button); that's a user expectation that will confuse many if not fulfilled.
Also, I think always using the pen logo is a problem. I could use many users using the dual view not only to edit, but to also view attribute data. As such, the pen logo is a bit misleading in view mode. Maybe the button should show an eye logo when the layer isn't in edit mode, and a pen when it is in edit mode?
#3 Updated by Mathieu Pellerin - nIRV over 7 years ago
Indeed, turning the pen button into a selection state switch would probably be even nicer : ) It could be a simple check box. If that's implemented, then for the sake of consistency it might be worth introducing these check boxes in the single table-based view too (i.e. first column being check box).
#7 Updated by Mathieu Pellerin - nIRV over 7 years ago
Matthias, ahh, this is a million times better :) the new selection mechanism feels much more natural, and item click equals bring up form is exactly how it should behave. And the whole thing feels much faster too.
Two little issues:
- in the dual view mode, the list should sort itself out based on column preview of expression-based strings (or if an id based on its incremental order).
- right now, when switching to dual view mode, the left-side list is displaying nothing as it's relying on an empty expression; there could be simple logic applied here to offer a better experience. I.e. by default, it should use a column, and it could look into columns with 'id' or 'name' to use as default, otherwise fallback to first column.
#8 Updated by Matthias Kuhn over 7 years ago
nice you like it.
Concerning the issues:
- sorting should be sorted out, agreed
- right now, the logic for the default display expression is (in this order of preference): * use the display field from the layer properties tab * use primary key(s) * concat all fields seperated by ','
For any of the options, if there is a problem with the produced expression (e.g. empty attribute name) or there is a NULL expression in one of the involved fields, the result is empty as well. (The first one will even spit out a warning)
At least of the second one, I should take care of, agreed.