[GRASS-dev] default icon set in wxGUI

On Aug 12, 2008, at 9:00 AM, <grass-dev-request@lists.osgeo.org> wrote:

Date: Tue, 12 Aug 2008 16:50:29 +0200
From: Maciej Sieczka <tutey@o2.pl>
Subject: Re: [GRASS-dev] default icon set in wxGUI
To: Martin Landa <landa.martin@gmail.com>
Cc: GRASS developers list <grass-dev@lists.osgeo.org>
Message-ID: <48A1A335.3050208@o2.pl>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Martin Landa pisze:

Hi,

2008/8/12 Maciej Sieczka <tutey@o2.pl>:

After installing the current develbranch6 SVN from scratch, wxGUI
defaulted to "grass" icon set instead of "silk". The latter is much
slicker, looks more proffessional, occupies less space. Could wxGUI
default to "silk"?

a few days ago Michael changed default icon set to the original GRASS.
I am not sure which icon set should be default, anyway I am using
silk... Maybe we could vote?

+1 for silk :wink:

Needless to say me the same: +1 for silk.

The GRASS icon set would require couple of adjustments in the GUI layout
as it's icons are bigger (e.g. in digitizer half of the tools are not
visible unless you manually extend window width).

The GRASS icon set is specifically designed for GRASS functions. Some of the silk icons clearly map on to GRASS functions, but others are pretty enigmatic because they are not designed for GIS. Examples include "add overlay" to the display and "add grid overlay or text labels" in the layer manager. I emailed the silk developer some time back about possibly doing a few GRASS-specific icons for us, but he never wrote me back. The icons for rgb and his layers are ones that I designed and added to the silk set.

I'm reluctant to make the generic silk set the default when there are mismatches between icon and function. This makes GRASS more difficult to learn for the uninitiated.

Also, while the GRASS icons may seem large to some, the silk set seems very small to me, and sometimes difficult to discern what is being represented.

There is a new GRASS custom iconset in development and I hope that it can be rolled out soon.

-1 for silk as the default (though I'm all in favor of providing it). If you choose it in the preferences, it will be your default from then on, even if you install another version of GRASS.

Michael

Michael Barton wrote:

On Aug 12, 2008, at 9:00 AM, <grass-dev-request@lists.osgeo.org> wrote:

Martin Landa pisze:

Hi,

2008/8/12 Maciej Sieczka <tutey@o2.pl>:
I am not sure which icon set should be default, anyway I am using
silk... Maybe we could vote?

+1 for silk :wink:

Needless to say me the same: +1 for silk.

The GRASS icon set is specifically designed for GRASS functions. Some
of the silk icons clearly map on to GRASS functions, but others are
pretty enigmatic because they are not designed for GIS.

I'm reluctant to make the generic silk set the default when there are
mismatches between icon and function. This makes GRASS more difficult
to learn for the uninitiated.

Michael

As my voice in this discussion I made some
http://www.szczepanek.pl/icons.grass/v.0.1/ new icons and compared them
with both sets you are talking about. Silk icons are nicer from design point
of view, but I agree with Michael - they are less intuitive.
New icon set preparation must consider ongoing discussion on
http://www.nabble.com/terminology-issues-in-grass7-to18875472.html
terminology issues and I hope to complete it (with your help) by beginning
of October. When do you plan to release GRASS 7?

Q: Why "Add RGB raster layer" icon
http://www.nabble.com/file/p18955972/channel-rgb.gif has three layers in
both versions? We add just one layer.

Still looking primitive for "map". I don't like my proposal in "Export map
display" icon http://www.nabble.com/file/p18955972/file-save.png - too
similar to grid.

Robert
--
View this message in context: http://www.nabble.com/default-icon-set-in-wxGUI-tp18941740p18955972.html
Sent from the Grass - Dev mailing list archive at Nabble.com.

Hi,

2008/8/13 Robert Szczepanek <grass@szczepanek.pl>:

As my voice in this discussion I made some
http://www.szczepanek.pl/icons.grass/v.0.1/ new icons and compared them

Great to know that you are still working on this issue.

with both sets you are talking about. Silk icons are nicer from design point
of view, but I agree with Michael - they are less intuitive.

Sure, silk is not GIS oriented icon set. I tried to choose the best
icons for given task. Maybe you can find more appropriate one, no
problem to replace given silk icon in this stage of wxGUI development.

New icon set preparation must consider ongoing discussion on
http://www.nabble.com/terminology-issues-in-grass7-to18875472.html
terminology issues and I hope to complete it (with your help) by beginning
of October. When do you plan to release GRASS 7?

GRASS 7 is out of the range now, till the end of the year we plan to
release GRASS 6.4 (November/December). So maybe you could focus your
effort on GRASS 6.4.

Q: Why "Add RGB raster layer" icon
http://www.nabble.com/file/p18955972/channel-rgb.gif has three layers in
both versions? We add just one layer.

The layer is composed from the three different layers (used for RGB channels).

Martin

--
Martin Landa <landa.martin gmail.com> * http://gama.fsv.cvut.cz/~landa *

Michael Barton pisze:

OK. I see Michael's points. One thing though:

Also, while the GRASS icons may seem large to some,

They are too large. Example: in digitizer half of the tools are not
visible unless you manually extend the window width. This hampers
usability. Is there a way to deal with that? Like automatically adjust
windows sizes to accomodate all the icons which are supposed to be visible?

Maciek

--
Maciej Sieczka
www.sieczka.org

Hi,

2008/8/13 Maciej Sieczka <tutey@o2.pl>:

They are too large. Example: in digitizer half of the tools are not
visible unless you manually extend the window width. This hampers
usability. Is there a way to deal with that? Like automatically adjust
windows sizes to accomodate all the icons which are supposed to be visible?

indirect way, you can store default windows position in the settings
file (see GUI Preferences dialog, "General" tab), which can be
override by workspace settings.

Martin
--
Martin Landa <landa.martin gmail.com> * http://gama.fsv.cvut.cz/~landa *

Martin Landa pisze:

2008/8/13 Maciej Sieczka <tutey@o2.pl>:

They are too large. Example: in digitizer half of the tools are not
visible unless you manually extend the window width. This hampers
usability. Is there a way to deal with that? Like automatically adjust
windows sizes to accomodate all the icons which are supposed to be visible?

indirect way, you can store default windows position in the settings
file (see GUI Preferences dialog, "General" tab), which can be
override by workspace settings.

I'm not concerned about myself, but about users who will not even know
that some parts of the interface are not visible in the moment. This is
not a personal request but a general usability issue report.

Maciek

--
Maciej Sieczka
www.sieczka.org

Hi,

2008/8/13 Maciej Sieczka <tutey@o2.pl>:

indirect way, you can store default windows position in the settings
file (see GUI Preferences dialog, "General" tab), which can be
override by workspace settings.

I'm not concerned about myself, but about users who will not even know
that some parts of the interface are not visible in the moment. This is
not a personal request but a general usability issue report.

sure, well, I would still tend to use silk as default icon set. Icons
are not perfect and maybe less intuitive, but still the GUI looks
better.

Martin

--
Martin Landa <landa.martin gmail.com> * http://gama.fsv.cvut.cz/~landa *

Martin Landa-2 wrote:

2008/8/13 Robert Szczepanek <grass@szczepanek.pl>:

Q: Why "Add RGB raster layer" icon
http://www.nabble.com/file/p18955972/channel-rgb.gif has three layers in
both versions? We add just one layer.

The layer is composed from the three different layers (used for RGB
channels).

Thank you Martin for your patience and in deep answers.
I read of course command description and run it.
My doubt was more general. Should we visualize input or output of command?
In my opinion output is more important and in this case as output we get
just one layer, which is added to workspace.

http://www.nabble.com/file/p18962179/layer_rgb_add.png
What about this kind of icon?
I just want to leave 3D icons for real 3D operations.

Concerning icon file names.
At the moment there is a mixture:
1. [file-new.gif] - Creates new workspace file
2. [module-d_008.gif] - Add shaded relief map layer
3. [gui-zoom_out.gif] - Zoom out

Question to programmers.
Should I just copy standard GRASS names or try to order it somehow.
Self-explaining names could lead to easier programming
(/icons/icon_set/easy_to_guess_name.png - just icon_set as variable) and
interface personalization in the future.

Robert
--
View this message in context: http://www.nabble.com/default-icon-set-in-wxGUI-tp18941740p18962179.html
Sent from the Grass - Dev mailing list archive at Nabble.com.

Hi,

2008/8/13 Martin Landa <landa.martin@gmail.com>:

sure, well, I would still tend to use silk as default icon set. Icons
are not perfect and maybe less intuitive, but still the GUI looks
better.

default windows size is related to silk icon set. Anyway vdigit icons
are too big, maybe we could downsize them to 24px.

Martin

--
Martin Landa <landa.martin gmail.com> * http://gama.fsv.cvut.cz/~landa *

Hi,

2008/8/13 Robert Szczepanek <grass@szczepanek.pl>:

[...]

Concerning icon file names.
At the moment there is a mixture:
1. [file-new.gif] - Creates new workspace file
2. [module-d_008.gif] - Add shaded relief map layer
3. [gui-zoom_out.gif] - Zoom out

Question to programmers.
Should I just copy standard GRASS names or try to order it somehow.
Self-explaining names could lead to easier programming
(/icons/icon_set/easy_to_guess_name.png - just icon_set as variable) and
interface personalization in the future.

better choose appropriate name for your icons. I didn't change silk
icon file names (just to follow original naming conventions).

Martin

--
Martin Landa <landa.martin gmail.com> * http://gama.fsv.cvut.cz/~landa *

Martin Landa-2 wrote:

2008/8/13 Martin Landa <landa.martin@gmail.com>:

sure, well, I would still tend to use silk as default icon set. Icons
are not perfect and maybe less intuitive, but still the GUI looks
better.

default windows size is related to silk icon set. Anyway vdigit icons
are too big, maybe we could downsize them to 24px.

Martin

I can try to do it today (24x24px) if you send me link to proper icon set.

How many icons set are now "on the table"?
6.3 vs. 7
standard vs. wxPython

Or just standard GRASS icons and silk?

Robert
--
View this message in context: http://www.nabble.com/default-icon-set-in-wxGUI-tp18941740p18962375.html
Sent from the Grass - Dev mailing list archive at Nabble.com.

Hi,

2008/8/13 Robert Szczepanek <grass@szczepanek.pl>:

[...]

How many icons set are now "on the table"?
6.3 vs. 7
standard vs. wxPython

Or just standard GRASS icons and silk?

Just only original GRASS icons and silk (note that silk icons are used
only in wxPython GUI), see

http://trac.osgeo.org/grass/browser/grass/branches/develbranch_6/gui/icons

to link icons use

http://trac.osgeo.org/grass/browser/grass/branches/develbranch_6/gui/wxpython/icons/icon.py

and

http://trac.osgeo.org/grass/browser/grass/branches/develbranch_6/gui/wxpython/icons/silk/__init__.py

e.g.

original GRASS icon

http://trac.osgeo.org/grass/browser/grass/branches/develbranch_6/gui/wxpython/icons/icon.py#L47

description

http://trac.osgeo.org/grass/browser/grass/branches/develbranch_6/gui/wxpython/icons/icon.py#L227

and corresponding silk icon

http://trac.osgeo.org/grass/browser/grass/branches/develbranch_6/gui/wxpython/icons/silk/__init__.py#L11

Enjoy;-)

Martin

--
Martin Landa <landa.martin gmail.com> * http://gama.fsv.cvut.cz/~landa *

On Aug 13, 2008, at 5:35 AM, Martin Landa wrote:

Hi,

2008/8/13 Martin Landa <landa.martin@gmail.com>:

sure, well, I would still tend to use silk as default icon set. Icons
are not perfect and maybe less intuitive, but still the GUI looks
better.

default windows size is related to silk icon set. Anyway vdigit icons
are too big, maybe we could downsize them to 24px.

That would be a good idea. The "classic" icons are 24x24, and I originally resized them down a little (this seems to be no longer the case in the current code).

If the window sizes are scaled to the icon sizes (a good idea) they should be scaled dynamically according to whatever icon set is chosen, rather than have them scaled statically to the smallest set.

Michael

Maciej Sieczka wrote:

OK. I see Michael's points. One thing though:

> Also, while the GRASS icons may seem large to some,

They are too large.

That depends upon your monitor resolution. Icons need to have
sufficient pixels and also need to be physically large enough on
screen. On a low resolution monitor, the pixel size tends to be the
limiting factor; on a high resolution monitor, the physical size is
the limiting factor.

Ideally, you would have icons available in a range of pixel sizes, and
select the size based upon the monitor resolution, monitor size and
your eyesight. Windows has 16, 24, 32 and 48-pixel versions of most of
the shell icons, while Gnome/KDE apps tend to have 16, 22, 24, 32, 48
and 64 pixel versions.

Example: in digitizer half of the tools are not
visible unless you manually extend the window width.

That's a bug (or maybe a limitation in wxPython, but I don't think
so). A window's minimum size should be sufficient for all of its
subwindows to obtain their minimum size and to be visible.

This hampers
usability. Is there a way to deal with that? Like automatically adjust
windows sizes to accomodate all the icons which are supposed to be visible?

This ought to be possible. wx.Window has SetSizerAndFit(), which
causes the Sizer's minimum size to be propagated up to the WM, so the
WM won't normally allow the window to be any smaller.

--
Glynn Clements <glynn@gclements.plus.com>

Hi,

2008/8/13 Glynn Clements <glynn@gclements.plus.com>:

Example: in digitizer half of the tools are not
visible unless you manually extend the window width.

That's a bug (or maybe a limitation in wxPython, but I don't think
so). A window's minimum size should be sufficient for all of its
subwindows to obtain their minimum size and to be visible.

For map display and layer manager is used

http://docs.wxwidgets.org/stable/wx_wxauimanager.html#wxauimanager

SetSizerAndFit() is not enough here, I will look at this issue later.

Martin

--
Martin Landa <landa.martin gmail.com> * http://gama.fsv.cvut.cz/~landa *

On Aug 13, 2008, at 9:19 AM, Glynn Clements wrote:

Maciej Sieczka wrote:

OK. I see Michael's points. One thing though:

Also, while the GRASS icons may seem large to some,

They are too large.

That depends upon your monitor resolution. Icons need to have
sufficient pixels and also need to be physically large enough on
screen. On a low resolution monitor, the pixel size tends to be the
limiting factor; on a high resolution monitor, the physical size is
the limiting factor.

Ideally, you would have icons available in a range of pixel sizes, and
select the size based upon the monitor resolution, monitor size and
your eyesight. Windows has 16, 24, 32 and 48-pixel versions of most of
the shell icons, while Gnome/KDE apps tend to have 16, 22, 24, 32, 48
and 64 pixel versions.

In fact, wxPython can resize icons, within reason given their base resolution, on the fly. I originally had the 'classic' icons resized because of a bug in earlier versions of wxPython. That has been dropped but looks like it could easily be reimplemented.

Example: in digitizer half of the tools are not
visible unless you manually extend the window width.

That's a bug (or maybe a limitation in wxPython, but I don't think
so). A window's minimum size should be sufficient for all of its
subwindows to obtain their minimum size and to be visible.

I think I spotted where this is this morning but don't have time right now to look at it in detail.

This hampers
usability. Is there a way to deal with that? Like automatically adjust
windows sizes to accomodate all the icons which are supposed to be visible?

This ought to be possible. wx.Window has SetSizerAndFit(), which
causes the Sizer's minimum size to be propagated up to the WM, so the
WM won't normally allow the window to be any smaller.

This may not work with aui toolbars. These are somewhat special. But will look into it.

Michael

Martin Landa-2 wrote:

default windows size is related to silk icon set. Anyway vdigit icons
are too big, maybe we could downsize them to 24px.

Martin

Updated and resized, almost complete set of icons for vdigit is ready in png
format.
http://www.szczepanek.pl/icons.grass/v.0.1/
http://www.szczepanek.pl/icons.grass/v.0.1/
Just first approach.
If gif will be needed - just tell me.

One more note.
The difference between "add" and "new/create".
add - when we add existing object (layer to workspace)
new/create - when object does not exist yet and we create it
So "new vertex", not "add vertex".

What about remove vs. delete?

Robert
--
View this message in context: http://www.nabble.com/default-icon-set-in-wxGUI-tp18941740p18974037.html
Sent from the Grass - Dev mailing list archive at Nabble.com.

Michael Barton wrote:

>> OK. I see Michael's points. One thing though:
>>
>>> Also, while the GRASS icons may seem large to some,
>>
>> They are too large.
>
> That depends upon your monitor resolution. Icons need to have
> sufficient pixels and also need to be physically large enough on
> screen. On a low resolution monitor, the pixel size tends to be the
> limiting factor; on a high resolution monitor, the physical size is
> the limiting factor.
>
> Ideally, you would have icons available in a range of pixel sizes, and
> select the size based upon the monitor resolution, monitor size and
> your eyesight. Windows has 16, 24, 32 and 48-pixel versions of most of
> the shell icons, while Gnome/KDE apps tend to have 16, 22, 24, 32, 48
> and 64 pixel versions.

In fact, wxPython can resize icons, within reason given their base
resolution, on the fly. I originally had the 'classic' icons resized
because of a bug in earlier versions of wxPython. That has been
dropped but looks like it could easily be reimplemented.

Ugh; rescaling icons tends to be ugly. You either get artifacts or a
blur, depending upon whether anti-aliasing is used.

It's much better to select from a set of icons which are either
hand-tuned, or rendered from scalable (e.g. SVG) artwork with hinting.

If you are going to rescale images, it's best to just have a single
set of large (e.g. 64x64 or larger) icons, rather than rescaling e.g.
a 32x32 icon which was itself generated by rescaling a 64x64 icon. Or
use SVG icons, if they are supported.

--
Glynn Clements <glynn@gclements.plus.com>

Hi,

2008/8/14 Robert Szczepanek <grass@szczepanek.pl>:

Updated and resized, almost complete set of icons for vdigit is ready in png
format.
http://www.szczepanek.pl/icons.grass/v.0.1/
http://www.szczepanek.pl/icons.grass/v.0.1/
Just first approach.
If gif will be needed - just tell me.

when you finish basic set of icons I will be happy to add them to the
wxGUI as a new icon set. PNG would be fine in multiple sizes (48, 32,
24, 16px) or SVG if wxPython support it.

[...]

Martin

--
Martin Landa <landa.martin gmail.com> * http://gama.fsv.cvut.cz/~landa *