Share via


Microsoft Surface 1.0 SP1: SDK - User Experience

Microsoft Surface User Experience

Before you design and build Microsoft Surface applications, you should understand what the users see and experience.

When users are interacting with a Microsoft Surface unit, they have no mouse or keyboard or any reason to use them. More importantly, users do not see any Microsoft Windows user interface and they are not aware that the Windows Vista operating system is present in the unit. This situation is called user mode. In user mode, all Windows user interface and functionality are suppressed.

In a typical session, a user:

  • Interacts with an attract application, which is similar to a screen saver that is touch-sensitive. Attract applications are designed to attract users to the unit and then entice them to interact with the unit.

  • Taps one of the access points in the corners of the Microsoft Surface screen to open Launcher and explore other applications. Launcher is a horizontal filmstrip that moves across the screen and displays icons for all available applications. Users always start an application from Launcher.

  • Taps a preview image in Launcher to select and open a Microsoft Surface application. An application that users start from Launcher displays on the entire Microsoft Surface screen. Only one application displays at a time, but multiple applications can run simultaneously.

  • Navigates between Launcher and applications by tapping the access points.

  • Finishes their session by returning to Launcher and tapping the I'm done button.

The Microsoft Surface platform also includes automatic time-outs. If a user does not touch a Microsoft Surface unit after a set period of time when an application is running, Microsoft Surface asks whether the user wants to continue using the application or close everything and end the experience (which returns the unit to the attract application). If the user does not respond, all applications close and the unit displays the attract application.

In addition, the Microsoft Surface unit displays an out-of-order screen if it encounters an error that it cannot recover from.

You can also configure the Microsoft Surface user experience to use one of the following features:

  • Configure object routing so that users can open applications by using tagged objects instead of Launcher.

  • Enable single-application mode so that a Microsoft Surface unit runs only one application at all times. In this mode, the Microsoft Surface software does not display an attract application or Launcher.

  • Set up a localized user interface so that the Microsoft Surface software uses a different language and format for the user interface, including numbers, currencies, keyboard layouts, and so on.

Attract Applications

When no one is using a Microsoft Surface unit, the unit displays an attract application, which is similar to a screen saver. The Microsoft Surface system includes one default attract application that you can use or customize. In addition, you can create your own attract applications.

An attract application should entice users to the unit. The application should ideally display color and movement, be touch-sensitive, and be a 360-degree application (that is, without a distinct top or bottom). The application should attract users to look at and touch the unit. The application should not be task-oriented but should demonstrate how the unit responds to a single touch and to multiple touches.

In the four corners of an attract application, there are access points (labeled 1 in the following illustration). Users can tap an access point to open Launcher.

http://i.msdn.microsoft.com/dynimg/IC357265.jpg

From the development perspective, you can design and build an attract application in the same way that you create any Microsoft Surface application. The difference is that you configure the application to run as an attract application. Attract applications are not available from Launcher. You can install one or more attract applications on a Microsoft Surface unit, but you can configure only one attract application to start when the unit is turned on.

Access Points

Access points are small touch-sensitive quarter-circles that appear in the four corners of the Microsoft Surface screen. Launcher has only two access points along the long side of a Microsoft Surface unit where a user last touched an access point. These two access points help orient Launcher towards one side of the unit. When the attract application is running, access points display a periodic animation to alert users to their presence.

Users tap access points to switch between the Launcher and applications. Access points also determine the orientation for an application that has a distinct top and bottom. The following table describes what happens when users tap access points in different locations.

Tap an access point in Action

Attract application

Starts Launcher, which displays on top of the running attract application.

Launcher

Returns to the last application that was launched or to the attraction application if no other application was launched.

Running application

Shrinks the running application back into Launcher.

 

Launcher

Launcher is the menu that displays the applications that are available to users. It looks like a filmstrip and displays on top of any applications that are running. The Launcher filmstrip moves across the Microsoft Surface screen and displays a series of images that preview every application. The selected image (called the application preview) is larger than the other images and includes descriptive text about the application below it.

http://i.msdn.microsoft.com/dynimg/IC357374.jpg

  1. Application title

  2. Application description

  3. Application preview image

  4. Application icon image

  5. Access points

  6. I'm done button

The following list describes features of Launcher:

  • When a user taps an access point in an attract application, Launcher appears.

  • Launcher opens with its display oriented to the long side of the Microsoft Surface unit where a user tapped an access point. When Launcher opens, it displays only two access points. These access points indicate the current orientation of the unit for any application that has a distinct top and bottom.

  • When Launcher opens, it scrolls from right to left. Users can also scroll it in either direction by using their fingers. (Launcher scrolls only if there are six or more items in Launcher.)

  • As Launcher scrolls, each application, in turn, displays an application preview when the application appears in the center of the filmstrip. The application in the center is the selected application.

  • Users can start only the selected application. To start an application, they simply tap the selected application preview.

  • Users can tap any application icon to select the application so they can open it. If there are more than six icons on the filmstrip, the selected application will move to the center to indicate selection. Otherwise, it shows the application preview in the icon's current location.

  • The application icons are static images but application previews can include a slide show, audio, and video.

  • If a user taps an access point in a running application, the running application shrinks back into Launcher. The user can then tap an access point to return to the running application or start another application from Launcher. (Tapping an access point does not close an application. The application keeps running in the background.)

  • Multiple applications can run at the same time, but only one instance of an application can run at the same time. Users can restore other running applications by tapping their preview images in Launcher. The application opens immediately to its state when it was last used.

  • The I'm done button appears below Launcher. Users can tap this button to end a Microsoft Surface session (also known as an experience). After users tap this button, a confirmation button (Close everything) appears. If users tap the Close everything button, the Microsoft Surface software closes all running applications and restarts the attract application.

    Note

Microsoft Surface applications are responsible for removing any user data before they close. If your application uses the Presentation layer, complete the cleanup in the Window.Closing event handler. If your application uses the Core layer, complete the cleanup in the Game.Exiting event handler. (For more information about the Presentation and Core layers, see Presentation and Core Layers.)                

   

You must supply the following items for Launcher:

  • A smaller image for the application icon and a larger image for the application preview. The application icon must be a static graphic image, but the application preview can use a slide show, audio, or video.

  • The application title and description when an application is selected and appears in the center of the filmstrip.

For more information, see Deploying Microsoft Surface Applications.
 

Loading Screen

When users start an application by tapping the selected application in the center of Launcher, the Microsoft Surface screen clears and briefly displays a loading screen. The loading screen displays a wait indicator until the application starts.
 

http://i.msdn.microsoft.com/dynimg/IC357375.jpg

 

Standard Applications

Microsoft Surface applications display over the entire Microsoft Surface screen. (You cannot change the size of the application display.) Only one application appears at a time, but multiple applications can run at the same time.

The Microsoft Surface software provides each application program with four access points, one in each corner of the screen. When users tap an access point while an application is running, the running application shrinks back into Launcher. The user can then do one of the following:

  • Reopen the running application by tapping an access point. A running application is reopened in the same state that it was in when the user last used it.

  • Start another application from Launcher.

  • End their experience and return the unit to its attract application by closing all applications. To end the experience, users tap the I'm done button.

When Launcher is open and multiple applications are running, users can reopen the last running application by tapping an access point in Launcher, or users can open a different running application from Launcher. In the Launcher filmstrip, the application preview of a running application displays the current state of the running application instead of the standard application preview image. This different preview gives users a visual clue that the application is already running.

Users can close all applications (simultaneously if two or more are running) by tapping the I'm done button from Launcher. You can follow this model with your application or you can add explicit close functionality. However, even with explicit close functionality, access points function the same way. That is, tapping an access point always keeps an application running but focus switches to Launcher.
 

Orientation

One of the exciting aspects of the Microsoft Surface platform is that it enables 360-degree applications, such as board games and photo applications. Users can then use these applications from two sides or four sides of a Microsoft Surface unit.

Launcher has a distinct top and bottom. It is always oriented to one of the long sides of the unit. When a user taps an access point, Launcher opens and is oriented toward that side of the unit as the bottom of the Launcher.

You are responsible for setting orientation when your application launches. For more information, see Orientation.
 

Application and System Failures

If a Microsoft Surface application stops responding, the system notifies the user. The type of user notification depends on whether the application is being started, currently displayed, or running in the background.

  • If an application fails to open in the allotted time, the system displays a message over the application preview.

  • If the currently displayed application stops responding, the system displays an explanatory message. Multiple failures cause the system to return to Launcher.

  • If a background application stops responding, the system displays a user notification.

For details about these situations, see Application and System Failures in User Mode.

A Microsoft Surface unit might display a full-screen out-of-order screen in several situations:

  • The unit experiences an unrecoverable failure, such as repeated failures to suppress Microsoft Windows user interface elements or the system failures that are described in Application and System Failures in User Mode.

  • An administrator remotely logs on the unit.

  • The unit is in administrator mode and no administrator is logged on at a physical unit (for example, the first time that the unit is turned on at a venue). The out-of-order message appears in this situation so users do not see the Windows logon screen if a unit is under maintenance or the administrator did not switch the unit to user mode.

  • An application calls another application. If that second application does not start, after three retries, the out-of-order screen is displayed.

For more information about when the out-of-order screen might appear, see UI Suppression.

Time-Outs

The Microsoft Surface platform includes time-outs that occur under certain conditions. For example, if a user does not touch the unit after a set period of time while an application is running, a screen appears that asks whether the user wants to continue using the application or close everything and end their experience (which returns the unit to the attract application). If the user does not respond, all applications close and the unit displays the attract application.

For more information about time-outs, see Application and Session Time-Outs

Object Routing

By default, users open applications on a Microsoft Surface unit by tapping the application preview image in Launcher. You can also set up object routing so that users can find and open applications by using tagged objects.

For example, a user walks up to a Microsoft Surface unit in a resort hotel lobby and places a customer loyalty card on the Microsoft Surface screen. On the screen, the following menu appears next to the loyalty card.

http://i.msdn.microsoft.com/dynimg/IC494064.jpg

The Microsoft Surface Vision System reads the tag on the loyalty card and displays a menu of available applications. If the user slides the tagged object (loyalty card) around the Microsoft Surface screen, the menu goes with it and always stays visible while the card is on the screen. The menu cannot slide off the screen and out of sight.

The user can start any of the listed applications by simply tapping the application icon. The application's preview briefly appears while the application starts. When the application starts, the object's menu disappears and contact switches to the application (even though the object remains on the screen).

If a user wants to switch to another application that is available from the object's menu, the user taps an access point, picks up the tagged object and then places it down again (to activate the object routing menu), and then taps another application icon from the object's menu.

Users can place tagged objects that are configured for object routing on the screen at any time, whether on an attract application, on Launcher, or on any application. If a user places the object on Launcher, the object's menu displays but the user can still scroll Launcher and start any application from it.

To set up a tagged object for object routing, you must associate applications with the tagged object by using configuration settings. If users place the tagged object on an application that is not associated with the object, the object's menu displays and the object will not interact with the foreground application. For more information about how to set up object routing, see Configuring Object Routing on a Microsoft Surface Unit

Single-Application Mode

By default, the Microsoft Surface software includes access points and Launcher to enable users to open and navigate between multiple applications. However, in some situations, you might want a Microsoft Surface unit to run only one application all the time. For example, a hotel might put a Microsoft Surface unit in the lobby and want to run one application that lets customers explore the amenities and features of the hotel. This application could:

  • Describe the hotel's restaurants and enable users to make reservations.

  • Describe spa packages and exercise and pool facilities.

  • Show photos of the hotel's banquet and function

  • Link to the hotel's other properties in different geographical locations.

  • Describe special offers.

You can set up a Microsoft Surface unit to run in single-application mode so that it runs one application exclusively. In this configuration, the unit does not show an attract application or Launcher. When you start the unit, it briefly displays a simple screen with the Microsoft Surface name and logo while the application loads, and then the application starts. The application does show access points, but they are inactive and for decoration only.

In single-application mode, the application does not close or move to the background when users tap the access points, and the application does not have any time-outs that occur when users don't interact with the application. However, you can include close or time-out functionality into the application itself. For example, by using the preceding example, you could add a Reset button so users can reset the application to its original state if a user walks away and leaves the application showing restaurant information. You could also add an automatic reset if the Microsoft Surface unit doesn't get a contact after 20 seconds. The automatic reset could also clear any personal information that the user entered, such as a spa appointment.

For more information about how configure a Microsoft Surface for single-application mode, see Deploying Only One Application on a Microsoft Surface Unit.

Localized User Interface

If your Microsoft Surface application will be released in countries or regions around the world, you should consider adapting your application and its content to meet the needs of the locales where your application will be released (globalization), and you should consider translating any application resources, such as text, for the specific cultures that the application supports (localization). While Microsoft Surface provides users with intuitive touch-oriented experiences, text remains an important component, ranging from labels on controls to password or content in forms. For more information about how to localize your application, see Considerations for Localized Microsoft Surface Applications.

Depending on the needs of your Microsoft Surface application, you can also localize the Microsoft Surface user interface by configuring several registry settings.

Interface Language

The UILanguageName registry setting controls the language that displays in the default user interface for Microsoft Surface. Microsoft Surface SDK 1.0 SP1 supports many European languages and U.S. English and Korean. For the list of possible languages, see Deploying Localized Microsoft Surface Applications.
 

Date and Number Settings

The LocaleName registry setting controls how Microsoft Surface displays numbers, currencies, dates, and times. Microsoft Surface accepts any locale name that the .NET Framework supports. For the complete list of locale identifiers, see Locale Identifier Constants and Strings on the MSDN Web site.
 

Input Language

The InputLanguageID registry setting controls the language and layout of the on-screen keyboard that Microsoft Surface provides if your application requires users to enter data. For the list of possible languages and layouts, see Deploying Localized Microsoft Surface Applications.