This week I'm attending Microsoft's Professional Developers Conference, or PDC as they call it. It is safe to say that it has already proven to be better than the last. But then, the last PDC focused on .NET My Services aka "Hailstorm" -- a technology that is relatively missing in action at this point. One thing that is sure, the technologies covered this year will not go by the way side in the same way as .NET My Services.
The focus of this year's PDC has been on technologies coming from Microsoft over the next few years. The focus is centering primarily on the next version of Windows ("Longhorn"), the next version of Visual Studio .NET ("Whidbey"), and the next version of SQL Server ("Yukon"). While I could write pages on each of these, in today's editorial, I wanted to mention four "lower level" areas that have been discussed here. These are areas that you may be less familiar with today, but will most likely become much more intimately familiar with as the above three products -- and most specifically Longhorn -- are released. These are WinFS, Avalon, Indigo, and XAML. While these are names that may change as Longhorn gets closer to release, what they represent will not.
WinFS is the new unified file system and programming model that will be a key part of Longhorn. WinFS allows various kinds of data and information stored on your machine to be associated and categorized. You can associate relationships between information and these associations can be used to access what is stored on your machine. You don't have to continue thinking in terms of folders and files. Rather you can store your items more logically. Put another way, the file system is changing from a more flat-based, hierarchical system to a relational system. Additionally, items that can be related may be word documents, pictures, or other information.
Demos of WinFS centered on searching and displaying information on files. What is impressive is the speed at which searching and filtering can be accomplished. Rather than viewing information based on a file hierarchy, a demo was shown that illustrated that information could be displayed based on other factors such as a contact/person or a topic. Win16 -- > Win32 -- > WinFS -->
As a Win32 developer, you can assume that backward compatibility will still exist as migration to Longhorn happens. To take advantage of Longhorn, however, you should be ready to start using WinFS.
Avalon is the mysterious area of Longhorn that has been held in secret the best. Avalon is the code name for the graphical subsystem of Longhorn. Most notably, this controls the user interface. From what I'm hearing, the presentations being given today are only a fraction of what the final Avalon product will be. What has been presented are a few bells and whistles, plus a lot of examples of using the WinFX file system to view what is on a machine. Granted, these demos are cool, but at what cost in required hardware...?
A number of neat Avalon features have been shown. For example, with Avalon, you can set the transparency of an window. (this is done with the extra two bits in a hex color value). The transparency allowed the background or other windows to be seen.
Also noticeable was the animations and videos that were used to display a window. The coolest feature was when using a scroll bar in a document. When the cursor is on the scroll bar, an icon of the relative page is displayed as you move up and down. When you select a location on the scroll bar, animations within Longhorn can show the icon growing into the actual page. The icons are fully rendered copies of the page. This means that if a page has a video playing on it, then the video will be playing in the icon too.
Background images with movement and shadows were also illustrated. If you are familiar with the Bliss background, then imagine it with moving clouds and shadows from those clouds going across the ground. It was stated that the cost of this animation and transparency on machine performance doesn't get thrown onto the main CPU. Rather, it will be pushed to the graphics chip on your video board so that your main processor can focus on your true 'needs'.
Indigo is best thought of as a communications portion of Longhorn that is built around Web services. This communications technology focuses on providing spanning transports, security, messaging patterns, encoding, networking and hosting, and more.
Yes, yet another markup language. XAML is a markup language for Avalon. You'll be able to use XAML to create descriptions of the user interface for your .NET applications. Jim Alchin of Microsoft Defined XAML as a declarative programming language for Windows. XAML allows the design of a Windows application to be separated from the programming, thus trying to put the application design into the hands of designers.
XAML looks like any other XML for the most part. There are attributes for placing and describing controls, text and other standard interface features. You can associate ids and events to your items and use or manipulate them all from your code. Overall, it is a much cleaner approach to separating the interface of an application from the business or core logic.
In Conclusion...For Now
These are just four areas that have been presented at the PDC. Also presented have been new features and functionality in the next version of Visual Studio .NET and of SQL Server. You'll find that there are articles on Developer.com and CodeGuru that cover some of the new features in these products. Let me forewarn you though, these articles -- just like this one -- barely scratch the surface of the new stuff that is coming! Bill Gates said that Microsoft has released more products this year than ever before in Microsoft's history. I'd argue that even with that, the biggest changes are yet to come.