Bug 75578 - Other: Improve Hyperlink Dialog Buttons
Summary: Other: Improve Hyperlink Dialog Buttons
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
4.3.0.0.alpha0+ Master
Hardware: Other All
: medium enhancement
Assignee: Thomas Arnhold
URL:
Whiteboard: BSA
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-27 16:27 UTC by retired
Modified: 2014-08-25 11:54 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments
lo hyperlink dialog (165.11 KB, image/png)
2014-02-27 16:27 UTC, retired
Details
Concept for revamped Hyperlink dialog. (54.59 KB, image/png)
2014-02-28 09:45 UTC, Dave Barton
Details

Note You need to log in before you can comment on or make changes to this bug.
Description retired 2014-02-27 16:27:39 UTC
Created attachment 94832 [details]
lo hyperlink dialog

It seems most of the button labels in the Hyperlink dialog are misleading, so let me explain the expected functionality behind standard button labels:
The standard is for "Apply" to apply the changes and leave the dialog open, "OK" to apply the changes and close the dialog, "Close" to close the dialog (should be used when changes are applied automatically), "Cancel" to revert changes made and close the dialog, "Undo" to go a single step back in history, "Back" to navigate to the last visited screen.

So, in terms of the current hyperlink dialog:
* There should be two buttons instead of the current "Apply": "Apply" and "OK", working as described above.
* "Close" should be renamed to "Cancel"
* "Back" should be renamed to "Revert" ("Undo" doesn't quite fit the bill, as the button doesn't go through each step in history); however, IMHO it'd be good to remove this button -- it does the same thing as Cancel, only without closing the dialog.
Operating System: All
Version: 4.3.0.0.alpha0+ Master
Comment 1 Joel Madero 2014-02-27 16:37:08 UTC
Seems fine -

Enhancement - works as expected but suggestion to make it better
Medium - default seems appropriate

ProposedEasyHack
Comment 2 Joel Madero 2014-02-27 23:03:45 UTC
In order to limit the confusion between ProposedEasyHack and EasyHack and to make queries much easier we are changing ProposedEasyHack to NeedsDevEval.

Thank you and apologies for the noise
Comment 3 Cor Nouws 2014-02-27 23:25:33 UTC
Hi Foss,

Have you read the Help, before deciding that the current design is misleading?

Apart from info that that gives: aparently the dialog is designed to give people the opportunity to use the dialog to insert more links subsequently, so as a non-modal dialog.

(In reply to comment #0)

> The standard is for "Apply" to apply the changes and leave the dialog open,
> "OK" to apply the changes and close the dialog, "Close" to close the dialog
> (should be used when changes are applied automatically), "Cancel" to revert
> changes made and close the dialog, "Undo" to go a single step back in
> history, "Back" to navigate to the last visited screen.

Do these standards also apply for non-modal dialogs?

> So, in terms of the current hyperlink dialog:
> * There should be two buttons instead of the current "Apply": "Apply" and
> "OK", working as described above.

If one clicks Apply .. hyperlink is inserted. The one chooses OK .. the link is inserted again plus that the dialog closes? That is what I understand from what you described above...

> * "Close" should be renamed to "Cancel"
> * "Back" should be renamed to "Revert" ("Undo" doesn't quite fit the bill,
> as the button doesn't go through each step in history); however, IMHO it'd
> be good to remove this button -- it does the same thing as Cancel, only
> without closing the dialog.

Back sets the state of the dialog to it's default. It doesn't do anything with the already inserted links. Revert/Undo might give that impression more.

Apparently the primary goal for the current design is allow inserting multiple hyperlinks without closing the dialog.
Same as dialog Fields .. has an Insert and Close buton too.

For me it is not yet sure that the changes that you describe, do not introduce other chances for confusion ;)

David, what is your opinion?
Comment 4 Tin Man 2014-02-28 08:02:33 UTC
Hi Cor,

(In reply to comment #3)
> (In reply to comment #0)
> 
> > The standard is for "Apply" to apply the changes and leave the dialog open,
> > "OK" to apply the changes and close the dialog, "Close" to close the dialog
> > (should be used when changes are applied automatically), "Cancel" to revert
> > changes made and close the dialog, "Undo" to go a single step back in
> > history, "Back" to navigate to the last visited screen.
> 
> Do these standards also apply for non-modal dialogs?

Yes. For example, see the Gnome [1], Windows [2], or Mac OS X HIG [3].

I'm no longer sure about "Close", though. It seems that it doesn't discard the changes made with the window (it was impossible to tell when "Apply" closed the window), so it doesn't quite fit the role of "Cancel":
"[Cancel] must undo the effects of all applications of the Apply since the window was opened, not just the most recent one." [1]

And though the Windows HIG tells us to "Never use Close for dialogs that have settings" [1], perhaps it's the best description for the way the button currently works.

> > So, in terms of the current hyperlink dialog:
> > * There should be two buttons instead of the current "Apply": "Apply" and
> > "OK", working as described above.
> 
> If one clicks Apply .. hyperlink is inserted. The one chooses OK .. the link
> is inserted again plus that the dialog closes? That is what I understand
> from what you described above...

When one clicks OK, the changes made in the dialog are applied and the dialog closes. If those changes have been applied already using "Apply", then "OK" simply closes the dialog.
> 
> > * "Close" should be renamed to "Cancel"
> > * "Back" should be renamed to "Revert" ("Undo" doesn't quite fit the bill,
> > as the button doesn't go through each step in history); however, IMHO it'd
> > be good to remove this button -- it does the same thing as Cancel, only
> > without closing the dialog.
> 
> Back sets the state of the dialog to it's default. It doesn't do anything
> with the already inserted links. Revert/Undo might give that impression more.

It was impossible to tell when Apply closed the window, but now I see that it sets the state of the dialog to the last applied change.
Perhaps "Reset" is a better term, then?
(BTW, this button should be inactive if it won't do anything.)

[1] https://developer.gnome.org/hig-book/stable/windows-utility.html.en#windows-explicit-apply
[2] http://msdn.microsoft.com/en-us/library/windows/desktop/aa511268
[3] https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/AppleHIGuidelines/Windows/Windows.html#//apple_ref/doc/uid/20000961-TP9
Comment 5 Dave Barton 2014-02-28 09:45:38 UTC
Created attachment 94871 [details]
Concept for revamped Hyperlink dialog.
Comment 6 Dave Barton 2014-02-28 09:47:59 UTC
(In reply to comment #3)

Hi Cor,

To be honest the naming of the dialog buttons does not greatly concern me, provided that the "Apply' (or whatever name is chosen) button does not close the dialog, but since you have asked for my opinion...

In almost every program I have used over the years where there is an "Apply" button/option changes are immediately applied to the underlying data, without closing the dialog/editing facility. The fact that the LO Hyperlink dialog is modeless means that the user can select other items (eg. a Calc cell) and continue editing without having to be continually reopening the dialog. "Apply" appears to the most widely used and understood terminology for this kind of feature.

Renaming the "Close" button to "OK" might be more intuitive for less experienced computer users, since "OK" is commonly used in other software to confirm the action/selection and close the dialog/editing facility.

While I understand what the "Back" button does, I am unclear as to why it was included in the first place or if it serves a "very useful" purpose. The word "Back" is open to many interpretations and user expectations. I would suggest replacing the "Back" button and it's associated function with a simple and generally understood "Close" button to close the dialog without updating the underlying data. I suggest "Close" rather than "Cancel", because "Cancel" might mislead some users into thinking it cancels, or reverts, any changes they have already applied. Yes, it can be argued that changing the function of an existing button with that name may be confusing to some existing users, but it seems that there is already some confusion about this dialog, otherwise this issue would have never been opened.

The attached image, including suggested help/tooltip commentary, is my concept of what a revamped hyperlink dialog might look like.

Regards
Dave
Comment 7 Adolfo Jayme 2014-02-28 12:29:07 UTC
Apply, OK and Close are super redundant, even though they have slightly different behaviors. Please don’t cramp the together in a single dialog, Apply and Close are enough…
Comment 8 Dave Barton 2014-02-28 14:44:59 UTC
Hi Adolfo,

I am not sure what you mean by Apply, OK and Close are "super redundant", which implies that all three are redundant (ie. no longer useful/necessary) and then conclude that two of them are your preference. Three buttons have been "cramped" into the OOo/LO and AOO Hyperlink dialog for years.

If you look back at bug 63271 from which this issue originates and you will see that it was this kind of short-circuit "minimalist" requirement that created the problem (for me at least) in the first instance. What I have put forward, purely as a possible option, should come close to meeting the requirements of most users:
a) Those who want to apply changes and have the dialog remain open = "Apply".
b) Those who want to apply changes and have the dialog immediately close = "OK".
c) Those who decide not to make any or apply more changes and have the dialog simply close = "Close".
Sorry, but saying "too many cramped buttons" is not a constructive proposal. If you can propose a better option to satisfy those differing needs of users I would be interested to see it.

At the risk of adding unnecessary noise to this issue, I repeat: "the naming (or number) of the dialog buttons does not greatly concern me, provided that the "Apply' (or whatever name is chosen) button does NOT close the modeless dialog".

Regards
Dave
Comment 9 retired 2014-02-28 20:26:23 UTC
Well there's a reason why MS Word only offers Ok and Cancel. You want to add a hyperlink? Select what you want to add it to, cmd+k (osx) to add hyperlink. Enter URL and enter for Ok to have hyperlink added and dialog closed. Imo the workflow which covers most use cases in least possible steps.

Dave: what's the use-case for "a) Those who want to apply changes and have the dialog remain open = "Apply"."? I do not understand what the situation looks like this is needed.

Should we decide to keep the Apple button, I'd vote to have Ok preselected so the dialog can be easily applied and closed by just hitting enter after having entered an URL.
Comment 10 Dave Barton 2014-02-28 22:44:52 UTC
(In reply to comment #9)

Hi Foss,

This issue, now becoming more of debate, is about the naming and possibly the reordering of the Hyperlink dialog buttons, not the function of the dialog itself. The point you are raising here has already been resolved in bug 63271. However, I will enter into the discussion one last time.

> Well there's a reason why MS Word only offers Ok and Cancel. You want to add
> a hyperlink? Select what you want to add it to, cmd+k (osx) to add
> hyperlink. Enter URL and enter for Ok to have hyperlink added and dialog
> closed. Imo the workflow which covers most use cases in least possible steps.

Yes, what MS does is fine in "most" cases, where there is only the occasional need to insert a trivial number of links or edits. For years the OOo/LO Hyperlink dialog has had functionality that the MS equivalent lacked. Why would we only want to cover "most" use cases, when we already had the facility to cover "more" use cases?

> Dave: what's the use-case for "a) Those who want to apply changes and have
> the dialog remain open = "Apply"."? I do not understand what the situation
> looks like this is needed.

To remind yourself, please go back and reread bug 63271 and my "emotional" :) comments in the discussion we had there. OK, this is not a "most" use case, but it is a feature that helped me promote LO to at least 2 corporate clients who had a definite use for it.

One "Real" Use Case:
1. Think of a Calc spreadsheet where there are numerous links to be added/edited.
2. We have a modeless dialog (ie. one that remains open and visible when it does not have the input focus), which allows the user to continue working on the underlying spreadsheet.
3. The user clicks on a cell containing a hyperlink and that hyperlink is automatically shown in the open Hyperlink dialog.
4. The user moves to the dialog, edits the link and clicks "Apply".
5. The dialog remains open and the user clicks on the next link to be edited.
6. Go to step 3 and repeat as often as required.
7. The user now wants to add new links.
8. The user highlights new or existing data in a cell and that data is automatically shown in the dialog.
9. The user moves to the dialog, enters the link and clicks "Apply".
10. The dialog remains open and the user highlights the next item to be linked.
11. Go to step 9 and repeat as often as required.
12. When hyper link edits/additions are complete the user clicks the "Close" button.

This is how this dialog has worked in OOo/LO for years and the way it still works in AOO 4.1 nightly builds today.

> Should we decide to keep the Apple button, I'd vote to have Ok preselected
> so the dialog can be easily applied and closed by just hitting enter after
> having entered an URL.

Agreed! This covers the "most" use cases and was something I meant to include in my previous comment. I just got so "excited" :( about repeatedly going over this same ground again, that I overlooked it.

Regards
Dave
Comment 11 retired 2014-03-01 08:31:42 UTC
Thanks Dave, I now better understand your reasoning for keeping that dialog open. Since I work with shortcuts cmd +k (OSX) to open that dialog is most effective for me (even when editing a lot of links. Much easier than keeping a dialog open and having to bring that back to focus (if it moves to the background) or having that dialog take a way screenestate and having to move it around to continue work on calc/writer. For me cmd+k is always faster. And sorry for not going through the previous 37 comments.

But your point is valid. So I think we are at a point where we know what that dialog should look like.

What about that help button? Imo not needed. This dialog is not about help but about hyperlinks. It's rather uncommon to see additional help buttons. I'm all for reducing stuff in LO, since there's the tendency to add and add until things are rather confusing.

***TO SUMMARIZE***: Three buttons would do the trick
Order buttons from left to right with "ok" button pre-selected for easy accessibility and option to close and apply the dialog with a single "enter" stroke.

Ok (apply + close dialog, enter button)
Apply (apply change and keep dialog open, maybe cmd + enter could do this)
Cancel (ignore changes and close dialog) (Esc key stroke should trigger that)

Back and help are imo not needed. If you do something wrong you can always Esc and cmd+k, which would ignore changes and re-open fresh dialog. I even could do without an apply button, but Dave shows a use-case where if you are not into keyboard usage / shortcuts, that may be easier for the user to apply and keep dialog open.
Comment 12 Cor Nouws 2014-03-02 10:26:57 UTC
(In reply to comment #11)

> What about that help button? Imo not needed. This dialog is not about help
> but about hyperlinks. It's rather uncommon to see additional help buttons.
> I'm all for reducing stuff in LO, since there's the tendency to add and add
> until things are rather confusing.

OT: what do you mean with that?
Isn't it quite common in LibreOffice that dialogs offer a Help button and that clicking on that opens the help content related to that specific dialog?
Comment 13 retired 2014-03-02 11:19:05 UTC
About the help button: by that I mean that while it may be common for LO, it is rather uncommon on OSX. And I'd rather prefer a clean dialog with a good tooltip or if we want to link to the help, offer that via the help menu (just provide a dynamic menu entry that covers the currently open dialog).

my point is: the dialog is overwhelming and 4 buttons are a lot for such a simple operation. while this may be hard to understand from a devs standpoint, in general the issue with LO or similar projects is, that functionality gets added and dialogs become blown up while they most seldom are checked for consistency and efficiency and what items are really wanted / needed.
Comment 14 Cor Nouws 2014-03-02 18:09:34 UTC
Hi,
I think we all really appreciate the improvements in LibreOffice.
Also where it is possible to improve workflow, I'm all in favor.

But _the_ point is, that LibreOffice not only runs on Mac, and that many people use advanced features - see example given by Dave - that others even aren aware of. So it's good to keep consistency and efficiency and functionality in mind.
Thanks a lot,
Cor
Comment 15 Cor Nouws 2014-03-03 21:20:11 UTC
So, completely different thought:

Look how LibreOffice uses Ctrl-F and Ctrl-H
Ctrl+F  for the quick search.

Is it an idea to investigate similar possibilities for hyperlinks?
For example: 
 - Ctrl+K opens Hyperling Bar (paste link, Enter > Insert+Close)
 - Ctrl_Shft+K opens existing dialog

Ideas ?

(apologies to Mac users when I oversee some troublesome key combination for their OS..)

Ciao,
Cor
Comment 16 Cor Nouws 2014-03-15 21:59:59 UTC
Is the idea in comment #15 so completely weird ?
Comment 17 Dave Barton 2014-03-15 22:54:57 UTC
(In reply to comment #16)
> Is the idea in comment #15 so completely weird ?

I see nothing "weired" about having shortcut keys to activate functions/dialogs. In fact Ctrl+K has always been the standard LO keyboard shortcut to open the hyperlink dialog. Having a new mini hyperlink dialog, or "Find" type bar, might be good for the simple "most use" case, but of little value for the process I outlined in comment #10.

At the risk of boring those following this issue, my only real interest is that the "Apply" (or any other chosen name) button in the current hyperlink dialog returns to it's original "apply change and not close" functionality. Unfortunately, this will not happen in the 4.2.x.x line, but has been reinstated in the nightly builds for the 4.3 line.
Comment 18 Cor Nouws 2014-03-16 09:25:11 UTC
(In reply to comment #17)

> Having a new mini hyperlink dialog,
> or "Find" type bar, might be good for the simple "most use" case, but of
> little value for the process I outlined in comment #10.

Yes, I agree.
But that simple bar would allow for the simple use case that most people do.
And then the full dialog could be started for the rest..
Comment 19 Dave Barton 2014-03-16 09:38:18 UTC
(In reply to comment #18)
> (In reply to comment #17)
> 
> > Having a new mini hyperlink dialog,
> > or "Find" type bar, might be good for the simple "most use" case, but of
> > little value for the process I outlined in comment #10.
> 
> Yes, I agree.
> But that simple bar would allow for the simple use case that most people do.
> And then the full dialog could be started for the rest..

Agreed. That is exactly what I was trying (if somewhat badly phrased) to say.
Comment 20 Tomaz Vajngerl 2014-03-16 12:03:05 UTC
If we will revert the behavior in 4.3 then we should already revert it in 4.2. We can still make it better in 4.3.

Dave Barton do you know which commit reverted the behavior in master?
Comment 21 Tomaz Vajngerl 2014-03-16 12:07:29 UTC
Nevermind.. I have found it. 

http://cgit.freedesktop.org/libreoffice/core/commit/?id=65453d5aebdf851034632d5593f0a1023f7015fe
Comment 22 Tin Man 2014-03-16 14:21:30 UTC
(In reply to comment #15)
> So, completely different thought:
> 
> Look how LibreOffice uses Ctrl-F and Ctrl-H
> Ctrl+F  for the quick search.
> 
> Is it an idea to investigate similar possibilities for hyperlinks?
> For example: 
>  - Ctrl+K opens Hyperling Bar (paste link, Enter > Insert+Close)
>  - Ctrl_Shft+K opens existing dialog
> 
> Ideas ?
> 
> (apologies to Mac users when I oversee some troublesome key combination for
> their OS..)
> 
> Ciao,
> Cor

How about having a hyperlink area in the Properties sidebar pane instead?

I'd like to refrain from having a special hyperlink bar because:
a) it would add yet another toolbar row to LibreOffice (don't want to end up in this situation: http://weblog.sinteur.com/wp-content/uploads/2011/12/WordToolbars.jpg)
b) it would add yet another UI element that we'd need to make sure was findable (it would need to be added to the menubar and the relevant toolbars)
c) changing the keyboard shortcut for Hyperlink would disrupt user habits
d) we'd need to add a hyperlink area to Properties sooner or later anyway
Comment 23 Cor Nouws 2014-03-16 20:53:03 UTC
(In reply to comment #22)

> How about having a hyperlink area in the Properties sidebar pane instead?

Could that be activated with Ctrl+K (or Ctrl+Shft+K) ?

> I'd like to refrain from having a special hyperlink bar because:
> a) it would add yet another toolbar row to LibreOffice (don't want to end up
> in this situation:
> http://weblog.sinteur.com/wp-content/uploads/2011/12/WordToolbars.jpg)

We won't.
After using Ctrl+F the bar dissapears with ESC.
Should be that after Ctrl+K and Enter to confirm that the bar closes too.

> b) it would add yet another UI element that we'd need to make sure was
> findable (it would need to be added to the menubar and the relevant toolbars)

Already is in the menu..

> c) changing the keyboard shortcut for Hyperlink would disrupt user habits

The shortcut should not be changed.

> d) we'd need to add a hyperlink area to Properties sooner or later anyway

I don't use it, but if people do and find a basic add/change Hyperlink there, fine for me too.
(Though, as you can read, I do not yet support your arguments :) )
Comment 24 retired 2014-03-16 22:08:01 UTC
Little confused about hyperlink bar vs hyperlink dialog: I don't think anybody had a hyperlink bar in mind. What is being discussed is the hyperlink dialog window, no?

While it adds some overhead I think I like the idea of two shortcuts cmd + k opening a reduced, simple dialog (covering most use cases and displaying a very simple UI without a lot of fuss) and alt + cmd + k opens the complex hyperlink dialog (which covers the comment 10 use-case as layed out by Dave).

I'm still in for applying and closing the dialog with a simple "return" hit (call it "ok" and have apply next to it and tab-able).

Mirek2: what do you think? Any design-department-perspective on this?
Comment 25 Cor Nouws 2014-03-17 07:58:00 UTC
(In reply to comment #24)
> Little confused about hyperlink bar vs hyperlink dialog: I don't think
> anybody had a hyperlink bar in mind. What is being discussed is the
> hyperlink dialog window, no?

No. Pls read comment #15
Comment 26 retired 2014-03-17 08:41:31 UTC
Cor, got it now.

cmd + k > open menu bar (simply structure)
alt + cmd + k > open hyperlink dialog (complex)

Sounds ok to me.
Comment 27 Dave Barton 2014-03-17 09:30:12 UTC
I don't have a problem with the keyboard shortcut change proposal. The only observation I would make is that there _might_ be existing users (I have no idea of possible numbers) who have become accustomed to the existing Ctrl/Cmd+K shortcut opening the full hyperlink dialog. Yes, they could easily adapt to the proposed Alt+Ctrl/Cmd+K change, but they would first have the inconvenience of searching for information about the new shortcut. Since this would be a new dialog/bar option I would suggest a new keyboard shortcut.
Comment 28 Cor Nouws 2014-03-17 11:55:22 UTC
(In reply to comment #26)
> Cor, got it now.


thanks ;)
Comment 29 Cor Nouws 2014-03-17 11:58:21 UTC
(In reply to comment #27)

> ....  but they would first
> have the inconvenience of searching for information about the new shortcut.

That's always a price for changes...

> Since this would be a new dialog/bar option I would suggest a new keyboard
> shortcut.

Such as Ctrl+K for the dialog and Ctrl+Shft+K for the Hyperlink bar?
hmm. not sure yet.

Ctrl+F is for the Find bar and Ctrl+H for the full dialog.
So there is no full analogy :)

Specific wishes/suggestions ?
Comment 30 retired 2014-03-17 12:47:46 UTC
I think: the simple solution covering most use cases should get the easy shortcut. Want a more rarely option > more complex shortcut.

I understand Dave's point about potential user-confusion, but actually I think many users will be happy about that change and QA can deal with incoming user confusion. This could also be explained on the AskLO site and then we just send users a link explaining the change.

As Cor puts it, change always comes at a cost. But I think this change would be worth the temporary confusion.
Comment 31 Kumāra 2014-08-12 01:38:30 UTC
Please see proposed solution at Bug 56456.
Comment 32 Thomas Arnhold 2014-08-17 11:44:32 UTC
Proposed fix: https://gerrit.libreoffice.org/10946
Comment 33 Dave Barton 2014-08-17 22:19:01 UTC
(In reply to comment #32)
> Proposed fix: https://gerrit.libreoffice.org/10946

+1 Thanks for your fix Thomas. Can we all now agree to close this &bug 56456?
Comment 34 retired 2014-08-24 11:40:39 UTC
Thomas, thanks for your work on this.

Tested the latest nightly and it works awesome and the labeling is improved a lot.

Default set to "ok" is imo serving most use cases so that's great as well.
Comment 35 Cor Nouws 2014-08-25 11:54:33 UTC
(In reply to comment #34)
> Thomas, thanks for your work on this.


+ 1 and to all other patiently and carefully discussing this topic :)