TechDays 2009: ‘Optimizing Your Apps for Windows 7′ Follow-up
This is a belated follow-up to my TechDays 2009 presentation about Optimizing your Applications for the Windows 7 User Experience.
Included are all the links you need with information about how to get compatible, optimize, and differentiate.
TechDays 2009: ‘Building REST-ful Services with WCF’ Follow-up
I’m by no means a native REST-afarian: I was a Microsoftie during the time when SOAP and WS-* were all the rage, and the first version of WCF was released (all lathered up in SOAP) to unify communications in .NET.
But as I do more client-side development – particularly with Silverlight and ASP.NET AJAX – I’ve encountered more and more service scenarios where the REST architecture, and lightweight data formats like JSON, make a lot of sense.
So it’s a case of horses for courses, and very good news that the ultra-extensible WCF now has strong built-in support for both SOAP and REST… and JSON and ATOM/RSS syndication and more.

The verbs that make up the uniform REST-ful interface
Get the REST Starter Kit
If you’re interested in WCF’s support for REST, please download the WCF REST Starter Kit, and check out the resources for REST in Windows Communication Foundation linked here.
The REST Starter Kit gives Visual Studio 2008 SP1 a lot of additional helpful functionality for consuming REST services from a client, including the “Paste XML as Types” functionality that got an audible “oooh!” today.
Here’s how it works: You copy some XML into your clipboard, and then use this menu item to paste it into your code as C# classes. Then, you can use the HttpClient classes (found in the Microsoft.Http and Microsoft.Http.Extensions assemblies, also part of the Starter Kit) to load your data into a client app without munging the XML. Very nice, and no “Add Service Reference” magic needed.
More on WCF+REST:
I am immensely indebted to Jon Flanders, a true REST-afarian, for the foundation of today’s presentation. He literally wrote the book on REST-ful .NET.
He’s presented on this subject at the past two TechEd conferences. You can watch his TechEd2009 presentation here and download that presentation’s sample code here.
Hope that helps, and happy service building!
Continue ReadingTechDays 2009: ‘What’s New in Silverlight 3′ Follow-up
Thanks to everyone who came to my “What’s New in Silverlight 3″ presentation this morning at Microsoft Canada’s TechDays 2009 event in Halifax.
A few months ago, I delivered a Silverlight 3 presentation at a Toronto usergroup event. The follow-up resources I referenced after that presentation are thorough, and still relevant today, so please visit that page for links to online Silverlight 3 resources.
The screenshot below is from one of today’s demos: a Silverlight 3 app, running in Google Chrome, capturing stills from a stream of HD video that I shot at dusk last night with my trusty Nikon D90.
If you’re looking for evidence that Silverlight runs in Chrome, you can point it (or, for that matter, any browser with Silverlight installed) at the much cooler Silverlight demo running here – it’s mai FractLOL.

It's today's Silverlight 3 WriteableBitmap sample, running in Google Chrome!
If you have more Silverlight questions or follow-up, please don’t hesitate to contact me through the blog [or just mail rob at rob burke dot net].
p.s. A few weeks ago I presented “Building Modular Applications in Silverlight and WPF” at TechDays Toronto, so if you’re interested in line-of-business apps in Silverlight, you might also find that follow-up helpful.
Continue ReadingTechDays 2009: ‘Building Modular Applications using Silverlight and WPF’ Follow-up
I’ve just finished delivering the “Building Modular Applications using Silverlight and WPF” session at Microsoft Canada’s TechDays 2009 event in Toronto.
What a difference a year makes! At last year’s TechDays, my presentation was all: “Silverlight is new and awesome! Let’s lap around some awesome Silverlight features!”
But this year, as Silverlight and WPF have gained some maturity, many of us are now working on more complex projects enabled by these frameworks.
So this year’s theme, appropriately, was designing for change. It was about taming complexity in real-world Silverlight and WPF apps with patterns, conventions, examples, and a little glue code.
What we covered
After a brief primer on the MVVM pattern, the core of the presentation was a lap around Prism, a.k.a. the Composite Application Guidance for Silverlight and WPF released by Microsoft’s Patterns and Practices group.
We looked at the structure provided by Prism’s Shell and Bootstrapper, demystified Dependency Injection (over breakfast), and then explored the Region Manager, Modules, the Event Aggregator, and Commanding.
Taming Complexity and Designing for Change
Complexity in the software development lifecycle comes in many forms, including but not limited to:
- integrating multiple disparate sources of data,
- dealing with changing requirements,
- managing features delivered by distributed dev teams,
- creating complex interactive views,
- rapidly skilling up new resources on a project,
- cleanly separating concerns for different roles (like designer and developer), and…
- well, I could go on.
It seems to me like a good way to tame complexities like these is to design for change. Prism helps you do this. So does MVVM.
I’ve worked with WPF since it was called Avalon, but only recently started using Prism.
When I go back now and look at my pre-Prism code, it looks fine in parts, but organizationally, it reeks of uninformed, trainwreck stuff. If I could speak to Rob vPrevious, I would insist that he take the time to learn Prism.
Do your time in Prism
So my call to action for all serious WPF and Silverlight devs is:
- Do your time in Prism. Invest the time to get the Prism framework, software and documentation from Codeplex and read the lucid documentation on MSDN.
- Don’t be intimidated (like I was) by terms like Dependency Injection Container and Inversion of Control.
- Check out Prism’s Stock Trader Reference Implementation, and
- Even if you don’t decide to use Prism on your project, think about conventions, and patterns, and how your code will respond to change.
Finally – if you are a Silverlight or WPF developer, and are looking for a place to work on interesting projects on a scale that demands you plan for change, please contact me.
For those of you who came out today, thanks for the engaging conversations afterwards, and I hope you found the presentation a helpful primer on Prism. May it help you get up the learning curve and start using the P&P guidance in your own applications!
Please write me with your own Prism thoughts and stories.
This year, the theme was designing for change. It was about taming complexity with patterns, conventions, examples, and glue code.
it was a deeper Senior Dev / Architect level discussion that discussed the MVVM pattern and Prism, the Composite Application Guidance for Silverlight and WPF.


