.NET Skinning Styling WPF XAML

Podder Skinning Competition

Calling all WPF Designers/Developers — Josh just announced the Podder Skinning Competition.

For those of you who’ve been thinking about creating your own custom skin, now you finally have some incentive to do it! Josh and I put in a lot of late nights to release Podder v2 in time for Mix ’08. That was almost two months ago, so I’m sure you’ve already had ideas for new skins that you just haven’t made time for. Well, you have until July to realize your vision – so get to it and impress us all!


New Videos Posted: XamRibbon QuickStart and ResourceWashing

I’ve posted a couple of videos that highlight new features included in NetAdvantage for WPF 2007.2 that we released about a month ago. The first video demonstrates how you can use the samples included in the xamFeatureBrowser to quickly create a xamRibbon.

The second video demonstrates a feature that I’m really excited about: ResourceWashing. Using ResourceWashing, you can “wash” the brushes defined in ResourceDictionaries with a new color. Since the brushes can be washed at runtime, you can create an application that can be infinitely customized by the end user — really exciting! This is the same washing technology used by AppStylist for Windows Forms in the “New from Template” feature. The xamRibbon is the first control whose brushes have been grouped into “WashGroups” to really take advantage of this technology. Moving forward, we’ll be applying the same techniques to the other controls. I can’t wait to see what the WPF community ends up creating with this technology!


.NET General Podder WPF XAML

“McGuffin”-Enabling Image Converter

A couple of years ago Robby introduced me to the term “McGuffin”, via this post. In his explanation, he admits that he is probably stretching the original intention of the word, and since I’m now interpreting his interpretation, it may be safe to say that my usage of the term is now far from its original meaning. You be the judge.

If you’re reading this blog, you’re probably also reading Josh Smith‘s blog, and you’re probably aware that I’m working on a new skin for Podder, his WPF podcast reader. Throughout the design process, I’ve had lots of different ideas running through my head – I really have a clean slate to play with here, and any of you who have designed an app or web site from scratch know how challenging that initial blank page can be. There are so many possibilities, so many directions you can take the layout; ultimately, you just have to go with something then tweak until you go crazy. It’s definitely a different process than designing something that works (visually) with an existing product line. There, you have an established aesthetic that drives the design.

So, as I go into the polish stage and really have a feel for the direction the layout is going, I’m looking at ways to make the application feel responsive, alive. One way I’m doing this is through my “McGuffin”-Enabling Image Converter. This converter is bound to an Image’s Source property and then returns an “averaged” Color – I take a random sampling of pixels then average their color values. The resulting color represents the generalized color of the image. In Podder, I’m using this converter to set the background image of the application to a color that works well with the image of the selected podcast, so as the selection changes, the color of the application changes to match, and the plot advances (my McGuffin).

I’ve added this converter to the Infragistic ToyBox assembly that I started a while back (and haven’t actively added to in a while). Download the sample project to see the converter in action. (Note: it currently only works with local images, not images whose source points to a web address).

.NET General

Infragistics Artwork Updates

Infragistics Icons

With the release of NetAdvantage for .NET 2008.1, we’ve also rolled out an update to the home page. Front and center on the home page you will see our updated product icons. These icons served as a starting point for artwork updates throughout the site and product, from updated box shots to control landing pages. We actually introduced site-wide artwork updates with the WPF 2007.2 release in January, I just didn’t get a chance to call out the changes. The icons were very much a team effort within the Visual Design Group, with everyone contributing in some way. I feel like we’ve done a good job of abstracting the target platforms into representative icons. We actually spent more time fine-tuning the final colors than we had to spend creating the illustrations. You hit the limit on the hue spectrum pretty quickly when you’re trying to create unique colors for a large number of products.

The updates on the sub-pages are subtle, a face-lift really. If you’re a frequent visitor to the site, you probably won’t be able to identify the changes, you’ll just feel the difference. The control pages, like the xamRibbon page, have all been updated with new background and menu treatments. We had received a few comments from site visitors saying they couldn’t find certain pages, even though they were available directly on the side nav. So, we updated the treatment of the menu items on the side nav, left aligning each item and adding separators. With the changes, the left nav should look more like a menu and not fade away into the periphery.

The updated icons and background treatments can also be seen throughout the product, from installation screens to about dialogs. I think it’s a nice, fresh start for the 2008 releases.


Announcing Pistachio – “WPF Resource Visualizer”

Pistachio - WPF Resource VisualizerI’m excited to be posting an early build of Pistachio for the WPF Community to get their hands on and try out. Pistachio is a utility I created with fellow Infragistics VDGer Tim Hussey. It’s pretty simple really, you just open a .csproj file with Pistachio and it identifies all resources defined within the project, then shows you which of those resources are used and where they’re used. It’s now a part of our project cycle – we use it to identify all stray resources and clean up our projects. It’s also great for getting a big picture understanding of your current resource structure.

We have plenty of ideas for making the overall experience better, but I’d love to get some feedback anyway. I’m currently using a xamCarouselListBox at the top of the window to display resource dictionaries. In mockups this approaches looks clean and nice, but in practice it doesn’t really cut it. Most of our resource paths are actually longer than the template for each item provides, so we start to see text colliding. I’m planning on moving the resource list to the left side of the page and possibly presenting it in a tree or vertical tab format. I want to reinforce the relationship between the active resource page and the grid of resources. Later posts will also incorporate usage visualizations courtesy of our new xamChart.

 So — download Pistachio and take it for a spin! Let me know if you love it or hate it (or if it doesn’t work for you).