User Experience in Toronto and Las Vegas
I’m presenting at the Toronto Code Camp on Saturday about What’s new in Visual Studio 2008 for WPF 3.5 and Silverlight developers. My presentation will be an updated version of the presentation I gave at ObjectSharp’s Visual Studio 2008 At the Movies event, which hopefully you’ll find interesting and useful if you’re doing client-side development, whether on the web or for desktop apps.
The timing is ideal, because, well, let me join the phalanx of bloggers who are reporting that the Mix08 conference is taking place next week in Las Vegas. I’m excited to be attending Mix again this year, after previously enjoying Mix07 and Mix06.
Amid the excitement and curiosity about what’s coming at Mix are constrant reminders of the applicability of the WPF skillset to Silverlight 2 web development. (See, for example, Jesse Liberty’s suggestion for what eager would-be Silverlight 2 developers should do by way of training while waiting for the beta bits.)
If you’re attending Mix, grab thirteen23′s Mix08 Conference Agenda builder, an elegant WPF app that reminds you of just how many intriguing presentations you won’t be able to attend because they conflict with another equally intriguing presentation.
Thank goodness for webcasts and the 1.4x-speed playback option in Windows Media Player.
Are your CLR-based apps leaking?
I can’t resist linking to a superb article in the WPF Performance blog on finding memory leaks in WPF-based applications.
Particularly interesting is the section pertaining to Event Handler-based leaks. Here’s the brief summary, from the article:
In general, if you do this:
Foo.SomeEvent += new EventHandler(Bar.SomeMethod)
Then when you done using Bar, but you are still using Foo then Bar will still remain alive as well. Not what you might have expected.
Detatching the Event Handler from Foo.SomeEvent is not always practical. The proposed alternate is the “Weak Delegates” solution – a construct which isn’t natively supported by the CLR. A detailed discussion of how to simulate weak delegates is at Greg Schechter’s blog.
I got burned yesterday by not catching the need for the proverbial Weak Delegate, and I’ve been burned before by not using this technique when attaching event handlers in WPF (and particularly XNA and Managed DirectX) apps.
I’d classify both articles as “advanced,” and the solution as laborious, but if you want to write stable and long-running apps on the CLR (and who doesn’t? :) ), this issue is going to jump up and bite you in the proverbials at some point.
Continue ReadingWPF Developer Tools I Can’t Code Without
1. Visual Studio 2008. Express Edition is free. But the story doesn’t end here…
2. Expression Blend 2. Current build is the December Preview. I’m guessing the next drop will happen around Mix08 in March. Does a much better job of visually editing XAML (for instance, elements in Resource Dictionaries) than the editors in VS2008.
3. Snoop. Probes running WPF applications. Extremely, extremely useful.
4. Mole. A Debugger Visualizer with Property Editing for WPF applications that plugs into Visual Studio.
5. Kaxaml. A lightweight standalone XAML editor. Has some nice features like the ability to “clean” and format XAML.
Continue ReadingWPF at the Movies: Follow-Up Links
It was great to be part of the VS2008 at the Movies event this morning. Thanks to all of you who braved a quintessentially Canadian snowstorm to be there!
My favourite part of the WPF/Silverlight presentation was being able to show some of the work we’ve been doing with WPF and .NET 3.5 at Thermo Fisher Scientific. Their WPF-based Topology Editor is an excellent example of how WPF can add business value by enabling a more insightful visualization of an inherently complex system. (In this case, it’s the topology of a robotics lab!) Dave Lloyd has a cool video of the Thermo robots in action on his blog and, beyond that, I’ll save more discussion about the Topology Editor for another day.
Here are the follow-up links that I promised.

Slide Deck
First of all, here is my ObjectSharp VS2008 At the Movies: WPF 3.5/Silverlight slide deck. There are a couple of slides in this deck that I left out of today’s presentation as we were running short of time.
Getting started with WPF/Silverlight:
Here are the places to start:
WPF: http://www.windowsclient.net
Silverlight: http://www.silverlight.net
Mix08, Las Vegas, where you’ll learn heaps more about both: http://www.visitmix.com/2008
I focused on WPF 3.5 during the presentation because really exciting Silverlight announcements pertaining to the 2.0 beta are coming at Mix08 next month. To that end, here are links to more information about some of the improvements in WPF 3.5 that I demoed:
More on data validation improvements in WPF 3.5:
http://blogs.msdn.com/wpfsdk/archive/2007/10/02/data-validation-in-3-5.aspx
(The WPF SDK team posts many useful articles on that blog – worth subscribing and having a look back through if you’re getting into WPF/Silverlight)
More on debugging WPF bindings:
http://www.beacosta.com/blog/?p=52
(Bea has a great WPF blog and it’s my go-to reference for databinding information and samples.)
More in general about what’s new in WPF 3.5:
Kevin Moore and Tim Sneath dig into what’s new in WPF 3.5 on Channel 9.
Tim Sneath summarizes 15 cool new WPF 3.5 features.
More about what’s coming for Silverlight at Mix08:
Scott Guthrie gives a great 2-part interview for Channel 9. Part 1, Part 2.