What is microsoft windows sideshow

Overview of Windows SideShow

Windows SideShow is a new technology in Windows Vista. With Windows SideShow, developers can write gadgets to send data from a computer to devices connected to that computer.

Platform Benefits

A gadget can use the Windows SideShow APIs available in Windows to send data to devices. It is important to understand that a gadget runs on a Windows-based computer, and does not rely on special code running on the device. This architecture allows for interoperability between gadgets and devices without any built-in hardware dependencies. The following points describe certain key aspects of Windows SideShow:

Gadgets on Windows Vista communicate with the Windows SideShow APIs and are independent of the layers below them. This frees the gadget from having to manage device connection state and other details. Device capabilities are exposed only if requested; otherwise, Windows SideShow handles them automatically.

Windows SideShow is not dependent on the type of connection used by the device. It does not matter whether a device is connected through a USB port, Bluetooth, TCP/IP, or other future protocols. As long as the device is compatible with Windows SideShow, a gadget can easily provide content to it without knowing how the device is connected.

This technology allows developers to create gadgets and extend existing applications specifically for devices with varying display and interaction models. The devices supported by the platform include, but are not limited to, displays attached to a laptop, front-panel computer displays, mobile phones, displays embedded in keyboards and digital picture frames, and other display devices. Some devices can be powered even when the computer is in a low-power mode, such as standby or hibernate, which allows users to access information in new scenarios. The Windows SideShow SDK equips developers with the information to create a gadget for Windows SideShow.

Gadgets for Windows SideShow

A gadget for Windows SideShow is a piece of code running on the PC that sends data to devices using the Windows SideShow platform. The gadget retrieves data from a data source, such as an application or web service, and sends this data to the Windows SideShow platform, which sends it to the appropriate devices. A gadget can communicate with the Windows SideShow platform using one of the following options:

Windows SideShow COM APIs from C++.

Windows SideShow managed APIs using managed code.

The Windows SideShow object model in a Microsoft Sidebar gadget.

Windows SideShow makes writing gadgets for devices easier by:

Enabling developers to write code that runs on Windows. Developers do not have to write device-specific code to run their gadgets on devices with different specifications.

Abstracting out the details of managing multiple devices (and their connection states) from the gadget developer. Developers don’t need to communicate with each device independently.

Examples of Windows SideShow gadgets:

A calendar gadget can periodically retrieve data from a calendar application like Microsoft Office Outlook, and send it to connected devices. Users can frequently view calendar information on their Windows SideShow-compatible devices to check for the meeting location.

A weather gadget can retrieve data from a web service and update all connected devices with the latest weather information in user-designated locations.

An instant messaging gadget can provide presence information for a user’s buddies on their Windows SideShow-compatible devices. It can send notifications when buddies log on, log off, or initiate conversations.

A gadget provides a connection between a data source and the Windows SideShow platform. Developers can write a gadget that responds to updates from a specified data source, converts it to a format that can be used by Windows SideShow, and sends this formatted data to the platform.

Windows SideShow-Compatible Devices

Windows SideShow provides a way to display a user’s information on devices with a wide variety of display, processing, and interaction capabilities. Microsoft has designed the Windows SideShow platform to be flexible and extensible by allowing hardware vendors and manufacturers to add Windows SideShow support to new and existing devices.

PC users are not always able to access the main display of their computer due to environmental, ergonomic, or power-related issues. Most of these users also carry smaller devices with display capabilities more suitable for certain situations. These devices are usually used for accessing important information quickly. The Windows SideShow platform adds value to mobile and desktop PCs and a user’s devices by enabling the user to access information in more scenarios. This platform solves the problem of unifying communication with these devices, enabling applications on the PC to provide secondary devices with relevant content in a simple and consistent manner. For example, low power displays built into laptop lids or bezels allow users to look at information in ergonomically or power constrained situations. Existing devices, such as cell phones, picture frames, or peripheral displays can also be designed to use Windows SideShow.

Читайте также:  Как посмотреть загруженность процессора linux

Как отключить или включить Windows SideShow в Windows 7 или Vista.

Windows SideShow это технология, которая предоставляет отображаемую информацию с компьютера на различных вспомогательных устройствах, которые могут быть установлены или интегрированы в основной компьютер. Windows SideShow работает, отображая гаджет на Windows SideShow, совместимые устройства, и, следовательно, зависит от службы Windows Gadgets.Тем не менее, информация, такая как электронная почта, календарь, новости, напоминания, фотографии, слайд-шоу и т.д. на удалённом устройстве, даже если настольный компьютер или ноутбук выключен или находится в спящем режиме.

Windows SideShow совместимые устройства не были популярны на рынке, и даже если устройство, которое поддерживает Windows SideShow, Windows 7 или Windows Vista пользователи могут не хотеть связываться и соединяться с SideShow-совместимыми устройствами.

Следуйте по пунктам ниже о том, как отключить или выключить SideShow для Windows:

  1. Откройте Редактор локальной групповой политики.
  2. Разверните следующую ветку:

Конфигурация пользователя \ Административные шаблоны \ Компоненты Windows \ Windows SideShow

  1. Дважды щелкните на опции Выключить Windows SideShow, в правой панели.
  2. Выберите кнопку Enabled, чтобы отключить и выключить SideShow.

Установите переключатель с ограниченными возможностями или не настроен на разрешение и включите SideShow.

About Windows SideShow Gadgets

Before writing a gadget for Windows SideShow, developers should understand the following concepts related to the Windows SideShow technology.

Application IDs

Each gadget is uniquely identified with a GUID, which is known as the gadget ID or application ID. This application ID is what the Windows SideShow platform uses to identify each gadget. The gadget provides its application ID to the platform as part of its metadata (described in Installing a Gadget) as well as when the gadget initially registers itself with the platform. Note that this differs from Windows Sidebar: Sidebar gadgets do not need to generate their own application IDs; they are generated automatically by Sidebar itself. To generate a new random GUID for a Windows SideShow gadget, run guidgen.exe from the bin directory in the Windows Vista Platform SDK.

Endpoints

In the Windows SideShow platform, an endpoint represents a contract between a device and a gadget regarding the format of the data that is sent to the device and the events that are sent from the device back to the gadget. Gadgets and devices are only able to communicate with each other when they have an endpoint in common. As part of the gadget metadata (discussed in Installing a Gadget), gadgets must indicate to Windows SideShow which endpoints they support by specifying endpoint IDs. This information is then used by Windows SideShow in Control Panel to enable gadgets and allow data to flow to the device. In many ways, an endpoint is a similar concept to the notion of a port in TCP/IP. Microsoft currently defines two endpoint IDs for Windows SideShow:

The endpoint mechanism is meant to be fully extensible to allow device manufacturers to develop custom endpoints for scenarios where a custom data format is required or the Microsoft-defined endpoints are not sufficient to provide the desired user experience. Gadgets can use any custom endpoint supported by a device.

In some cases, gadgets can support multiple endpoints. Endpoints are specified in priority order, and typically the highest priority endpoints provide the richest experience for that gadget. Because not all devices can support the richest experience, the gadget should also support a scaled-down or alternate experience for devices that use one of the common endpoints, such as the Simple Content Format (SCF) endpoint. For example, the Microsoft Office Outlook Calendar gadget supports both iCalendar and SCF endpoints, which allows devices that do not support the iCalendar endpoint to still receive upcoming appointment data. For more information about endpoints, see Platform-Defined Endpoints.

Content

Gadgets display content. In the Windows SideShow COM API, the ISideShowContent interface represents a content item and the ISideShowContentManager interface enables you to manage the flow of content between the gadget and a device. In the managed API, an instance of the Content represents a content item and the SideShowGadget includes methods for managing content flow. Both APIs provide a ContentMissing event that can notify a gadget when the device needs new content. See the following section for more information about events.

Читайте также:  Дисплей по сети windows 10

A content ID uniquely identifies a specific piece of content for an endpoint. Technically, a content ID is an unsigned 32-bit integer that is unique only for a given application ID and endpoint ID pair. Interpretation of a particular content ID depends on the endpoint for which it is being used. Content ID 0 retains a special meaning in Windows SideShow for all endpoints: it is reserved for a high-level summary, called glance content, which is always a UTF-8 encoded text string. Note that not all endpoints utilize content ID 0 (for example, iCalendar does not).

All other content IDs are available for a gadget, and contain content in a format dictated by the endpoint. Gadgets are able to add, update, and remove a content segment by referencing its content ID.

Events

Most gadgets will primarily push data down to the devices. However, some gadgets might require information about user interaction with the device. For example, the Windows Media Player gadget listens to events from the device to control media playback on the computer.

There are six events available to gadgets that use the Windows SideShow managed API:

There are four events available to gadgets that use the Windows SideShow COM API:

The DeviceAdded, DeviceRemoved, and AllDevicesRemoved events tell a gadget when there is a change in the set of devices to which they are providing content. This may be due to physical device connection and disconnection, or enabling and disabling gadgets in Windows SideShow in Control Panel.

The GadgetEnter and GadgetExit events notify the gadget when the user views the first page of the gadget or returns to the main page on the device.

The ContentMissing event is sent by a device when, due to user interaction, it needs to display a piece of content which it does not have. The gadget can use this event to provide the appropriate content, if it is available.

The ApplicationEvent is a general-purpose event C++ developers can use to send endpoint-specific data from a device to the gadget on the PC. The endpoint defines the set of events available to a gadget. There are two global application events defined for all endpoints: SIDESHOW_EVENTID_APPLICATION_ENTER and SIDESHOW_EVENTID_APPLICATION_EXIT. These two events are fired when a user begins to view content from a gadget or stops viewing content from a gadget. For more information about SIDESHOW_EVENTID_APPLICATION_ENTER and SIDESHOW_EVENTID_APPLICATION_EXIT, see ApplicationEvent Method.

Notifications

In addition to content, Windows SideShow allows gadgets to send notifications to connected devices. Notifications consist of a title, message, and icon. Gadgets can specify an expiration time for a notification, which indicates the time after which the notification should no longer be displayed. For example, an instant messaging gadget may use notifications to alert the user when buddies sign in, or an e-mail gadget may send a notification when new e-mail is received.

Gadget Manager

The Gadget Manager is a utility that performs a number of tasks, including:

Providing system-tray notifications on new gadget and device installations.

Automatically launching gadgets when they are enabled for connected devices.

Cleanup on gadget removal.

Using the Gadget Manager is optional, though highly recommended, because it helps to provide a consistent user experience on Windows. The Gadget Manager is well-suited for gadgets that have no Windows UI and that run in the background. If you install your gadget as part of a larger software application package, you should consider using the Gadget Manager to provide a clear notification to the user about the new gadget. For more information about using the Gadget Manager, see Installing a Gadget

Metadata

To be registered with Windows SideShow, the gadget must provide a minimum set of metadata in the registry. This metadata includes the application ID, the name of the gadget, the gadget’s icon, the endpoint IDs it supports, information on how the Gadget Manager can invoke it, and additional optional values. These are discussed in more detail in Installing a Gadget.

Gadget metadata can be written to either of the following locations:

Gadgets written to HKLM will be available for all users on the computer. Gadgets written to HKCU will be available only for the current user.

The Windows SideShow Managed API provides the GadgetRegistration to make registering and unregistering a gadget easier. This class can be especially useful when registering and unregistering your gadget during development, or when creating a custom installer.

Online and Offline Gadgets

Certain types of gadgets, such as those that remotely control the computer, require the computer to be on for full functionality. Windows SideShow can (through the metadata described above) allow a gadget to indicate that it is an online gadget that requires the computer to be on for operation. Gadgets are offline by default, which means that their content is available on the device when the computer is off (assuming that the device is capable of this). For an online gadget, the device will not allow the user to view content when the computer is turned off or disconnected.

Читайте также:  Windows как узнать что он заблокирован

Device Cache Algorithms

Some devices maintain a content cache, which helps to avoid requesting the same content multiple times. Such devices can choose from a variety of rules, or device cache algorithms, for how to remove content from the cache when there is not much memory available. For example, a device could choose to remove the most recent content first or to remove the oldest content first.

Devices can use a hint from your gadget when deciding how to flush cache memory. On Windows Vista, SideShow was designed to read a registry value to determine which device cache algorithm to suggest for devices. However, due to a known issue, the SideShow platform does not use this registry value. Instead, the device cache algorithm setting corresponds to whether you have specified your gadget to be an online gadget or not.

When you specify your gadget to be an online gadget, Windows SideShow reports to the device that the device should give priority to the oldest content in the cache. When you specify your gadget to be offline, Windows SideShow reports to the device that the device should give priority to the newest content in the cache.

This behavior is usually not an issue. Most gadgets do not specify the online-only behavior and most gadgets give priority to the newest content, so the default settings provide the most common behavior. For online gadgets, the cache algorithm setting does not prevent any particular content from reaching the device, because the gadget only works when the device is connected to Windows. Therefore, the gadget can always provide whatever content the user requests.

This issue is fixed in Windows 7.

A device that maintains a cache of data can, under certain circumstances, experience so much memory pressure that it must flush some of its cached data. This may occur, for example, when a user has enabled a significant number of gadgets that all require a significant amount of memory to hold their content. As part of the gadget metadata, the gadget can specify its ideal algorithm for managing its device-side cache. Typically, gadgets do not encounter such situations; however, in case they do, you may want to include fine-grained control over how the cache is purged.

The current defined values for the CacheAlgorithm metadata entry are:

0: Default, give priority to newest content in the cache.

1: Keep Oldest, give priority to the oldest content in the cache.

2: Keep Frequently Accessed, give priority to the most frequently accessed content. Can be combined with Keep Oldest to give priority to oldest item when multiple items have the same access frequency.

4: Keep Recently Accessed, give priority to the content most recently accessed (by the user). Can be combined with the Keep Oldest to give priority to the oldest item when multiple items have the same last access time.

For more information about CacheAlgorithm and other metadata, see «Gadget Metadata» in Installing a Gadget

Managed API Content Cache

The managed API provides a cache that stores content that your gadget has pushed to devices. When a device requests a particular content item, the managed API first tries to provide the content from the content cache. If the requested content does not exist in the cache, the managed API raises the ContentMissing event in your gadget. This event gives your gadget an opportunity to provide the missing content.

Often, gadgets created using the managed API actively push content to devices, so the ContentMissing event may never occur. However, you can choose only to provide content in response to the event.

Whether or not the managed API’s content cache is enabled depends on how you create the gadget. If you use a constructor that does not have the useCache parameter, then the content cache is enabled, by default. Otherwise, you must specify a value for useCache.

Whether or not the managed API’s content cache contains a particular content item depends on whether you have previously pushed the content to the device, for example by calling AddContent.

Note that the managed API’s content cache is not related to the device cache algorithm, which specifies behavior for the device content cache.

Оцените статью