Content by Category
.NET 1.x
.NET 2.0
.NET 3.0
.NET 3.5
.NET 4.0
.NET 4.5
.NET Assemblies
.NET Framework
.NET Getting Started
Accessibility
ADO.NET
Advertorials
Agile Development
AJAX
Amazon Web Services
Analysis Services
Android
Architecture
Arduino
ASP .NET Web API
ASP.NET
ASP.NET MVC
ASP.NET WebForms
Azure
B2B (Business Integration)
BDD
Big Data
Bing
BizTalk
Book Excerpts
Build and Deploy
Business Intelligence
C#
C++
ClickOnce
Cloud Computing
Code Contracts
CODE Framework Info - non Technical
CODE on the Road!
COM+
Community
Conferences
Continuous Integration
Crystal Reports
CSLA.NET
CSS
Data
Debugger
Design Patterns
Development Process
Display Technologies
Distributed Computing
Document Database
DotNetNuke
DSL
Dynamic Languages
Dynamic Programming
Editorials
Enterprise Services ("COM+")
Entity Framework
Events
Expression Blend
F#
Fox to Fox
Frameworks
Functional Programming
Git
Graphics
HTML 5
Internet Explorer 8.0
Interviews
IOS
iPhone
Iron Ruby
Java
Java Script
JavaScript
jQuery
JSON
Lightswitch
LINQ
Linux
LUA
Mac OS X
MDX
Messaging
Metro
Microsoft Application Blocks
Microsoft Business Rules Framework
Microsoft Dynamics
Microsoft Expression
Microsoft Office
Mobile Development
Mobile PC
Mono
MsBuild
MVVM
MySQL
Network
NHibernate
node.js
NOSQL
Nuget
Object Oriented Development
Objective C
Odata
OLAP
Open Source
Opinion
Opinions
Oracle
ORM
Other Languages
Parallel Programming
Patterns
PHP
Podcasts
Post Mortem
PowerPoint
Print/Output
Prism
Product News
Product Reviews
Project Management
Prolog
Python
Q&A
Rails
Rake
Razor
Reporting Services
REST
RIA Services
Ruby
Ruby on Rails
Scheme
Search
Security
Services
SharePoint
SignalR
Silverlight
SOA
Social Networks
Software & Law
Software Business
Source Control
Speech-Enabled Applications
SQL Server
SQL Server 2000
SQL Server 2005
SQL Server 2008
SQL Server 2012
SQL Server CE/AnyWhere/Mobile/Compact
SSIS
Subversion
Sync Framework
Tablet PC
TDD
Team System
Techniques
Testing and Quality Control
TFS
Tips
TypeScript
UI Design
UML
User Groups
VB Script
VB.NET
Version Control
VFP and .NET
VFP and SQL Server
Virtual Earth
Vista
Visual Basic
Visual Basic 6 (and older)
Visual FoxPro
Visual Studio .NET
Visual Studio 11
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
Visual Studio 2011
Visual Studio 2012
Visual Studio Tools for Office
VSX
WCF
Web Development (general)
Web Services
WebMatrix
WF
Whitepapers
Windows 7
Windows 8
Windows Azure
Windows Live
Windows Phone 7
Windows Phone SDK
Windows Server
Windows Vista
WinForms
WinRT
Workflow
WPF
XAML
Xiine Documentation
XML
XNA
XSLT



LearnNow


XAMALOT
 


SSWUG


Reader rating:
Click here to read 1 comment about this article.
Article source: CoDe (2007 - Vol. 4 - Issue 2 - Mobility)


Article Pages:  1  2 3 - Next >


SideShow Development in Depth

Providing access to information on your PC without having to boot the PC is one of the goals of Windows SideShow™. Windows SideShow device technology consists of a separate screen, CPU, and memory that you can use to view this information. The devices range from displays on the back of laptop lids to remote controls to credit-card sized screens you can put in your pocket. This article will explain how your applications can provide information on a Windows SideShow device.

"
The COM API contains the full feature set provided by Microsoft to interact with the Windows SideShow platform.
"

Originally termed auxiliary display technology, Windows SideShow is a Windows Vista™ operating system technology. Microsoft ships the software components needed to utilize a Windows SideShow device as part of Windows Vista. Each application that wishes to display content on a Windows SideShow display needs to create a Windows SideShow gadget. The term gadget can sometimes be confusing as there are other gadget technologies that are not directly related to Windows SideShow.

This article will explore the different options you have to add your application-specific content to Windows SideShow supported devices. The samples that ship with the Microsoft® Windows® SDK are all written in C++ and utilize the COM APIs Windows SideShow supports. I’ll start the exploration here.

The majority of this article will focus on the Managed .NET Framework API and how you can use it to rapidly create Windows SideShow gadgets. You will learn how to add different types of content for a gadget to display and how you can define the navigation between that content.

You can also create a Windows SideShow gadget through another Microsoft gadget technology: Windows Sidebar. Windows Sidebar provides a simple API for creating a Windows SideShow gadget and adding content from a Sidebar gadget.

How it Works

Windows SideShow devices all support a well-defined set of end points. An end point defines a certain format of content that the Windows SideShow devices can display. How the device displays the content is not defined. A wide range of devices with varying capabilities will ship in the coming year, some devices will have monochrome screens, some will have color screens, some screens will be 2-line LCD displays, and some will be 600 x 400 pixel color displays. A Windows SideShow device is not guaranteed to have any specific capabilities. The code that you will write to display your information on a SideShow device will create a gadget and encode the data for a specific end point. The advantage of providing these defined formats is that you do not need to be concerned about writing any device-specific code. All of your code will run on the PC and send the content to the device.

The end points supported on Windows Vista are SCF (Simple Content Format) and iCalendar. SCF is a new XML data format that you can use to describe text, images, dialog boxes, and menus, as well as navigational constructs. All Windows SideShow compatible devices must support SCF. The iCalendar format provides a consistent way to provide calendaring content to the device. However, not all devices will support the iCalendar format.

Windows SideShow manufacturers can define their own end points. These custom data formats allow the OEMs to provide extended feature sets that your applications can reach.

A single Windows Vista PC can support multiple Windows SideShow devices. Users will want to have different information displayed on the different devices. In the Windows Vista Control Panel is a Windows SideShow Control Panel. Users can use this SideShow Control Panel to manage which SideShow gadgets will run on which devices. Figure 1 shows an example of the Windows SideShow Control Panel.

Click for a larger version of this image.

Figure 1: Windows SideShow Control Panel.

If you are not lucky enough to have a real Windows SideShow device, the Windows Platform SDK ships with a device simulator (Figure 2). You can find this simulator in the \bin folder of the Windows SDK. The simulator executable is called VirtualSideShow.exe, but before you run the simulator you will need to register it on your machine by running the WindowsSideShowVirtualDevice with the /regserver parameter. Note that you will need to run the command with elevated permissions for the registration to take effect.

Click for a larger version of this image.

Figure 2: Windows SideShow Simulator.

Microsoft originally designed for Windows SideShow devices (and early prototypes) to run using the .NET Micro Framework. It has become clear that a range of devices available will not run the .NET Micro Framework. As already stated, a Windows SideShow device simply needs to support the required end points. At a number of conferences in 2006, vendors demonstrated Windows Mobile™ devices with support for the SCF end point. If you want to reach the maximum number of Windows SideShow devices, the best option is to send SCF content to the Windows SideShow APIs and leave the rest to the Windows SideShow platform.

Each Windows SideShow gadget has a unique identifier (GUID); this is known as the Application ID. SideShow also identifies the end points by a GUID, or Endpoint ID. Each piece of content for a SideShow gadget has a unique identifier (a 32-bit unsigned integer) called the Content ID.

&

By: Neil Roodyn

Dr. Neil is an independent itinerant consultant, trainer, and author. He travels the world working with software companies. Dr. Neil loves Australia, where he spends the summer enjoying the Sydney lifestyle and helping software development teams get more productive. Dr. Neil spends his other summer each year flying between northern Europe and the USA working with software teams and writing about his experiences.

Neil brings his business and technical skills to the companies he works with to ensure he has happy customers.

You can find out more from his Web site http://www.Roodyn.com.

Fast Facts

Windows SideShow gadgets are applications that run on the PC and send content to the Windows SideShow device. Each SideShow gadget has a unique identifier (GUID) known as the Application ID. The different end points are also identified by a GUID, or Endpoint ID. Each piece of content for a Windows SideShow gadget has a unique identifier called the content ID.



Article Pages:  1  2 3 - Next Page: 'Simple Content Format' >>

Page 1: SideShow Development in Depth
Page 2: Simple Content Format
Page 3: Building Managed SideShow Gadgets
Page 4:

How would you rate the quality of this article?
1 2 3 4 5
Poor      Outstanding

Tell us why you rated the content this way. (optional)

Average rating:
3.2 out of 5

42 people have rated this article.

TOWER 48

      CODE Training

 

LearnNow