Full Text Search: The Key to Better Natural Language Queries for NoSQL in Node.js
The PDC is Microsoft's developer-focused conference where Redmond lays out its upcoming products and technologies. This balances out the Microsoft Tech Ed conference, which focuses more on today's technologies.
This year's PDC has been no exception. The following are some of the key technologies that Microsoft unveiled. In some cases, it simply presented additional information on existing announcements.
Windows Vista Screenshot
Microsoft Windows Vista
Microsoft named its next version of the Windows operating system as Windows Vista back in July (it was formerly codenamed "Longhorn"). Although details and an early beta were already available, Microsoft announced a number of additional features as well as the release of the Windows Vista Community Technology Preview (CTP) at the PDC.
Some of the features that might interest developers looking for opportunities include the presentation of the Windows SideBar and SlideShow items. The SideBar items are full-fledged applications that run in the sidebar of Windows Vista and can present real-time information. Examples of SideBar gadgets include a search gadget, a picture side-show gadget, calendaring gadgets, and more.
SideShow applications are a newer concept aimed at leveraging the small screens and additional controls that often reside on the outside of notebook computers and other hardware devices. These hardware additions will allow a SideShow application user to tap into the computer without opening it and without turning on its full power. Such applications may allow the user to grab e-mail without turning on the full computer, play music, or do anything else that developers can imagine.
Applications for both the SideBar and the SideShow offer new opportunities. These are just a couple of the new areas Windows Vista opens. Unfortunately, Windows Vista still isn't expected until the end of 2006.
Some of the numerous other features that Windows Vista will offer include the anti-Phishing features, the changes to Internet Explorer 7, the RSS feed support, the parental controls and security features, the Digital Locker, Network Access Protection (NAP), SuperFetch for using memory effectively, user account protection, reboot management, a new imaging model, and much more. This, however, would be an article in itself.
Office 12 - Access
Microsoft Office "12"
Due to be released at the same time as Windows Vista, Microsoft's other big push is Office "12." The news of Office "12" using an XML file format has been covered in great detail. At the PDC, Microsoft actually demonstrated early versions.
Interestingly, Microsoft notes that 9 out of 10 feature requests it has received for addition to Office already exist within the product. This realization helped Microsoft make a key change to Office "12": focus on discoverymaking it easier to find needed features that already exist. In doing this, Microsoft has revamped the user interface. Most notably, it replaces the menu system with a more context-sensitive toolbar. Instead of simple text descriptions, it uses graphical representations whenever possible. For example, for formatting a table, a menu of items may contain pictures of formatted tables rather than simple text descriptions. Tabbing has also been added to the Office applications to better organize features. Other changes include making it easier to change views and work with documents.
The Language Integrated Query Project
The Language Integration Query (LINQ) Project aims to eliminate the need to use additional languages to access data from a C# or Visual Basic application. Wouldn't it be nice to be able to use the same C# or Visual Basic code to query an object, a relational database table, or even XML? Rather than using SQL, XQuery, and other languages, with LINQ, you'll be able to access all of these using C# or VB.
Anders Hejlsberg summed up the benefits of LINQ best when he said, "What this means is that developers can build data-enabled applications entirely in C# or Visual Basic, without having to switch to SQL or XQuery to write the query portions of the code."
LINQ is a set of extensions to the C# and Visual Basic languages. By extending the languages, the .NET Framework has also been extended to allow for integrated querying of different data sources. The result is you can do queries, set operations, and transforms on data directly from native C# or Visual Basic.
LINQ extensions are not a part of the current C# specification, so they are not a part of Visual Studio 2005. Having said that, Microsoft announced a Tech Preview version that is being released. This tech preview will include a C# compiler with the appropriate extensions, pre-release versions of the class libraries, the core query operators, and the necessary API sets. It will also include language documentation, demos, and a link to where an updated Visual Basic compiler with the extensions can be downloaded.
LINQ will make accessing data much easier. You can expect a number of detailed articles on using LINQ to begin appearing on this and other sites.
Windows Workflow Foundation
Windows Workflow Foundation
Microsoft has put a large effort into workflow. The evidence of this is clear in the additions within Visual Studio Team System. It is also apparent in Windows Workflow Foundation (WWF). WWF is a managed-code framework and a set of designers for Visual Studio 2005 that are aimed at quickly developing Windows-based workflow applications.
This WinFX extension is focused on easing the development of enterprise applications that are impacted by workflow. The WWF provides a general framework that can be used. This framework provides a general set of activitiesthe tasks and items that make up a workflow. These activities can be used with the included rules engine, an engine that supports standard logic control flow (if/else, while...), as well as with Web services and other software. By using standard code, you can define workflow applications. Alternatively, you can use the Workflow Designer.
The end result is that WWF is expected to help make it easier to incorporate workflow (including both automated workflow processes and human workflow) into your applications. You can find more on WWF at http://msdn.microsoft.com/windowsvista/building/workflow/.
Not to be outdone by Macromedia Flash and other tools, Microsoft also introduced Microsoft Expression. The Expression products are considered a set of professional tools for designing and producing rich content that can be used on the Web or with Windows Vista. This product line includes projects codenamed "Acrylic," "Sparkle," and "Quartz."
Aimed primarily at designers, these tools use vector and bitmap graphics, 3D content, rich text, media, animation, interactive, and more. It also integrates created designs seamlessly with the code created by developers via Visual Studio.
"Acrylic" (or more specifically, "Acrylic Graphic Designer") is a painting, illustration, and effects tool for creating graphic designs. Acrylic allows you to create vector-based graphics and more. Styles, properties, and features include blurring, drop shadows, color correction, filtering, live effects, and more. Acrylic will let you use vector-based and pixel-based elements. The CTP of Acrylic can be downloaded from: http://www.microsoft.com/products/expression/en/graphic_designer/ctp/default.asp.
"Sparkle" (more specifically, "Sparkle Interactive Designer") is a user-interface design tool for Windows Presentation Foundation. Sparkle allows you to create user interfaces that take advantage of vectors, pixel images, 3D content, video, text, and animation. Layouts can be made to adapt to the screen resolution and form factor.
The use of XAML allows you to create interfaces that can be easily used in Windows Vista, the Windows Presentation Foundation, and Visual Studio. In fact, Sparkle and Visual Studio share the same project and build system and share XAML as a common file format. (Note that you need the "Cider" designer extensions for Visual Studio.)
"Quartz," or more specifically, "Quartz Web Designer," is a layout and design tool for creating Web sites. You can use Quartz to manipulate positioning, sizing, padding, and more by using CSS. This designer lets you create Web sites that tap into standards such as HTML, XHTML, CSS, and more. Sites built with Quartz should render properly in any browser.
Visual Studio Tools for Applications
Eric Rudder of Microsoft describes Visual Studio Tools for Applications (VSTA) as "the next generation of VBA." VSTA is considered the next step for customizing applications. VSTA provides an interface to customize your applications using .NET programming languages. With VSTA, you can integrate the Visual Studio IDE into your applications.
Also mentioned were server technologies including Windows Server 2003 R2 features and improvements. Active Directory advancements including Active Directory Federation Services (ADFS) were also covered, along with Identity and Access Management for both internal and external collaboration.
Microsoft has been busy and continues to be busy. At the PDC, it presented a ton of upcoming products, platforms, and features. Most of these could have a serious impact on what developers do. Consider the impact of the announcement made five years ago... when Microsoft announced this new thing called .NET.