Dan Polivy, senior SideShow designer, along with Darryl Brown and Teague Mapes were kind enough to sit down with me for about 45 minutes and chat about SideShow technology. Below is an interesting Q&A about the upcoming Microsoft Vista SideShow technology, from the SideShow designers.
Q: When did you guys start working on Windows SideShow technology and why?
A: We started working on it about 2.5 years, probably closer to 2 ¾ years ago. Initial development was intended for mobile PCs. At that time we were in Microsoft’s Mobile Platforms Division (Tablet PC and laptops, not phones!), and were looking at ways to extend the usefulness of your mobile PC when the lid is closed. The goal of Windows SideShow is to provide information at your fingertips, saving both your time and your PC’s battery life. For example, when you’re trying to get the location of your next meeting, you don't have to waste time to open and boot the mobile PC to get at that information; with a Windows SideShow-enabled mobile PC, you can save your time by accessing the information on the device and conserve the battery by using the low-power device instead of booting the full PC.
Q: Aside from remote controls, secondary laptop displays or MP3 players, what other future devices do you envision supporting Windows SideShow?
A: There is a lot of freedom for hardware developers to build all kinds of devices for Windows SideShow. We encourage people to be creative in this space. The platform is fully extensible and can support any type of device. The SideShow-enabled remote controls struck a nerve in the hardware development community, and are one of the most popular devices our partners are building. We’ve also seen a lot of interest in various home control applications using Windows SideShow technology.
Q: From a technology point of view, what makes Windows SideShow unique / powerful?
A: Windows SideShow is the first platform within Windows that can get information to an entire ecosystem of hardware devices in a simple and consistent manner. It provides uniformity in the distribution of data to devices with varying capabilities, using formats such as the Simple Content Format, an XML-based format for Windows SideShow. It is a nice a way to bridge the gap between small (hardware) devices and Windows, without having to develop to a custom solution. With the power of the platform, you can transform small, simple devices into useful information displays without a lot of work.
Q: Windows Sidebar gadgets are proliferating more and more, do you see a way of bridging the gap in between gadgets for Windows Sidebar and Windows SideShow-compatible devices?
A: We already have integration between the two. There is a set of APIs exposed to Windows Sidebar that allows you to target a Windows SideShow-compatible device from within the Windows Sidebar gadget. Unfortunately, the interoperability is not automatic; the developer must specifically call the APIs to send content to the devices, but it is still very easy to add SideShow support if you are already building a Sidebar gadget. The hard part is getting the data from the source, which is typically already done. The difference is in the presentation: HTML/JScript for Sidebar, and Simple Content Format for SideShow. Example: We have a Windows SideShow-enabled version of the Stocks gadget for Windows Sidebar, which will be released shortly.
Q: Windows Sidebar gadgets seem to be 'single minded' applications, e.g. a certain gadget will handle weather, one can handle stock quotes and so on. What prevents a user from writing a super-gadget that can handle more than one function at the same time?
A: There are no technical limitations from a development point of view. It is just a matter of dividing the applications in a way that make the most sense... In some cases, the user might need to enable or disable certain functionality – for example a user might want a media guide gadget but might not be interested in a music gadget. If gadgets are separate into simple functions the user can selectively enable or disable functionality. It also helps to reduce clutter from within a gadget, and make the code implementation easier to separate out the functionality.
Q: The Windows SideShow platform was designed to be very open and portable -- it can run on any type of processors, etc. Does Microsoft have plans to port this technology to other operating system platforms? Example: Windows CE, Windows XP, Mac OS.
A: Currently, the majority of devices that support Windows SideShow are based on the .NET Micro Framework solution we’ve developed (this is not the same as the .NET Compact Framework). We are currently looking at options for building a standard solution for Windows CE. The SCF (Simple Content Format) rendering engine can be implemented by the developer in any type of device running any kind of firmware or OS. A good example would be cell phones running specialized operating systems. A few of our partners have developed devices built on simple microcontrollers.
Q: Aside from Windows Mail and Windows Media Player, are there any other existent or future Windows Vista applications that have native Windows SideShow support? Any future plans?
A: Microsoft Office Outlook 2007 has a calendar gadget included with it. In addition, we will provide support for E-mail, Contacts and Calendar for Microsoft Office Outlook 2003, E-mail and Contacts for Microsoft Office Outlook 2007, Microsoft Office PowerPoint, the RSS platform in Windows Vista, and gadgets for Windows Media Center. We will also provide stock quotes and picture viewer gadgets, among others.
Q: USB has several classes, such as HID, Smart Card, Mass Storage, Video/Audio, etc. Do you foresee the creation of a class dedicated to Windows SideShow?
A: At the moment we do not have any standard wire protocols, but we are looking at the possibility of creating one that can work via Bluetooth or IP, or potentially expanding the HID-Bitmap functionality.
Q: Since Windows SideShow is a platform designed to talk with hardware devices, do you think that it will be popular in the Robotics field?
A: This could definitely be a creative use of the technology. You could enable all sorts of interesting scenarios in this field with SideShow, such as being able to monitor a robot via remote control.