Overview of the SmartGlass Platform

Xbox SmartGlass allows users to use devices such as smart phones and tablets to control, obtain information from, and interact with titles and apps that run on an Xbox One console. SmartGlass works with devices that the users already own, so that users do not need to obtain proprietary controllers to interact with the console. The SmartGlass platform supports devices that use the following platforms:

Xbox SmartGlass enables scenarios that involve multiple screens and multiple users, and provides those users with opportunities for increased collaboration, interaction, and access to information.

When you provide SmartGlass experiences for your Xbox One games and apps, you can:

SmartGlass Scenarios

You can use Xbox SmartGlass to enable a number of scenarios that you could not implement otherwise, or that you might find difficult or awkward to implement without SmartGlass. These scenarios include the following:

SmartGlass Technology and Features

The SmartGlass platform offers the following technologies and features:

End-to-End SmartGlass Development

Because SmartGlass experiences involve the interaction of one or more mobile devices with an Xbox One console, you must create code that runs on the Xbox One console and code that runs on the mobile devices when you develop a a SmartGlass experience. SmartGlass provides different APIs and development kits that you can use to create the code that runs in each of these locations and that allows the code running on each mobile device to exchange information with the code running on the console.

The following diagram illustrates the different development kits that you can using during the development of SmartGlass experiences.

Console-Side Development

Microsoft provides the SmartGlass Console API to Xbox One game and app devleopers so that those developers can create the console side of the SmartGlass experience for their titles. The SmartGlass Console API is available in the following development kits:

For information about developing the Xbox One console side of a SmartGlass experience, see Developing the Console Side of a SmartGlass Experience. For reference information about the API elements in the SmartGlass Console API, see SmartGlass Console API Reference.

Options for Device-Side Development

You have the following options for developing the device side of a SmartGlass experience:

The following illustration summarizes these development options.

Developing Companions

The hosted companion option for developing the device side of your SmartGlass experience requires two items:

For the hosted companion option, the Xbox SmartGlass app acts as the browser that displays and runs the Web content for your companion. Your Web content can access SmartGlass capabilities in your JavaScript code by calling the SmartGlass Device JavaScript API. The SmartGlass Device JavaScript API is available as part of the SmartGlass Hosted Companion SDK.

The hosted companion option for developing the device side of the SmartGlass experience provides you with the following advantages:

Developing Native Apps

In the native app option for developing the client side of your SmartGlass experience, you create an all-in-one app that handles not only the interface and features specific to your SmartGlass experience, but also the tasks of discovering, connecting to, and communicating with Xbox One consoles. In this case, the user does not use the Xbox SmartGlass app from Microsoft as part of your SmartGlass experience.

When you use the native app option, your app is both title-specific and platform-specific, so you need to create different versions your app for each platform that you want to target. You create the app for each platform by programming in the native languages that developers standardly use to develop apps for the platform. For example, for the version of your app for Android devices, you use Java. For the version of your app for iOS devices, you use Objective-C.

To use SmartGlass capabilities in your native app, you use the same libraries that Microsoft uses to create the Xbox SmartGlass app that users install for running hosted companions. Microsoft provides these libraries as part of the SmartGlass Native SDK, and includes libraries for all of the platforms that Xbox SmartGlass supports.

The native app option for developing the device side of the SmartGlass experience provides you with the following advantages:

Hosting Companions in Native Apps

As a third device-side development option, you can combine the advantages of the other two development options to create a hybrid app in which you display and run a companion in a native app. To create such a hybrid app, you: