Issue 4540

Title
Usability improvements in Many2One fields
Priority
wish
Status
resolved
Nosy list
albertca, ced, jcavallo, kstenger, ohuisman, roundup-bot, sharoon, udono, yangoon
Assigned to
ced
Keywords
review

Created on 2015-02-09.01:18:43 by albertca, last changed 79 months ago by roundup-bot.

Messages

New changeset ce61862b61eb by C?dric Krier in branch 'default':
Improve Many2One icons
http://hg.tryton.org/sao/rev/ce61862b61eb
New changeset 2c4eccc4a075 by C?dric Krier in branch 'default':
Improve Many2One icons
http://hg.tryton.org/tryton/rev/2c4eccc4a075
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2016-05-18.23:59:48
Here is review25311002 for sao
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2016-04-22.11:14:42
I re-read the all thread and I think review16851002 could be better designed.
It was often said that clearing should be done prior to searching, so I think it is wrong to have each icons for those actions in different places. Also another common issue from dummy users reported is that they click on the folder thinking they are going to search, so I think it is better that both icons are in a different place.
Here is my proposal. On the secondary icon (on the right) we put the icon clear or search depending if the field is filled or not and no icon if user doesn't have the editing right. On the primary icon (on the left) we put the icon open if the field is filled and nothing if empty.
The advantages are that user willing to search will click always on the same side and so clear first if needed and search on the second click. So there will be no confusion possible with the edition. The second is that edition is clearly separated and in some way linked to the rec_name of the field.

Here is review24181002, I will work on sao version once I get some feedback.
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2016-02-15.23:20:12
Still missing the sao patch.
Author: [hidden] (kstenger)
Date: 2015-11-17.19:09:54
Yes, my review is for the GTK client.

So it's ready for when the sao patch is there too :-)
Whoever feels like it can take it!
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2015-11-17.14:36:13
It should also be done in sao.
Author: [hidden] (kstenger)
Date: 2015-11-16.22:05:35
Here is a review that implements a clear button when the field has some data.
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2015-02-10.13:30:10
On 10 Feb 13:10, Albert Cervera i Areny wrote:
> 
> Albert Cervera i Areny <albert@nan-tic.com> added the comment:
> 
> 2015-02-09 18:30 GMT+01:00 Cédric Krier <issue_tracker@tryton.org>:
> >
> > Cédric Krier <cedric.krier@b2ck.com> added the comment:
> >
> > On 09 Feb 17:40, Albert Cervera i Areny wrote:
> >> 2015-02-09 10:38 GMT+01:00 Udo Spallek <issue_tracker@tryton.org>:
> >> > It sounds so complicated to quickly dive into and edit data for
> >> > advanced/professional users.
> >>
> >> To dive into the data you just need "Right click + Edit". What it is
> >> complex is having the "Open" functionality which currently not only
> >> opens the form but also re-runs the on_change when the user presses
> >> "Ok".
> >
> > Yes this absolutly done on purpose and this is why this is the right way
> > to edit record from a many2one instead of the contextual edit which
> > opens the record without any link to the original form and so can lead
> > to inconsistant behaviour.
> 
> I know, and I personally use it, but my experience is that a large %
> of users have a hard time understanding it.

I don't expect users to understand all the consistancy behaviour.
It is just a matter to understand clicking on folder icon open the
record for edition. I realy think it is not complicate to understand at
least from my experience I just have to say it once and people
understand.

> > A solution to manage your dummy users is to remove them the right to
> > edit from many2one. But I think it is not yet supported.
> 
> That could be an alternative though I feel like we should find a
> solution that works for both dummy and non-dummy users.
> 
> Maybe another option would be to:
> 
> - When field is empty only "Search" is shown
> - When field is not empty the "Search" button is replaced by the
> "Clear button" and the "Open" button appears. (Or simply put open
> button to the popup menu).

popup menu is not an option as it is for advanced users. Nothing tells
the user there is a popup menu because we don't expect the average user
to need it.
Otherwise, you are just describing the gtk-demo widget I talked about
previously.
Author: [hidden] (albertca)
Date: 2015-02-10.13:10:40
2015-02-09 18:30 GMT+01:00 Cédric Krier <issue_tracker@tryton.org>:
>
> Cédric Krier <cedric.krier@b2ck.com> added the comment:
>
> On 09 Feb 17:40, Albert Cervera i Areny wrote:
>> 2015-02-09 10:38 GMT+01:00 Udo Spallek <issue_tracker@tryton.org>:
>> > It sounds so complicated to quickly dive into and edit data for
>> > advanced/professional users.
>>
>> To dive into the data you just need "Right click + Edit". What it is
>> complex is having the "Open" functionality which currently not only
>> opens the form but also re-runs the on_change when the user presses
>> "Ok".
>
> Yes this absolutly done on purpose and this is why this is the right way
> to edit record from a many2one instead of the contextual edit which
> opens the record without any link to the original form and so can lead
> to inconsistant behaviour.

I know, and I personally use it, but my experience is that a large %
of users have a hard time understanding it.

>
>> I think that functionality is very advanced and is broken
>> anyway. For example if you use open button from sale line to open a
>> product.product, then press the open button to open the
>> product.template and modify something there and accept. As nothing was
>> changed from product.product you cannot click on accept on the
>> product.product form.
>
> Please report an issue for that, it must be fixed.
> I guess it was broken by changeset c61576b239f0
>
>> So we can try to fix a very advanced functionality most people don't
>> really need or understand or simply remove it
>
> Are you serious?
>
>> and just have "Right
>> click + Edit".
>
> Ho, you are right this one is much simplier.
>
> Joke apart, I think it is the wrong behaviour to remove something
> because you find a bug in it (which was not spoted during 2 years).
> And replace it by something new which will bring more issues, is a
> runnin away solution.
> For example, if we take back the product edition on sale, editing it
> from the many2one using small icon button will prevent you to change the
> salable attribute while editing using the contextual menu will not
> because it opens a new tab which is not related to the original form.
> Or an other one, if you changet the list price of the product, thanks to
> the on_change triggered it will change the unit price of the sale line.
>
> Bertrand and Me have thought a lot about implementing this behaviour
> because we faced so much data integrity issue with TinyERP because this
> feature was missing.
>
> A solution to manage your dummy users is to remove them the right to
> edit from many2one. But I think it is not yet supported.

That could be an alternative though I feel like we should find a
solution that works for both dummy and non-dummy users.

Maybe another option would be to:

- When field is empty only "Search" is shown
- When field is not empty the "Search" button is replaced by the
"Clear button" and the "Open" button appears. (Or simply put open
button to the popup menu).

> --
> Cédric Krier - B2CK SPRL
> Email/Jabber: cedric.krier@b2ck.com
> Tel: +32 472 54 46 59
> Website: http://www.b2ck.com/
>
> _______________________________________________
> Tryton issue tracker <issue_tracker@tryton.org>
> <https://bugs.tryton.org/issue4540>
> _______________________________________________
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2015-02-09.18:30:09
On 09 Feb 17:40, Albert Cervera i Areny wrote:
> 2015-02-09 10:38 GMT+01:00 Udo Spallek <issue_tracker@tryton.org>:
> > It sounds so complicated to quickly dive into and edit data for
> > advanced/professional users.
> 
> To dive into the data you just need "Right click + Edit". What it is
> complex is having the "Open" functionality which currently not only
> opens the form but also re-runs the on_change when the user presses
> "Ok".

Yes this absolutly done on purpose and this is why this is the right way
to edit record from a many2one instead of the contextual edit which
opens the record without any link to the original form and so can lead
to inconsistant behaviour.

> I think that functionality is very advanced and is broken
> anyway. For example if you use open button from sale line to open a
> product.product, then press the open button to open the
> product.template and modify something there and accept. As nothing was
> changed from product.product you cannot click on accept on the
> product.product form.

Please report an issue for that, it must be fixed.
I guess it was broken by changeset c61576b239f0

> So we can try to fix a very advanced functionality most people don't
> really need or understand or simply remove it

Are you serious?

> and just have "Right
> click + Edit".

Ho, you are right this one is much simplier.

Joke apart, I think it is the wrong behaviour to remove something
because you find a bug in it (which was not spoted during 2 years).
And replace it by something new which will bring more issues, is a
runnin away solution.
For example, if we take back the product edition on sale, editing it
from the many2one using small icon button will prevent you to change the
salable attribute while editing using the contextual menu will not
because it opens a new tab which is not related to the original form.
Or an other one, if you changet the list price of the product, thanks to
the on_change triggered it will change the unit price of the sale line.

Bertrand and Me have thought a lot about implementing this behaviour
because we faced so much data integrity issue with TinyERP because this
feature was missing.

A solution to manage your dummy users is to remove them the right to
edit from many2one. But I think it is not yet supported.
-- 
Cédric Krier - B2CK SPRL
Email/Jabber: cedric.krier@b2ck.com
Tel: +32 472 54 46 59
Website: http://www.b2ck.com/
Author: [hidden] (yangoon) Tryton translator
Date: 2015-02-09.18:23:52
> Albert Cervera i Areny <albert@nan-tic.com> added the comment:
> 
> 2015-02-09 12:18 GMT+01:00 Karla Stenger <issue_tracker@tryton.org>:
> >
> > Karla Stenger <karla.s@orkos.net> added the comment:
> >
> > I think adding a 'clear' button would be very useful for the user who is
> > not used to the keyboard. It also makes it obvious for everyone, that if
> > there is data, the field has to be cleared before searching for a new one.
> >
> > So you would have the 'search' button when there is no data, or the 'clear'
> > and the 'edit' button when there is data.
> 
> We could try it. It seems to me that it might be easier for users to
> understand than current approach or my proposal. As Cédric pointed it
> is probably better that they explicitly clear it first. We need to see
> that they understand it correctly.

+1 for the clear button. It should provide the intuitive perception, that the field has to be cleared explicitly. And yes, it should be cleaned *explicitly*.
Author: [hidden] (albertca)
Date: 2015-02-09.17:48:20
2015-02-09 12:18 GMT+01:00 Karla Stenger <issue_tracker@tryton.org>:
>
> Karla Stenger <karla.s@orkos.net> added the comment:
>
> I think adding a 'clear' button would be very useful for the user who is not used to the keyboard. It also makes it obvious for everyone, that if there is data, the field has to be cleared before searching for a new one.
>
> So you would have the 'search' button when there is no data, or the 'clear' and the 'edit' button when there is data.

We could try it. It seems to me that it might be easier for users to
understand than current approach or my proposal. As Cédric pointed it
is probably better that they explicitly clear it first. We need to see
that they understand it correctly.

>
> ----------
> nosy: +kstenger
>
> _______________________________________________
> Tryton issue tracker <issue_tracker@tryton.org>
> <https://bugs.tryton.org/issue4540>
> _______________________________________________
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2015-02-09.13:01:19
But anyway, having a clear button is possible, it could look like the gtk-demo "Entry>Search Entry". It must be tested to see if it really improve the situation.
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2015-02-09.12:52:11
So user fears to press keys but not click on buttons?
I think using a keyboard doesn't require any power and more over it is a requirement to enter the password to login.
Author: [hidden] (kstenger)
Date: 2015-02-09.12:49:04
Users are of all kinds.
Have you never seen a user staring for a long time at the screen looking for some answer to his/her needs and pressing keys with fear? I've seen countless.
But you can always have a system made only for powerusers...
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2015-02-09.12:24:00
"user who is not used to the keyboard" realy? How did he login?
Author: [hidden] (kstenger)
Date: 2015-02-09.12:18:29
I think adding a 'clear' button would be very useful for the user who is not used to the keyboard. It also makes it obvious for everyone, that if there is data, the field has to be cleared before searching for a new one.

So you would have the 'search' button when there is no data, or the 'clear' and the 'edit' button when there is data.
Author: [hidden] (udono) Tryton translator
Date: 2015-02-09.10:38:05
Mon, 09 Feb 2015 01:18:43 +0100
Albert Cervera i Areny <issue_tracker@tryton.org>:
>New submission from Albert Cervera i Areny <albert@nan-tic.com>:
>So maybe an improvement would be the search icon always be shown, no
>matter if the field is empty or has a record selected. This way users
>can choose another record without using the keyboard. Also this means
>that the icon is always the same in the same position.
>I propose to not even have an open form icon at all. It may be an
>advanced feature for some users but in the popup there's the "edit"
>option which allows to open the record on a new tab. It is probably
>complicated to explain to many users the difference between open and

With this new conceptions i see a big risk for users to accidentally
overwrite values by just clicking (search) on a many2one.
Especially to avoid this, I find it good as it is, to have no
longer search functionality when a many2one entry is filled.

>edit. Maybe we should just have the "edit" option and if the user
>wants to have the open functionality they'd need to:
>- Edit
>- Modify
>- Save the record
>- Go back to the previous tab
>- Click on the search icon and select the same record again

It sounds so complicated to quickly dive into and edit data for
advanced/professional users.

Why not open the many2one dialog box and children always read only and
add the two buttons Edit and Remove?
Edit switches the dialog editable by the user.
Remove unlinks the entry from the many2one.

For the sake of simplicity the search icon and the open icon in a
many2one can be represented by just one picture.
It could have different functions depending if the many2one is filled
(open/examine dialog) or empty (search/find/browse/link dialog).
The icon picture can be one of magnifying glass or binoculars.

>information. After all, probably the open functionality is really
>really advanced and a corner case. How many times are you going to
>need it?

For UOM or currencies I use it never. For parties on invoice I use it
often when I want information about accounting and contact stuff.
Author: [hidden] (sharoon)
Date: 2015-02-09.09:50:48
> @sharoon, you should probably setup better access right and by the way UOM are readonly as they come from XML.

@cedric, this was a mistake by a power user who had access rights to change UOMs. Tryton's UOM is not an exhaustive list - especially english units like Fluid Ounce (Volume - not weight) and Gallon.
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2015-02-09.09:32:41
By the way, for some time now, I'm thinking about including a kind of readonly mode. So the idea will be to have every field as readonly by default and having to switch to edit mode. Such behaviour could be a configuration of the client where power user could turn off and be always on edit mode.
I think this could solve the edition by accident.
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2015-02-09.09:28:41
For me, it is wrong to not explicitly remove the previous value. It is just like if you said on a Char that each time you type it removes the previous chars.
I think if you always have a search, you will end up with exactly the same issue but for search, user will say they did not change the value where just looking at it.
No touching the keyboard is not a good argument, it is not touching the mouse is good one.
Also if you say that they don't see the difference between the search window and the form window, I think we can not do anything to fix those users.

@sharoon, you should probably setup better access right and by the way UOM are readonly as they come from XML.
Author: [hidden] (sharoon)
Date: 2015-02-09.08:31:23
I agree with Albert's opinion.

Just saw this issue happen last week at a customer location where the user made the mistake with UOM. To prevent accidental editing, the only way should be the right-click and then edit.
Author: [hidden] (albertca)
Date: 2015-02-09.01:18:41
In my experience training new users, many of them have problems working with m2o fields. I see two problems:

- Many of them do not pay much attention to the icon so when they've choosen an element, they still clic on the icon thinking it's going to search. What's worse, many new users think the opened form is for searching but they're changing important data in the system.
- They do not know how to remove the currently selected item

So maybe an improvement would be the search icon always be shown, no matter if the field is empty or has a record selected. This way users can choose another record without using the keyboard. Also this means that the icon is always the same in the same position.

I propose to not even have an open form icon at all. It may be an advanced feature for some users but in the popup there's the "edit" option which allows to open the record on a new tab. It is probably complicated to explain to many users the difference between open and edit. Maybe we should just have the "edit" option and if the user wants to have the open functionality they'd need to:

- Edit
- Modify
- Save the record
- Go back to the previous tab
- Click on the search icon and select the same record again

This will cause the client to call on_change again and refill information. After all, probably the open functionality is really really advanced and a corner case. How many times are you going to need it?

If really necessary we could add the open form icon shown on the left of the search icon only when a record is selected.
History
Date User Action Args
2016-05-25 11:36:41roundup-botsetmessages: + msg25957
2016-05-25 11:35:49roundup-botsetstatus: testing -> resolved
nosy: + roundup-bot
messages: + msg25956
2016-05-19 00:03:37reviewbotsetreviews: 16851002, 24181002 -> 16851002, 24181002, 25311002
2016-05-18 23:59:48cedsetmessages: + msg25872
2016-04-22 11:30:20reviewbotsetreviews: 16851002 -> 16851002, 24181002
2016-04-22 11:14:43cedsetassignedto: kstenger -> ced
type: feature request
messages: + msg25598
2016-02-15 23:20:13cedsetmessages: + msg24221
2015-11-17 19:09:54kstengersetmessages: + msg23198
2015-11-17 14:36:13cedsetmessages: + msg23185
component: + tryton, sao
2015-11-16 22:05:36kstengersetstatus: chatting -> testing
messages: + msg23174

Showing 10 items. Show all history (warning: this could be VERY long)