Saturday, October 31, 2009

Come Learn SketchFlow!

On Saturday, November 7, I'll be presenting an introduction to SketchFlow at the Central Maryland Association of .NET Professionals (CMAP) Code Camp in Columbia, Maryland.

A bit more info on my talk:
Microsoft's Expression Blend 3 has a baked-in tool called SketchFlow, targeted directly at prototyping your WPF and Silverlight applications. In this talk, I'll walk through building a prototype and exercising several SketchFlow features available out-of-the-box. I'll also show how easy it is to distribute a prototype and get back annotated feedback from your reviewers.

A bit more info about the code camp (from The Code Camp will run from 8:30am - 5:30pm with 20-25 awesome sessions covering a wide range of database, software and portal development topics. It's totally free. No gimmicks. No sales pitches. Enjoy breakfast and lunch at no charge while you mingle with your peers. To register for this event, visit here.

For even more info, visit

Saturday, October 10, 2009

NoVa Code Camp - SketchFlow presentation materials

Today I presented an introduction to SketchFlow at the Northern Virginia Code Camp ( Thanks to those who attended my session!

Here are the presentation materials.

Some takeaways we discussed:
  • SketchFlow is not just for WPF and Silverlight prototyping! While it certainly fits well with a WPF/Silverlight project because of the consistent toolset (using Blend for both prototyping and "real" form development), there's nothing stopping you from prototyping a WinForms or application.
  • SketchFlow has a built-in feedback and markup mechanism (for the reviewers), and annotations (for the prototype author)
  • SketchFlow provides a screen navigation map, navigation links, and animation links. The latter allows you to provide "what-if" simulated user actions without actually wiring these animations up to a specific UI element. This is very useful to show alternate behaviors for a given action - recall the demo I showed with PassEmployeeAnimation and FailEmployeeAnimation.
  • SketchFlow projects are simple to build and deploy. Silverlight deployment is easier than WPF deployment: just copy your packaged prototype to a website virtual directory, as we saw today on my laptop at http://localhost:9999/)
  • SketchFlow helps remove the distraction of pixel-peepers who get distracted by exact look-n-feel of production-style user controls and graphics.
  • You can work with your prototype screens just like any other XAML form from a Silverlight or WPF app: you can easily view the XAML and make changes to things like a listbox DataTemplate (as I demonstrated with the Interview Question listbox).
  • Last, but not least: Since there's no real code behind the prototype, you won't get stuck in the prototype-gets-turned-into-a-real-app trap.
I'll leave you with one final super-cool tidbit: After loading up the demo prototype, go to the File menu and choose Export to Microsoft Word...   This feature builds a document for you complete with table of contents, screens, component screens, and navigation map. I generated Word output from today's demo and put it online along with the other demo files.

Wednesday, October 7, 2009

Richmond Code Camp - A look back

Over the past year, I've been getting more involved in the software development user community. I've become an active member and presenter at the Rockville .NET user group, presented at Microsoft TechDays 2008, and presented a few topics at the Northern Virginia Code Camp, including *shameless plug* an upcoming introduction to SketchFlow this Saturday, Oct. 10.

A few days ago, I attended the Richmond Code Camp, but as an attendee instead of a presenter. Though I'm still kicking myself for not signing up to speak there, I must admit that the Richmond Code Camp was a very valuable experience to me. In case you're on the fence about attending a Code Camp in your area, let me share a few of my takeaways and (possibly) sway your decision.

For the community, by the community
Code Camps are free for attendees. And the content is presented by volunteers. At RCC, speaker experience varied from first-timer to seasoned MVP. Some were local, some came from hundreds of miles away. Some showed slides, some cranked code. Regardless, these presenters took time to build some great learning material, posted samples on their blogs, and made themselves available for Q&A during (and even after) their sessions.

If you've been trying to meet some people who are knowledgeable (or experts) in a particular area, Code Camps are great for that. At RCC, there were experts in so many area: XNA, presentation patterns, .NET memory management, CLR and DLR inner workings, LINQ and expression trees, ORM, git... the list goes on and on. It was very easy to meet people, exchange contact info (twitter seemed to be the most popular way), find out about user groups, even inquire about possible career opportunities. I'm now following a slew of people I met at RCC, and it's great seeing the contributions they make to the developer community.

Not just for beginners
You might think Code Camps are more beginner-oriented. While there are beginner sessions (many, in fact), there are definitely advanced topics as well. At RCC, some of the more advanced topics covered expression trees and in-memory lambda compilation; C# garbage collection algorithms and performance issues; app dev with XML databases; and Cloud Computing with Azure, just to name a few.

Looking back
When I signed up for RCC, I was content just being an attendee. As soon as I showed up, though, I was kicking myself for not preparing a talk! This was a great group of people, and there was definitely a level of excitement buzzing through the halls (and on Twitter - just check out #RicCC). This was a great venue for sharing.

The Fall Season of Code Camps is upon us. Several are coming up soon, including Philadelpha PA, Charlotte NC, Columbia MD, and Reston VA just to name a few. If you have the time, I urge you to visit one, either as an attendee or as a presenter. If you've ever wanted to do a tech talk, but find the crowds intimidating, Code Camps are very relaxed and casual, with sometimes no more than 10-15 people in a classroom. And... people tend to be very understanding if things don't go exactly to plan (projector woes, lost slides, crashing code... "it" happens...).

More info
To find out about the Code Camps and user group meetings in your area, check out Community Megaphone, a great resource built by G. Andrew Duthie, a Microsoft Developer Evangelist in the Northern Virginia area.

Did I sway you?