Piano Roll Overview
Sample Application: Usenet Views
How to Add a Piano Roll to Your Application
A piano roll is a spreadsheet-like display of numerical data. Unlike a typical spreadsheet, the value in each cell can be displayed in a variety of graphical formats. Here is a sample piano roll:

Each item (row) in the piano roll has text that gets displayed in the first column, along with numerical values that get displayed in the remaining columns. The values in this example are displayed as colored 3-D rectangles. The color indicates whether the value is positive (green) or negative (red), and the rectangle size is based on the value's magnitude.
The items can be scrolled if they don't fit within the piano roll's window. They can also be sorted by clicking on a column header.
The Community Technologies team in Microsoft Research has developed PianoRollControl, a .NET control that can be used to display a piano roll in any Windows Forms application.
Sample Application: Usenet Views
Usenet Views is a .NET Windows Forms application that displays Usenet statistics in a variety of graphical formats. Several of the application's views use the PianoRollControl. Here, for example, is a piano roll showing newsgroup statistics for the microsoft.beta newsgroups during the week of June 29, 2003:

There is one item for each newsgroup. The first ten columns show cumulative statistics for the week, while the remaining seven columns show the number of posts for each day in the week. The values in this example are shown as fixed-size rectangles, where the color of each rectangle is determined by the cell's value.
Usenet Views is currently not available outside of Microsoft, but see the Netscan Web site for a related application.
How to Add a Piano Roll to Your Application
PianoRollControl is just one of many data visualization components that have been developed by the Microsoft Research Community Technologies team. See the Visualization Components overview for further information.
Questions and comments can be posted to the microsoft.public.research.netscan.discussion newsgroup.