|
|
Back to the PDC Show Daily Home
Inside Longhorn: The Details
Microsoft divided its presentation of Longhorn into three basic aspects: presentation (code-named Avalon), data (code-named WinFS), and communication (code-named Indigo).
by Don Kiely
PDC, October 28, 2003
User interfaces today are targeted at different platform and device technologies, such as Windows or Web forms-based applications. You can create a multi-tier application that allows client code of any type to access the middle and data tiers, but you have to write different client code for each version of the interface. Longhorn's presentation services, code-named Avalon, is the first step in unifying all client code technologies, providing a brand new way of defining a user interface in Longhorn. It is a unified presentation model for Windows apps, Web apps, graphical apps, and apps that run on various devices. It also has rich support for advanced input devices, such as a TV remote control, virtual ink, and various smart devices. Microsoft is again raising the level of abstraction that Windows makes over the hardware.
Avalon defines UI elements using XML and the integrated, vector-based graphics composing technology in Longhorn. This provides a clear separation of coding from content, conceptually similar to how today's ASP.NET code in a code-behind file can be completely separate from a page's HTML presentation. It's a form of declarative programming, with UI objects defined in an XML file that uses a new syntax called XAML (Transaction Authority Markup Language). XAML is sort of like SVG, a W3C standard for displaying rich vector graphics. Microsoft is moving away from bitmaps because vector objects easily and cleanly scale in size, and you can add cool effects that rotate entire sets of controls to any angle while retaining their crisp appearance. In fact, one of the coding demos during the keynote kept the entire contents of a form at an angle with a video forming the background. It was annoying to look at for long, but a fine demonstration of Longhorn and XAML's capabilities.
XAML has the usual benefits of XML: you can create it using a variety of tools, many applications know how to consume it, and so on. A designer can create the XAML code for the appearance of an application; a developer can then write the code-behind the visual design in ways that work. Like ASP.NET, XAML means that the definition of a single window's appearance and behaviors could be contained in multiple files, combining the output of different people on the development team. It remains to be seen how easy it will be to coordinate simultaneous development paths like this.
The close integration between Longhorn and the .NET Framework means you can use any CLR-compliant languageany .NET languageinstead of XAML to generate the objects. So you can still keep application logic and content all together in your code if you prefer to do that.
Longhorn extends the RGB color settings in Windows, such as #FF00FF, by adding a leading setting for opacity to make the setting something like #50FF00FF. When you see the Longhorn UI, you'll see that there are lots of panels that let underlying windows show through. I don't like this feature in existing versions of Windows, mostly because using it with individual objects and windows generally doesn't add any additional functionality and usually doesn't make the UI any more attractive. But designing the entire Windows UI so it is transparent works, at least in the demos shown so far at PDC.
Back to top
|
|