
RSS Feed
Microsoft MVP Summit 2010
Tuesday, February 23, 2010
Since everyone else is getting in their final thoughts…I thought I’d jump on the bandwagon. For anyone who hasn’t been following me on Twitter or Facebook over the last week, I was fortunate enough to get the opportunity to spend a week in Redmond, Washington at Microsoft’s yearly MVP Summit. While “Twitterverse” (i.e. #mvp10) sometimes makes things sound like one big party it was actually a very fascinating week I was very proud to be involved with. I had never before had the opportunity to visit Microsoft’s campus and, as a first year MVP, I was very much looking forward to the opportunity. But, before getting to the summit itself, I know I’ve been asked a few times lately about the MVP program so I thought I’d give a brief overview of the program for the uninitiated (those MVP’s reading this can skip this).
So what is an MVP anyway?
The MVP program is essentially a vehicle in which Microsoft recognizes and supports a select group of individuals who are active in the software community and recognized experts with specific technologies. Microsoft recognizes MVP’s in more than 90 countries and 40 languages.
While the definition of “active” in the technical community varies, most MVP’s are authors, frequent presenters, or host conferences and/or user groups. Nearly all MVP’s are frequent contributors to online forums, blogs, or other repositories of information regarding their specific focus. All of this “activity” essentially equates to a group of people who are passionate about what they do and eager to share that knowledge with others. They are loud voices amongst other developers or power users and care deeply about their technology and want to share that knowledge with others.
In terms of technology focus, the MVP program recognizes members within a specific technology area based on their expertise. This area of focus allows individuals targeted access to Microsoft teams and support.
There are currently around 90 technology areas recognized by this program including such things as:
- C#
- VB.NET
- SilverLight
- Client App Dev (which covers WPF)
- SQL Server
- Visual Studio.NET Team Foundation Server
- XBox
- Zune
- Access
- Office
- Help
- IronRuby (there is one MVP for IronRuby which I met over beers)
- FoxPro
- Windows
- And many, many more…
The MVP program runs on a per-year basis and accepts nominations for new members and membership renewal from both the general community or Microsoft employees. After a vetting and review process, new or renewed members to the MVP program are provided with a unique level of access into Microsoft that includes such things as direct access to product teams, MSDN subscriptions, access to early builds of new software, an invitation to the Summit, and access to many other remote product presentations usually held via teleconference or live meeting.
All in all, the MVP program is a win-win relationship between Microsoft and some of their key supporters amongst the end-user and developer communities. By providing these individuals a high level of support and visibility within Microsoft they foster a relationship that culminates in these individuals helping raise the quality of Microsoft products through candid input and feedback and with the MVP’s supporting the growth and adoption of these new technologies within the Microsoft consumer ecosystem.
If you would like to learn more about the program, would like to search for an MVP near you, or would like to submit someone you know to the program as a potential MVP, you can do all of these things here: http://mvp.support.microsoft.com/
MVP Summit 2010
A well known MVP perk is the ability to attend the yearly MVP Summit. The 2010 Summit was held in both Bellevue, Washington and at Microsoft’s main campus in Redmond. This year’s Summit was attended by over 1300 MVP’s from over 70 countries. The idea behind the Summit is to bring these experts together in Redmond to interact closely with the Microsoft product teams and allow these product teams to let MVP’s see all the work and strategic direction going into future products and releases while soliciting feedback from the MVP’s on product features, quality, usage, etc. Obviously, such an open collaboration comes with the necessary NDA agreements which serve to protect Microsoft’s intellectual property and financial interests but allows the product teams to be very candid with the MVP’s and opens the door for very open and honest discussion regarding product quality and direction. To this end, this year’s summit included over 700 sessions put on by hundreds of Microsoft product team members across dozens of products.
So that is what it was…but what did I think?
My Impressions of MVP Summit 2010
Over the years I’ve had the opportunity to attend many regional and national conferences including Tech-Ed’s, PDC’s, and Mix’s. Between these conferences and my own involvement in various groups and events I went into my first MVP Summit already able to call many fellow MVP’s my good friends. In addition to those whom I already thought of as friends, I was familiar with many other MVP’s with whom I regularly interact at other events. The St. Louis area now boasts 7 MVP’s that I’m aware of and 5 of us were able to attend this year’s Summit.
That said, out of all of the previous conferences or events I’ve been able to attend, I found the 2010 MVP Summit to be the most fascinating, educational, and fulfilling technology event I’ve ever attended. Obviously, the bigger conferences like PDC and Tech-Ed have a much larger attendance but these conference pull a mix between passionate and outspoken technologists and those people who just had enough money left in their budget to attend a conference. At the MVP Summit EVERYONE I interacted with was extremely knowledgeable and passionate about their technology area (and technology in general) and everyone was open and excited about talking tech with their peers. Anyone who knows me knows that I love to talk and love to talk about technology even more. What made this event so special was the fact that everyone else felt the same way. It was like going to computer camp with 1000 people with the exact same interests and passion.
Microsoft was the most gracious of hosts and every member of every product team I talked to was excited to show off what they’ve been doing and took the time to answer every question and explain every decision. They went out to dinners and evening parties with MVP’s and didn’t miss a single opportunity all week to make the event both memorable and useful in terms of accomplishing the goals of soliciting honest feedback and building a strong relationship.
Each of the sessions I attended was well put together and to the point. Not much “fluff” was included as the general assumption could be made that they were talking to a room of people who knew the “marketing line” on any given technology. I found that, during these sessions and when talking about a product or feature, most MVP’s fell into one of two camps: those who immediately saw potential and countless possibilities with a technology or those who immediately pointed out design or implementation flaws and always wanted more. That wasn’t necessarily a bad thing and it led to some great debates that usually spilled over to happy hour discussions over beers.
The use of Twitter during this event was also extraordinary as the “collective consciousness” of the attendees was constantly visible via the #mvp10 Twitter feed. The camaraderie of all attendees was evident as lunches, dinners, happy hours, and evening parties were scheduled globally on Twitter and anyone and everyone showed up to attend. Whether sitting in a hotel lobby waiting for a shuttle or at breakfast with a table full of strangers, the discussion was always great. Everyone was open and excited to learn what everyone else was up to and you always felt comfortable and as if you were in a room amongst friends.
Coincidentally, this year’s Summit fell during the first week of the Vancouver Winter Olympics and, with Seattle only 2 hours south of Vancouver, a few MVP’s made the trip up to the Olympics for a day or so. Also, due to the geographic diversity of the attendees, many evenings were spent at the local pub cheering on your countries hero’s in Vancouver. The Canadians wore their Maple Leaves especially proudly throughout the event.
All in all, it was an experience unlike any I’ve had in my professional career and I have a stack of future blog posts queued up to discuss some key development areas I spent time covering at the Summit. My NDA keeps me from providing too much content on new or undisclosed platforms or features but not everything we covered fell into this category and I spent a lot of time at sessions or in hotel lobbies discussing some great tools and platforms which are publicly available today and which I think deserve more focus in the projects we are currently building.
So, after a great week in Seattle, and a few hours home in St. Louis with my family, I now find myself in Minneapolis, Minnesota finishing this blog post and preparing for a morning presentation on Visual Studio.NET 2010 and TFS 2010 at Microsoft’s Minneapolis offices. So I’ll close this post with a big THANK YOU to my wife and all the other MVP’s spouses who put up with the time away from home we spend doing what we love (and hanging out with other geeks ;)
And to all the MVP’s reading this…I hope to see you all in Redmond next year…

Drive Your Development with Visual Studio.NET 2010 – Midwest Tour Announcement
Tuesday, January 05, 2010
I wanted to share information on an upcoming development tour through the Midwest that I’m involved with. It’s called the Drive Your Development with Visual Studio.NET 2010 tour and you can find more information on what it’s about and where it will be on Clint’s blog here: http://www.notsotrivial.net/blog/post/2010/01/05/Tour-Announcement-e28093-Drive-Your-Development-with-Visual-Studio-2010.aspx.
I will be presenting alongside Clint Edmonson and Jeff Fattic who are both great presenters as well as experts in all things VS.NET and TFS related so it should be a lot of fun.
The sessions themselves are focused on discussing and demonstrating the great new features of VS.NET 2010 and Team Foundation Server 2010 and how they can be used effectively by development teams of any size.
All events are free so register now for a location near you (as seating is limited).
If you have any questions about sessions themselves or the dates/venues don’t hesitate to let me know.

Windows 7 Launch: St. Louis (Resources)
Monday, November 16, 2009
Microsoft recently held their Windows 7 Launch event in St. Louis where I was very fortunate to be able to deliver the Windows 7 introduction to developers track (opposite Mike Benkovich from BenkoTips.com).
This St. Louis event was held at the AMC Theater’s in Creve Coeur, Missouri and supposedly drew 1200 local IT resources (roughly 600 for the developer track and 600 for the IT pro track but I didn’t get an exact count from anyone). I was involved with the developer track and in my auditorium I had roughly 250+ people who fell into one of two categories: first, those who were software developers and interested in Win7 as a new platform for rich client development or, second, those who were interested in Win7 as a consumer tool and took advantage of the opportunity to learn a bit more about the OS (and possibly just to get the free copy given away at the launch event :)
For those of you who are .NET developers and interested in developing applications which take advantage of the great features of Windows 7, information can be found below.
API CodePack
I would first start you out by pointing you to the Windows API CodePack for .NET. This is a set of assemblies you can utilize from your .NET application to easily access all of the cool features of Windows 7. Things such as:
Windows 7 Taskbar Jump Lists, Icon Overlay, Progress Bar, Tabbed Thumbnails, and Thumbnail Toolbars.
Windows 7 Libraries, Known Folders, non-file system containers.
Windows Shell Search API support, a hierarchy of Shell Namespace entities, and Drag and Drop functionality for Shell Objects.
Explorer Browser Control.
Shell property system.
Windows Vista and Windows 7 Common File Dialogs, including custom controls.
Windows Vista and Windows 7 Task Dialogs.
Direct3D 11.0, Direct3D 10.1/10.0, DXGI 1.0/1.1, Direct2D 1.0, DirectWrite, Windows Imaging Component (WIC) APIs. (DirectWrite and WIC have partial support)
Sensor Platform APIs
Extended Linguistic Services APIs
Power Management APIs
Application Restart and Recovery APIs
Network List Manager APIs
Command Link control and System defined Shell icons.
“PhotoView” Sample Application
Another great Windows 7 resource for .NET developers is utilizing this sample application as a starting point. It’s called XP2Win7 and is a sample photo viewer that demonstrates a clean way to have a single application which exposes the appropriate functionality depending on the OS it is running on. It runs effectively in XP, Vista, and Win 7 while adding OS specific features based on it’s host. On a Windows 7 machine it supports Jump Lists, MultiTouch, etc. It’s definitely worth the look to see some cool Win 7 features in action.
Sessions
At this recent launch event, my three sessions were related to Windows 7 developer topics. I covered the following topics:
Taking Your Application to the Next Level with Windows 7
Basically this talk covered common compatibility issues with moving legacy applications into Windows 7. It also talked about a number of breaking changes in Windows 7 when compared to previous Windows OS platforms. We also introduced newer concepts such as the Jump Lists, the new Task Bar, breaking changes when moving form XP to Vista, Troubleshooting Packs, etc.
My presentation can be found here: Presentation
Beyond Human Interaction with Windows 7 Sensor and Location Platform
Here we talked about the new sensor platform and used a cool Freescale Sensor board for the demo’s. We talked about the Win7 Ambient light sensor and used the board to demonstrate an accelerometer sensor. The final part of this session discussed location sensors. I had some pretty cool demo’s for this one including modification to the XNA Racing Starter Kit which allowed me to play the game with the board and the accelerometer and also use the ambient light sensor to affect the night/day aspect of the game.
If you are interested in the board I used for the demo you can buy the exact board here. The cost is ~$30 according to their site.
My presentation can be found here: Presentation
Building next Generation UI with Multitouch and Windows Ribbon in Windows 7
The final talk I gave related to the new Windows Ribbon and the Multitouch capabilities in Windows 7. I was using an HP TouchSmart Notebook with a 64-bit version of Windows 7 and the full TouchPack loaded on it. The demonstrations were pretty cool and I got to play some games on the big screen.
Many people came up to me after the show and asked where they could find info on this laptop and here you go: Laptop Info.
I definitely foresee a day where all laptops have these same capabilities.
My presentation can be found here: Presentation
Resources
In addition to sharing the presentation, the links below will definitely help any .NET developer learn to take advantage of the great new developer oriented features of the Windows 7 platform:
Compatibility Resources
Windows Application Compatibility Center
http://msdn.microsoft.com/en-us/windows/aa904987.aspx
Application Compatibility on TechNet
http://technet.microsoft.com/en-us/windows/aa905066.aspx
Application Compatibility Online Remediation
http://readyset7.com/workshops
Application Compatibility in Windows 7 Training Kit
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=1c333f06-fadb-4d93-9c80-402621c600e7
API and Other Dev Resources
Windows Developer Center on MSDN
http://msdn.microsoft.com/en-us/windows/dd433113.aspx
Windows Application Compatibility Developer Center
http://www.msdn.microsoft.com/en-us/windows/aa904987.aspx
Windows 7 Remediation Labs
http://www.readyset7.com/workshops
Windows 7 Training Kit for Developers
http://go.microsoft.com/?linkid=9681321
“PhotoView” Reference Application (XP2Win7Project)
http://code.msdn.microsoft.com/XP2Win7
Windows 7 Blog for Developers
www.windowsteamblog.com/blogs/developers.aspx
Windows 7 on Channel 9
http://channel9.msdn.com/tags/Windows+7

Iowa Code Camp
Friday, November 13, 2009
This last weekend I had the opportunity to head up to Des Moines, Iowa and give a presentation at the a regional developer event called the Iowa Code Camp. Due to a bunch of recent travel and speaking commitments (including the Windows 7 Launch event in St. Louis and spending next week in LA for PDC) I decided a weekend in Des Moines would make a very nice little trip for the family. During my time at the conference my wife and three little girls took the opportunity to hit the local zoo and the malls and other local attractions.
In the essence of full disclosure, this was my first
significant trip to Iowa. I’d never been to Des Moines (or too many other places in Iowa) although I did grow up in neighboring Nebraska. My trip didn’t do much for Iowa football as both (previously undefeated) Iowa and Iowa State lost on the Saturday of my presentation (although Nebraska beat Oklahoma that night which was pretty impressive to watch from enemy territory). My first impressions of Iowa were fantastic. The West Des Moines area (where this conference was held) was a nice or nicer than most other places I’ve had the opportunity to visit.
The conference itself was held at the Des Moines Area Community College (DMACC) and this was one of the most impressive community colleges I’ve ever been to. It was by no means exceptionally big but it was a great venue for this type of event and had more technology devoted to learning than any other community college I’ve ever seen. The hallways literally had museum exhibits devoted to the evolution of the PC. I found a Macintosh exhibit with an Imagewriter printer like I had when I was a kid. They even had an old Altair with basic code on “tape”. From talking to conference organizers this community college is a big supporter of the local community and it sounded like meetings and other events are frequently held there so kudos to them.
Being from rural Nebraska I know that too often these smaller markets get overlooked for national conferences or marketing attention. Talented developers come from all areas of our country
whether urban or rural and Iowa seems to have more than most areas traditionally considered rural. This means its ultimately up to these local developers and other community members to take the initiative to step up and host these things themselves with whatever support and resources they can get. Not only does it take the initiative of the community, but it takes sponsors and other local organizations like the DMACC to recognize the value of community based knowledge sharing and for these organizations to step forward with donations of prizes and money so that the events themselves are possible. The guys in Iowa not only had over 200 attendees (I’m not exactly sure of their final count) but their conference was as well organized as anything I’ve attended (and they obviously learned a bit from our mistakes up here St. Louis ;) Not only was it well organized but it appeared that they had some great and involved sponsors which says a lot for the local community.
I want to tip my hat to the following organizers (and any I forgot but were involved). I realize how much time and work go into an event like this well before and after the day of the event itself (which is actually the easy part). These guys hit a home run and were truly champions for their region. Congrats guys!
Tim Barcz
Javier Lozano
Levi Rosol
Greg Sohl
Chris Missal
Greg Wilson (who proudly hosts his blog on SharePoint :)
Nick Parker
Chris Sutton
Keith Dahlby
(Check out their blogs by clicking on the links above)
As far as my trip, I had a great time at the conference and in Iowa in general and, from the buzz on Twitter and elsewhere, it looks like many others did too. I wish the organizers the best of luck in the future and I hope they can continue to host such an event and learn and grow (and I’ll gladly be back if the opportunity arises).
Thanks again,
-Kevin

Development for Beginners (and Kids)
Saturday, October 31, 2009
I’ve taught a number of classes recently to people who are just getting started as software developers either as a way to change careers and move into our profession or just to people who love computers and want to learn more about how to program. I personally love these types of classes as they differ so much from the standard SharePoint or Silverlight type course where the average student is fairly skilled and the questions and interaction from students is very technical. In an introduction type class, everything moves at a much slower pace and the “theory”, while basic to many of us who have been doing this for a long time, is much more the focus. Simple things like variables, conditional statements, loops, etc are the focus and we get our hands dirty with some simple console applications.
While many of us with a few years of experience in this industry know and love the power available in VS.NET, I frequently get the pleasure of watching the eyes of students during the first night of class when we double click the icon and Visual Studio loads for the first time in all it’s toolbar and dock-window filled glory. It’s definitely an overwhelming experience that is soon coupled with creating a new project and having to decide between VB.NET/C#/WCF/WPF/Windows/Web (Site or application or MVC?)/Workflow (Sequential or state machine?)/Office/Etc/Etc… Obviously VS.NET brings a lot of power to developers of many skill levels but getting started as a developer with all the tools and technologies available today is a bigger undertaking than many people realize.
Also, it is my personal opinion that schools (at any level up to and including colleges) don’t do a good enough job of educating today's developers on the skills they will use every day as part of software development teams at your average enterprise. I do appreciate the theory I learned regarding data structures and compiler writing in college BUT I wish I could have learned more about methodologies and ALM tools such as source control and bug tracking systems. Anyway…I’ll leave that soapbox for another post and get on with the point of this one…
Development for Beginners
Recently Microsoft released a great site chock full of resources for the beginning developer. It’s called the “Beginner Development Learning Center” and can be found here: http://msdn.microsoft.com/en-us/beginner/default.aspx.
The site is a GREAT resource for anyone wanting to get started and is broken into 4 primary sections:
-Web Track – Learn the basics of creating web applications, online applications, and services.
-Windows Track – Learn to build Windows applications and PC games
-Aspiring Pro – Learn about the tools and technologies required in a professional development environment including source control and other ALM tools.
-Kids Corner – A GREAT resource and set of fun projects to introduce kids to software development.
Track Overview
Each of the above tracks is broken into 3 tiers and include a progressive series of lessons focusing on the basic skills necessary to get started as a developer.
Each section includes links to download the necessary tools for working through the lessons (including VS.NET 2008 Express editions). Each section also includes links to additional learning resources outside of this site that students can refer to as they work through the lessons. In addition to external resources, a Tips and Tricks section helps students better learn the tools and technologies they might be using on a specific Track. The lessons themselves vary per topic and include things such as full video, audio/podcasts, full transcripts, supporting projects and other source files, lesson plans, additional resource links, and relevant articles.
The screenshot below provides an example of the Web Development Tier One lessons.
Below is a sample of a lesson on “Event Handlers in Windows Forms”:
I think the organization and material provided on this site is excellent and I highly encourage anyone interested in learning to develop software to consider this a great self-paced starting point to begin to move in that direction. With enough focus to work methodically through the various tiers of content on any track (or all of them) a student would have a very solid foundation on which to begin contributing to larger projects and possible further their career goals.
The site also includes the makings of a community of other beginning developers you
Programming for Kids
The final area of this side I wanted to discuss was the Kid’s Corner section. This site is intended to introduce kids to software development through a series of fun and challenging lessons to which they can relate. For example, some of the web lessons have them developing a web site for a Rock band. Where was this type of lesson when I was a kid? The site includes articles and videos of varying levels of complexity (i.e. Beginner, Intermediate, and Advanced). It also includes links to fun projects and other resources that kids will find interesting.
An example of the types of videos they have created which target kids can be seen below:
Another great thing about the Kid’s Corner is the fact that includes lesson plans and content targeting parents and/or teachers which they can use as part of their own plan for educating children either at home or in our schools.
As a father of 3 daughters (ages 11,10, and 8) my girls are definitely at that age where they have the capability (and interest) to work through much of the content on this site and I’m eager to get them started to see how far they go before dad has to start providing “development and debugging” support.
In closing, I have a few more great training resources I will be blogging about shortly…but, for now, let me know what you think of this resource for beginning developers and PLEASE share it with people you know are trying to get started and could benefit from something like this.
