RealTime IT News

New Avalon Insights From Microsoft

Microsoft is providing its most detailed glimpse to date of features in "Avalon," the media-presentation technology component of its next-generation Longhorn operating system.

The new information arrives as Microsoft prepares to roll out an updated beta release next week of its "Whidbey" Visual Studio 2005 toolset, which will serve as the development environment for creating Avalon and Longhorn-based applications.

Microsoft first previewed its plans for Avalon last fall at its Professional Developers Conference in Los Angeles. As a container for Longhorn's media technologies, Avalon is positioned as a new graphics subsystem that serves as a foundation for Longhorn's shell. Avalon will also come with a full set of the user interface components for Longhorn.

The latest peek inside Avalon was released in an article, "Recommendations for Windows Forms and Longhorn," written by Microsoft developer Karsten Januszewski.

Perhaps the most significant new feature is XAML , the declarative markup language aimed at Web services that will appear in Avalon.

According to Januszewski, programmers will be able to use XAML to design the user interfaces for their applications. "XAML provides a high-level syntax that can invoke the .NET Framework and also enables designers to create the front end of an application," he wrote. "Developers can then use a procedural .NET Framework language, such as C# or Visual Basic, to write code that performs the business logic of the application."

Januszewski continued: "Because XAML is a generic mechanism for describing managed objects, it can be used to describe an Avalon application user interface, a Windows Forms application UI, or a page that mixes both Avalon and Windows Forms controls. This means that, on Longhorn, you will be able to build Windows Forms and Avalon applications using XAML."

Two other key features--involving navigation and "composability"--come into play in Avalon, according to Microsoft.

For navigation, Avalon uses an application model that has built-in navigational capabilities allowing developers to easily move between pages within an application. "This navigational framework is central to the Avalon application model, which combines the power of the client with the familiar metaphors of browsing that are common to the Internet," Januszewski wrote.

The second feature, called composability, means that new Windows Forms can be constructed by combining old ones. "One of the key differences between the Avalon and Windows Forms programming models is the notion of composability that exists solely in Avalon," Januszewski explained.

"Both Windows Forms and Avalon allow you to build controls out of other controls. However, there are limits on the number of controls that can be used at one time in Windows Forms. In addition, there are limits in Windows Forms on the depth of the control tree.

"Avalon overcomes these limitations and makes creating new controls simpler through the composition of existing controls. Consequently, applications that require a high degree of customized controls will find the Avalon programming model compelling and efficient for development."

Microsoft is also folding some Avalon-friendly features into Whidbey, the next-generation version of the Visual Studio development environment rolling out in an updated beta-preview version next week. (As first reported by internetnews.com, Whidbey will be equipped with a vastly improved implementation of the .NET Compact Framework -- Microsoft's tool for building apps that run on smart devices such as Pocket PCs and Smartphones.)

According to Januszewski's article: "The next version of Microsoft Visual Studio, code-named Whidbey, contains a number of improvements that apply to both Windows Forms and to Avalon. These include new configuration APIs , better ways of deploying applications, [and] an improved security model."

The new Whidbey APIs extend the configuration model in Windows Forms to allow programmers to set their configurations in a nested, hierarchical manner similar to the way it's done in ASP.NET. To deploy apps, Whidbey will use a "click once" feature.

In terms of improved security, both Whidbey and Longhorn will use the notion of "restricted permission" to limit where an app can run. This is intended to enforce what Microsoft calls "code security." Longhorn itself will use what Microsoft calls a Secure Execution Environment, or SEE. "The SEE is a natural progression of the work begun in the .Net Framework 1.0 to advance trustworthy computing," Januszewski wrote. "In Longhorn, users will be able to run applications on their local machine knowing that they have limited access to sensitive local resources."

Along with the technical article, Microsoft is making available downloadable code samples to demonstrate how to program Avalon. The snippets include a demo of how to create a Window Forms user interface using XML.

A Microsoft spokesman told internetnews.com that a first beta of Longhorn will ship in the second half of 2004. "The final release will ship when we've incorporated customer and partner feedback from the beta process, and the code meets the quality standards our customers require," he said. Within the industry, it's widely assumed that the first production release of the operating system won't be ready until 2006 at the earliest.

The Microsoft spokesman said Avalon is on the same release schedule as Longhorn.