Jump to content

Icon style conventions


Recommended Posts

jdunham has some interesting suggestions for icon conventions when working with classes. I was wondering if anyone had any other conventions they use for icons.

I'll admit, I rarely bother with graphic icons for VIs. I'm no artist, so they always take me forever and wind up only looking like the thing you're supposed to look like if you squint and use your imagination. And let's face it, 32x32 pixels isn't a lot of space. It seems to be fairly common to use a text title in the top 6 pixels or so, with a text description in the rest.

I've also started using a couple of other conventions. It would be nice to be able to make a functional global the same shape and size as a regular global structure, but we can't. So I've been putting a little globe icon in the upper left corner of an icon to show it's a global. (See attached FG.png.)

I've also had a large application that spawned a handful of while loops, each being a separate thread, communicating with notifiers and queues. That many while loops made the block diagram large and confusing, so I stuck each one in its own subVI. But that means now I've got multiple blocking VIs. So each one of those got a little while loop in the corner. (See while.png)

Does anyone else have any conventions they use for icon design?

Link to comment

QUOTE(eaolson @ Nov 10 2007, 08:48 AM)

I've fallen into using The GIMP for my icons. I have a bunch of little badges (mostly culled from free icon collections, like Nuvola, Crystal Clear, and of course the NI Icon Library) in a couple dozen layers in an image template. Things like a disk, a queue symbol, a hammer, a magic wand, various directional arrows, a checkmark, an 'X', etc. Then I have a couple more layers for the background and the banner at the top. When I need an icon for a VI, I show/hide the badges I need to get the look I want, then I do a Copy Visible and paste the image into my VI icon (or class icon template, etc.).

I usually leave a little space in the icon to add a little text in the LV icon editor.

The downside is that the icons are in glorious 24-bit color over in GIMP, so sometimes LabVIEW's crappy dithering algorithm kind of ruins them on the way over. But overall, I like my graphical icons a lot better than my old all-text or mostly-text ones.

Link to comment

I am planning to start marking reentrant VIs with a colored border (blue?) or maybe an "R" somewhere. I also add a comment on the block diagram "This VI is Reentrant", and sometimes I add it to the VI description.

But on reflection I realize that you should always be able to tell at a glance whether a VI is reentrant. Conventions are fine, but sometimes you inherit old code or change teams, and this is something that shouldn't remain a mystery. It would be best if a future version of LabVIEW will display reentrant VIs with a different marking.

I filed a product suggestion on this at ni.com

Link to comment

QUOTE(eaolson @ Nov 10 2007, 09:48 AM)

See my reply http://forums.lavag.org/index.php?showtopic=9504&view=findpost&p=38375' target="_blank">here for general commentary on what is appropriate to put in a VI's icon and what isn't, IMHO. The criterion I discuss there is ambiguous in the case of VI reentrancy. I don't have a clear opinion on that one.

Link to comment

QUOTE(Aristos Queue @ Nov 10 2007, 04:52 PM)

See my reply here for general commentary on what is appropriate to put in a VI's icon and what isn't, IMHO. The criterion I discuss there is ambiguous in the case of VI reentrancy. I don't have a clear opinion on that one.

I will reply here, since I think this applies to icons in general. I very much agree that writing libraries for others to use should follow the convention that only functionality is shown -- how I provide the functionality is not important since you don't need to know.

However, for writing my own application I would prefer to have visible reminders of HOW I am doing things. I have developed some conventions of my own to convey if a VI is a Functional Global, or is reentrant, or is only providing a constant, or ... These things are not important for libraries but they are very important to understand how my or someone else's code is working. Especially someone else's code. That gets into the area of icon conventions, and no one likes enforcing conventions on people. But we all like easily readable code. Maybe there is some middle ground in there somewhere.

This becomes even more difficult for VIs like Functional Globals that have no inherent quality that the IDE knows about. LabVIEW needs to know it is a Functional Global if it is going to display it differently. I have additionally adopted, therefore, naming conventions to my VIs so that my Icon Maker can parse the file name and automatically add my extra glyphs or different colors, or whatever odd convention I am fond of.

And remember that AQ has stated that he wants us to solve this problem, so the ball is in our court. ;)

David

Link to comment

QUOTE(eaolson @ Nov 10 2007, 09:48 AM)

I've also started using a couple of other conventions. It would be nice to be able to make a functional global the same shape and size as a regular global structure, but we can't. So I've been putting a little globe icon in the upper left corner of an icon to show it's a global. (See attached FG.png.)

Am I missing something here? I can create any size icon (up to 32x32) for any VI and\or control I want. Just leave the undesired space white (in all three versions of the icon--BW, 16, and 32 bit), and LV eliminates those areas from the icon.

In fact, I've been able to create a multiple data type "global" by putting a bunch of mini-functional globals into one polymorphic VI. That way, when I wire an input or output, my polymorphic functional global adapts to type (and get\set function) automatically.

Link to comment

QUOTE(Yuri33 @ Nov 13 2007, 01:59 AM)

32x32 seems big enough for me. In fact, most of my simple (get/set) functional globals are only 9x32. Do you really want a bunch of local-variable sized globals, especially when they become quite large if the data name is long?

I really just meant we have the canonical kind of global which is short and long with the little globe icon, and the functional global which is no more than 32x32, even if that's not the best form factor for that particlar global.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.