Software manager check boxes

5 views
Skip to first unread message

Ricardo Cruz

unread,
Mar 14, 2011, 3:46:45 PM3/14/11
to yast2-gtk, Atri Bhattacharya
Hi guys,

What do you think of having multi-status icons for the check-box, in the
same style as yast2-qt or Synaptic?

FYI this is the help-box of Synaptic:
http://www.alunos.dcc.fc.up.pt/~c0607045/trash/synaptic-icons.png

(they are knocks-offs of the gtk style.)

I think people expect, based on other software managers, that the
check-box will show whether the package has been changed and why. This
is a bug report, which touches on this:
https://bugzilla.novell.com/show_bug.cgi?id=679198

---

While we are at it, what do you think of having a popup menu when you
press the check-box, like Synaptic. It would just show the entries
"Remove" and "Upgrade" (if. I personally dislike having the upgrade
button as the

For more options, the user could use the right-click. I would also
suggest not having a pop-up for Install, given there is no ambiguity in
that case, and given it's the most often used action, a pop-up menu
would be more annoying. Not sure if it would feel right -- but let's
give it a try?


Cheers,
Ricardo


macias

unread,
Mar 15, 2011, 11:17:29 AM3/15/11
to yast2-gtk
If I may...

The whole point is to provide _clear_, _readable_ information on the
screen for users in general. Currently the information is readable
only by narrow fraction of users.

However clear & readable does not mean introducing tons of new icons
-- KISS is still valid here.

So, we either provide information by showing current status AND
action, or something like action-status (current UI).

Assuming you would like to stick to action-status (I am not a fan, but
let's just assume that) then my remarks to the icon set provided with
link:
* marked for removal and complete removal and not distinguishable
* marked for re-installation should resemble popular "reload" icon --
consistency matters
* locked is just an attribute for a status, so the lock should be
merged with regular icon
* installed (upgradeable), broken, not installed (new in repository),
package is supported are overkill

And just for the record, please compare this to status AND action:
a) status
* installed -- [V]
* not installed -- [ ]

both with variation of lock. You can switch the lock!

b) action
* install -- [V]
* upgrade -- [^]
* downgrade -- [v] (arrow down)
* reload -- [@]
* remove -- [x]
* nothing -- [ ]

Btw. important change -- with action AND status, you can lock the
package and install it (for example), it is not possible with action-
status because locking and installing are both actions.

Anyway, I am looking at any improvement with Yast/Gtk.

Atri Bhattacharya

unread,
Mar 15, 2011, 3:58:40 PM3/15/11
to yast...@googlegroups.com
Hi!

On 15 March 2011 01:16, Ricardo Cruz <rpm...@alunos.dcc.fc.up.pt> wrote:
Hi guys,

What do you think of having multi-status icons for the check-box, in the
same style as yast2-qt or Synaptic?

FYI this is the help-box of Synaptic:
http://www.alunos.dcc.fc.up.pt/~c0607045/trash/synaptic-icons.png


I find yast2-gtk's current way of doing this easier, simpler and prettier than synaptic. I don't like the idea of seeing a dropdown menu upon clicking on the check-box beside the package-name. Yes, we could do a better job of representing the change upon a click, but that can be easily achieved by either having a second column exclusively for that just beside the check-boxes. In my opinion this also points toward having action buttons instead of check-boxes like Ricardo had come up with on the road to yast2-gtk's redesign prior to 11.3 (see http://tinyurl.com/yast2-gtk-action-buttons). At present the "change" upon clicking the check-box is neatly shown in the status-bar at the bottom. I love that too and would hate to see that neat line of description disappear into a tiny icon that might or might not explain what its purpose is.
 

--
Atri
--
yast2-gtk mailing list - http://groups.google.com/group/yast2-gtk

Ricardo Cruz

unread,
Mar 15, 2011, 7:32:20 PM3/15/11
to yast...@googlegroups.com, macias
Hi there,

> However clear & readable does not mean introducing tons of new icons
> -- KISS is still valid here.

I agree Synaptic is bloated in terms of icons. We should avoid that. But
their icons do look nicer than the ones from qt?

I like how, e.g., they blend the "locked" symbol with the underlying
install/not-installed status. qt uses different icons for those.

Some icons like install versus re-install are problematic: you couldn't
tell from the look of them. Like Macias said, we'd probably want to use
the refresh icon there.

By the way, Synaptic functions like "complete removal" are
Debian-specific. They remove the configuration files the application
creates in your home directory. I don't think the RPM spec even covers
that.

For reference, here are shots of the icons for the other managers:

Qt: http://www.alunos.dcc.fc.up.pt/~c0607045/trash/qt-symbols.png
Synaptic: http://www.alunos.dcc.fc.up.pt/~c0607045/trash/synaptic-icons.png



> Assuming you would like to stick to action-status (I am not a fan, but
> let's just assume that) then my remarks to the icon set provided with
> link:

Macias, not sure what you mean here.

Are you referring to the fact that the Qt UI has a different symbol for
each action/status, while Synpatic tries to blend the action/status?

I do favour this second approach.

Cheers,
Ricardo


Ricardo Cruz

unread,
Mar 15, 2011, 7:43:58 PM3/15/11
to yast...@googlegroups.com, macias
Hi Atri,

Indeed, I guess it approaches that style. The main concern I have with
the buttons is that it's pretty unorthodox. We'll get a lot of bug
reports and flames over that. :)
Also, showing the button that far from the icon and the package name
could cause difficulties -- and, showing it as a 2nd column, wouldn't be
that aesthetic pleasing I think.

Let me code something here, so we can go for a test drive, and see how
it feels. Anyhow, not sure I will be able to do so that soon: this will
probably have to wait for the Eastern holidays...


Macias: do you want to comment on the design mockup pointed out by Atri:
http://www.alunos.dcc.fc.up.pt/~c0607045/trash/action-col.png
(copied here because google groups files weren't working too well.)


Cheers,
Ricardo


Qua, 2011-03-16 às 01:28 +0530, Atri Bhattacharya escreveu:
> Hi!

Maciej Pilichowski

unread,
Mar 16, 2011, 2:58:16 AM3/16/11
to yast...@googlegroups.com
Hello,

On 3/16/2011 12:32 AM, Ricardo Cruz wrote:
> I agree Synaptic is bloated in terms of icons. We should avoid that. But
> their icons do look nicer than the ones from qt?

No doubt about it :-)

>> Assuming you would like to stick to action-status (I am not a fan, but
>> let's just assume that) then my remarks to the icon set provided with
>> link:
>
> Macias, not sure what you mean here.
> Are you referring to the fact that the Qt UI has a different symbol for
> each action/status, while Synpatic tries to blend the action/status?

No, I am doing distinction between two approaches:
* one icon which says two things -- what actual status is and what it
will be done
* two icons -- one says about current state, the other about the action

On 3/16/2011 12:43 AM, Ricardo Cruz wrote:


> Macias: do you want to comment on the design mockup pointed out by Atri:
> http://www.alunos.dcc.fc.up.pt/~c0607045/trash/action-col.png
> (copied here because google groups files weren't working too well.)

I think I didn't get the mail you get so, my remarks to both mails:
I LOVE general approach with status and action but...

>> At present the
>> "change" upon clicking the check-box is neatly shown in the status-bar
>> at the bottom.

Please don't go in that direction. You see, with it user will be forced
to move mouse a lot -- accessibility abuse.

If you have any item (in general) action for it, should be direct (in
place). Just imagine, user filters out packages "evolu", clicks on
"evolution" and then moves mouse across ENTIRE screen (almost) to click
he would like to install it. Then he moves mouse across ENTIRE screen
again (search box is on top) to search, searches for something else,
then moves mouse across ENTIRE screen...

RSI maker for sure. I already feel a pain, because I have RSI, mild
tennis elbow and 22" monitor :-)


So, polishing ideas from me:
* action buttons should be same size
* action buttons should have small "v" icon on right
* clicking on action button should show drop down menu to select another
action for it (that is why "v" would be useful)

Such UI would be fast, packed (little movement required), readable and
what's important, almost zero learning curve (such button is standard).

Icons:
* I don't understand icon "+" as status
* honestly speaking for quite some time I thought that I see empty icons
in status column, but just when I wrote above I realized it is white
harddrive or modem -- so in such case I don't understand this icon and
package icon (initially seeing it as empty icon, it was clear for me
empty means, not installed, why package -- installed)
* I understand icon for undo, but I don't understand such action -- what
undo does in general? In scope of here&now using Yast, or in scope of
entire history of using it?

Apart from this remarks, this mockup shows a lot of promise, UI is more
clear than currently. Thank you!

Kind regards,

Atri Bhattacharya

unread,
Mar 16, 2011, 5:15:57 PM3/16/11
to yast...@googlegroups.com
Hi!

On 16 March 2011 12:28, Maciej Pilichowski <pilichows...@gmail.com> wrote:
>> At present the
>> "change" upon clicking the check-box is neatly shown in the status-bar
>> at the bottom.


Please don't go in that direction. You see, with it user will be forced to move mouse a lot -- accessibility abuse.

If you have any item (in general) action for it, should be direct (in place). Just imagine, user filters out packages "evolu", clicks on "evolution" and then moves mouse across ENTIRE screen (almost) to click he would like to install it. Then he moves mouse across ENTIRE screen again (search box is on top) to search, searches for something else, then moves mouse across ENTIRE screen...


I don't think you understood what I meant. I was not suggesting having action buttons in the bottom status bar. I was just describing the current implementation of the status bar where the details of user made changes are shown in one clear statement like "Install foo plus 13 dependencies" with an undo button alogside it, and a view all changes button beside that. This is how it is right now, and I love this usage of the status bar.


Best wishes
--
Atri

Atri Bhattacharya

unread,
Mar 16, 2011, 5:27:24 PM3/16/11
to yast...@googlegroups.com
Hi!

On 16 March 2011 12:28, Maciej Pilichowski <pilichows...@gmail.com> wrote:
No, I am doing distinction between two approaches:
* one icon which says two things -- what actual status is and what it will be done
* two icons -- one says about current state, the other about the action


So, polishing ideas from me:
* action buttons should be same size
* action buttons should have small "v" icon on right
* clicking on action button should show drop down menu to select another action for it (that is why "v" would be useful)

Such UI would be fast, packed (little movement required), readable and what's important, almost zero learning curve (such button is standard).


I think showing a drop-down menu upon clicking an action button is counter-intuitive. It is not standard just because some distro uses it in its package-manager. In my opinion, the package manager's action buttons should be simple and do what is intuitive upon a single click. Then such a button can morph into showing the status or whatever. But I would not be thrilled to see a single-click event (like the current implementation in 11.4) replaced by a click, followed by a little mouse movement along a menu, and then another click -- just too much work for me.

But let's wait and see what bag of new goodies Ricardo's got up his sleeve...

 
Icons:
* I don't understand icon "+" as status
* honestly speaking for quite some time I thought that I see empty icons in status column, but just when I wrote above I realized it is white harddrive or modem -- so in such case I don't understand this icon and package icon (initially seeing it as empty icon, it was clear for me empty means, not installed, why package -- installed)
* I understand icon for undo, but I don't understand such action -- what undo does in general? In scope of here&now using Yast, or in scope of entire history of using it?

Apart from this remarks, this mockup shows a lot of promise, UI is more clear than currently. Thank you!

Kind regards,
--
yast2-gtk mailing list - http://groups.google.com/group/yast2-gtk



--
Atri

macias

unread,
Mar 17, 2011, 3:59:31 AM3/17/11
to yast2-gtk
On Mar 16, 10:15 pm, Atri Bhattacharya <badshah...@gmail.com> wrote:

> I was just describing the current
> implementation of the status bar where the details of user made changes are
> shown in one clear statement like "Install foo plus 13 dependencies"

Let's say I would like to install Firefox, Thunderbird, PostgreSQL,
amule, you get the picture, right? What would be the statetement?

> with an
> undo button alogside it,

What would undo do?

> I think showing a drop-down menu upon clicking an action button is
> counter-intuitive.

Despite the fact it is present in UI for around 15 years? It is called
combo box:
http://etcwebspace.com/users/irvm/ComboBox.jpg

the upper one.

> In my opinion, the package manager's action buttons
> should be simple and do what is intuitive upon a single click.

Combo boxes are simple, well established, and with single click you
can select any action you wish (w/o cycling).

> Then such a
> button can morph into showing the status or whatever.

? I am lost here. What do you mean by "morph?". And why action button
should show status? And what do you mean by "whatever"?

> But I would not be
> thrilled to see a single-click event (like the current implementation in
> 11.4) replaced by a click, followed by a little mouse movement along a menu,
> and then another click -- just too much work for me.

Workflow with combo:
1. you click to open combo
2. you move mouse to needed item
3. you click to commit

What whould be other approaches?

A. Cycle clicking
1. click
2. click
3. click...

In my opinion this workflow is very frustrating:
a) you don't know all options (you have to memorize them by heart)
b) once you cycle too much 1 item, you have to cycle by clicking again
entire cycle

B. ...?

I can make up a little mockup to show how Yast/Gtk could look like
(with status icons on left, installed, not installed, installed
+locked, non inst.+locked) and action buttons (combo) on right (to
install, to refresh, to upgrade, to downgrade, to delete). All
elements are known for years, zero reinventing the wheel (*).

Above the list there could be lock icon ("lock selected packages") and
action button ("do this to selected packages").


(*) there is one possibility -- splitted combobox -- main button on
the left which cycles items by clicking, and combobox "opener" (v) on
right.

Kind regards,

macias

unread,
Mar 17, 2011, 4:04:48 AM3/17/11
to yast2-gtk
PS. Splitted combobox -- of course it is already invented, but not
used so often as regular combobox. If anyone would like to see
splitted combobox in action, take a Thunderbird for example:
http://img.brothersoft.com/screenshots/softimage/t/thunderbird-60831-1.jpeg
(old screenshot)

when you click on "get mail" (left upper corner) you perform action
"get mail", but you can also click on combo opener "v", to see a list
of possible action for getting mail. I wish we could have _exactly_
such combo button for actions in yast/gtk.

Atri Bhattacharya

unread,
Mar 17, 2011, 4:20:28 PM3/17/11
to yast...@googlegroups.com
Hi!

On 17 March 2011 13:29, macias <pilichows...@gmail.com> wrote:
On Mar 16, 10:15 pm, Atri Bhattacharya <badshah...@gmail.com> wrote:

> I was just describing the current
> implementation of the status bar where the details of user made changes are
> shown in one clear statement like "Install foo plus 13 dependencies"

Let's say I would like to install Firefox, Thunderbird, PostgreSQL,
amule, you get the picture, right? What would be the statetement?


The status-bar currently shows the *last change* buy user only. There is a "show all changes" button to show all the changes selected for application by a user in a session. That is typical of how status-bars are used. I think it is important that you use yast2-gtk in its current implementation in openSUSE 11.3/11.4, instead of asking me "what would be the statement".
 
> with an
> undo button alogside it,

What would undo do?

Undo the last change like it currently does?
 

> I think showing a drop-down menu upon clicking an action button is
> counter-intuitive.

Despite the fact it is present in UI for around 15 years? It is called
combo box:
http://etcwebspace.com/users/irvm/ComboBox.jpg


I know, but just not in package-managers. Why spend so much energy in using a combo-box what the package-manager does now with a single click?
 
> In my opinion, the package manager's action buttons
> should be simple and do what is intuitive upon a single click.


Combo boxes are simple, well established, and with single click you
can select any action you wish (w/o cycling).


No you can't, you require at least two clicks, unless you use what you call a split-combobox and even then you can only perform either one of update or removal of an installed with a single click (whichever you choose as the default).
 
> Then such a
> button can morph into showing the status or whatever.

? I am lost here. What do you mean by "morph?". And why action button
should show status? And what do you mean by "whatever"?


We discussed the possibility of using action buttons that were also capable of representing the status of the package before settling on the current design.
 
> But I would not be
> thrilled to see a single-click event (like the current implementation in
> 11.4) replaced by a click, followed by a little mouse movement along a menu,
> and then another click -- just too much work for me.

Workflow with combo:
1. you click to open combo
2. you move mouse to needed item
3. you click to commit

What whould be other approaches?


The present one which requires one click for installation, one click for uninstallation and one click for upgrade (pretty much the only three things one should have to do with packages in a package-manager, for every other esoteric scenario there is the contextual right-click). With your scenario each of the above would require two clicks at the very least. That's cumbersome as I described in my earlier mail.
 

(*) there is one possibility -- splitted combobox -- main button on
the left which cycles items by clicking, and combobox "opener" (v) on
right.


It still ruins the simplicity of the present implementation. I am really lost here: What exactly are we trying to drastically change from the present yast2-gtk and why? In my opinion the present design works, and the then newly redesigned yast2-gtk in openSUSE 11.3 was very very well received because of the current design, because of its simplicity and ease of use.


--
Atri

macias

unread,
Mar 18, 2011, 1:38:50 AM3/18/11
to yast2-gtk
On Mar 17, 9:20 pm, Atri Bhattacharya <badshah...@gmail.com> wrote:

Atri, don't get my wrong, but I witnessed this so many times, and it
results always in the same thing. It happens if developer/designer
puts as the main aim some kind of ideology, instead of putting human
factors -- so every (!) user could use the product in a consistent,
productive way.

Such phrases as:

> > > I think showing a drop-down menu upon clicking an action button is
> > > counter-intuitive.
>
> > Despite the fact it is present in UI for around 15 years?
>
> I know, but just not in { your kind of software }

or

> It still ruins the simplicity of the present implementation.

or (*)

> the present design works, and the then
> newly redesigned yast2-gtk in openSUSE 11.3 was very very well received
> because of the current design, because of its simplicity and ease of use.

The same happens with Plasma, Cashew, plasmoids, min-max buttons in
windows (no, it is not only Gnome3) and so on, and in _every_ case
discussion was futile. There is always some brave marine, with healthy
eyes, healthy hands, who states "1 pixel transparent icons? cool, more
space for rotating windows".

So, I quit this discusion here, I don't think spending time on this
would be productive, there are already quite a lot of reading, when
you can learn for example (*) that simplicity matters but not over
usability (make things simple as possible, but not simpler), and there
is no point for me to repeat them over and over.

For a solution I use Yast/Qt, case closed for me.

Kind regards,

Atri

unread,
Mar 18, 2011, 7:07:06 AM3/18/11
to yast2-gtk
Dear Maciej,

Don't get me wrong too, but I have been trying to point out that
substituting a combo-box in place of the present implementation will
actually hurt usability, and you have said nothing to counter that. A
statement like "it has been around for <favourite number> of years"
does not show that it is indeed a more useable solution than what is
being done now. You have said nothing to respond to the fact that
while I need a single click to install a package now, I will need two
if a combo-box is used. It is easy to to criticise original coder/
designer (for yast2-gtk both not me), but there should be logical,
convincing arguments to show why a adopting a wholly new method will
improve upon the existing code. Sorry, but I found none of that in
your messages. I am happy with present implementation as a user and I
pointed out why.

On Mar 18, 10:38 am, macias <pilichowski.mac...@gmail.com> wrote:
> On Mar 17, 9:20 pm, Atri Bhattacharya <badshah...@gmail.com> wrote:
>
> Atri, don't get my wrong, but I witnessed this so many times, and it
> results always in the same thing. It happens if developer/designer
> puts as the main aim some kind of ideology, instead of putting human
> factors -- so every (!) user could use the product in a consistent,
> productive way.
>

The ideology, as you put it, is to make a certain software easy to
use, simple and accessible. Have you even pointed out why you think
the present implementation is inconsistent, and how what you are
suggesting would be so much more consistent? As a user I have found
the yast2-gtk in its present form very productive too. Note that I
still agree we could improve in several areas, representing package
status being one of them.

> Such phrases as:
>
> > > > I think showing a drop-down menu upon clicking an action button is
> > > > counter-intuitive.
>
> > > Despite the fact it is present in UI for around 15 years?
>
> > I know, but just not in { your kind of software }
>
> or
>
> > It still ruins the simplicity of the present implementation.
>
> or (*)
>
> > the present design works, and the then
> > newly redesigned yast2-gtk in openSUSE 11.3 was very very well received
> > because of the current design, because of its simplicity and ease of use.
>
> The same happens with Plasma, Cashew, plasmoids, min-max buttons in
> windows (no, it is not only Gnome3) and so on, and in _every_ case
> discussion was futile. There is always some brave marine, with healthy
> eyes, healthy hands, who states "1 pixel transparent icons? cool, more
> space for rotating windows".
>

I thought I was giving you at least one concrete reason behind why I
would hate to see combo-boxes replace action buttons and all I am
hearing from you is some of your anguish about some unrelated software
and not one technical advantage that your new method will bring.
Please tell us what you think is so inconsistent with the present, and
why you think combo-boxes improves over it.

> So, I quit this discusion here, I don't think spending time on this
> would be productive, there are already quite a lot of reading, when
> you can learn for example (*) that simplicity matters but not over
> usability (make things simple as possible, but not simpler), and there
> is no point for me to repeat them over and over.
>
> For a solution I use Yast/Qt, case closed for me.
>

If my attempts at arguing about the technical merits of an
implementation has in any way offended you, I am sorry. That was not
my intention. Fwiw, I have not been involved in designing Plasma,
Cashew, and other stuff you mention (does not mean I don't secretly
love some of them :)). Discussion is never futile as long as you don't
make it personal.

How easy/useable/consistent is YaST/QT? As far as I know it has no
combo-boxes for selecting actions either. The procedure installing a
package using yast2-qt is now quite similar to yast2-gtk, namely
single-click on a check-box. So what/how is yast2-qt more appealing to
you than yast2-gtk here? Really, if you can draw up a list of
advantages of yast2-qt over yast2-gtk that is the kind of thing I
believe would help the coder improve upon yast2-gtk. I would be very
thankful if you could do that. In yast2-gtk's defence I can only say
that we have already implemented several of the features people are
requesting for yast2-qt now [See [1], [2], [3] and [4] for example,
all of which have some implementation in yast2-gtk]

Bye
--
Atri

[1]: https://features.opensuse.org/311805
[2]: https://features.opensuse.org/305859
[3]: https://features.opensuse.org/310177
[4]: https://features.opensuse.org/307220

Ricardo Cruz

unread,
Apr 16, 2011, 9:35:46 AM4/16/11
to yast...@googlegroups.com
Hi there,

There seems to be some confusing about the undo-bar.

Should we simply change it to a link saying: "5 packages to install (500
Mb)", and then popup the undo-window when pressed?

It is not that useful to have always visible your last action, or the
undo button. And, if it confuses users, it's one more reason to get rid
of it.

What do you think?

Cheers,
Ricardo

Ricardo Cruz

unread,
Apr 16, 2011, 9:51:35 AM4/16/11
to yast...@googlegroups.com, macias
Qui, 2011-03-17 às 02:57 +0530, Atri Bhattacharya escreveu:
>
> I think showing a drop-down menu upon clicking an action button is
> counter-intuitive. It is not standard just because some distro uses it
> in its package-manager. In my opinion, the package manager's action
> buttons should be simple and do what is intuitive upon a single click.

I think it sounds weirder than it feels. And it's pretty intuitive.
Let's say this is the first you're using the UI, and you want to remove
a package:
1. you see the check-box: obviously you need to press it
2. a pop-up appears asking "Upgrade or Remove?". You might have expected
an instant action: but it's pretty straight-forward: you press Remove.

It's somewhat more intuitive than the Qt UI, where you're supposed to
keep punching the check-box until you select the desired action.

Our current approach is also not terribly intuitive for those users who
come from the Qt UI background, and so expect one to be able to do more
stuff with the check-box than merely check/uncheck.

There isn't one single best solution: but (as Spock would put it) the
Synaptic one does the greatest good to the greatest number. :)

But, okay, Atri, I will be implementing such a behavior as a mockup, and
you can give it a try.

Anyhow, I will only hack on this stuff during the Summer if that's okay.
There should be a long time till the next opensuse release, and we can
have a good talk during the big holidays.

Cheers,
Ricardo

Reply all
Reply to author
Forward
0 new messages