Windows Sidebar

The Windows Sidebar is a Microsoft Windows feature that was designed to provide users with up-to-date information at a glance. It was first developed as part of Windows "Longhorn". After the "Longhorn" development reset, the Sidebar shipped in Windows Vista and in Windows 7 (as Desktop Gadgets). The feature was dropped from Windows 8 onwards.

How to get information
As the world becomes increasingly asynchronous, digital, and distributed, keeping track of all the pertinent information has become incredibly difficult. Maintaining awareness of such information can be extremely helpful for productivity.

The Microsoft Research team writing about Sideshow observed that the following strategies have been pursued to keep people aware of important information:


 * 1) Polling: allow people to repeatedly check the information. However, because important events often occur when users are doing other things, it is easy to miss critical updates when users do not actively check for information. Second, polling often imposes a high memory burden on users: not only do they have to remember to poll, but they often have to mentally compute what has changed. Third, polling takes a tremendous amount of time and energy, especially if the information is spread widely throughout several sources. Several portal interfaces (like the My Yahoo! Portal page and Microsoft’s Digital Dashboard) have successfully addressed this third drawback by creating a single interface that fetches information from multiple sources and summarizes it one place, but these interfaces still leave users to cope with the other limitations of polling interfaces.
 * 2) Alerts: interrupt users when something important happens. This solves the first limitation of polling: it is easy to miss critical updates when users do not actively check for information. However, alerts require that users get interrupted from their primary task, distracting them. In the extreme case, users can get interrupted by alerts so much that they cannot get any work done.
 * 3) Peripheral awareness: works by filling users’ peripheral attention with information such that it envelops them without distracting them. With this method, the goal is to present the information such that it works its way into users’ minds without intentional interruptions.

Sideshow followed the principle of peripheral awareness. So did the sidebar as envisioned during pre-reset "Longhorn". Microsoft wrote in its Aero User Experience Guidelines: "Users want to receive timely and relevant information from your application or service, even while they are using other applications. The sidebar manages that information for the user."

Precursors
Microsoft considered the Windows Sidebar as "an evolution of the taskbar notification area in previous versions of Windows."

Another possible precursor is the Channel Bar, which was integrated with Internet Explorer 4 as part of the Windows Desktop Update, and was later included with Windows 98. The Channel Bar was designed to be an information delivery system based on Microsoft's Channel Definition Format (CDF). Users could subscribe to various channels—websites designed to deliver content—and receive updates from the channel provider. Due to its integration with Active Desktop, information could also be displayed within Windows Explorer or in the Channel Screensaver.

Paul Thurrott considers as precursors of the Windows Sidebar the task panes in Microsoft Office and in Windows XP's Explorer windows, the My Stuff bar in MSN Explorer 6 and, the Dashboard in MSN 8, the latter also recognized by Sean Alexander of Microsoft

Sideshow
In the early 2000s, Microsoft Research developed an application called Sideshow (not to be confused with Windows Sideshow which shipped in Windows Vista). Sideshow was composed of:


 * A sidebar on one edge of the user’s desktop on the primary display, which always remains visible, and cannot be covered by other applications. However, a user could set their sidebars to disappear when the mouse was not over it.
 * Tickets that fill the sidebar, and display a small summary of information.

The tickets aimed to provide a relatively high-level summary of information in a small space. If users wanted to find out more, they could hover their mouse over a ticket, which brings up a tooltip with detailed information. The tooltip disappears when the user moves the mouse away. A tooltip grande is a larger tooltip that is actionable, allowing users to manipulate information inside the tooltip window or click to get even more detailed information. Alerts would pop up when important information arrives, such as a new e-mail.

Tickets could be distributed as files, which enabled people to send tickets by e-mail or post them on web pages. Users could then drag these tickets to their sidebar to watch different types of information, such as an auction. Users could also add tiles by clicking the “new” button at the bottom of the sidebar, which would bring up a wizard interface that allows users to choose and customize a ticket for their use.

Tickets could be organized into groups on the sidebar. These groups could be collapsed and expanded. When a group is collapsed, only the title bar of the group would be shown, and hovering over the title bar would display a tooltip showing all the tickets inside the group. Users could then hover over the tickets inside the tooltip to get more information about the individual tickets, just as if the group were expanded.

Tickets resize themselves based on how much space is available on the sidebar. Ticket designers would give their tickets a “best size” and a “minimum size.” If there is enough room on the sidebar, all tickets would be displayed using their “best” sizes. If the sidebar fills up, all the tickets would be gradually made smaller until they reach their “minimum” size. If all the tickets reach their “minimum” size, the tickets at the bottom will scroll off the bar. Buttons to scroll the bar up and down appear when users hover their mouse over the bar.

By default, Sideshow would be 55 pixels wide, enough room for a single column of tickets. Users could also change the width of their sidebar to provide Sideshow with more or less space to display tickets. If Sideshow is given enough room, tickets would be displayed in multiple columns.

Microsoft Research internally released a Sideshow SDK that allowed people to author tickets using HTML or C++.

As of 2002, Sideshow’s ticket library had approximately 100 tickets for 17 different regions (Australia, Germany, San Francisco, Los Angeles, Michigan, North Dakota, etc.). 83 of these tickets were written by people not on the Sideshow team, and of these 83 tickets, only three are known to have been created using the C++ SDK; the remainder were authored using DHTML templates provided by Sideshow. In addition, Sideshow’s library only contained tickets that were sent to the Sideshow team; it was possible that additional tickets were created and passed around to teams via e-mail or web pages. Some examples of tickets created by others included status of baseball games, news from various sources (newspapers in Argentina, Australia, India, Portugal, etc.), traffic status for various regions, assorted daily comic strips (Dilbert, Snoopy, Garfield, etc.), and conditions at nearby ski resorts. Other tickets were created to facilitate collaborative group work. For example, the product support organization created a set of tickets to help them track open issues, phone queues, and other team information. Another team created a ticket to help them track the task of running several dozen computers through a daily set of test cases for the latest build of their team’s software.

Sideshow was first announced January 2001 at Microsoft’s annual internal technology fair. Alpha and beta versions preceded version 1, released on 23 October 2001 Sideshow would later be demonstrated during Microsoft's Professional Developers Conference of 2001.

A build of Sideshow, 1.0.27, was leaked by WinBeta.org in 2002. After installation, run this patch or open Command Prompt and enter the following: cd %programfiles%\sideshow regsvr32 /s atl.dll regsvr32 /s sdshebay.dll regsvr32 /s weather.dll regsvr32 /s SDSHAmazon.dll regsvr32 /s SDSHDesktopFavorites.dll regsvr32 /s SDSHFolder.dll regsvr32 /s SDSHMSNIM.dll regsvr32 /s SDSHOutlook.dll regsvr32 /s SDSHOutlookFolder.dll regsvr32 /s SDSHOutlookTask.dll regsvr32 /s SDSHStockQuote.dll regsvr32 /s SDSHWSDOT.dll regsvr32 /s SDSHRaid.dll regsvr32 /s SDSHPerson.dll regsvr32 /s SDSHWebContent.dll regsvr32 /s VSSDSHRaid.dll regsvr32 /s sideshowhost.dll regsvr32 /s sideshowcore.dll regsvr32 /s sideshowmapi.dll

This build is compatible with Windows 2000 and Windows XP. It can also be run from Windows 98 SE by installing KernelEx, which adds MonitorFromWindow. It also runs on versions of Windows after XP, but appears with a black background by default. The black background can be disabled by right-clicking Sideshow icon in the system tray, or right-clicking the sidebar itself, opening "Properties", clicking the Appearance tab and unchecking "Use Windows XP themes".

Vision
The sidebar was introduced during PDC 2003 as:

Before the development reset, Microsoft intended that the sidebar would manage real-time information such as time of day, network connectivity, and battery level; information from an application or service, such as their schedule, stock prices, and sports scores; and quick access to important controls such the Play, Pause, and Volume controls for music. These information would be contained in tiles, which could be a single icon or a full tile. When the sidebar is minimized, all tiles will have an icon in the taskbar; clicking an icon lets the user access the related tile.

Not all applications would need to use the sidebar, only applications containing dynamic information that is so important to users that they check it repeatedly throughout the day. If the goal is to give users easy access to an application from Windows, a Start menu entry rather than a sidebar tile would be more appropriate.

There would be two types of tiles: transient and non-transient. A Microsoft patent explained the difference:

The rich minimized application (RMA) would be an application that is capable of providing important features even when the application is minimized. Examples of RMAs would be aclock, a virus checker, a list of buddies online, an email program, a TV window, and a media player.

To illustrate, a media player RMA would have a media player transient tile:

A simpler explanation was made using a Director demo as part of Get Users to Fall in Love with Your Software:

A flyout would be used to display additional information and functionality that does not appear in the tile. Flyouts display either single-step tasks that are related to the tile content, or overflow information from the tile (for example, a tile might show a list of most-used contacts and the flyout would show the complete list, plus commands for contacts). The flyout would appear when the user clicks the tile's background. The maximum size of a flyout would be approximately half of the screen width (depending on the screen resolution).

Tiles would have an options menu, accessible through the flyout or by right-clicking the tile. The options menu would allow users to move the tile up and down, remove it from the sidebar, choose whether to allow the tile to be auto-sized, to access the Tile Properties dialog box, and additional tasks such as Refresh Content. Selection of “remove from bar” will prevent an RMA from minimizing to the sidebar.

A tile can have a properties dialog box so that the user can customize the tile's content.

By default, the sidebar would only be 150 pixels wide. Because the sidebar is limited to the size of the screen, only a set number of tiles can fit in it. When the user adds tiles to an already full sidebar, tiles at the bottom of the sidebar shrink to icons and move to the overflow area. Users cannot see those tiles unless they click on an icon.

Implementation
The earliest leaked "Longhorn" build, 3683, contained the sidebar. The version in pre-reset builds was XML-based, The sidebar could be combined with the taskbar. For the pre-reset sidebar, Microsoft used the best concepts from Microsoft Research and applied them to a then-new platform code-named, “Avalon”, now formally known as Windows Presentation Foundation.

From 3xxx to 403x builds, the appearance of the sidebar matched the Plex visual style, and was translucent without assistance from the Desktop Composition Engine. After Microsoft scrapped Plex in favor of Slate, the color of the sidebar became a glossy black. It could be made translucent by enabling the MILDesktop key in the Windows Registry.

Twitter user Lucas Brooks (mswin_bat) found that porting the private Milestone 7 Aero theme to a Milestone 5 build like 4017 enables the striped sidebar shown in a demo.

Builds came with the following available and hidden tiles (in alphabetical order):
 * Basket, used to store files that a user wants to perform tasks with (see Longhorn Days discussion on listmakers and on the Basket on the sidebar), contrary to a statement in a tweak guide that it is very similar to "My Briefcase" feature. It does not seem to serve a purpose in build 4074.
 * Classic Tray, displays the items that were once next to the clock on the taskbar. To access all the icons, click on the tile, and a flyout will appear.
 * Clock, both analog and digital. In build 4074, the tile included an alarm clock, and international time.
 * Contacts, displays the Windows Messenger contact list on the sidebar. WinFS and Windows Messenger 6 are required. Right-clicking a contact allows a user to send email, open contact, remove contact from the bar, and to show Communication History
 * Internet Webcam showing a live traffic camera image of Washington State Route 520 (SR 520) and 124th Avenue in Redmond, Washington, United States of America (see screenshot below). The link used by the tile in build 4008 is dead, but the camera remains active. This tile is called "Web Host (Transient)" in build 4074.
 * List of most frequently used programs
 * Longhorn Status
 * Multiple desktop manager
 * News Feed, displays news items. In build 4074, the default feed is the Longhorn Developer Center on MSDN.
 * Notification History, displays all previous notifications. It came with the Rules and Alerts RMA (see gallery below).
 * People Nearby (see image below)
 * Power (Transient), displays the status of a battery in a laptop computer. This tile will turn itself on when a laptop is running on battery power.
 * Quick Launch, displays items in the Quick Launch folder (in 4074, %userprofile%\Application Data\Microsoft\Internet Explorer\Quick Launch)
 * RMA Test, showing a stretched PNG of the clock in the Clock tile, to test the RMA and transient tile capabilities
 * Search the Internet
 * Slide Show displays a slide show of all the pictures contained in your “My Pictures” folder.
 * Sticky Notes in build 4074
 * Sync, used for file synchronization. To work properly, this tile requires WinFS.
 * Transfer Progress, in build 4015 (see image below)
 * User Tile, to quickly switch between users
 * Volume
 * Windows Media Player

The sidebar was one of the reasons for instability of "Longhorn" builds, crashing Windows Explorer.

Windows Vista
After "Longhorn" development was reset, Sidebar development restarted under the Platforms Incubation Team (PIT) in the Windows Division. PIT was created in early 2005 to rapidly develop and bring to market new software ideas along the same vein as the MSN/Windows Live team.

In PDC 2005, the new Sidebar was introduced as:

The Sidebar was not included in Windows Vista build 5219 distributed to PDC 2005 attendees, but ran in the versions of 5219 in the show. In his review of build 5219, Paul Thurrott said that the Sidebar is not enabled by default in build 5219, but could be turned on pretty easily, but not describing how it could be done.

The Sidebar later leaked, and could run on build 5219. This version came from another version of build 5219.

Sean Alexander of Microsoft stated that gadgets that run on the desktop would also be available for Windows XP customers. Paul Thurrott reported during PDC 2005 that the Gadgets technology would be made available "downlevel" to legacy OSes such as Windows XP with Service Pack 2 (SP2), according to Alexander, to ensure that more developers would embrace gadgets. Thurrott said he received a beta version in his January 2006 meeting with the PIT. But no XP version was eventually released.

The applets hosted on the Windows Sidebar were renamed as gadgets, with variations of individual gadgets being included in the operating system throughout its development.

The now-called Windows Sidebar shipped with Windows Vista RTM. It was not integrated with the Windows shell but hosted graphical scripts on a vertical strip. By default, it was displayed on the right side of the screen, but it could be moved to the left. It could also be placed on top of other windows.

The Sidebar included a total of eleven gadgets: Calendar, Clock, Contacts, CPU Meter, Currency, Feed Headlines, Notes, Picture Puzzle, Slide Show, Stocks, and Weather. Multiple instances of the same gadget could be run at the same time; for example, multiple Clock gadgets could cover different time zones. Dragging gadgets to the desktop makes them expand to reveal more information. Users could download more gadgets at a Microsoft site.

Windows 7
During development of Windows 7 the user interface for Windows Sidebar was removed, which made the desktop the sole location for Gadgets. Various improvements were made to Gadgets in Windows 7.

In early builds of Windows 7, Gadgets could not be aligned properly. In build 6956, the Gadgets applet cannot be accessed if UAC is off.

Windows 8
Windows 8 included support for Windows Gadgets up to the Release Preview; support was discontinued in the RTM version of the operating system. According to Microsoft, this decision was made in response to potential security vulnerabilities discovered during development of Windows 8 which could allow arbitrary code to be executed while running compromised Gadgets. Microsoft subsequently released a tool which would allow users to disable the feature in Windows Vista and Windows 7.

Microsoft KB Archive

 * 930099: A gadget that you downloaded from the Internet is not installed correctly and does not appear in the Windows Sidebar in Windows Vista
 * 944239: How to install and remove Windows Live sidebar gadgets

BetaArchive forum

 * Tickets in Microsoft Sideshow
 * [OFFER] Vista 5219 Sidebar
 * The Sidebar before Longhorn: Microsoft Sideshow PDC 2001
 * A question about Sidebar tiles in LH 4074
 * Microsoft SideShow
 * Windows Sidebar retrospective/look back: Sideshow to Gadgets

Microsoft

 * Microsoft Gadgets blog
 * Windows Sidebar
 * Gadgets: Build Your Own Windows Vista Sidebar Gadget | Microsoft Docs
 * Download Gadget Samples for Windows Sidebar from Official Microsoft Download Center
 * Introduction to the Gadget Platform
 * Gadgets have been discontinued
 * Microsoft Security Advisory 2719662 - Vulnerabilities in Gadgets Could Allow Remote Code Execution

Non-Microsoft

 * EmoAddict15's Hosted Vista Files v0.3, contains custom gadgets for Windows Vista builds 5219, 5308, 5342, and 5365
 * Longhorn / Vista look back: Windows Sidebar