Vista Launch: The impact of Vista and Office on developers

The arrival of a new version of Windows and a redesigned Office, a host of new underlying technologies, not to mention new interfaces will have huge implications for developers of applications, web sites and processes.

Talking on this subject, Ian Moulster, Developer Platform Evangelist at Microsoft, first highlighted a strong attendance at the official UK 'developer launch' of the software, held earlier this month at Microsoft's UK headquarters in Reading (see here for online resources from the event).

The main point he made concerned rapid development, an important issue when development teams are squeezed and software lifecycles shortened. 'Windows Vista lets developers build a new generation of applications,' he claimed, highlighting a recent project from the London Underground featuring a rich media interface which was built in three weeks buy a small team of four developers.

Getting down into more detail, developers will be using version 3 of the Microsoft .Net framework (as opposed to version 2 featured with Visual Studio 2005, Microsoft's flagship development suite). Moulster highlighted four main elements to the framework: support for Web services (the so called WS-* specifications), the Windows Presentation Foundation (WPF), the Windows Workflow Engine and Card Space (formerly known as InfoCard).

As is usual with Vista, the first item to get attention was the user interface, which in this context means the WPF and its support for a richer GUI.

Also, one of the historic strengths of Windows development has been adherence to Windows Interface Guidelines - the standardised way of presenting information within Windows (the button options within dialogue boxes, menu layout conventions, etc) that makes it easier for a user to drive an unfamiliar application. With its new and tweaked interface elements, Vista will require developers to make appropriate coding changes for standard interface elements. An app that is simply ported from XP will look out of place, pointed out Moulster.

You can find details of the updated guidelines on MSDN.

An important element within the WPF, he said, is XAML (extensible application markup language), which enables you to represent the whole of a UI in XML - via Expression Blend - which other tools within Visual Studio can make use of. This can obviously speed development times and aid rapid prototyping by ensuring that a suitable constructed interface will have all the appropriate coding functions hooked in behind. 'Designers and developers will be working together in much more interactive ways than in the past,' said Moulster.

But at this point we hit the long-standing issue of Windows development - the extent to which one must buy into the whole Microsoft product portfolio to make use of the incremental advances. While the XML produced by XAML could, in theory, be used in conjunction with any system, you would need the .Net framework to take greatest advantage of it, which in turn inevitably leads you towards the stalwarts of Visual Studio: the C# and Visual Basic.Net 'managed code' languages.

Note that you can still use unmanaged code - such as traditional C or C++ languages - to develop WPF applications. You could call .NET code from such languages in order to get the interface rendered, pointed out Moulster. 'So while you should expect to write managed code to make the full use of the Windows Presentation Foundation you could certainly call that code from unmanaged code,' he said.

When it comes XBAPs (XAML browser applications), which use WPF running in Internet Explorer, you are tied into IE6 or 7. What Microsoft has rather cleverly done is to use WPF as the same technology for both native Windows interfaces and Web browser interfaces. What this does is make it easier to integrate IE into the application stack. When the desktop extends out to the Internet, a common metaphor for the development of Windows and integrated search, developers will inevitably be lead towards Internet Explorer - Mozilla or Opera will not be equivalent options for end users at all.

Getting away from the interface, Moulster gave other instances of the impact of Vista on development issues, for example, digital identity management through the use of Card Space. Not forgetting security and the impact of User Account Controls, in particular.

Finally, Moulster noted that developers should not need admin rights for development purposes alone with Vista, reducing conflicts over user privileges for the resulting applications.