From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Management of 2^10 AF Message icons

Solved!
Go to solution

I'm only a little ways into my first AF project and am already wondering how to manage the icons for all the different messages.

Right now, the best thing I can come up with that doesn't tediously involve inventing and drawing a unique icon for each message (no way I'm doing that), is making all of the messages have something like 'AF Msg' in the top part of the icon, and just having all the msg objects on the block diagram labeled via text.  I would probably leave the numeric glyph that LV puts there by default.  Essentially every single AF message would look the same, except maybe coloring them by group according to what actor can handle them.

I'm using LV 2010 with Grice's port, so maybe this has gotten easier in 2012.

Any ideas?

0 Kudos
Message 1 of 15
(7,273 Views)

No ultimate ideas...

At the moment, the way I handle it is as such:

usually, I'm using the Message Maker to generate messages, so I modified the template icons a bit to look a little bit nicer (at least to me)

On creating a message, I edit the text within the icons, so it gives me at least a bit of an idea which message is being sent. If i work very properly, I use the same color scheme for all messages related to a particular actor, although this is a manual process.

Placing the Send Message VIs on the BD, I set the labels to visible and then delete the lvclass appendix from the string.

Furthermore (sometimes being overmotivated ) put a comment under the SubVI call, to explain what I'm trying to do...

A matter of discipline

0 Kudos
Message 2 of 15
(4,273 Views)

How do you handle it for any large VI hierarchy? This is an area that I am not as sophisticated as most of my users. My VI projects tend to be upper bound of a hundred VIs for building some sort of library -- I build very few complete apps. The 216 VI shipping example in LV 2012 is probably the largest single VI hierarchy I've ever built. In such projects, putting in graphic icons isn't that daunting.

I can point you toward the GOOP Development Suite from Symbio. The version currently in beta knows about the Actor Framework, can create custom message classes, and has a really sweet icon management system for text-based icons. I know... the GDS is expensive and not in the price range for many users. But if you have a license for it, it's a big help. I've been helping its developer improve its ability to manage the AF applications specifically.

Message 3 of 15
(4,273 Views)
Solution
Accepted by Ben_Phillips
  1. Stop drawing icons and just use text. Symbolic icons only make sense (in terms of spent effort) for public APIs that will be distributed in multiple languages.
  2. Use the Class Library icon to describe your message in text. Don't be afraid to use multiple lines of text. My AF message icon templates allow 2 or 3 lines of text.
  3. Use the symbols from the AF VIs on each of your own methods. I snipped them out and made glyphs from them so I could drop them easily on my functions. I made glyphs for Send, Actor, Message, and Do. The symbols are (mostly) very small, and the API functions in every message are largely the same, so you don't need to dedicate a lot of space for them.
  4. You may choose to color messages to associate them with their recipient Actors, but I see that as a waste of time.

The net effect is that every message method has a large banner with a truncated version of its class name and a small glyph indicating its function.

I'm also toying with disabling "View as Icon" and enabling "Visible Items >> Label" for message methods. It's scary at first, but after awhile it you get used to it, and it provides the full text of the method name in the block.

0 Kudos
Message 4 of 15
(4,273 Views)

I don't claim to having the final answer, but given the name length of some message send VIs, I am leaning toward showing the label, myself.  The banner could be color/text linked to the actor's library.  I think that would give all of the needed information without being to fiddly for the developer.

0 Kudos
Message 5 of 15
(4,273 Views)

DavidStaab wrote:

Stop drawing icons and just use text. Symbolic icons only make sense (in terms of spent effort) for public APIs that will be distributed in multiple languages.

Interesting. I put glyphs on most of my stuff because I can read block diagrams easier as symbols than as text. Even turning on the label is not as obvious as a different color/different pattern when it comes to me understanding my diagrams. It's one of the big reasons I like LabVIEW: my functions can be recognized graphically instead of textually. The time saved by me adding glyph-based icons is worth it for the time saved comprehending my diagrams. I'll usually work with text icons for a couple days and then take a couple days -- while I still remember stuff and while there aren't too many VIs with text icons -- and put glyphs in.

DavidStaab wrote:

Use the symbols from the AF VIs on each of your own methods. I snipped them out and made glyphs from them so I could drop them easily on my functions. I made glyphs for Send, Actor, Message, and Do. The symbols are (mostly) very small, and the API functions in every message are largely the same, so you don't need to dedicate a lot of space for them.

All the AF glyphs are built into the Icon Editor with LV 2012. Actor, Do, Core, Message, Send, all the queue variations, Stop, emergency, and Launch.

0 Kudos
Message 6 of 15
(4,273 Views)

I hate VI icons. There's a reason Cro-Magnon cave paintings and Egyptian hieroglyphics fell out of common use when character languages were introduced. I spend much less time deducing the unique meaning of text than I do a picture.


AristosQueue wrote:

All the AF glyphs are built into the Icon Editor with LV 2012.

Stuck on LV2011 for the rest of the year with my current project. 😕

0 Kudos
Message 7 of 15
(4,273 Views)

I didn't say it quite correctly the first time around, I almost never take the time to draw things out, but rather use text within the icon.  I guess I was being lazy and not even willing to do that much, but I'm not feeling as overwhelmed now, as the messages aren't breeding quite as fast as cockroaches living on a sugar mound any more.

I like the idea of using the AF glyphs for the message VI's.  I've started copying from a template, so that will work well in combination.

I also like not using the default 'view as icon', I didn't realize it nicely put the label text inside the block when you do that.  Don't know for sure, but I think I'll start doing that, makes it much more obvious what's going on in return for a little bit of real estate.

I'll definitely check out the Symbio toolkit in the near future.

Thanks for the answers!

Message 8 of 15
(4,273 Views)

DavidStaab wrote:

Stuck on LV2011 for the rest of the year with my current project. 😕

In Icon Editor, in the menu, choose the menu option to sync glyphs from ni.com. You'll get the updated set in your LV 2011.

Message 9 of 15
(4,273 Views)

Actually, all I got was this error:

error.png

If I go to that URL in a browser, I can download a .zip file, but the manual sync window demands a .xml file too, which I don't have.

0 Kudos
Message 10 of 15
(4,273 Views)