For each session in the Application Development Track, please indicate your level of interest by selecting from the choices below each description. The level of each session is listed in parentheses next to the title. Level 100 means little or knowledge of the material is needed to participate. Level 200 means some familiarity with the subject matter will enhance your participation. And level 300 means strap the seat belt because the speaker is going on a fun ride at full speed.
1. May the Source Stay With You (
200) - A look at real-life best practices and practical experience in protecting your source code from prying eyes and malicious users. We will use Reflector and ILDASM to analyze code vulnerability, and evaluate appropriate defense mechanisms. Topics covered include naming conventions, obfuscation and control flow obfuscation, licensing, and general coding tips.

2. Using TestDriven.net to Develop Bug-Free Software (
200) - Have you ever wondered what all the hoopla is over test-driven devlopment and its off-shoots? We will take you through the process of using Test-Driven.net to develop a bank of unit tests to help you develop bug-free software.

3. Creating Custom Templatable Controls in Silverlight (
200) - Creating reusable controls is an important aspect of productive software development. When you can supplement this reusability with customizability, you have the power to rapidly deliver seamless and compelling user experiences in your products. Silverlight offers both of these through the use of custom templatable controls. In this presentation, we will take a short journey through the process of building a custom control using Silverlight.

4. Going Proxy-less: The Runtime WCF Proxy Factory (
300) - An introduction to the SoftwareIsHardwork ServiceModelClient API which allows for the creation of client-side service proxies via a factory pattern, with AOP semantics to handle the lifetime and correct disposal of underlying channels. No need to use ClientBase`1, svcutil.exe, or ChannelFactory`1... Just ask for a proxy for a service contract and endpoint configuration name; its just works!

5. DotNetNuke: A .NET Open Source Web Application Framework (
100) - DNN is an Open Source, .Net-based Content Management System that provides a robust framework for modular web application development.
Supporting Active Directory, Open ID, LiveID, and other authentication methods, it is especially useful in cases where multiple users and multiple security roles are necessary such as SaaS or community sites.
We’ll take at some of the core API and framework features that would be of interest to anyone looking to use it as a basis for development.

6. Building Rich Web Interfaces with ASP.NET MVC and JavaScript (
200) - You've heard about the new ASP.NET MVC framework and are impressed by how much it changes your experience on the server. You probably also noticed how different your UI interaction (creating views and interacting with the backend) can be. In this session we'll review these differences and take a look at how we can work in this new environment and embrace the renewed control and freedom that ASP.NET MVC provides us!
We'll talk about:
○ How to go from thinking in ""Web Forms"" to thinking in ASP.NET MVC
○ How client-side JavaScript frameworks are now more important to building rich applications than ever
○ How to create rich and dynamic interfaces using gracefully degrading partial rendering(think ""UpdatePanel"") and other useful techniques
○ Making use of the MVC paradigm using JavaScript on the client-side.

7. Understanding MVC for ASP.NET Developers (
100) - If you've heard of MVC but want to learn more -- like you'd _really_ use it -- this presentation is for you.
In this talk, we’ll take a look at the ASP.NET MVC framework, which enables you to easily implement the model-view-controller (MVC) pattern for web applications. This pattern lets you separate applications into loosely coupled, pluggable components for application design, processing logic, and display. By separating these concerns, web applications can be easily tested, components plugged and swapped, and the code is just more maintainable. MVC applications also lend themselves to very clean URIs that can be accessed in a RESTful manner.

8. Practical Entity Framework (
100) - Wondering what the Entity Framework is, how to apply it to your architecture or are looking for a new programming challenge. I will cover the basics of EF, building a 3-tier architecture and using it.

9. Developing Peer-to-Peer Applications with WCF (
200) - P2P applications have gotten a lot of attention lately but how to program them seems to be a mystery. Some new features in WCF and Vista enable developers to create P2P apps much easier than before. This presentation will give an overview of P2P concepts and then use WCF's PeerChannel to create a sample application.

10. Design Patterns: Getting to the Aha! Moment (
100) - We've all at least have heard of design patterns. We may have even read some but do you really "get" them? This session will discuss two design patterns in a way that will help you get to that Aha! moment in understanding design patterns. Each design pattern will be discussed in the context of a realistic design problem. If you been sitting on the design pattern sidelines then this session is for you.
