Unveiling Windows SideShow

Unveiling Windows SideShow

ideShow allows users to remotely control PCs and servers. It allows PCs to create interactive output on devices other than monitors so users can view useful data stored on their PCs when they are away from it. It enables users to interact with their PCs in scenarios that would previously have been very cumbersome, and allows for the creation of secondary display and interaction devices that would previously have been cost-prohibitive. The Windows Sideshow auxiliary hardware display can display information and provide interaction even when the main PC is turned off, the laptop lid is closed, or no monitor is available.

The basic idea of Windows SideShow is straightforward: provide a way to interact with a PC when it is off, or when the user does not have access to keyboard, mouse, and monitor for some reason. Imagine a scenario where you have your notebook in a bag and want to check whether you received e-mail. You need to get your laptop out of the bag, open up the lid, wait for the device to boot, launch your e-mail application, and wait for it to download mail from the mail server. It’s a cumbersome and time-consuming task, just to check for new e-mail.

With SideShow, the scenario is drastically different: Pull the computer out of the bag and glance at a display built into the outside of the lid of the notebook (see Figure 1) to see how many new e-mails you have received, and even read them right there.

Figure 1: SideShow-compatible Display: Here’s a SideShow-compatible display on the lid of a notebook computer.

This auxiliary display (also known as aux display) is really a tiny computer that is always on, even when the main computer is turned off. (Don’t worry: It consumes only a minute amount of precious battery power). This tiny computer can choose to periodically power up the main computer to perform tasks such as mail synchronization, and then shut it down again. These devices can also act completely autonomously. For example, the device may decide it is time to alert you about a meeting it has known about for a while. On the opposite end of the spectrum, the device may be used as a kind of remote control for applications on the main PC. For example, you can use SideShow?to control Windows Media Player and play songs without having to open the laptop lid.

SideShow is not strictly a mobile technology, although it certainly plays an important role in mobility. It is also very useful in other scenarios, such as the ability for a system administrator to check the status of a server without having to hook up a monitor and a keyboard. Envision a set of rack-mounted servers that have a SideShow display built in so you can quickly check the status of all servers in a rack and even perform simple tasks, such as resetting a service or rebooting a computer.

Similarly, aux displays can be built into portable computers on places other than the lid. Currently, computers have LEDs to indicate simple status information, such as whether the device runs on a battery or is plugged into an outlet. Figure 2 shows concept art for such a configuration.

Figure 2. Goodbye LED’s: This concept art shows a notebook that uses a Windows SideShow-compatible display instead of simple LEDs.
Figure 3: SideShow Remote: A Windows SideShow-compatible remote control controls a Windows Media Center PC.

Not all aux displays are built into the hardware. They can also be separate, hand-held devices that communicate with the PC through technologies such as Bluetooth or standard wireless connections. Such devices could be special- purpose-built devices, or more common devices, such as cell phones. This way, system administrators could control and monitor servers using that hand-held device (or cell phone), rather than having to walk up to each server.

In a more consumer oriented scenario, you could use a SideShow-based remote control device (see Figure 3) to control a Windows Media Center PC, without ever having to look at a conventional display device and without getting anywhere near the PC. Similarly, SideShow devices could be used as interactive picture frames in the living room, or recipe viewers in the kitchen. The low cost of SideShow devices makes such scenarios feasible; limits are set only by hardware vendor’s imaginations.

The Technology Behind SideShow
SideShow supports a very wide variety of devices that can be used as aux displays. The current expectation is that most third-party vendors will use devices based on the SPOT operating system (the same OS Microsoft uses in the MSN Watches), which run a very small version of the CLR (Common Language Runtime) known as Tiny CLR. However, aux displays can also be based on even less expensive devices that are less powerful, with very primitive processing and display capabilities. (Such devices could be built into keyboards, for instance, as shown in Figure 4.) On the other end of the spectrum, SideShow devices could be based on Windows CE, or, in the more distant future, even more sophisticated operating systems.

Figure 4. Keyboard SideShow: This concept art shows a keyboard with a simple built-in Windows SideShow-compatible device.

For developers, the actual device and its exact hardware configuration are of secondary importance. In most cases, developers will simply send information to the device in a format known as Simple Content Format or SCF. This format is based on XML and is somewhat similar to a simple version of HTML. In all but the most unusual scenarios, developers will not have to worry about differences in device capabilities, as each device will know how to use the provided content in the most applicable way. Only in cases with very unusual capabilities (such as extremely limited or extremely sophisticated displays) may developers want to create more or less verbose content that gets sent to the device.

Applications can send information to SideShow in an HTML-like content format known as the Simple Content Format (SCF).

Developers can communicate with SideShow devices using the SideShow SDK, which is part of the Windows Vista SDK. (SideShow is a Vista-exclusive technology). The SDK provides all the components needed to interact with devices, as well as device emulators (see Figure 5). Currently, the SideShow SDK is purely COM-based and thus targets C++ and pre-.NET developers. However, it is relatively easy to interop with the COM-based SDK from managed languages such as C# and Visual Basic.NET. Also, Microsoft is well aware of the importance of managed SDKs, so a native .NET version should become available as well. This means that both native and managed developers can easily interact with SideShow devices.

Figure 5. SideShow Emulator: This device emulator is provided as part of the Windows SideShow SDK.
Figure 6. Default Calendar: The default calendar implementation on a Windows SideShow-compatible device.
Figure 7. Mapping Gadget: Mapping gadgets allow users to look up directions without booting up the PC.

A Simple Example

Figure 8. Sample Schedule Bulder: This is the schedule builder Windows Vista example application

SideShow devices support a number of scenarios out of the box. This may include e-mail, calendar (see Figure 6), and map (see Figure 7) scenarios, but details have yet to be announced. There are great opportunities for third-party developers to add similar functionality to their own applications. The example here is a simple session scheduler application for a conference such as PDC, that can send session schedules to SideShow displays. The client application in Figure 8 is a standard Windows application that is noteworthy only because it communicates with SideShow devices through the SideShow API.

This sample application creates an in-memory SCF-formatted string similar to the following:

                   1:45pm           Windows Vista: Reaching Your Users When Their          Machine Is Off, Using Auxiliary Display          Devices       5:00pm          Windows Vista Tablet PC: Advances in Creating          Tablet Enabled Applications       5:15pm          Windows Vista: Developing Power-Aware          Applications        
Figure 9. Custom Conference Session Schedule: Content from the custom conference session schedule application displayed on a Windows SideShow-compatible display.

Currently, the application sends this SCF-formatted string to the device using the COM-based API. For managed (.NET) developers, this may sound a little scary, but in reality, it is pretty easy to wrap things in managed code. Microsoft will provide managed samples or a managed API in the Windows Vista timeframe. The resulting display on the SideShow device can be seen in Figure 9.

Note that it is entirely conceivable?even likely?that a single PC will have access to more than one SideShow device.

In short, Microsoft SideShow is a very exciting technology, enabling developers to implement scenarios and allowing users access to PCs in ways that were previously inconceivable or simply cost prohibitive. Actual aux displays are currently hard to come by (a fact that will change by or before Windows Vista ships), but developers can already start targeting this new platform using the Windows Vista SDK and the included emulators.

Share the Post:
XDR solutions

The Benefits of Using XDR Solutions

Cybercriminals constantly adapt their strategies, developing newer, more powerful, and intelligent ways to attack your network. Since security professionals must innovate as well, more conventional endpoint detection solutions have evolved

AI is revolutionizing fraud detection

How AI is Revolutionizing Fraud Detection

Artificial intelligence – commonly known as AI – means a form of technology with multiple uses. As a result, it has become extremely valuable to a number of businesses across

AI innovation

Companies Leading AI Innovation in 2023

Artificial intelligence (AI) has been transforming industries and revolutionizing business operations. AI’s potential to enhance efficiency and productivity has become crucial to many businesses. As we move into 2023, several

data fivetran pricing

Fivetran Pricing Explained

One of the biggest trends of the 21st century is the massive surge in analytics. Analytics is the process of utilizing data to drive future decision-making. With so much of

kubernetes logging

Kubernetes Logging: What You Need to Know

Kubernetes from Google is one of the most popular open-source and free container management solutions made to make managing and deploying applications easier. It has a solid architecture that makes

ransomware cyber attack

Why Is Ransomware Such a Major Threat?

One of the most significant cyber threats faced by modern organizations is a ransomware attack. Ransomware attacks have grown in both sophistication and frequency over the past few years, forcing

data dictionary

Tools You Need to Make a Data Dictionary

Data dictionaries are crucial for organizations of all sizes that deal with large amounts of data. they are centralized repositories of all the data in organizations, including metadata such as