Windows Live Messenger Web Toolkit Application Design Guidelines

These Application Design Guidelines are the required and best practices for building an effective application by using the Windows Live Messenger Web Toolkit.

Terminology

Term Definition

Contact

A person for whom the user has subscribed to presence updates.

Display Name

A name that a user presents to his or her contacts.

Pending Contact

A person who has subscribed to the user and is not on the user's contact list.

Personal Message

An expressive message that a user presents to his or her contacts.

Presence

The collection of data exposed by a user to his or her contacts. Presence is comprised of status, display name, personal message, and other content.

Status

The basic presence state indicating a user's availability. Potential values include:

  • Offline
  • Available
  • Busy
  • Away
  • Appear Offline

User

The person signing in to the Windows Liveā„¢ Messenger Service via the Windows Live Messenger Web Toolkit.

Conventions

The following key words are to be interpreted as described in RFC 2119: Must, Must Not, Required, Shall, Shall Not, Should, Should Not, Recommended, May, and Optional.

Guidelines

The following sections outline required and recommended guidelines for all Messenger Web Toolkit applications.

Note

If you are using the Windows Live Messenger Web Bar, all of the requirements discussed in the following sections will be satisfied.

Windows Live Messenger Web Toolkit Applications Must Do the Following

  • Display links to various Windows Live Messenger Web Toolkit options prominently within the UI when a user is signed in via the library. This requirement can be met by using the Windows Live Messenger Web Bar, or by rendering the links with the Windows Live Messenger Web Toolkit icon directly within the application UI. (For information about licensing the icon, see Live Services SDK License Agreement.) If you use the Windows Live Messenger Web Toolkit icon, it must link to the Windows Live Messenger Web site. The following links are also required.
    • Sign out
    • Change settings
    • Privacy statement
    • Terms of use
    • Send feedback
    • About Windows Live Messenger

Note

You can get the URLs for these links by using the properties from the class: DelegatedAuthControlLinks. For details, see How To: Access Messenger Resources

  • Accurately represent information about a Windows Live Messenger Web Toolkit user, the user's contacts, as well as all sent and received messages. These elements include display names, user identifiers, status, personal messages, and instant message content.
  • Use the term Contacts when referring to a user's Windows Live Messenger contacts.
  • Clearly indicate to the Windows Live Messenger Web Toolkit application user when undertaking the following actions:
    • Signing in and signing out
    • Updating presence
    • Adding, allowing, blocking, or removing contacts from the user's contact list
    • Sending messages
    • Displaying status of a Windows Live Messenger Web Toolkit user.
  • The user's status must be displayed by using the standard Windows Live Messenger terminology stated earlier in this list.
  • Display all incoming messages and enable the user to respond.
  • A Messenger user can be signed in from multiple places simultaneously. All places must show the same status for the user. For example, if the user changes from Available to Away in one place, all Messenger clients and applications must update that user's status to Away. This can be done by registering for the appropriate presence events in the Windows Live Messenger Web Toolkit.
  • Ensure that messages sent with the Windows Live Messenger Web Toolkit are displayed in the Messenger client.
  • Applications can use up to 200 application contacts.

Messenger Web Toolkit Applications Should Do the Following

  • Show the display name of the user currently signed in.
  • Support adding new Messenger contacts by e-mail address.
  • Support displaying pending Windows Live Messenger contacts to the user's contact list.
  • Set a descriptive endpoint name. This enables the user to identify which endpoints he or she is signed in with. The name property is found on the User.LocalEndpoint object and should be set in the SignInCompleted event.
  • Specify an application logo when using Delegated Authentication. This ensures that the Consent Request UI will show your application's logo. The URL of your logo should be specified in the DelegatedAuthControl object by using the ApplicationLogoUrl property.
  • Use standard Windows Live presence icons for both user and contacts. For example:
    Standard Windows Live presence icons.

Windows Live Messenger Web Toolkit Applications May Do the Following

  • Use Windows Live Messenger standard emoticons in instant messages, display names, personal messages, and other personal expressions in user content.
  • Render the user's contacts within the user's respective groups.

See Also

Concepts

Developing with the Windows Live Messenger Web Toolkit