To provide better information on how a CAB based application works we included in the runtime something we called "visualizers". Think of this as a realtime "watch" on the application where CAB abstractions are shown: commands, events, workitems, etc.

It's a convenient way of knowing if everything is wired and setup as expected. The primary motivations of this subsystem are to help you:

  1. Understand how this abstractions are related to each other (learning)
  2. Troubleshoot your application when it doesn't behave as expected (fixing)

A simple visualizer is availabe in the Community site here: http://practices.gotdotnet.com/projects/cab

It is not fancy, but it provides a fair amount of information. Running it against the BankTeller QuickStart will show something like this:

The intereseting thing about this is that it works with any application, not just ours.

Of course you could write all sort of neat visualizations, using graphics, Visio plug-in? etc. Hopefully we will have some spare cycles to do omethig around this.

More info in EdjEz's and Peter Provost's blogs.