Turn off the Ad Banner  

To print: Select File and then Print from your browser's menu.

This story was printed from CdrInfo.com,
located at http://www.cdrinfo.com.

Appeared on: Friday, August 19, 2005
Windows Vista Public Beta 1 - Part 1

1. Introduction

A couple of years after the first releases of Windows Longhorn, Microsoft has released Windows Vista public Beta 1 (codename Longhorn). A few months later microsoft will also deliver beta 2 and finally, the final release of Windows Vista is scheduled in the year 2006. Microsoft promises us that this new operating system will deliver a new, powerful security system, reliability and performance improvements.

More specifically, Amy Stephan, a senior product manager with the Windows client unit has stated that Windows Vista will:

  • launch applications 15% faster than Windows XP does
  • boot PCs 50% faster than they boot currently and will allow PCs to resume from standby in two seconds
  • allow users to patch systems with 50% fewer reboots required (we hope so)
  • reduce the number of system images required by 50%
  • enable companies to migrate users 75% faster than they can with existing versions of Windows.

Stephan also said that "Microsoft's goal is to allow administrators to install Longhorn on new systems in 15 minutes".

We tested the Beta version for you, in order to find out if Microsoft's promises are going to become reality. Let's take look, starting with the technical improvements. This review will be updated soon, to include screenshots of visual improvements as well as other pertinent information.


2. Technical Improvements - Visual Technologies

In this first part, I will introduce some technical information as is has been given by Microsoft. For the visual changes (screenshots, etc) please wait for an update of this review soon. (It will be available in the Visual Improvements section). So let's start with the technical information.

According to Microsoft, Windows Vista will provide more visual effects to users in order to satisfy their needs (animation, transitions, fades, all in a glitch-free environment). Windows Vista introduces a series of new visual effects such as AERO, Microsoft Windows Presentation Foundation, formerly code named "Avalon" and Extensible Application Markup Language (XAML) technologies with the help of Windows Graphics Foundation 2.0 (WGF), also known as Direct3D10.

New Graphics Driver Model: Windows Vista introduces a new graphics driver model. This is used to enable constant use of the graphics processor unit (GPU) for the rich graphics used by the operating system and the applications. The GPU memory manager and scheduler in this driver model also enables multiple graphics applications to use the GPU to run simultaneously.

AERO (Authentic, Energetic, Reflective, Open ): AERO is the user experience guidelines for Windows Vista, governing the look and feel of the operating system. These guidelines express not just the way the pixels are drawn, but how the user interacts with the system and the feelings it should evoke.

For 90 percent of all applications, looking like an AERO application means developers need to just do a few things:

  • Do not hard code any colors. All colors should be based on system or theme metrics and use comctl32.dll v6. This will give developers the latest look and feel for their buttons, text boxes, and so on.
  • Use theme painting APIs if they want to owner-draw any elements that look like standard system elements.
  • Use the correct color, layout, and writing styles. This matters when trying to make a positive experience.
  • Use AERO Wizard (the framework on which all new wizards should be built) and Task Dialog (the next generation of error messages and prompts).

Vista users are going to love transparency effects

AERO themes and AERO Wizard framework: In addition to the new driver model, Windows Vista developers will also be able to easily apply AERO themes to their applications and common controls. By using the AERO themes, application developers can use the new look of Windows Vista within their application. The design and functionality of applications that use these themes will appear to be an extension of Windows Vista.

Windows Vista will also support the AERO Wizard framework, thereby extending the AERO themes. The AERO Wizard framework gives native application developers the ability to use the AERO style in their dialog boxes. One of the benefits of the Wizard framework is that it automatically adjusts the font style, font color, font size, and control visual to the appearance dictated by the user's theme. If developers want to use other features of the AERO Wizard framework without the new theme support, the "Classic" or Microsoft Windows 2000 Server look is still available. In addition to adjusting the visual appearance, the AERO Wizard framework enables developers' pages to adjust to the size of the property sheet on a page-by-page basis. While enabling users to resize any page, the automatic adjustment will help optimize the "Size to Content" ratio for the developer. The AERO Wizard framework will also enable developers to rename or hide command buttons in the wizard. For example, if a developer is creating a wizard to enable file sharing, one of the buttons in the wizard might be renamed "Share File" instead of the standard "Next". Lastly, the AERO Wizard framework supports the ability to brand the wizard with a company logo by supplying a background bitmap to be easily positioned on each of the wizard screens.

Task Dialogs : In Windows Vista, task dialogs will replace the message box or most other instances of a single-step prompt or error message. Task dialogs are a dramatic upgrade in the visual appearance and functionality of the error message experience, adding such features as the main instruction and supporting text and links. The API for the Task dialog is primarily a replacement of the existing message box, although it adds support for features such as hyperlinks and customizable button labels and icons.

Copying files on Windows Vista

Windows Presentation Foundation: Windows Presentation Foundation is Microsoft's unified presentation subsystem for Windows and is exposed through WinFX, Windows Vista's managed-code programming model that extends the Microsoft .NET Framework. Windows Presentation Foundation consists of a display engine that takes full advantage of modern graphics hardware and an extensible set of managed classes that developers can use to create rich, visually stunning applications. Windows Presentation Foundation also introduces XAML, which enables developers to use an XML-based model to declaratively manipulate the object model.

In Windows Vista, WinFX supports an API that enables developers to host Windows Forms controls and forms in a Windows Presentation Foundation application, and vice versa. When a developer creates an application in Windows Presentation Foundation, most of the code is written and implemented in XAML. XAML is faster, easier to implement, and easier to localize, making it a better choice than the equivalent procedural code. With XAML, there is no performance penalty because XAML is an XML-based representation of the object model.

Windows Presentation Foundation Architecture

Windows Presentation Foundation itself consists of two main parts: the engine and the programming framework.

  • Windows Presentation Foundation engine. The Windows Presentation Foundation engine unifies the way developers and designers experience documents, media, and UI, providing a single runtime for browser-based experiences, forms-based applications, graphics, video, audio and documents. Windows Presentation Foundation is built on top of Microsoft DirectX(r), which enables it to unleash the full power of the graphics hardware present in modern computers and is engineered to exploit advances in hardware moving forward. For example, Windows Presentation Foundation's vector-based rendering engine enables applications to scale to take advantage of high-dpi monitors without requiring extra work on the part of the developer or user. Similarly, when Windows Presentation Foundation detects a video card that supports hardware acceleration, it takes advantage of it.
  • Windows Presentation Foundation framework. The Windows Presentation Foundation framework delivers solutions for media, UI design, and documents that go well beyond what developers have today. Windows Presentation Foundation is designed for extensibility, enabling developers to create their own controls on top of the Windows Presentation Foundation engine from scratch or by subclassing existing Windows Presentation Foundation controls. Central to the Windows Presentation Foundation framework are controls for shapes, documents, images, video, animation, 3-D and "panels" in which to place controls and content. These "primitives" provide the building blocks for developing next generation user experiences.

XAML Programming : XAML is an XML-based markup language that can be used to declaratively program the Windows Presentation Foundation object model. It is especially useful for implementing your application's UI. Each XAML tag corresponds to an object model class. A tag also usually has a collection of attributes that corresponds to the properties of the tag's associated class. At compile time, the parser converts the XAML into a partial class that contains equivalent procedural code. Each XAML tag becomes an instance of the corresponding object model class, and the tag's attribute values are assigned to the corresponding object properties. Then the partial class that is created from the parsed XAML is combined with the page's code-behind file by the common language runtime compiler to create an object for the page.

Source: Microsoft

3. Technical Improvements - Security Improvements

User Account Protection (UAP) : Windows Vista changes the traditional Windows privilege model to help prevent users from running programs that attempt to perform operations that the user doesn't really intend or authorize. To that end, User Account Protection (formerly called Least-privileged User Account, or LUA) enables users to run at low privilege most of the time, while being able to easily run applications requiring more privilege as necessary. There are two key things to consider when building applications to make use of User Account Protection (UAP): the privilege specification model and the standard UAP execution model.

Privilege Specification Model : UAP extends the access token system already in use for managing Windows logons with a new token mechanism that supplies each administrator logon with two security tokens, a UAP token and a full admin token.

Access tokens contain a logon session's security information, identifying a user and their groups and privileges. The operating system uses the token to control access to securable objects and controls the ability of the user to perform various system-related operations on the local computer. UAP tokens are a special kind of access token that define the minimum privileges needed to run-the default interactive logon privileges of a Windows Vista user on a system with UAP support enabled. The second, full admin token has the maximum privileges authorized for the admin account.

UAP Execution Model : Beyond tokens, the basic execution model for running applications under UAP uses existing process-creation functions (ShellExecute to call CreateProcess) augmented by UAP. There are four parts to the UAP execution model:
  1. The Application Information Service (AIS) is a system service that launches applications requiring elevated privileges by first obtaining user consent (through the Consent User Interface) for privilege elevation, and then creating a new process for the application with the user's full token.
  2. The Consent User Interface is launched by the AIS and runs with system privilege to get consent or credentials from the user in order to launch the application with a full token.
  3. Requested Execution Level is a characteristic of an application that indicates which token (UAP or full) to use when it is launched. The system determines an application's Requested Execution Level by reading requestedExecutionLevel from the application's manifest, querying the Windows Vista AppCompat database entry, or by using the Windows Vista installer detection technology.
  4. The AppCompat database supplied with Windows Vista contains information about the most common legacy applications that require privilege elevation.

Here's an example of the control flow of running an application under UAP:

Building UAP-Compliant Applications : Developers using Visual Studio tools can analyze their code for UAP compliance by using the AppVerifier tool. Both ClickOnce and the Windows Vista version of MSI (Windows Installer) technology are fully UAP compliant, and all application developers should try to make use of these technologies when working with installers.

Keep in mind that UAP compliance is all about least privilege. If your application runs properly under a nonadministrative account in Windows XP or Windows Server 2003, you won't run into any problems on Windows Vista.

To ensure that your application runs properly under Windows Vista, you should test your application as a USER.

For an application that provides different functions depending on whether the user is an Administrator or USER, there will be a way to allow for variable access to the application's administrative features.

The Security Configuration Wizard : Windows Vista enables developers to create roles-based extensions for the Security Configuration Wizard (SCW) so they can ship a Security Configuration Wizard extension with their server software, enabling customers to protect their servers while still allowing the third-party software to function properly. This allows developers to author new roles-based extensions for SCW such that auto-generated security policies can lock down system functionality based on the server role (services, ports, functionality).

Network Access Protection Framework: To ensure the health and security of a network, particularly one supporting roaming computing and the attachment of portable devices, Windows Vista provides the Network Access Protection (NAP) framework. NAP enables system administrators to define and enforce policies that require network clients to establish their trustworthiness and compatibility with the network before being given a specified access. Client systems are either given full access or placed in a restricted subsection of the network, where they have only limited access.

Click to enlarge
Mapping a network drive is easier that before

Developers should use API-level access to NAP and the Windows Filtering Platform (WFP) to reduce user and administrator security workloads by:

Network access client software and network access servers, which participate in the NAP, ensure that only healthy systems log on to the network. Unhealthy systems are put on a restricted VLAN for remediation so they can get on to the network.

Source: Microsoft

4. Technical Improvements - Reliability Application Features

A reliable application is one that behaves exactly as its user expects it to behave. Windows Vista offers an extensive set of new APIs and developer services on the Web to make your applications predictable and manageable to end users, and to diagnose them when they are not.

A major tenet of the Windows Vista experience is that the system and applications "just work." Users are expecting applications that are stable and easy to install and use. A stable application is one that avoids hangs, crashes, and reboots. Windows Vista provides developers with a set of tools for creating applications that will help optimize system stability and performance.

Developers using Windows Vista can help protect users against losing data or work because of a software problem or system instability. Windows Vista provides a well-defined mechanism for all user-mode applications to register themselves as restart-able and provide document recovery interfaces. Used in conjunction with the Windows Vista Restart Manager technology, Windows Vista application and data recovery mechanisms make application installation and upgrading less invasive: preserving the running state of applications that need to be interrupted for system reconfiguration. Improved I/O cancellation support in Windows Vista increases application responsiveness. In addition to these mechanisms, the Windows Feedback Platform (WFP) supports error handling for application crashes and hangs and provides reporting and customer response management for these errors.

Data Recovery and Application Restart : With Windows Vista, users won't have to restart their computers for most updates and application installations. Windows Vista knows which applications and services are using which files, and if a file needs to be updated, Windows Vista can coordinate saving the application's data, closing the application or stopping the service, updating the file, and automatically reopening the application or restarting the service. This capability is provided by a feature called Restart Manager.

Restart Manager works with Microsoft Update, Windows Update, Microsoft Windows Server Update Services, Microsoft Software Installer, and Microsoft Systems Management Server to detect processes that have files in use and to gracefully stop and restart services without the need to restart the entire machine. Applications that are written to take advantage of the new Restart Manager features can be restarted and restored to the same state and with the same data as before the restart.

I/O Cancellation Support : Windows applications become unresponsive when a function or API is called from a user interface (UI) thread that does not complete within a short period of time and is not cancelable. The UI becomes blocked for a long enough time such that the user of the application decides that it is unlikely to recover. This leads the user to attempt to terminate the application (usually by clicking the X on the window's title bar) or even to reboot the computer. Usability studies conducted by Microsoft show that even periods as short as a few seconds are too long for many users.

Developers sometimes make assumptions about the users' environments that are not correct. Notably, they assume that input or output (I/O) operations to devices will complete quickly. This may not be true for some types of devices, especially for networked devices. Network congestion or latencies can wreak havoc with an application's responsiveness.

Investigations of Windows XP hang reports have resulted in improved I/O cancellation support in Windows Vista, including new Win32 APIs.

One of the most significant improvements is the CancelSynchronousIo API, which enables synchronous file I/O calls to be canceled (OpenFile or GetFileAttributes, for example). Since it must be called from another thread, an application must support multi-threading. (Multi-threading is almost always required for applications to remain responsive.)

Another addition is an enhanced version of an existing API: CancelIoEx. This API requests all pending I/O operations for the specified file handle to be canceled.

These new APIs are supported by corresponding new kernel features. One significant change is that driver-level cancellation for create requests is now supported in Windows Vista.

Obtaining Application Feedback : Windows Vista provides enhanced feedback and diagnostic mechanisms to developers through the mechanisms found in Windows Feedback Platform (which extends the Windows Error Reporting feature found in earlier releases of Microsoft Windows). Specifically, Windows Feedback Platform:

  • Makes it easier to detect and obtain information for common scenarios like crashes and hangs.
  • Enables the specification and collection of additional data during error handling.
  • Adds new diagnostic scenarios for reporting.

Windows Vista provides an extensible reporting environment, online problem tracking, and integration with the development community. With this application, developers can collect the data needed to help debug problems from instances of their applications running in the field. This information is used to generate reports that are archived and studied at a Microsoft developer portal site.

Click to enlarge
Users can found easier solutions to their problems now

The portal allows Microsoft staff to provide feedback for product improvement to developers, provide end users with information about workarounds or updates, and deliver fixes to resolve issues. This portal is also extended to the Developer Community as a free service at https://winqual.microsoft.com. This service enables developers to view crash and hang trends by volume and growth over time, download end-user report files such as Mini Dumps, subscribe to events such as Security related issues with their applications, and register responses to connect to their solutions for their customers. With Windows Vista, it is easier for developers to improve their product quality, infer anonymous application state information, and connect with their customers, whether they are IT pros or end users, through the Developer Portal for Windows Feedback Platform services.

In addition, this technology supports system administrators and other IT professionals by allowing them to:

  • View the history of errors on a machine to aid in troubleshooting.
  • Create policies to control the reporting behavior of desktops in a corporation.

End users benefit not only by improvements to their applications but by having error handling with a consistent look and feel, which appears to be native to Windows Vista. In addition, end users can expect:

  • Streamlined data collection and user interface, reducing wait time when forwarding an error report.
  • A simple mechanism to cancel reporting.
  • A global opt-in mechanism, automating user-response-to-error report requests.
  • Improved customer feedback, by allowing users "search for a solution," including automatic solution checking.

All this is supported, while still helping to:

  • Make data collection and transport more secure and reliable.
  • Protect customer privacy and intellectual property.
  • Make management easier, both for users and administrators.
  • Support offline scenarios.

Source: Microsoft

5. Technical Improvements - Windows Communication Foundation (Indigo)

The Windows Communication Foundation (formerly code name "Indigo") Web service APIs make it easy to build and consume secure, reliable, and transacted Web services. New peer-to-peer capabilities enable the discovery and sharing of data between computers and nearby devices. Performance improvements have made communications faster than ever before and improved support for standards like IPv6, WS-*, and RSS makes Windows Visa a great way to write applications that communicate with each other.

Windows Communication Foundation: The vast majority of applications that are developed today need to communicate with other applications. The ability to share data between a wide network of services that can communicate with other platforms and devices is what Web services are all about. Windows Communication Foundation is Microsoft's unified programming model for building Web service applications with managed code. It extends the .NET Framework to enable developers to build secure, reliable, and transacted Web services that interoperate across platforms and integrate with existing investments. Windows Communication Foundation is built from the ground-up to combine and extend the capabilities of existing Microsoft distributed systems technologies, including Enterprise Services, System.Messaging, .NET Remoting, ASMX, and WSE to deliver a unified development experience.

The Windows Communication Foundation takes Web services to the next level. Support for the WS-* protocols means that Web services can easily take advantage of interoperable security, reliability, and transaction support required by businesses today. Developers can now focus on business logic and leave the underlying plumbing to Windows Communication Foundation. Windows Communication Foundation also provides opportunities for new messaging scenarios with support for additional transports like TCP and named pipes and new channels like the Peer Channel. More flexibility is also available around hosting Web services. Windows Forms applications, ASP.NET applications, console applications, Windows services, and COM+ services can all easily host Web service endpoints on any protocol, which includes full HTTP.SYS support. The Windows Communication Foundation also has many options for digitally signing and encrypting messages, including the following token support: Security Assertion Markup Language (SAML), Kerberos, X.509, and Username.

The Windows Communication Foundation Web service platform provides flexibility and extensibility. For developers who want to access underlying messages directly or who want strong control over Web service contracts, the ability to explicitly define messages and how they are exchanged gives developers the easy manageability they need. Indigo also provides extensibility hooks so that developers can write custom channels and extensions that plug directly into the Communication Foundation pipeline.

Peer-to-Peer : Windows Vista provides capabilities for discovering and communicating between applications without the need for centralized servers. The peer-to-peer capabilities of Windows Vista give users and applications the ability to discover and interact with others on the network in a secure fashion.

Central to the capabilities of the peer-to-peer support in Windows Vista is the Peer Name Resolution Protocol (PNRP), which enables dynamic name publication and resolution. Today, names are assigned to computers in a relatively static fashion along with their IP addresses. PNRP provides a much more dynamic ability to register multiple names on a computer, to have multiple computers register a single name, and to even have applications register names. Name records can contain additional metadata describing the associated resource. All of this is done in a secure fashion that prevents spoofing. Developers can use standard name resolution APIs, like getaddrinfo, to resolve their PNRP names.

Peer-to-peer networking enables multiparty interaction by creating meshes of nodes that self-organize into a robust communication group; messages can be sent to all mesh nodes through one or more hops. New nodes can be dynamically added and removed from the mesh without losing the overall connectivity. Secure meshes can be created with restricted membership. Meshes enable the publication of shared data records that are automatically replicated and persisted among all members. Everyone in the group sees updates to the data immediately, as if it were performed locally.

The Windows Communication Foundation Web service API provides a multiparty messaging channel (called the Peer Channel) that developers can use to create large, scalable meshes for sending and receiving Web service messages.

The peer-to-peer capabilities of Windows Vista also provide the ability for applications to find "People Near Me." This enables developers to create applications that enumerate individuals who are physically near them on the network so that data can be easily shared. Using peer-to-peer APIs, individuals can be invited to participate in activities, such as voice chat or games.

Quality of Service : Quality of Service (QoS) technologies manage the transmission of particular types of data-for instance streaming media-to ensure that data is transmitted at the right time with the right speed. Previous releases of the Windows operating system provide support for the industry standard Generic Quality of Service (gQOS), using Diffserv and Intserv and RSVP signaling. Windows Vista extends QoS functionality by adding network awareness and greater user-friendliness through the quality Windows Audio Video Experience (qWAVE) package (available through the .NET Framework) and a new implementation of the Network Location Awareness Service (NLA2).

As the qWAVE technology works with Ethernet, WiFi (both layer-2 and layer-3 packets), and the Digital Living Network Alliance (DLNA) Quality of Service standards, end users can expect improved performance regardless of the underlying technology they use. In addition, qWAVE technology is designed to be extensible to new technologies, such as Microsoft's proposed Universal Plug and Play (UPnP) Quality of Service 2.0 messaging.

Both the qWAVE and NLA2 technologies are designed to be aware of network changes and capabilities to provide adaptive QoS support. Run-time feedback allows applications to dynamically adjust to network bandwidth changes by transcoding (changing between digital video formats) or transrating (adjusting to network speeds by changing the video resolution). In addition, multimedia applications can use Windows Vista Quality of Service technology to proactively query network configurations and identify legacy devices that can drop packets or crash.

Windows Vista network applications can make use of qWAVE distributed administration control to provide consistent management of network resources through priorities.

The Windows Vista Quality of Service tools are designed to inform and empower end users by providing instant and meaningful feedback. For example, an end user typically has no indication that something like heavy network load may be causing a degradation of performance or a connection drop. Under Windows Vista, the system would quickly notify the user of the degradation and its cause, enabling the user to take action.

Source: Microsoft

6. Technical Improvements - Data Intergation (Metro and RSS)

The Windows Vista platform introduces new data storage and search technologies that enable developers to build applications that are searchable and that integrate disparate data formats—applications that find and share the data that users want to see.

New features targeted toward finding, organizing, and sharing data are accessible to developers through both Win32 and WinFX APIs. In particular, Windows Vista introduces a set of technologies based on the new XML Paper Specification (XPS) that is accessible through the Windows Presentation Foundation (formerly Windows code-named "Avalon") presentation technology. It also provides a complete RSS (Really Simple Syndication) subsystem that enables developers to find and consume RSS feeds through system-level APIs instead of through a dedicated RSS reader.

XML Paper Specification (XPS) : Windows Vista introduces the XML Paper Specification (formerly code-named "Metro"), or XPS, that describes the set of conventions for using XML and other widely available technologies to describe a container for application data. The Windows XPS Document technologies enable end users to create, annotate, and view fixed-layout paginated documents, as well as to digitally sign and apply rights management to those documents.

The Windows Vista XPS technologies are based on the XML Paper Specification that details the packaging model for developers to design new self-describing information formats. The WinFX runtime includes the XPS package APIs that enable developers to more easily create and process XPS-based containers or files (called "packages").

Windows Vista supplements the power and generality of the XPS packages with a specific document implementation called the "XPS Document" (also known as "Metro Reach"). XPS Document format enables easy document sharing across platforms, without the need for the authoring application. The XPS Document format supports many of the most common user needs by providing an optimized format for working with paginated documents.

To ensure cross-platform portability and device independence of XPS-based packages and XPS Documents, the XML Paper Specification is open and publicly available.

XPS Packages : XPS packages are programmatically created and accessed through the packaging model (System.IO.Packaging). There are three things developers need to understand in order to work with XPS packages:
  • XPS packaging model. Under the XPS framework, a package is a logical entity serving as a container for file components. These components are called parts, and each part is defined by name and content type. Parts can contain references to other parts in the package, or to external resources. The XPS packaging model provides a higher-level mechanism to describe these references, called relationships, which make the reference directly discoverable without needing to look at the content in a given part. A package is a logical representation of the data to be stored.
  • XPS physical format. The package model may be mapped to an actual entity (referred to as a physical format). A physical format can be almost anything: a file, an archive (such as a ZIP file), as well as various transports (such as network-based protocols). In fact, a single XPS package can have expressions in multiple physical formats. The XPS physical format understood in Windows Vista is a ZIP file.
  • XPS metadata. An XPS package's metadata describes the content and use, and is discoverable (along with its package structure) through the XPS package APIs. In addition, the Windows Vista XPS technologies provide a well-defined means for including a digital signature and applying digital rights management information and metadata. This metadata is fully extensible and can be used to contain such items as information in annotations and thumbnails.
XPS Document : The XPS Document is a specific implementation of an XPS package designed to address the information worker's requirements for distributing, archiving, rendering, and processing documents. It is accessed through Windows Presentation Foundation Document Services (System.Windows.Documents and System.Windows.Reach).

A XPS document is expressed in an application-independent way so that the content can be viewed and printed without requiring the original authoring application.

The XPS Document uses a well-defined and fixed-format layout, including pagination for its content, while still allowing for forward- and backward-compatibility with versioning, or extensions for other value-added scenarios.

Effectively, the XPS Document defines the default electronic paper object for Windows Vista, and is a native spool file format in the Windows Vista print architecture, as well as the native Windows Presentation Foundation print output.

The WinFX SDK documentation includes many references to the XPS Document (aka "Metro"), all of which center on the Metro Serialization Manager class (System.Windows.Reach.Serialization in the ReachFramework assembly).

RSS : RSS is an XML-based format used for syndicating news and Web logs (as well as other information) from Web sites. News sites are a common use for RSS feeds because they can easily send out headlines (or title in RSS format) and short descriptions, along with links to the full story to anyone subscribed to the feed (or channel). Blog authors use feeds by sending out full journals, conversation threads, short descriptions, or notifications of updates in RSS format.

The RSS support in Windows Vista provides three basic platform services.

  • Common RSS Feed List. Provides a read-only copy of the user's feed list in Outline Processor Markup Language (OPML) format, which is stored in the user's Documents folder. The users can use this OPML file to save, e-mail, or import a copy of their feed list into another application.
  • Common RSS Data Store. Aggregates feed content into the Common RSS Data store, which allows concurrent access by multiple applications. The store is designed to allow efficient updating and access of feeds and individual items. Enclosure files are written into folders that a user can navigate to from within the Windows Explorer application. The RSS Common Data Store provides a number of services, including automatic purging of feed data and enclosures.
  • RSS Platform Sync Engine. Automatically downloads feed content and files (enclosures) from RSS feeds. The RSS sync engine handles on-demand and background updates, and the merging of new feed content with existing content. Each feed is synchronized in the background on a user-defined schedule so that the user has fresh information available without having to manually check for new content. Each feed publisher can specify a default update schedule, which the service will respect unless the user indicates otherwise.

These services are accessible through the Windows Vista RSS object model, which mirrors the major components of an RSS feed.

  • Feed. The Feed object contains a collection of items as well as feed and channel properties. It is also possible to access the feed XML for applications that perform operations on the XML instead of using the feed's properties.
  • Item. The Item object contains an enclosure as well as item properties. It is also possible to access the item XML for applications that want to perform operations on the XML instead of using the item's properties. Most properties of an item cannot be changed by a client application, with the exception of the common read/unread property.
  • Enclosure. The Enclosure object contains enclosure (or attached file) properties. One of the properties is the local path, which makes it possible for applications to get access to the enclosure through the file system.

For more information, see the RSS site on the Windows Vista Developer Center.

Source: Microsoft

7. Technical Improvements - Finding and Sharing Data Features
Windows Vista Explorer Property System : The Windows Vista Explorer property system is being enhanced and extended. Some of the new features are:

You can extend the metadata system by writing custom property handlers, protocol handlers, and even enable the system to use non-file system data stores.

Full-Text Search : Let's say that you'd like a user to be able to ask Windows Vista Explorer to find all invoices that contain a purchase of a particular product. Clearly, that information is locked up inside the invoice file somewhere, but Explorer needs some way to access it.

There are basically two types of data stores: file system stores and non-file system stores. The invoice example is a simple file system store. Explorer can search information in the invoice if a developer provides an implementation of the IPropertyStore or IFilter interface for this new file type.

Click to enlarge
Advanced Search now has some very interesting features like filters

If you're working with a non-file system store, you need to write a protocol handler that allows Explorer to navigate through the data store. A protocol handler connects the Explorer with a non-file-system-based proprietary data store. This enables the Windows search system to index data within the store. For example, if you have a mail client that stores its list of received e-mail, you can provide indexing and search capability for each individual e-mail by providing a protocol handler. Often developers who create a new protocol handler for a custom data source will also need to implement an Explorer Namespace Extension to provide UI for the items that are displayed in the Explorer, such as context menu handlers, icons, etc.

Extension Points : To extend Windows Vista Explorer, developers need to do two things:
  1. Provide access to the internal contents of file formats and data stores.
    This enables Explorer to perform a system search across your file formats and data stores as well as file formats and data stores it inherently understands. Note that this enables Explorer to search not only the full-text content of your files but also its metadata. In addition, you enable users to organize their data by easily changing a file's metadata and saving the changes back into the file. The sample.invoice example in Figure 3 was all done by implementing a property handler.
  2. Provide rich thumbnail view of individual files to Windows Vista Explorer.
    This enables Explorer to gain an idea of what is in the file directly from the Explorer view.

Developing Applications : Windows Vista supports a number of new APIs to use when developing new applications. Applications should never hard code file paths to "well-known" locations. Use Known Folder APIs instead. The Known Folder APIs abstract the file system location from the functionality of the folder. This allows features like folder redirection. You should use existing Known Folders when one is semantically equivalent to what you need, for example, PDF documents stored in Documents. Otherwise, your application can create new known folders, for example, 3D Drawings, Shapes, Code Projects, etc.

You can use new Windows Vista APIs to query items in the Windows Search Engine. Your application can use the OLEDB/ADO from managed or unmanaged code to issue queries using a SQL-like syntax. In return, your application receives an OLEDB Recordset where the columns correspond to properties in the Windows Metadata System, for example, System.Photo.FNumber.

You can also use the unified metadata layer to read/write metadata from/to file formats. Your application can enumerate properties stored in a file, discover property descriptions (schema) as described in the system, and read and write values for properties.

The Common File Dialog has been updated. It has a number of new COM APIs. Some of the new features of the Common File Dialog are:

The Common File Dialog is also extensible. You can add new controls and change the layout of the dialog.

Source: Microsoft

8. Technical Improvements - Deploying and Updating applications (ClickOnce)
Back in the MS-DOS era, you could deploy an application by copying a few files to your computer. As applications grew more complex, however, this task rapidly became more difficult. Many parts of the OS need to be touched when installing new software: the directory itself, possibly shared components, and user settings that needed to be created. Microsoft has made advances in application installation, starting with "no touch" deployment in .NET Framework 1.0.

ClickOnce : Microsoft introduces ClickOnce with the .NET Framework 2.0 and Visual Studio 2005 as the successor to "no touch" deployment. The goal of ClickOnce is to make deploying client-side managed-code applications (such as those built with Windows Forms or, on Windows Vista , formerly Windows code name "Longhorn," the Windows Presentation Foundation, formerly code name "Avalon") as easy as deploying a Web application. Using ClickOnce, you can deploy and update applications to your clients through the Web, or a file share. You can deploy new versions of the applications by copying them to the install point. Clients will receive this version when they next start the application. For more information on the .NET Framework 2.0 version of ClickOnce, click here.

When using ClickOnce, users can expect:

Windows Vista extends the .NET Framework 2.0 set of ClickOnce features in several ways, including the capability for installations to perform some of the more traditional actions of an MSI deployment while still using automatic deployment and update. For example, on Windows Vista , ClickOnce can take advantage of the Background Intelligent Transfer Service (BITS) to allow a trickle-feed update of files in a way that is less obtrusive to the user. Additionally, the execution context in Windows Vista is very different and more robust, allowing applications to be hosted in a browser or run externally. On Windows Vista , ClickOnce also enables an application to create file associations (registering itself as the handler for a specific file type) without having to request additional permissions. Windows Vista also adds the concept of privacy information as part of the application manifest, allowing application creators to describe their privacy policy for information storage, reuse, and more.

Creating a ClickOnce Package : Visual Studio 2005 makes it simple to build ClickOnce installation packages. The project properties (see Figure 1) can be set to enable publishing of the application and its dependencies to a file share or Web site.

After the application is published, users can navigate to the file share or Web site, or the location can be e-mailed to them. The user clicks the program.application link. This link is to a manifest file that contains information on the required assemblies, correct version, and additional information for the application. The ClickOnce technologies ensure that all dependencies are present, and that the correct version of the application is available on the client computer. The application is then executed as usual.

Although ClickOnce cannot be used for all types of applications or in all scenarios, it can provide an excellent means of deploying and upgrading an application. The benefits of the ease of updating the application mean that you can get the benefits of the rapid deployment of Web applications without sacrificing the rich interaction of a desktop Windows application.

Security for ClickOnce : ClickOnce includes a number of security safeguards that reduce the likelihood of a malicious application doing harm. For example, applications deployed using ClickOnce technology run in a "sandbox," with a limited set of permissions based on a security zone. This zone affects the capability of the application when accessing resources on the local computer.

Additionally, developers can use Authenticode certificates to sign ClickOnce manifests. This information is then presented to the user, showing that the application is coming from a trusted source. Developers can also associate a specific set of security policies with the application to set appropriate permissions.

Windows Installer : Microsoft also is making advances in Windows Installer (MSI) technology, the standard Microsoft installation solution, for Windows Vista . In particular, MSI integrates with the Windows Vista User Account Protection (UAP, formerly called Least-Privileged User Account or LUA) and with the Windows Vista Restart Manager.

With previous versions of Windows, users frequently had to have Administrative rights on their computers to install new software releases. This was due, in many cases, to the installation requiring access to the Local Machine hive of the Registry (HKLM), or to the Windows or System32 directories. This meant that many users logged in only using an Administrative account. This led to possible security issues if the user continued to log in as Administrator. Other applications with malicious intent could access those areas.

Integration with the UAP means that users need not be logged in as Administrator to install an application. If an installation requires extra privileges, Windows Vista presents the user with the option to temporarily elevate their permissions for the install. See "An Overview of New Windows Vista Security Features for Developers."

Integration with the Restart Manager : A properly configured installer application should never force users to restart their computer-required services and applications will be restarted as needed. The Restart Manager handles interactions with other resource managers, running programs, and open files to dynamically free and reaccess services or applications as needed. See "Overview of Application Reliability Features for Developers in Windows Vista .

Source: Microsoft

9. Technical Improvements - Features for Mobile Computers

Mobile computers are a large and growing segment of the overall personal computer market, currently making up about 40 percent of the worldwide personal computer market and growing fast. In some countries such as Japan, laptop sales are outpacing desktop sales. But laptops, notebooks, and Tablet PCs present unique challenges to application developers. Some challenges include power management, network awareness, providing offline access to important data, taking advantage of multiple displays, grab-and-go docking, and readability. At the same time, the mobile form factor allows for key scenarios not available on a desktop computer. Microsoft Windows Vista , formerly Windows code name "Longhorn," makes advances against all these challenges and is simple for application developers to target.

Auxiliary Display : Mobile computer users do not always want to gain access to the main display of their personal computer, yet the computer contains a lot of important information that users often want to get to quickly. To address this, Windows Vista introduces the auxiliary display. Auxiliary displays give the user quick access to useful information such as calendar appointments and the latest e-mail message even when the computer is in standby or hibernating, media playback control when the computer is off, and other application notifications.

Creating new applications or extending existing applications to auxiliary displays is straightforward; applications simply register themselves with the auxiliary display subsystem during installation. The auxiliary display subsystem takes care of device management. An application might even cache data on devices that support it to allow offline access or might provide its content as the user requests it.

Here are some key points to understand the auxiliary display subsystem:


Power Management : As more and more computers become mobile, users will expect to treat their computers much more like they do personal digital assistant (PDAs) and cell phones today—on battery power for longer and without having to go through lengthy startup and shutdown procedures between sessions. To meet these expectations, the hardware, operating system, and applications must each do their part to help realize extended battery life and fast, reliable system standby and resume transitions.

Windows Vista introduces several new features for improved power management, including a redesigned and enhanced kernel power policy manager. The enhanced power policy manager provides a common framework for applications and devices to receive notifications of important system power events. For instance, including the user's current power preferences and notifications of when the remaining battery capacity crosses specific thresholds is such an event. The application can also use the power policy manager to handle the storage and retrieval of its application-specific power settings with the current user system power policy. When a power transition occurs that affects a power setting that the application has registered for, the power manager will notify the application with an updated value for the power setting. The power manager can handle all the overhead of storing, managing, and retrieving power settings for an application. This can significantly reduce the work required by developers to support intelligent and efficient power-aware behavior.

Most importantly, developers should focus on their applications' proper use of the system power broadcast (WM_POWERBROADCAST) messages. When the system is about to go to sleep, Windows broadcasts a sleep query message along with a flag indicating whether applications are allowed to display UI. Regardless of the state of the "UI allowed" flag, applications should make every effort to prepare for sleep without querying or notifying the user.

Network Location Awareness : In today's world of wireless access and mobile devices, application developers can no longer assume that the network is always present or that there is only a single path to a resource. Even though TCP has complex algorithms to ensure guaranteed delivery, it cannot overcome the transient nature of the mobile user's network environment. Both wireless networking and grab-and-go docking mean network connections and external hard disks can become disconnected without warning.

In Windows Vista, applications can now do a better job tailoring the user experience to the connected status of the system by having a better understanding of the connected state made through querying the new Network Location API 2 (NLA2). NLA2 provides a single place where an application can get all the network parameters for a computer and can inform the application of changes to the parameters and network context information.

Synchronization Manager : The Synchronization Manager provides a centralized, standard technology for synchronizing files for offline use on a mobile computer or a computer connected to a local area network (LAN). Together with the connectivity functions, notifications (System Event Notification Service), and client-side caching, the Synchronization Manager provides an infrastructure to support mobile computing. Instead of each application implementing its own technology to cache and synchronize network resources for local use, the operating system provides an integrated model that all applications can use. Files are synchronized independent of the protocol. For example, an e-mail program can transfer its messages using Simple Mail Transfer Protocol (SMTP), Network News Transfer Protocol (NNTP), or Post Office Protocol 3 (POP3), while a browser can use HTTP and a database can use Remote Procedure Call (RPC). Developers can use the common interface to the Synchronization Manager in their applications to synchronize files between the user's local computer and network storage.

SyncMgr also includes a programming interface so that applications can register to use synchronization features, can process errors, and can receive progress information and notifications during the synchronization process.

In Windows Vista, a new common and consistent user interface (UI) manages synchronization with other devices and data sources. Developers can plug-in to this UI (instead of creating unique custom solutions) to provide a consistent user experience for synchronizing with their devices. There are additional APIs that extend the context menus in the Synchronization Manager.

Tablet PC : Windows Vista includes many advances for Tablet PC developers. Chief among these are Ink Analysis and integration with the Windows Presentation Foundation, formerly code name "Avalon". Probably the biggest advance, however, is the ubiquity of Tablet PC features. To date, developers have had a difficult time with the Tablet PC technology redistribution problem. With Windows Vista, however, Tablet PC technologies are ubiquitous across all Windows Vista editions.

Ink Analysis: the Unified Recognition API : To date, programmatically interpreting ink using the Tablet Platform Software Development Kit (SDK) was accomplished using two separate APIs:

To simplify the developer experience, Windows Vista fuses the APIs into a single new API called Ink Analysis.

The true power of Ink Analysis comes through when its capabilities are used together. For example, by combining shape recognition, outline interpretation, and analysis hints, it is possible to convert handwritten slide decks to professional presentations.

Windows Presentation Foundation Integration : Digital ink collection and rendering, features traditionally available only on the Tablet PC, have been incorporated into Windows Presentation Foundation as first-class members of the framework. No separate runtime is required to support basic ink functionality in your applications.

Source: Microsoft

10. Technical Improvements - Summary
Untitled Document

From the technical improvements, we understand that Microsoft has done a lot of research to determine exactly what the problems were with the previous releases and what users want. From the features, we can see that Microsoft's main goal is to make a new operating system with the simplicity of the previous Windows release, Windows XP, but with the security of operating systems like unix, and the visual effects of Macintosh OS X. Well, that's a hell of a mix and if they've done it right, this release will be a revolution on previous releases.

The first thing that will probably concern most users is compatibility, because as we have seen, both the driver model and the installation procedure has changed. We will see how Microsoft is going to support applications written for previous releases.

In the next update, which will be released in a few days, we will further investigate if the current beta version actually offers the features that Microsoft promises us and hopefully, we will get to enjoy some of the beautiful visual improvements.

*29/08/2005 Updated.Click here for the rest of the article.

Home | News | All News | Reviews | Articles | Guides | Download | Expert Area | Forum | Site Info
Site best viewed at 1024x768+ - CDRINFO.COM 1998-2018 - All rights reserved -
Privacy policy - Contact Us .