I Want to Believe
When I was in college, one of my favorite television shows was "The X-Files." One of the show's visual landmarks was a poster hanging behind the desk of agent Fox Mulder. It featured a rendering of an alien spacecraft accompanied by the text "I Want to Believe." This simple declaration served to define the character of the man who hung the poster and was a major theme of the show.
In many ways, this statement describes my feelings about Office Business Applications (OBA). I absolutely buy into the vision. It makes too much sense to not buy in. I mean, why would you not want your application to seamlessly integrate into a user experience that is already familiar? Why spend inordinate amounts of energy configuring and extending a grid control so that it can still have just a fraction of the power of Excel? And yet so many individuals in today's developer community completely ignore Office as a viable application platform. As always, I have a few theories as to why.
First, there's the fact that Office client applications don't have the luxury of an API written from the ground up in the Microsoft .NET Framework. Many, if not all, of the client application APIs began as procedural C programs. Over the years, these APIs have been encapsulated by multiple wrapping layers of technology. The latest version of Visual Studio Tools for Office (VSTO) takes great strides toward aligning the Office development paradigm with how programmers using .NET are used to thinking about application development. Even so, there are still aspects that remind you of exactly what lurks just beneath the latest friendly, top-level wrapper.
Second, the OBA development world still needs some best practices that relate to process maturity. I'm referring to practices like testing, deploying, and lifecycle management. With specific regard to testing, I have not yet found a good way to unit test an Office customization. That said, with regard to deployment, I am elated that support for click-once deployment of customizations was added to the latest release of VSTO. Again, a huge step forward.
Finally, there are a lot of very different technologies that fall under the OBA umbrella—client technologies such as VSTO, server technologies such as SharePoint, and peer-to-peer technologies such as Groove. As a developer, it's hard to know where to jump in. If I want to build collaboration into my system, do I build on top of SharePoint or Groove? And many of these technologies challenge what we even consider to be development. If you can create a feature-rich SharePoint site without even opening Visual Studio, does that mean that you're not developing?
The release of the 2007 Office system offers huge steps forward in the capabilities offered to OBA developers, from the client to the server. And we will see the development experience continue to mature, best practices emerge, and product integration continue to become more seamless. Like I said, I want to believe. It just makes too much sense. After learning VSTO, it's amazing to look back and see how many UIs I have written needlessly in the past.
On another note, I want to tell you about another recent and very exciting event that has transpired recently. MSDN Magazine is now a part of the Microsoft Developer Division. This is absolutely fantastic news, as it means we will now be even more closely aligned with the product teams. To celebrate this new alignment, we're now adding special "Insights" sidebars to certain articles. These sidebars give the various product teams a voice to provide interesting behind-the-scenes explanations. Go to John Papa's Data Points column in this issue for the very first "Insights" sidebar. We hope you enjoy this new feature!
Thanks to the following Microsoft technical experts for their help with this issue: Sarita Bafna, John Boylan, Bill Chiles, Barak Cohen, Ale Contenti, Bill Dunlap, John Durant, Bill Essary, Elisa Flasko, Matt Gibbs, Gordon Hogenson, Stephan T. Lavavej, Bertrand Le Roy, Bradley Millington, Laurence Moroney, Keith Pijanowski, Dave Reed, Mark Rideout, Paul Stubbs, Diego Vega, Mike Volodarsky, and Doug Walter.