Microsoft has been talking about XNA for awhile but it appears that some of the technology is actually making it into the public view.
Microsoft used to promote XNA with a couple of videos and a pitch about how Bill Gates had re-written an 80's Basic game to use XNA. Now they are putting more emphasis on showing how this works in Visual Studio.
They were at GDC in 2004 and in 2005. There on-line version of the DVD from this year's Game Developer's Conference that includes a of mix links to old and new content on XNA.
The updated XNA overview is pretty interesting and the new XNA build tutorial finally gives us a look at how XNA is used within Visual Studio.
XNA has a couple of pitch-points.
- First, it is a technology intended to support cross-platform development across the PC and the XBox. While that is obviously attractive to game developers, other application developers may be interested in this as well. Microsoft has been very careful to manage the XBox so that it doesn't eat into their lucrative PC market. When I investigated using the XBox a couple of years ago for an application I was designing, I got a stern "no" from Redmond with the suggestion to return to the PC platform. But times they are a changing and it is clear that the XBox is becoming a platform for more than just games and more of a computing console.
- Second, XNA tools expand the Visual Studio development environment into new types of development. Microsoft Game Studios probably has been using these tools for their in-house development and the Microsoft executives probably figured out this would not only be tools they could sell but a mechanism to keep (or draw) more people to the XBox/PC platform and away from PlayStation etc....as well as bring this technology to the benefits of their mainstream application development market segments.
Personally, I find XNA interesting not so much because of the games and the cross-platform PC/XBox support but because it is suggestive of the technology that will be used in more mainstream products, even business products, within a couple of years. I can remember when fonts and color printing were niche technologies but now everyone uses fonts and color printers are commonplace. Once electronic communcation (email, web pages, etc.) was new and unusual as well but in the past 10 years it has transformed almost every business.
XNA shares with the WinFX/Avalon components of Windows Vista not just the use of XML documents but a declarative programming model that is very different from writing procedures or classes. As this model become increasingly mainstream (whether or not Microsoft technologies dominate), this will have a big impact on how professional software developers plan, design, build, test, deploy and maintain systems.
XNA also shares with Avalon, DirectX and other technologies support for visual metaphors that are also becoming increasingly mainstream. The windows metaphors of Microsoft, Apple, Motif, and others were once niche technologies when "serious" applications still used 80x25 character screens. In recent years shading, transparency, and luminescence have been the specialty technologies while "serious" applications stick to the windows, icon, menu, pull-down metaphors. The use of transparency etc. in an increasing number of applications (the TV guide on my TIVO, Outlook pop-ups, etc.) gives us a heads-up to the visual metaphors mainstream business application users will come to expect and use.
As a long-time developer, I also find it interesting and exciting that Microsoft is taking the Visual Studio product into new territory. It has long been a popular coding tool, the dominant one for programming in Windows, but Microsoft is making several efforts to move beyond the text of traditional coding. Their Visual Studio Team System moves the product into more of the application lifecycle than just the coding. The Windows WorkFlow Foundation moves the product into more of a visual coding model. Finally, the XNA build tools move the tool into new asset classes and into a different set of software products.