[yast-devel] YaST Dialog Button Order in KDE
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, I've got a very nice bug - actually a never-ending story - about button order in YaST dialogs. This one is not about using ButtonBox widget (at least not from the developer's point of view) because the inconsistency is in our design of the whole Wizard dialog. See https://bugzilla.novell.com/show_bug.cgi?id=571939 Especially https://bugzillafiles.novell.org/attachment.cgi?id=339226 [Cancel] [OK] button order The root of the issue is, from my POV, the way how we define the Wizard behavior and how we later work with it, e.g., by calling SetNextButton(any id, string label). We often use this approach for configuration wizards: [/Back/][Next] [Back] [Next] [Back] [Finish] According to Keith Briscoe, who's already reported several button-order-related bugs, this is in fact a bug considering our wiki page http://old-en.opensuse.org/YaST/Development/Misc/Button_Order and also considering the KDE style that tries to follow a human-speech order. [OK] / [Apply] / [Continue] / [Finish] / [Yes] / ... always presented before [Cancel] / [No] / ... So, in Wizard, we still use the GNOME button order although YaST runs in KDE. I think that we could try to change the order in Wizard.ycp (or, in fact, in its Qt implementation) but it would be quite a big change and it needs to be discussed first. And that I wrote this e-mail :) Thanks in advance for your ideas and opinions Lukas -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iEYEARECAAYFAk5d8kIACgkQVSqMdRCqTix2agCfel5xmACjnrjWIxtimo0B5qPN 4VkAnRHOQN3kyK7+JHYU35Cjku0voTyY =n+Ry -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
On Wednesday, August 31, 2011 10:35:15 am Lukas Ocilka wrote:
Hi,
I've got a very nice bug - actually a never-ending story - about button order in YaST dialogs. This one is not about using ButtonBox widget (at least not from the developer's point of view) because the inconsistency is in our design of the whole Wizard dialog.
See https://bugzilla.novell.com/show_bug.cgi?id=571939 Especially https://bugzillafiles.novell.org/attachment.cgi?id=339226
[Cancel] [OK] button order
The root of the issue is, from my POV, the way how we define the Wizard behavior and how we later work with it, e.g., by calling SetNextButton(any id, string label). We often use this approach for configuration wizards:
[/Back/][Next] [Back] [Next] [Back] [Finish]
According to Keith Briscoe, who's already reported several button-order-related bugs, this is in fact a bug considering our wiki page http://old-en.opensuse.org/YaST/Development/Misc/Button_Order and also considering the KDE style that tries to follow a human-speech order.
[OK] / [Apply] / [Continue] / [Finish] / [Yes] / ...
always presented before
[Cancel] / [No] / ...
So, in Wizard, we still use the GNOME button order although YaST runs in KDE. I think that we could try to change the order in Wizard.ycp (or, in fact, in its Qt implementation) but it would be quite a big change and it needs to be discussed first. And that I wrote this e-mail :)
Thanks in advance for your ideas and opinions Lukas
A wizard has multiple steps and buttons like [back], [next] or [finish]. From my point of view having only one step and renaming the buttons is a misuse of the wizard widget because that's not a wizard anymore. The wizard uses neither gnome button order nor kde button order. It uses wizard button order, which is [back], [next]. If one renames the buttons it's coincidentally similar to the gnome button order. That's the reason why I think the wizard widget shouldn't be used normal dialogs but for wizards only. To solve this issue we could create a dialog template that offers similar functionally and respects the button order by using the button box widget. Cheers, Thomas -- Thomas Goettlicher SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dne 31.8.2011 11:40, Thomas Goettlicher napsal(a):
A wizard has multiple steps and buttons like [back], [next] or [finish]. From my point of view having only one step and renaming the buttons is a misuse of the wizard widget because that's not a wizard anymore.
True, but I'm afraid even the [Back] [Next] [Back] [Finish] style is incorrect in KDE but http://old-en.opensuse.org/YaST/Development/Misc/Button_Order doesn't describe the order of button for that case so I cannot tell for sure.
The wizard uses neither gnome button order nor kde button order. It uses wizard button order, which is [back], [next]. If one renames the buttons it's coincidentally similar to the gnome button order.
But even the wizard should use GNOME-wizard or KDE-wizard button order, or am I wrong?
That's the reason why I think the wizard widget shouldn't be used normal dialogs but for wizards only. To solve this issue we could create a dialog template that offers similar functionally and respects the button order by using the button box widget.
I've found out that we actually don't use BottonBox in defining order of buttons in Wizard.ycp, we actually use HBox only. See these functions in Wizard.ycp: BackNextButtonBox CancelAcceptButtonBox CancelOKButtonBox AbortAcceptButtonBox ... Maybe there is a quite simple solution just by using the ButtonBox widget and letting its UI implementation to decide. My question is: Isn't that quite a big change for our users? Do they want it? Well, I can ask them but I wanted to know YaST Developers' point of view... Thanks Lukas -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iEYEARECAAYFAk5eBMIACgkQVSqMdRCqTiw92gCfU/DZ1w01Iwj1/JuFitgamfPk ufIAn1hA6P5kpxBV+jHE8me1oGDN8DfJ =GPw7 -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
On Wednesday, August 31, 2011 11:54:10 am Lukas Ocilka wrote:
Dne 31.8.2011 11:40, Thomas Goettlicher napsal(a):
A wizard has multiple steps and buttons like [back], [next] or [finish]. From my point of view having only one step and renaming the buttons is a misuse of the wizard widget because that's not a wizard anymore.
True, but I'm afraid even the
[Back] [Next] [Back] [Finish]
style is incorrect in KDE but http://old-en.opensuse.org/YaST/Development/Misc/Button_Order doesn't describe the order of button for that case so I cannot tell for sure. [back] [next] is the only intuitive button order because [next] [back] is confusing.
The wizard uses neither gnome button order nor kde button order. It uses wizard button order, which is [back], [next]. If one renames the buttons it's coincidentally similar to the gnome button order.
But even the wizard should use GNOME-wizard or KDE-wizard button order, or am I wrong?
In wizards the [next]-button's position doesn't depend one the desktop environment, it is always on the right hand side. Everything else is counterintuitive.
That's the reason why I think the wizard widget shouldn't be used normal dialogs but for wizards only. To solve this issue we could create a dialog template that offers similar functionally and respects the button order by using the button box widget.
I've found out that we actually don't use BottonBox in defining order of buttons in Wizard.ycp, we actually use HBox only.
That's done by purpose. We don't want to rearrange the buttons in wizards depending on the desktop environment because it's always [back] [next] button order in wizards.
See these functions in Wizard.ycp:
BackNextButtonBox CancelAcceptButtonBox CancelOKButtonBox AbortAcceptButtonBox ...
Maybe there is a quite simple solution just by using the ButtonBox widget and letting its UI implementation to decide. My question is: Isn't that quite a big change for our users? Do they want it? Well, I can ask them but I wanted to know YaST Developers' point of view...
I'd propose not to use a wizard widget if the developer doesn't want to create a wizard dialog. For non-wizard dialogs we need something else that takes care of the button order depending on the desktop environment. Cheers, Thomas
Thanks Lukas
-- Thomas Goettlicher SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
My opinion is that the Wizard dialog is in some regards special (looking at KDE applications, the text editor does not have OK/Cancel buttons in the main dialog, but in pop-ups, where YaST is consistent; the main YaST window is in this regard different than KDE windows which I can recall). When a button has a specific meaning (and it does not really matter whether the label is Next, OK or Finish), it should not move (I mean, when you click Next, in the next dialog there should not be Back button at the same location). From this perspective, we have only two options: [Back][Next] [Back][Finish] or [Finish][Back] [Next][Back] Even though being a KDE user, I feel better about the first one (just a personal opinion). An alternative may be to put the [Next] button to a different place than [Finish]; when one of these is not present, its place in the dialog will be empty (avoiding accidental clicking of button with different meaning). Not sure how good idea it is, maybe others can comment. As a note to the KDE button-order: I fully agree that we should try to be as consistent as possible with the environment which we want to integrate with (in this case KDE), and it includes, among other, also the button ordering and labeling. On the other hand, it does not mean that we should take over every single convention; If there is a good reason to behave differently, we should behave differently. Jiri Dne St 31. srpna 2011 10:35:15 Lukas Ocilka napsal(a):
Hi,
I've got a very nice bug - actually a never-ending story - about button order in YaST dialogs. This one is not about using ButtonBox widget (at least not from the developer's point of view) because the inconsistency is in our design of the whole Wizard dialog.
See https://bugzilla.novell.com/show_bug.cgi?id=571939 Especially https://bugzillafiles.novell.org/attachment.cgi?id=339226
[Cancel] [OK] button order
The root of the issue is, from my POV, the way how we define the Wizard behavior and how we later work with it, e.g., by calling SetNextButton(any id, string label). We often use this approach for configuration wizards:
[/Back/][Next] [Back] [Next] [Back] [Finish]
According to Keith Briscoe, who's already reported several button-order-related bugs, this is in fact a bug considering our wiki page http://old-en.opensuse.org/YaST/Development/Misc/Button_Order and also considering the KDE style that tries to follow a human-speech order.
[OK] / [Apply] / [Continue] / [Finish] / [Yes] / ...
always presented before
[Cancel] / [No] / ...
So, in Wizard, we still use the GNOME button order although YaST runs in KDE. I think that we could try to change the order in Wizard.ycp (or, in fact, in its Qt implementation) but it would be quite a big change and it needs to be discussed first. And that I wrote this e-mail :)
Thanks in advance for your ideas and opinions Lukas
-- Regards, Jiri Srain Project Manager --------------------------------------------------------------------- SUSE LINUX, s.r.o. e-mail: jsrain@suse.cz Lihovarska 1060/12 tel: +420 284 084 659 190 00 Praha 9 fax: +420 284 084 001 Czech Republic http://www.suse.cz -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
Dne 31.8.2011 12:39, Jiri Srain napsal(a): [...]
When a button has a specific meaning (and it does not really matter whether the label is Next, OK or Finish), it should not move (I mean, when you click Next, in the next dialog there should not be Back button at the same location). From this perspective, we have only two options:
[Back][Next] [Back][Finish]
or
[Finish][Back] [Next][Back]
Even though being a KDE user, I feel better about the first one (just a personal opinion).
IMO only the first possibility is correct for _multiple_ step dialogs (wizard) regardless the current desktop environment. The reason is that it imitates turning pages in a book - if you advance in a book you turn the right page and if you want to go back you turn the left page. This is the reason why it is logical even in KDE. (The only reason for switching are RTL languages like Arabic. And IIRC this is already handled in our wizard correctly.) -- Best Regards Ladislav Slezák Yast Developer ------------------------------------------------------------------------ SUSE LINUX, s.r.o. e-mail: lslezak@suse.cz Lihovarská 1060/12 tel: +420 284 028 960 190 00 Prague 9 fax: +420 284 028 951 Czech Republic http://www.suse.cz/ -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
On Thursday, September 01, 2011 01:14:07 pm Ladislav Slezak wrote:
Dne 31.8.2011 12:39, Jiri Srain napsal(a): [...]
When a button has a specific meaning (and it does not really matter whether the label is Next, OK or Finish), it should not move (I mean, when you click Next, in the next dialog there should not be Back button at the same location). From this perspective, we have only two options:
[Back][Next] [Back][Finish]
or
[Finish][Back] [Next][Back]
Even though being a KDE user, I feel better about the first one (just a personal opinion).
IMO only the first possibility is correct for _multiple_ step dialogs (wizard) regardless the current desktop environment. I fully agree with you.
The reason is that it imitates turning pages in a book - if you advance in a book you turn the right page and if you want to go back you turn the left page. Good explanation.
This is the reason why it is logical even in KDE.
(The only reason for switching are RTL languages like Arabic. And IIRC this is already handled in our wizard correctly.)
--
Best Regards
Ladislav Slezák Yast Developer ------------------------------------------------------------------------ SUSE LINUX, s.r.o. e-mail: lslezak@suse.cz Lihovarská 1060/12 tel: +420 284 028 960 190 00 Prague 9 fax: +420 284 028 951 Czech Republic http://www.suse.cz/
-- Thomas Goettlicher SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
On Wednesday, August 31, 2011 05:39:01 AM Jiri Srain wrote:
My opinion is that the Wizard dialog is in some regards special (looking at KDE applications, the text editor does not have OK/Cancel buttons in the main dialog, but in pop-ups, where YaST is consistent; the main YaST window is in this regard different than KDE windows which I can recall).
When a button has a specific meaning (and it does not really matter whether the label is Next, OK or Finish), it should not move (I mean, when you click Next, in the next dialog there should not be Back button at the same location). From this perspective, we have only two options:
[Back][Next] [Back][Finish]
This is something that any browser user will find intuitive and that is 100% of computer users.
or
[Finish][Back] [Next][Back]
Even though being a KDE user, I feel better about the first one (just a personal opinion).
It is correct observation, not only a personal opinion. Intuitive is what we are used to. We read from left to right and having: [Back][Next] is the way we are used to. It is intuitive as it complies with other experience. How that works in RL written languages I can't even guess, as browser habits could be strong enough to create new habit to treat online content in a different way than all other written text.
An alternative may be to put the [Next] button to a different place than [Finish]; when one of these is not present, its place in the dialog will be empty (avoiding accidental clicking of button with different meaning). Not sure how good idea it is, maybe others can comment.
Putting buttons as [Back][Next][Finish] where buttons keep their positions across all wizard screens is improvement over having [Next] and [Finish] at the same position. That order will prevent accidental click and problems in some scenarios. In almost all scenarios it would be better to have visual control where in the configuration process we are, like in a system installer, where we have list of items on the left side with indication of status; done (normal gray font), current (bold black), pending (normal white). What would be good to add is indication where action [Next] will jump. That way would cover not only linear processes, where [Next] means also next item in the list, but also those with conditional branching where next point in configuration depends on results of answers on a current screen. Problem with non linear processes is that you need history to know what is done, which would be another piece to keep on the screen.
As a note to the KDE button-order: I fully agree that we should try to be as consistent as possible with the environment which we want to integrate with (in this case KDE), and it includes, among other, also the button ordering and labeling. On the other hand, it does not mean that we should take over every single convention; If there is a good reason to behave differently, we should behave differently.
This is correct, but then what is a good reason. Who and what should drive decision. Ask developer that has to code solution and answer will be simple code. Ask user and solution will be simple software usage. Simple code and its usage are usually on the opposite sides of the street. Everyone follows its own energy conservation; use less energy for the same effect, so somewhere there must be a judge that will tell where is the middle of the road; what is the best for majority. -- Regards, Rajko -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dne 4.9.2011 18:49, Rajko M. napsal(a):
On Wednesday, August 31, 2011 05:39:01 AM Jiri Srain wrote:
My opinion is that the Wizard dialog is in some regards special (looking at KDE applications, the text editor does not have OK/Cancel buttons in the main dialog, but in pop-ups, where YaST is consistent; the main YaST window is in this regard different than KDE windows which I can recall).
OK, so the Wizard is kind-of-clear now (at least we have enough opinions ;)) but we haven't discussed those one-dialog modules which the bug #571939 is originally about. According to the http://en.opensuse.org/openSUSE:YaST_development_misc_button_Order in KDE [OK] button is always on the left to [Cancel] button, but we currently use the opposite in our dialogs (in GNOME, the opposite is actually correct). What do you think of using ButtonBox for THESE dialogs https://bugzillafiles.novell.org/attachment.cgi?id=339226 and keeping the button sorting on the selected UI? Lukas - -- Lukas Ocilka, Appliances Department, SUSE LINUX s.r.o. MD: Jeff Hawn, Jennifer Guild, Alena Hendrichova -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iD8DBQFOZeQPVSqMdRCqTiwRAi1dAJ0VYVKyym0FSQ1Yi7MR3/tdgW8rlQCgnKfe GWUJR1nFCTBneFFPHi1ZD2o= =uz5g -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
On Tuesday, September 06, 2011 11:12:47 am Lukas Ocilka wrote:
Dne 4.9.2011 18:49, Rajko M. napsal(a):
On Wednesday, August 31, 2011 05:39:01 AM Jiri Srain wrote:
My opinion is that the Wizard dialog is in some regards special (looking at KDE applications, the text editor does not have OK/Cancel buttons in the main dialog, but in pop-ups, where YaST is consistent; the main YaST window is in this regard different than KDE windows which I can recall).
OK, so the Wizard is kind-of-clear now (at least we have enough opinions ;)) but we haven't discussed those one-dialog modules which the bug #571939 is originally about.
According to the http://en.opensuse.org/openSUSE:YaST_development_misc_button_Order in KDE [OK] button is always on the left to [Cancel] button, but we currently use the opposite in our dialogs (in GNOME, the opposite is actually correct).
What do you think of using ButtonBox for THESE dialogs https://bugzillafiles.novell.org/attachment.cgi?id=339226 and keeping the button sorting on the selected UI?
Sounds like a good plan. I think the use of the button box is appropriate for all non-wizard-dialogs. Cheers, Thomas
Lukas
-- Thomas Goettlicher SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dne 7.9.2011 16:30, Thomas Goettlicher napsal(a):
According to the http://en.opensuse.org/openSUSE:YaST_development_misc_button_Order in KDE [OK] button is always on the left to [Cancel] button, but we currently use the opposite in our dialogs (in GNOME, the opposite is actually correct).
What do you think of using ButtonBox for THESE dialogs https://bugzillafiles.novell.org/attachment.cgi?id=339226 and keeping the button sorting on the selected UI?
Sounds like a good plan. I think the use of the button box is appropriate for all non-wizard-dialogs.
Fine, as I haven't seen any other opinion (against) I'll do the switch for openSUSE 12.1. Lukas - -- Lukas Ocilka, Appliances Department, SUSE LINUX s.r.o. MD: Jeff Hawn, Jennifer Guild, Alena Hendrichova -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iD8DBQFOadjrVSqMdRCqTiwRApPmAJ9/XK6nGYvZgwbVD6xGBcJJmEmshwCeOTkH 3EN5C2tWQYIQGn1rEcc4oOE= =gjjB -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dne 9.9.2011 11:14, Lukas Ocilka napsal(a):
Dne 7.9.2011 16:30, Thomas Goettlicher napsal(a):
According to the http://en.opensuse.org/openSUSE:YaST_development_misc_button_Order in KDE [OK] button is always on the left to [Cancel] button, but we currently use the opposite in our dialogs (in GNOME, the opposite is actually correct).
What do you think of using ButtonBox for THESE dialogs https://bugzillafiles.novell.org/attachment.cgi?id=339226 and keeping the button sorting on the selected UI?
Sounds like a good plan. I think the use of the button box is appropriate for all non-wizard-dialogs.
Fine, as I haven't seen any other opinion (against) I'll do the switch for openSUSE 12.1.
I've just changed Wizard to use ButtonBox where possible but it seems that if we wanted to change, e.g. bootloader or backup, to place buttons according to the selected UI, we'd actually need to rewrite these modules as they actually use a generic dialog and then: * Change [Next] to [OK] * Change [Abort] to [Cancel] * Hide [Back] In this case, changing Wizard to use ButtonBox doesn't help. This will need some more time. So far, I've kind of failed in that. Bye Lukas - -- Lukas Ocilka, Appliances Department, SUSE LINUX s.r.o. MD: Jeff Hawn, Jennifer Guild, Alena Hendrichova -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iD8DBQFOahxzVSqMdRCqTiwRAti6AJ4gKbBlk64LV+uSJicYaxHPoqg9VgCfRmuq TMzGUS+3uN6D5V1mFzV4mps= =SxDl -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
participants (5)
-
Jiri Srain
-
Ladislav Slezak
-
Lukas Ocilka
-
Rajko M.
-
Thomas Goettlicher