In an attempt to formally specify the way that application programs should be written for Windows 2000, Microsoft Corporation will soon announce its Windows 2000 Application Specification ("AppSpec"). This specification will attempt to provide developers with the information they need to make their Windows 2000 applications more manageable and reliable and compliance with these guidelines will be required for Windows 2000 Professional and Windows 2000 Server logo certification.

Client application programs (that is, applications that will typically run on Windows 2000 Professional) that conform to this specification will:

  • Provide a self-repairing installation program that eliminates version conflicts with shared DLL components.

  • Make it easier to deploy and manage software.

  • Correctly maintain user preferences and settings to ensure a good "roaming user" experience, support for multiple users per machine, and application settings regeneration when a user's machine has to be replaced.

  • Run in tightly controlled network environments, so that network administrators can secure and control corporate desktops.

  • Support the OnNow/ACPI power management specifications.

  • Provide a consistent user experience while supporting accessibility standards.

  • Provide a smooth transition of the application for users that upgrade from a previous version of Windows to Windows 2000 Professional.

  • Optionally support a list of "best practices," such as not rebooting the computer during installation, working with localization and globalization, and compatibility with Terminal Services.
Meanwhile, Server applications will:
  • Provide a self-repairing installation program that eliminates version conflicts with shared DLL components.

  • Make it easier to deploy and manage software.

  • Simplify administration, making it easier for users to find resources on a network.

  • Centralize and unify the configuration and monitoring of computers and applications in a network environment.

  • Simplify the administration of drivers and applications, allowing for more administrative control.

  • Advertise services to Active Directory.

  • Conform to Microsoft Management Console (MMC) user interface requirements.

  • Optionally, the application should work within the new COM+ specification for component software design as well As be tested under stressed server conditions.
These are some pretty heady goals, of course, but the success of Windows 2000 is dependent largely on the willingness of software vendors to write applications that conform to these specifications. It's also important to realize that this isn't a rigid spec: Only those items that make sense for a particular application will need to be implemented.

Expect an announcement, with more details, in the coming days as the specification is finalized.

For more information about the Windows 2000 Logo requirements, please visit the Microsoft Web site