In this issue of MSDN Magazine, we will take a more focused look at the state of Web development. This is actually a pretty relevant topic for me at the moment as I’ve been in and out of meetings for the last month where we are trying to define and come to consensus around what MSDN (not just the magazine) should be and how it should evolve. As such, I want to give you my perspective as a content publisher on how the problem domain of the Web has evolved and how Web applications are going to need to evolve to solve them.
It’s interesting to see how some of the fundamental problems related to content and the Web have really swung from one end of the pendulum to the other – and in a pretty short period of time. It was relatively recent where making content available on the Web was the major challenge. Evolution happened quickly, however – and hand written HTML was replaced by WYSIWYG editors, and then the whole editing environment was supplanted entirely by blogs and wikis. The problem of publishing effectively disappeared. Anyone with an idea and an Internet connection could publish content for all to consume.
Before the novelty of this newly democratized world of content could sink in, the core problem shifted from making content available to finding the right content. Enter the rise of the search engines. Now I’ve got no problem with search – I use search as a regular part of doing business. For example, have you ever submitted an article idea and received a response similar to “there’s already a sufficient amount of coverage on this topic”? You can blame your search engine for that. For all of its effectiveness in finding content, however, I think that search has effectively enabled folks in the content business to gloss over some more fundamental problems in our approach to publishing and managing content on the Web – particularly with respect to information architecture. As I look over all of content that can be found today on MSDN, I am overwhelmed at both the sheer volume of content and the lack of cohesion among the various content elements. I’m also bothered by the fact that I can search for MSDN Magazine articles on WCF and be presented with an article that was based on an early CTP of Indigo. I’m not suggesting that such an article should be outright pulled down – there may be value in the conceptual explanations. However, there should absolutely be more attention given to lifetime management policy.
So why am I bringing up issues of content management? For one, it’s a domain that I’m pretty familiar with. More importantly, however, I think it highlights where the problems are now shifting on the Web. For example, we’ve solved the problem of publishing and we have decent a solution for finding content. The next major evolution will be, I believe, in composing experiences that bring together lots of disparate elements into a single context. This means thinking about how to break apart various application and content silos such that combination of content and application services can be put together into any context, as decided by the user. For me, this means that if my intent – my context – is to read an article about WCF, I shouldn’t have to stop what I’m doing so that I can navigate to a different Web application if I have a question to post, only to later rely on the back button to return to the article. I should be able to construct a single context consisting of a content item and a forums application service.
Getting to this next step is going to require some work, both in refactoring to break application silos into services and in learning to think of Web applications as compositions. I’m therefore excited to see articles like Shawn Wildermuth’s article on composite Silverlight applications (Page 35) and Aaron Skonnard’s article on REST and the ASP.NET MVC framework (Page 48). Finally, for more on refactoring Web applications, check James Kovacs’ series on brownfield development, aptly titled “Extreme ASP.NET Makeover”, at msdn.microsoft.com/magazine .
Viva la evolution!