If you live in the WPF world, you may know the name of .  If you’ve heard the name, but just not have met the man…next time you’re at a developer conference, look for the guy in the Hawaiin shirt, shorts, some ink on the arms and is probably passionately talking to some other geeks about the innards of data binding in XAML.

Recently, Karl has joined Microsoft to work on the “Cider” team.  The Cider project is a key part of the developer story for WPF and Silveright.  It is the XAML designer/editor/etc for Visual Studio.  Some of you may know Karl from his work on his pet project, Mole.  Well, Karl is at it again.

He’s been working on another project called .  What is it?  In his own words:

“XAML Power Toys is a Visual Studio 2008 SP1 Multi-AppDomain Add-In that empowers WPF & Silverlight developers while working in the XAML editor.  Its Line of Business form generation tools, Grid tools,  DataGrid and ListView generation really shorten the XAML page layout time.”

The goal of this Visual Studio add-in for WPF and Silverlight is to enable developers to quickly layout and maintain business application forms using the UI controls that are a part of the XAML frameworks.  Here’s a list of the features:

    • Create WPF or Silverlight DataGrid For Class - quickly create a WPF DataGrid complete with bindings that are easily associated with properties on the source class
    • Create WPF ListView For Class - quickly create a ListView complete with bindings that are easily associated with properties on the source class
    • Create Business Form For Class - quickly create a form complete with bindings that are easily associated with properties on the source class
    • Create Business Form - quickly create a form complete with bindings if desired 
    • Show Fields List For Class - display a list of class fields similar to Microsoft Access.  Allows dragging of fields to create controls
    • Group Into - allows selecting one or more controls and group them inside a new parent control
    • Chainsaw - Minimize Cider Designer XAML - allows selecting of one or more controls and will remove all MinWidth, MinHeight, x:Name, Name, Margin properties and will set all row and column definitions to Auto.
    • Remove Margins - allows selecting one or more controls and removes the Margin property from them
    • Edit Grid Column and Rows - allows selecting a grid and then add or remove rows and columns
    • Set Defaults For Created Controls - allows customizing the initial properties that are set when the software creates a new control

Want to layout a quick form based on a business object, how’s this for a start to help define what the form should be:

After you click create, you just paste the results where you need the form/grid in your XAML and it’s done for you!

Karl has created 8 videos walking developers through the aspects of XAML Power Toys and strongly encourages every XAML Power Toys user to view the videos before you get started.

A *very* cool utility for WPF and Silverlight developers.  Please, please do view the videos that Karl has created…they are short and to the point and helpful to get you understanding some things!  Check out XAML Power Toys!

I don’t know why it has taken me so long to get to this realization.  Perhaps I’ve been more aware of my surroundings as I’ve gotten older.  I’ve always heard “write your congressman” with regard to political issues and people opposing them.

Turns out, writing them is not worth it.  Why?  Because the offices of our elected officials (in Arizona at least) are lame.  Allow me to provide an example.

In my latest post I ranted about how Arizona elected officials voted on the ‘bailout’ plan (that just happened to include new and extensions for bizarre tax credits that have nothing to do with the current economic crisis).  I wanted to contact all the elected officials who represent my state.  Turns out, none of them really know anything about technology.  Every “contact me” form was a web form from 1995.  Enter few bits of information and a plain text area to put in about a few sentences of text.  I sent them links to my letter just to see what happens…after all I took time to write it in a document :-).

I couldn’t contact any representative outside my district and I’m assuming that is some incredibly lame policy identified somewhere.  Needless to say, they don’t want to hear from a taxpayer/voter because I don’t currently reside in an area they represent.  I was able to fill out the 1995 form for my senators and expect nothing to come of it.  I also filled out the form for my district representative, Jeff Flake, who voted against the bailout plan with these ‘sweeteners’ added into the amendment.  His form was from 1995 as well…actually he didn’t even have one but punted me to the US House of Representative contact form, where, by the way you must know your ZIP+4 information.  Who the heck has their +4 memorized?  Sigh.

Anyhow, here was the reply I just received:

Thank you for contacting me.  All legislative inquiries to my office are responded to via the United States Postal Service.  (Nevertheless, please feel free to continue to use e-mail to send me your thoughts and ideas.)  You will receive a response to your question or concern as soon as possible.

WTF?  Seriously dude, I just sent you an email and you are going to respond in old school format?  And waste postage?  Am I the only one who thinks this is wrong.  Wake up Flake!  Challenge the status quo!

Maybe I’m naive here, but I thought they worked for us.  Their contact information for their email should be as readily available as my local mayor and town council.  What’s with the obfuscation?  I’m your constituent!

Man this is horrible and embarrassing.  I would say “write your congressman” to complain about such a practice but somehow I feel we’d be in some weird Bermuda communication triangle.

Here’s a letter I just wrote to the Arizona Senators and Representatives that voted on the H.R. 1424, economic ‘bailout’ plan.  Here’s their contact information as well if you need it:

One a note, even though I’m not a member of other districts I wanted to send it to them.  Apparently you aren’t allowed to.  I’m hoping Jeff Flake will pass it along to them.  Their web sites state:

“Regrettably, I am unable to reply to email from constituents outside of the 2nd District of Arizona.”

Cool, just be sure not to run for election in the 6th District, jerk.  Anyway, here is the letter:

Open letter to AZ Senators/Representatives - Upload a Document to Scribd

I’m disgusted by the additions to the bill.  I think maybe something should have been done, but appalled at the back door actions of politicians.

Lately I’ve been putting more design thoughts onto paper.  I used to try to prototype in HTML a lot, but it just got too easy to draw it out.  I liked the feel of being ‘less tech’ when it came to mockups, etc.  I was turned on to this program recently called Balsamiq Mockups.  It is a software program that basically allows you to quickly mock up web/software designs using wire-frame elements. 

Sample Balsamiq Mockup I know there are other methods (please post your favorites in the comments), but there is something about this product that makes me like it a lot.  My only complaint is the use of Comic Sans :-).  The author has done a good job of providing a suite of draggable elements that would make up most any web site/application.  I’ve been using it in design thoughts around my blog site here for Subtext, as well as other mockups I’ve been playing around with. 

What is cool is that the author provides several ways of getting individual licenses for Balsamiq.  One of them is if you are a contributor on an open source project or doing work for a non-profit.  The web site specifically states:

“If you are a do-gooder of any sort (non-profit, charity, open-source contributor, you get the idea), email me with a short blurb and I'll send you a license, FREE of charge.”

Very cool to see that kind of ‘giving back’ to the community.  I wrote to Peldi and requested a license for working on the various open source projects I’m involved with and received a license very quickly (the licensed version allows you to save/export). 

I find it to be a helpful tool in the toolbox for doing very, very quick mockups for thoughts.  It exports to a PNG file so you can share with others as well.  Share your stories of wire-framing and mockups!

When working with data and Silverlight there has often been the questions of wondering why when a service call fails that Silverlight returns the HTTP 404 status code.  In fact I’ve written about troubleshooting those types of issues in the past and tools you can use to help investigate some problems.

Still people mostly ask "if there is an exception, why is Silverlight telling me ‘not found’ instead of sending me the exception?'”  Eugene Osovetsky from the connected systems team aims to answer those questions in a recent post with a little more detail than has been provided in the past as well as offering some suggestions.  From his post, this is one of the main reasons which I’ve echoed in discussions, webcasts, forums in the past as well:

“Unfortunately, web browsers have a limitation with regards to status codes: When a browser plugin (such as Silverlight) makes an HTTP request, and the response status code is not 200, the browser hides the actual status code and the message body from the plugin. All Silverlight knows is that "something went wrong", but it has no way of discovering any details.”

Take a look at Eugene’s post for some other helpful suggestions.