A few days ago I was visiting the Infragistics headquarters. I set aside half an hour to stop by Grant Hinkson‘s office. Grant is the Visual Designer working on a new skin for Podder. I wanted to check in with him, and work through any issues or questions that might have cropped up during his work on his new Podder skin. I had a WPF revelation within those thirty minutes.
For this project, Grant is acting solely in the capacity of Visual Designer. He is a good Developer, but I don’t want him to need those skills for this project. My objective is to design Podder in such a way that he, the Visual Designer, never has to write a line of code. Naturally, this means that he is living in Expression Blend to get his work done. As we worked through little issues and gotchas, I was amazed at how fluent Grant is in Blend. I must admit, I never use Blend. He was flying through the menus, dropdowns, panels, etc. so quickly that I could not follow along!
What amazed me even more was the thought processes he went through to get his work done. As he expertly navigated through Blend, he was saying things like “We’ll need to Storyboard that…I’ll just record a Timeline for this…Now I’ll just trigger the transition off that event…We’ll group those elements together…” I never, ever say or think things like that when working with WPF.
This experience made me realize that Visual Designers think about WPF in a very different way than Developers. So different, in fact, that there is a very real potential for a communication barrier to arise between the development staff and the visual design team. Luckily for me, Grant is an accomplished WPF developer, so we were both pretty much on the same page. However, it is easy to imagine working with a Visual Designer who does not have the development experience, and having trouble finding a common ground of shared concepts to discuss. The further away from “visual design” you go, the more murky the communication can become. For example, how do you discuss the proper way to create a declarative data binding with someone devoid of development experience?
I now believe it is imperative that WPF developers are at least comfortable using Blend. Even if you have no intention of using Blend on a regular basis, it will prove beneficial as you interact with people who live in Blend. The thought processes of getting work done, the terminology/lingo, and the artificial limitations imposed by Blend are all things that we, the developers, should know about. Not only that, but it is a very interesting and powerful tool!
I’m excited to learn Blend!
Took you long enough to come around 😉
We use blend for our product (www.photology.com). It works really really well!
I played around with Blend when it was still called Sparkle. It left a bad taste in my mouth, like “rotten Cider”…, and I haven’t been too inclined to learn it ever since. Now that Blend is a released product, I suppose it’s time to test the waters again. I guess it took me long enough to come *back* around. 😉
I don’t doubt that Blend works well. But thanks for the confirmation. 🙂
I am eagerly awaiting the series of posts that describes how a developer with little or no design talent (me) crosses the barrier and becomes comfortable with blend. My team actually has two professional designers on it and I’m hoping our next project will be WPF with them in blend and my deveopers in VS 2008
I totally agree Josh – Grant is amazing at Blend! Also with the learning-Blend comment. Grant and I will have to add that as something to mention in our “Meeting in the Middle” presentation!
I’ve come at WPF from the direction of annoyance with having to learn XAML, so I’ve used blend all along, and am just learning small things about XAML by the effect that Blend has when editing that XAML. I think more developers should use Blend so that a few more useful features will get included.
For example, one feature I’d really like to see is that if an object, being used as a CLR data source in Blend, implements the ICustomTypeDescriptor interface, I’d like to see the dynamic properties also displayed in the list of available properties in Blend. I may be dreaming about this, though.
Enjoy your learning of Blend. I like it quite a lot.
[…] Sok fejlesztő úgy gondolja, hogy a Blend az designer eszköz, neki jó lesz a VS-be épített Cider (brrr), meg a Xaml editor. Így volt ezzel a WPF-ben nagy névnek számító (és amúgy Client App Dev MVP) Josh Smith is. Aztán találkozott egy designerrel, aki három kattintással megoldotta azokat a dolgokat, amikkel ő hosszú perceket vagy akár órákat szenvedett. És Blend fan lett. […]
[…] The Importance of Learning Expression Blend (Josh Smith) […]
I find it odd that you say that. We’ve done some pretty cool stuff on the Ergo project (www.yourergo.com) and a great deal of it has been done in Blend. Blend and Visual Studio are always open on my system, and I couldn’t imagine how much harder the job would have been without it, especially with VS2005’s WPF support being so poor.
Having said that, I think we have used Blend less as time went on. Whether that meant we were getting better at WPF/XAML or whether it meant the finer detail stuff required more code and less XAML, I don’t know.
It might just be a matter of timing. I don’t know when you started to learn WPF, but when I started learning WPF, it was still called Avalon. Blend was still called Sparkle, and Sparkle sucked. So, I never used it. I learned WPF from the “inside-out”, as opposed to “outside-in.” Now that Blend is a more mature product, I can definitely see the benefit of learning it in tandem to learning WPF.
I have nothing against Blend. I just don’t use it, yet.
Yup, and every time I start up Blend I end up completely lost and confused. I’m waiting on some decent books to get up to speed with Blend. From what I’ve seen of it, it is amazingly powerful but it’s way beyond me at the moment.
[…] Smith says that designers should be learning Blend because it’s freaking awesome. Designers respond that, while he’s not wrong, there are bloody no good books or blogs on the […]
Speaking of learning Blend…here’s ScottGu’s intro to Blend 2.5 in his new Silverlight 2 blog series: http://weblogs.asp.net/scottgu/archive/2008/02/28/first-look-at-using-expression-blend-with-silverlight-2.aspx
Just found a load of Blend vids at http://movielibrary.lynda.com/html/modPage.asp?ID=384 . I haven’t had a chance to play with them yet, but they do look pretty good.
Best way to learn Blend (esp if you already know some WPF) is watching video training from http://www.totaltraining.com
Try it. You can watch the first couple of videos of any series free (there’s a series on WPF I also enjoyed).