Platform SDK |
Through embracing the following broad capabilities, you can simplify the user experience and reduce the cost of using a PC. Your software should be:
Easy To Install Productivity increases when users can add new applications and features easily and reliably. When users and administrators can repair, upgrade, and completely uninstall their existing applications, support costs will decrease. One of the biggest maintenance problems for user support is people trying to reclaim disk space.
Resilient When users inadvertently delete a system or application file and then launch the application, your program needs to automatically recover and fix itself by reinstalling the missing file(s). Applications need to be designed to handle problems with files, registry settings, and other volatile parts.
Easy to Migrate When upgrading software, all old settings need to move up to the next version, and the prior version's files and registry settings need to be removed without deleting user data. Settings that cannot roam need to migrate to a location so that they can roam. Preserving the user's investment by carrying the user work and customization forward is key.
Roamable As users on a network move from machine to machine, their settings and files need to move with them. Roaming scenarios include one user with multiple machines, multiple users per machine, and portable machines (e.g. laptops and handheld PCs). User profiles reside on a server and store user-specific data and settings that are tracked independently of machine data and settings, so that users' files and preferences follow them. Roaming makes quick machine replacement possible.
Easy to Personalize Program settings for the user need to be maintained independently of the machine settings. For any given installation, a new user should be able to make use of an application. Certain user-like settings need to also act as per-machine settings, as they should be changeable across all users (for example, the default ISP dial-up connection for an entire family).
Easy to Maintain Product updates and additions need to be made available to users by both push and pull mechanisms. Examples of such updates include help files updated because of new product support information, and program files changed for a patch release.
Easy to Configure and Administer Program settings need to be exposed at the server so that an administrator can easily configure users' desktops and then lock down the features, functionality, and applications available to users. Administrators will be able to customize the level of management as well as the features and settings appropriate to individuals' roles and task requirements by creating system policies. Administrators will be able to remotely deploy applications to the entire enterprise or groups of users and make applications and features mandatory ("assigned"), available on demand ("published"), or completely unavailable.
Flexible Program settings need to be exposed at the server so that an administrator can easily configure users' desktops and then lock down the features, functionality, and applications available to users. Administrators will be able to customize the level of management as well as the features and settings appropriate to individuals' roles and task requirements by creating system policies. Administrators will be able to remotely deploy applications to the entire enterprise or groups of users and make applications and features mandatory ("assigned"), available on demand ("published"), or completely unavailable.
Easy to Support Products need to come with the capability to help administrators and helpdesk professionals remotely troubleshoot and repair products within their companies.