As a Microsoft MVP I get a unique opportunity to help the wider development community learn about Microsoft technologies, and to take community feedback and influence the development of Microsoft products.
As part of that programme I was invited recently to Microsoft’s campus in Redmond to the MVP Summit.
While the award recognises personal involvement outside of paid employment, the information shared through the MVP programme allows me to learn about new Microsoft technologies in advance of their release, and to bring that information into the planning process here at Xero.
In Redmond last week, Microsoft showcased some upcoming products which interest us at Xero. The next release of their server operating system is code-named Longhorn Server, and is due for release later this year. WPF/E, the code-name for the browser hosted version of Microsoft’s Windows Presentation Foundation, will allow content-rich applications to run on both Windows and Macintosh platforms. The LINQ enhancements to the programming languages C# and Visual Basic.NET allow data queries and manipulation to be integrated directly into the programming code that uses them.
The DinnerNow.net website hosts a sample application showcasing many of these new technologies, and contains a video demonstrating the technologies working together.
Microsoft has put a lot of energy into making Longhorn Server their most secure and robust server product to date, and has released new versions of many products bundled within Longhorn.
Most applicable to Xero will be the inclusion of Internet Information Server 7 (IIS7), which is the new release of Microsoft’s web server. IIS7 is a rebuild of the webserver architecture, moving from a monolithic to a componentised architecture that integrates much more closely with ASP.NET and allows customisation of all parts of the web request processing pipeline. IIS7 also improves the configuration and deployment of websites, moving to an XML-based configuration system, and bringing improvements to the deployment experience in webfarm scenarios.
Longhorn Server provides new scripting and management technologies, including Windows PowerShell, which is a new command line shell and scripting language that is dear to my heart, that I presented at TechEd 2006 in New Zealand, and at the Wellington .NET User Group.
Here at Xero, we see the advances in Windows Server technologies as incremental improvements on our deployment and hosting experience. Longhorn Server will simplify some of the development, deployment and management tasks associated with providing a Software as a Service offering.
One of the features of Xero that users first notice is our report driven interface, which includes charts and other visual elements to deliver rich business information (see Grant Robinson’s recent post). Our charts are built using Adobe Flash, and render XML data.
Microsoft’s WPF/E is at the simplest level a competitor to Flash, although it allows richer integration with other Microsoft technologies and development environments. WPF/E will run on Windows and Macintosh browsers, and will be a small plugin download, like Flash is today.
I think that we will see WPF/E adopted first by rich media websites, such asYouTube, but as a developer, I can see the benefits in a wider adoption.
The LINQ project provides rich enhancements to the .NET framework and the programming languages C# and Visual Basic.NET, which allow database, XML and object querying and interaction to become a first-class citizen of the programming language.
Once LINQ is released, it will allow developers to program more efficiently, as there will be less of a context-switch when moving between layers of their application, and because data operations are declared declaratively, the runtime will be able to make optimizations on behalf of the developer to speed up execution.
Xero is developed using innovative technologies under the hood, so the software developers here are always looking to new technologies to increase the efficiency of our development, speed up our release cycle, and increase the robustness of our applications.
Upcoming Microsoft technologies evolve the existing application development approaches that we use, which gives us a chance to pick those technologies that may improve efficiencies, and track their process during development.