Bug 66472 - A suggestion for better ergonomics for column, row, and cell actions in Calc
Summary: A suggestion for better ergonomics for column, row, and cell actions in Calc
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: Other All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Calc-UX Cell-Management
  Show dependency treegraph
 
Reported: 2013-07-01 20:47 UTC by Laurent Lyaudet
Modified: 2020-11-01 11:29 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
Height comparison between the proof of concept and LibreOffice (57.56 KB, image/png)
2013-08-18 15:40 UTC, Laurent Lyaudet
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Laurent Lyaudet 2013-07-01 20:47:11 UTC
Hi,

The ergonomics of Calc could be made more efficient (need less click, movements from the user to do the same action).
When you want to apply an action to all columns, all rows, or all cells, you have to do the following :
click the X zone
X|B|C
-
1|
-
2|
then right click on columns headers for column actions,
right click on row "headers" for row actions, 
right click on cells for cells actions.
Then you must add the number of clicks for each action.

I'll take an example :
Suppose you want to unhide all hidden columns and all hidden rows.
You have to click 5 times
- X zone
- right click column, click unhide
- right click row, click unhide

I propose the X zone to be replaced by the following visual element,
split the X zone in 3 parts like this
  __
 | /|
 |/\|
and make all three zones clickable and right clickable:
- right part selects all columns and make it possible to apply actions (from contextual menu or other actions) to all columns
- lower part selects all rows and make it possible to apply actions (from contextual menu or other actions) to all rows
- upper left part selects all columns, rows, cell and make it possible to apply actions (from contextual menu or other actions) to all columns and/or all rows or all cells

I would like to name this element of ergonomics a triforce as a tribute to Zelda :D
(ok it doesn't exactly looks like a triforce but... Imagine saying to someone "click the triforce on your spreadsheet !"  It's much better than clicking "upperleft corner")
Hence, we could say right triforce, down triforce and triforce for right part, lower part, and upper left part respectively.

While the contextual menu when right clicking right triforce or down triforce is the same as right clicking columns or rows (after clicking X zone),
the contextual menu for the triforce is new.
It must be split in two parts :
- actions that can apply to both rows and columns
- actions that apply to cells

Back to the example, now you just need 2 clicks instead of 5 (right click triforce, click unhide)
The number of mouse movements required would similarly be decreased.

Note that there is no UI regression. Any user can still work the old way by left clicking the triforce then right clicking rows, columns or cells.

We can rename the triforce or ask Nintendo permission to use this name in official documentation, it would just be the cheery on the cake.
But what is truly important is the ergonomics.
I hope I clearly presented my idea.

Best regards,
   Laurent Lyaudet
Comment 1 Laurent Lyaudet 2013-07-11 17:43:07 UTC
Alternativaly, we could use the following design
  ___
 |_| |
 |  \|
instead of
  __
 | /|
 |/\|
Comment 2 Urmas 2013-08-12 22:32:46 UTC
How do you imagine a segmented button having a height of a header row? There's no space for that.
Comment 3 Laurent Lyaudet 2013-08-13 18:05:29 UTC
(In reply to comment #2)
> How do you imagine a segmented button having a height of a header row?
> There's no space for that.

Wow! That's a balanced comment ><. I already tought about this problem and in fact the second design is an idea I had while thinking about this problem.
I thought it would do no harm to increase the height of column headers.
When I look at the size of the X cell, I think it's just near the limit to make it easy (note that it will require less precision than dragging the limit between two columns...). 
I need to try to see what it gives. I'll try to do a proof of concept this week-end in html to validate the dimensions that are needed.

In fact, there could be an option to choose between the two "triforce" designs (with a small increase in headers height) or no triforce.

What do you think of the gain of time (energy, muscular stress, etc.) for all the users? Is it negligible?
Comment 4 Laurent Lyaudet 2013-08-18 15:38:16 UTC
Hi, 

I did a proof of concept here:
http://lyaudet.olympe.in/proofOfConceptTriforce_eng.html

You can try it, it is easy to do despite of the size.
Of course it would be easier if we decide to increase the height.

I join a screen capture to show the height in pixels corresponds to the height in Libre Office.

Best regards,
   Laurent Lyaudet
Comment 5 Laurent Lyaudet 2013-08-18 15:40:16 UTC
Created attachment 84203 [details]
Height comparison between the proof of concept and LibreOffice
Comment 6 Bernhard Dippold 2013-10-30 10:08:58 UTC
Hi Laurent, I don't know if you already joined the Design team at LibO (look at http://www.libreoffice.org/get-involved/ux-visual-designers/) - perhaps you could get supporters for your idea over there...
Comment 7 Laurent Lyaudet 2013-10-30 19:51:56 UTC
(In reply to comment #6)
> Hi Laurent, I don't know if you already joined the Design team at LibO (look
> at http://www.libreoffice.org/get-involved/ux-visual-designers/) - perhaps
> you could get supporters for your idea over there...

Hi Bernhard,
Many thanks for the suggestion.
Comment 8 Laurent Lyaudet 2017-05-25 11:34:45 UTC
Hi,

My old website at lyaudet.olympe.in has been down for a few years.
The proof of concept is now available on my new website :
http://lyaudet.eu/laurent/proofOfConceptTriforce_eng.html

Best regards,
   Laurent Lyaudet
Comment 9 Thomas Lendo 2019-02-03 22:31:24 UTC Comment hidden (no-value)
Comment 10 Heiko Tietze 2020-10-28 13:43:46 UTC
(In reply to Laurent Lyaudet from comment #0)
> Suppose you want to unhide all hidden columns and all hidden rows.
> You have to click 5 times

> I propose the X zone to be replaced by the following visual element,
> split the X zone in 3 parts like this...
> and make all three zones clickable and right clickable:

To un/hide all col/rows you select all and right click either row or column (two clicks +1). While the separation sounds like a fancy addition it has not so much benefit as it just provides the right click on a part of this cell (1+1 clicks). And we have to select all anyway to give proper feedback. So I'm not objecting the idea but doubt its benefit.
Comment 11 Laurent Lyaudet 2020-10-28 16:34:03 UTC
(In reply to Heiko Tietze from comment #10)
> (In reply to Laurent Lyaudet from comment #0)
> > Suppose you want to unhide all hidden columns and all hidden rows.
> > You have to click 5 times
> 
> > I propose the X zone to be replaced by the following visual element,
> > split the X zone in 3 parts like this...
> > and make all three zones clickable and right clickable:
> 
> To un/hide all col/rows you select all and right click either row or column
> (two clicks +1). While the separation sounds like a fancy addition it has
> not so much benefit as it just provides the right click on a part of this
> cell (1+1 clicks). And we have to select all anyway to give proper feedback.
> So I'm not objecting the idea but doubt its benefit.

Hello Heiko,

I don't see why your reply censored my explanation.
Here is the missing part :
>You have to click 5 times
>- X zone
>- right click column, click unhide
>- right click row, click unhide
What you propose is 3 clicks for unhiding only rows or only columns.
My proposition enables to unhide both rows and columns at the same time in 2 clicks instead of 5.

Please, consider that ideas of other people may be interesting too.

Best regards,
   Laurent Lyaudet
Comment 12 Heiko Tietze 2020-10-29 10:56:52 UTC
(In reply to Laurent Lyaudet from comment #11)
> My proposition enables to unhide both rows and columns at the same time in 2
> clicks instead of 5.

Quite uncommon use case, right? Hm... maybe not if you want to unhide everything. But this could be solved with a context menu on the edge cell itself. Or a dedicated command / menu item.
Comment 13 Laurent Lyaudet 2020-10-31 11:05:07 UTC
(In reply to Heiko Tietze from comment #12)
> Quite uncommon use case, right? Hm... maybe not if you want to unhide
> everything. But this could be solved with a context menu on the edge cell
> itself. Or a dedicated command / menu item.
Hi Heiko,
The very initial goal was effectively to unhide everything.
I cannot judge whether it is an uncommon use case because I have only my own experience.

Nevertheless, I did not stop with the initial problem.
I analyzed a more general problem with a rational point of view to avoid doing the same work over and over.
My proposition is an optimal UI/UX *with mouse* in terms of the number of clicks:
- for row actions (2 clicks instead of 3 at the moment),
- for columns actions (2 clicks instead of 3 at the moment),
- for cell actions (2 clicks instead of 3 at the moment),
- for row and column actions at the same time (2 clicks instead of 5 at the moment)
Having a classification of actions into one or two of these sets of actions is easy to do in code.
You add a new action, it falls into one or two of these sets and voilà.
No need for a dedicated command / menu item.
If you do not split the edge cell with one of my two designs,
but add only a contextual menu with cell actions and simultaneous row and column actions,
it will solve 2 of the four cases, including the one with the biggest gain (2 clicks instead of 5).
It would not be optimal for the mouse users in all cases but it would still be a nice improvement.

Now, I don't understand why there is so much need for administrative or politician debate around a feature that is optimal for mouse users.
I can understand that the devs are too busy but otherwise I don't see the point of preferring "worse" over "better".
I am paranoid so I thought for years (this feature request is 7 years old) that:
- either Microsoft Office has infiltrated people in Libre Office and nice features are always object of a lot of nit-picking to bury them under going-nowhere debate,
- or there is a problem with my person, in which case it seems that hate of a single individual like me is stronger than love of LibreOffice's users.
- or it is just plain old jealousy and standard abuse of power as is customary in politics, administrative processes, in business company, in states administrations and in civil society organizations unfortunately too. 
Can you share with us your motivations for arguing that my feature request is not a good one?

Best regards,
    Laurent Lyaudet
Comment 14 Heiko Tietze 2020-11-01 11:29:45 UTC
(In reply to Laurent Lyaudet from comment #13)
> (conspiracy theory)
<snip>

> Can you share with us your motivations for arguing that my feature request
> is not a good one?

Making the edge cell a complex UI element requires expert knowledge. The UNO command would be an easyhack, doable on beginner level. From the UX POV I have concerns with discoverability- while it might be convenient for you many users don't right-click every element in the UI. Plus, such a feature has issues with accessibility.

I agree with the requirement to unhide all. But the one additional click to show all rows or all columns is acceptable, IMO. Your proposed solution is not bad and I'm not against the implementation (would have resolve the request as wontfix in this case) but might be done more simple.