Welcome to Pete Brown's 10rem.net

First time here? If you are a developer or are interested in Microsoft tools and technology, please consider subscribing to the latest posts.

You may also be interested in my blog archives, the articles section, or some of my lab projects such as the C64 emulator written in Silverlight.

(hide this)

WPF and Silverlight 2 Themes - Reuxables

Pete Brown - 21 February 2008

WPF and Silverlight applications cover a whole spectrum of application types and richness from incredible full-screen applications incorporating 3d and video to games to good old standard (but highly usable and attractive) business applications.

It's the last category that I find of particular interest as while those applications don't always get the attention that the others do, they will be, by far, the largest category for Silverlight and WPF over time.

One of the barriers to using WPF and Silverlight for business applications is the idea that you really need some sort of design talent on the team if you want to do something that varies from the standard look and feel by even a tiny bit. For that reason, many folks have decided to stick to Windows Forms and HTML applications (even though the latter also requires design talent and the former always benefits from someone who understands usability) instead of taking the plunge into WPF. Frankly, the incredible Silverlight and WPF applications that some firms have built have scared some developers away from these technologies.

When most people wanted a different type of grid in Windows Forms, for example, someone would pony up for a third-party control and maybe play with the colors and fonts. In WPF, the story is quite different. One comment I often hear about WPF is "where are all the controls". While there is certainly a good sized pool of stock and third-party controls, the reality is, you don't need as many types of controls in WPF as you did in Windows Forms because behavior is often common across many controls, and what you really want to do is change presentation - something you can do right in XAML. WPF controls define the behavior, you define the presentation. That takes talent to pull it off.

While I think most application development projects really benefit from having user experience/interactive design expertise on the team (something that isn't really evident until you see the results you get from including that talent), the reality is that most teams simply do not include that for one reason or another. It is rare when I go into a client site and they have interactive design staff with their development teams. More often than not, there is a graphics department (ususally associated with marketing) to do things like banners and icons, but that's about it.

The other day, I stumbled across Reuxables. Conceptually, this is very simple: a package of relatively tame themes/skins for your WPF (and soon, Silverlight 2) applications, implemented as resource dictionaries. If you want a custom look and feel for a standard business application, without having to have a designer on your team, these themes can get you most of the way there. You'll still need people creating discrete assets, but now you can pull something together that looks sharp while using the same types of teams you used on your Windows Forms applications.

Vista Default Metal Blue Glass Orange Candy Black 

I have not yet tried these themes myself, but I hope they prove helpful or inspiring for you. I also hope we see lots more products like this - products that allow a team of developers to create an attractive v.next application without requiring them to climb the visual design curve.

           
posted by Pete Brown on Thursday, February 21, 2008
filed under:            

6 comments for “WPF and Silverlight 2 Themes - Reuxables”

  1. Ben Hayatsays:
    Pete;

    Interesting you brought this point up at this time. As SL 2.0 beta is getting near, I'm getting more excited about developing apps. You mentioned some of the exotic looking sites done in SL or WPF, may actually scare off some developers, and it's very true and I have seen developers who make fun of a nice UI/UX site, with the logic that, this all a bunch of animations and fancy colors, and miss the fact consumers like these new style compared to the old WinForm. So yes, some developers will resent the new paradigm. On the contrary, I as a developer, now find this to be exciting and want to learn more and become a designer as well. I'm developing a great appreciation for a good and useful design.
    You also brought up another point of having designers along side of developers. This is the best combo, if you can get the combo right. What do I mean by that?
    There are times as the main architect for an application (picturing the UI, the database, feature list and etc.), I can see how exactly I want that application to be, how to interact and so on, but when I try to convey those thoughts and images from my vision to a designer, I seem to have less productivity and preciseness than if I try to do the design myself. I really want to delegate that, but I seem to struggle with the outcome when the designer is only visioning a part of the application rather than as a whole. So, I'm now trying to learn the new Expression "Design" and "Blend" to at least be able to do the preliminary work myself. What you think Pete? Do you run into the same thing?

    Thanks! Great blog!
    ..Ben
  2. Pete Brownsays:
    Hi Ben

    (I wish community server would keep the paragraphs when folks write in and post comments. I could see them in my review page, but they get lumped into one big paragraph here)

    I wouldn't read too much into the timing of this post other than the reuxables folks said on their site they will support Silverlight 2 sometime after it goes live, and Tim and others have mentioned support for the broad category of styling in SL 2.

    I completely agree that the whole user experience picture sells. While we as developers see a lot of value in properly architected systems, and have sponsors in organizations who also see value in that, users are rightly concerned about what they have to use day-in and day-out and that is the UI and the UX. When you have a great UX, the whole project tends to run more smoothly.

    I've also noticed a lot more attention to UX up at higher levels in organizations. Usually it falls under things like "we want it to look more Web2.0-ish" or similar language.

    On the process: part of that is about working with designers you trust, and giving up to them control of that part of the process. A good interactive designer will come up with a UI that neither you no I could conceive. They will also ensure that it is as usable and productive (and engaging, if appropriate) as possible within the project constraints. One thing I like about WPF and SL is that the design constraints are far fewer than the other technologies we've used over the years.

    Much like when we envision an architecture or application design and have to allow for others to shift things around to fit skillsets, capabilities or time constraints; or more importantly, allow capable developers to architect subsystems in a way we may not have done ourselves, so we must give designers the freedom they need to do their work. If they do a crappy job, we figure out if it was process, communication, or just the wrong person for the job, and adjust accordingly :)

    If you are talking about working just with graphics designers, not interactive designers, there may just be a communications gap there. I sometimes work with folks like that, as I understand usability well, and that combination sufficies for many simpler applications.

    Pete
  3. Chris Cavanaghsays:
    <p>Hi Pete - Often I / we need to "throw together" multiple, skinned websites in a vary short time.  We've automated most of the process with configuration files and automated 'stuff' to maintain those files.  Obviously the UI / UX issue has always been a thorny one.  Our frameworks are pretty extensible, but waiting for UI assets (often from external sources) is often a bottleneck.  Here's a solution that's working for us (using WPF to skin sites) - maybe your readers would find it useful:</p><p><a href="http://chriscavanagh.wordpress.com/2008/02/15/wpf-skinning-your-websites/" rel="nofollow" target="_new">http://chriscavanagh.wordpress.com/2008/02/15/wpf-skinning-your-websites/</a></p><p><a href="http://chriscavanagh.wordpress.com/2008/02/18/wpf-skinning-your-websites-source-code-now-available/" rel="nofollow" target="_new">http://chriscavanagh.wordpress.com/2008/02/18/wpf-skinning-your-websites-source-code-now-available/</a></p><p>The main thing it accomplishes is gets some of the "quick tweaks" back into the hands of developers.  There's still a [crucial] need for UI / UX talent initially, but if you need to "roll out" several similar sites (with minor changes to colors or assets) it's a real timesaver.  Since the page template is "all XAML", it's not unreasonable for savvy developers to tweak it very quickly and efficiently.</p><p>Now you just need to find some designers who enjoy working with Blend or Kaxaml ;o) (or a utility to convert SVG to XAML).</p>
  4. Pete Brownsays:
    Definitely some nice templates there too. At first, I thought the price was way too high, as the first price I saw was the "unique price" at $1500 per template. After I looked at them for a few, I noticed the $199 price. You probably want to highlight that so other people don't take one look and then move on :)

    Pete

Comment on this Post

Remember me

1 trackback for “WPF and Silverlight 2 Themes - Reuxables”

  1. Community Blogssays:
    Two references, reuxables, via Andrew Duthie, and the British Library book viewer via Andrew Duthie.