Let me tell a little story. Once upon a time (read: 2002-2003) while I was a senior in college I had to do an Advanced Project Laboratory, or, as the rest of the world refers to them, a senior design project. Somehow, I came upon the bright idea of porting a 12,000 LOC Turbo C application for DOS to a managed code environment and wrapping a C#/ASP.Net web application around that nastiness.
The 12,000 line C application had been doing quite well, thank you very much, on its own as a scary throwback to a time when men were men and Wordstar ruled all. Then three of my Computer Science buddies and I came along thinking we knew something about UI Design and HCI. Naturally, we needed to prove that we were just as tough as this application and its Entomology professorship-holding creator, Dr. Richard C. Axtell.
FMS, Dr. Axtell's creation, did some crazy stuff that didn't necessarily play nicely in the land of Visual Studio 2003 and C++/Managed Extensions. It threw out notions like arrays starting with index 0. It's a testament to the amount and quality of work done by the C++ team here in DevDiv that we could get this to work through the IJW feature-set. Nevertheless, I and my partners in crime stayed the course, and were able to develop a fairly cogent, interactive Web application around the batch-processing FMS application. Our web application received its appropriate grade, and then disappeared. You can actually still download it and its source code, but I won't provide a link at this moment.
Anyway, I made a promise to myself after finishing the project that I would never again work on a decent-sized web application; “Only rich client apps for me,” I boldly declared to any who would listen. Hah, like that worked out...
For the past few months I have been working on the Whidbey UI Design and Implementation Guidelines. This is a large corpus of information that grows larger with every passing day. Initially, this was a document composed entirely in Word. Unfortunately, Word wasn't the most suitable tool for exactly what we wanted to do. Realistically speaking, we needed a very lightweight content management system that could store this information, spit it back in a variety of formats, allow a potentially large and diverse team to work on content, and be extremely easy to add content to. So I built it in C# and ASP.Net even after I had said never again. To be perfectly honest, It's been a great experience. I had forgotten how easy it was to build web apps in Visual Studio. The application does most everything our designers need it to do today, and it's just continuing to get better.
We want to make sure that every team building functionality into Visual Studio uses a consistent user interface. We're not perfect yet, but we're getting better. Creating a consistent user experience across all of Visual Studio is a daunting process, but we're going to get there. I'll be posting more tips here over time, but I thought that everyone deserved to know what we're doing in Whidbey to make developing Windows applications a more enjoyable experience. Cheers :-).