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.
A gadget can make use of the Windows SideShow APIs available on Microsoft Windows to send data to devices. It is important to understand that a gadget runs on the Windows 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 about 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 mundane 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 settings and 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 mini-application or 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
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 need not worry about communicating 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, such as the Simple Content Format, 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.
Users of PCs are not always able or interested in accessing 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, usually 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 and settings. 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.