Inside Windows Sideshow Dr Neil Roodyn Neil Roodyn com

Reviews
Shared by: Zach McClure
Stats
views:
17
rating:
not rated
reviews:
0
posted:
4/30/2009
language:
English
pages:
0
Inside Windows Sideshow Dr. Neil Roodyn Neil@Roodyn.com What We Will Cover • Introduce Windows SideShow • experience User • Writing a Windows SideShow gadget • Extending a Sidebar gadget • Managed Code SideShow gadgets What is Windows SideShow? • A new platform in Windows Vista • Enables developers to write gadgets (mini-applications) that format and send data to a variety of display devices connected to a computer • developers from writing device-specific code Frees • Provides extensibility ● Anyone can write gadgets using the API ● Anyone can build devices using the DDI • Provides end-user control of gadgets via Control Panel 10,000 Foot View Gadget running on Windows Vista • Gadget gets data from data source, such as application or web • Gadget output is device-independent XML (or any binary format) • Output is sent to devices via Windows SideShow APIs 10,000 Foot View • Control Panel acts as switch, routing gadget data to devices • Based on user preferences 10,000 Foot View Gadgets running on Windows Vista Content Flow (push) Navigation Device Device Benefits of Supporting Windows SideShow • Increase visibility of application or brand • Increase user interaction with content ● More scenarios ● More devices • technology leadership Show ● First-mover advantage for supporting SideShow now •eo sntaPs Is og o m A t t y uof nI ’ t i e e ys s a dn h e ! Sample Scenarios • Cached/Offline scenarios: calendar, driving directions, e-mail, weather, traffic ● Data is cached on a device ● User interacts with content whether or not computer is available • Live/Online scenarios: media control, presentation control, instant messaging, notifications ● Data and events are sent during user interaction ● User interacts with content only when computer is on and connected The Microsoft Gadget List • Gadgets provided in Windows Vista Media Player ● Windows Mail ● Windows • io Cg … os mo nn ● Microsoft Office 2007 and Microsoft Office 2003 • Outlook® Calendar, E-Mail, Contacts • Microsoft PowerPoint® ● Windows Media Center Edition Windows SideShow Gallery • Central community for users and gadget developers • for ease of gadget discovery and Allows installation • accessible from Windows SideShow page Easily in Control Panel • http://gallery.live.com/default.aspx?l=7 Link: • Available in Beta on the Gallery now: ● Picture Viewer (beta) SideShow-Compatible Devices • device capable of connecting to a computer and Any displaying information supporting DDI • A small display attached to a computer, but powered independently from the main system ● Separate processor and memory • A simple text/bitmap display with limited interaction and custom UI Example Devices cell phone • Laptop in-lid or bezel display • panel display Front • Keyboard display • phone or Pocket PC Cell • Picture frame • Remote control • alarm clock Smart • player MP3 • HDTV • or refridgerator display Wall 3r yl .v dy 5e i ” bs d ap i a Windows SideShow-compatible devices Attached Display • Hardware ● ARM9 processor, running .NET MicroFramework ● 4 MB RAM, 4 MB Flash ● USB connection to host computer ● SMBus connection to embedded controller ● Power connection to computer battery • Computer ● Driver included with Windows Vista ● WinUSB as transport driver Remote Control • Prototypes first shown at CES 2006 • Hardware ● ARM7 running .NET MicroFramework ● Shell designed for Windows Media Center Edition ● Bluetooth connection to host computer, supporting Windows SideShow ● support for traditional remote functionality IR • Computer ● Microsoft-provided gadgets specifically for Windows Media Center Edition ● Supports existing and new gadgets Picture Frame • Hardware ● Digital picture frame ● Windows CE-based ● 800x480 resolution ● WiFi radio built-in ● Rendering of all content and notifications done locally • Computer ● Prototype driver uses UDP to communicate with frame ● Frame uses PnP-X to appear as physically connected device • http://www.alivingpicture.com/ How to Write Gadgets • Windows SideShow C++ COM API ● Available in Windows Vista ● Best for interacting with existing COM or native component • Windows SideShow managed API by Jeffrey Richter, available by Windows Vista launch ● Beta available shortly ● Best for interacting with existing managed component or Web services ● Written • Windows Sidebar API ● Sidebar gadgets are easily extended to Windows SideShow ● Accessible through HTML and JScript ● Limited subset of SideShow functionality is exposed Simulator • functional device simulator is included with Fully Windows Vista SDK ● VirtualSideShow.exe ● Located in \Bin • same firmware as devices running .NET Runs MicroFramework Types of Content • Simple Content Format (SCF) ● New documented XML data format ● Simple layout and interaction for devices with varying capabilities ● Universal support for gadgets and devices • iCalendar ● Data format for calendaring content ● Device handles presentation, providing better experience • Custom data format ● Certain devices may support specific data formats for richer functionality Choosing a Content Format (Endpoint) • If gadget provides Calendar data, use iCalendar endpoint (content provided as iCal VEVENTs) • If gadget takes advantage of special hardware support, a custom device endpoint enables the device and gadget to communicate using any data type • gadgets use XML-based Simple Content Most Format (SCF), which is ● Device independent ● Easy to use to create content Terminology • Application ID ● GUID that represents gadget • Endpoint ID ● GUID that represents the content format used for communication between the gadget and device • Content ID ● 32-bit unsigned integer that identifies each piece of content received from a gadget ● Unique only within each gadget Notifications • Gadgets can send notifications in addition to content immediately to user ● Contains title, message, and icon ● Automatically expires after specified time ● Shown • Example: ● Incoming Instant Message ● On-line auction notification ● Upcoming TV show Online and Offline Gadgets • Online-only ● Allows dynamic content in response to user input ● Gadget responds to events from device, typically causing action on the computer • Online or Offline ● Content is cached on device; it may be browsed even when the computer is offline (or not connected) ● Content cannot be modified if host computer is unavailable ● Gadget does not process events from device, except tvoti m d ’h o inm g t v c p e ei fh i a rc o d t s r ec c ns o es e n e Events • gadgets to respond to real-time user input on the Allow device ● example, gadgets provide content on-demand For in response to device events ● Only provided if the computer is on and the device is connected ● Content and type of application events depend on endpoint used by a gadget • Provide information on device connection and disconnection Where the Gadget Lives • Gadgets are standalone processes ● EXE or DLL running in the background ● Typically there is no UI ● Recommended to use the Windows SideShow Gadget Manager to run gadgets • Gadgets are part of an existing application, such as Outlook ● Typically, the existing application has a UI ● gadget updates content only when the The application is running Gadget Manager • Gadget Manager is part of Windows SideShow platform • gadgets when devices are Runs connected • Notifications are displayed in the system tray when new gadgets and devices are installed • is optional, but recommended Use Gadget Metadata • gadget adds registry entries used by Windows The SideShow • Entries contain: ● Unique ID for gadget (Application ID) ● Content format used (Endpoint ID) ● Online or offline gadget / cache algorithm ● Name and icon for gadget ● Property Page CLSID • Entries are written to one of the following locations: ● HKLM\Software\Microsoft\SideShow\Gadgets\ ● HKCU\Software\Microsoft\SideShow\Gadgets\ SCF – Simple Content Format • Glance Content • Page Menu • Content Page • Page Dialog SCF Glance Content • Content ID 0 • Always UTF-8 encoded text • recommended, can be more or less 2 lines • Contains highest level summary data from gadget Glance Content SCF Menu Page • page provides a list of items Menu • link to other content Items • used as a context menus Also Sunset Winter Water lilies Blue hills SCF Content Page • Content page provides flow layout • Supports text and images ● Simple text formatting (emphasis, color, alignment) • override buttons for advanced Can navigation DevConnections rocks! Coding is fun [DevCon.jpg] SCF Dialog Page • page provides simple dialog box with Dialog icon (for visual clue), title, message, buttons • Requires user input on a decision
This is a ShowShow Dialog.

Do you like it?
Yes No Not Sure
Putting it all together • Sample navigation hierarchy Glance Content (Content Id = 0) Menu page (Content Id = 1) Menu items (Target Content I, ) d3 =, 2… 4 Content Page (Content Id = 4) Image content (Content Id = 51, 52...) Extending a Sidebar Gadget • Modify gadget.xml file to include an icon ● d s a i t n lt Ai =g ”< /m d o “e / i> e o e ● file should contain 48-,32-,16-px icons at 32bpp Icon with alpha channel • APIs in System.Gadget.SideShow Use ● setFriendlyName once as the first Windows Call SideShow call • Update data on desktop and on devices ● HTML used to present data on desktop ● Simple Content Format XML sent to devices Extending a Sidebar Gadget to Windows SideShow Windows SideShow Managed API • Documentation in Windows SDK • Microsoft.SideShow.dll available for download soon ● Beta release by end of the year, RTM by Vista launch • Microsoft.SideShow and Microsoft.SideShow.SimpleContentFormat namespaces ● Extensible to support custom endpoints and content types ● Built-in support for SCF gadgets ● Helper object to generate SCF XML with validation ● Helper object for registering meta-data Writing a Gadget in C# Creating a Simple Gadget in C# • GadgetRegistration object to write gadget Use metadata to registry • Instantiate ScfSideShowGadget object • glance data using Send ScfSideShowGadget.AddGlanceContent() • static members of Scf class to generate Use content and send using ScfSideShowGadget.AddContent() • event handler to exit gadget when all devices Add are removed Call to Action • Windows SideShow support into your applications Build and services! ● Extends the visibility and reach of your application, content, or service ● Makes users more productive in more places and scenarios ● Gadgets automatically work with a variety of devices by using standard content format ● APIs and XML-based content format are easy to use • Promotional opportunities are available with hardware partners and Microsoft Resources • Windows Vista SDK for Windows SideShow API ● http://msdn.microsoft.com/windowsvista/ ● documentation, Samples, Tools, Simulator API • Gadget Gallery on live.com ● http://gallery.live.com/default.aspx?l=7 • Forum ● http://microsoftgadgets.com/forums/13/ShowForum.a spx • Blog Team ● http://blogs.msdn.com/sideshow/ • Business contact: sshowext@microsoft.com Next Steps • Interesting scenarios? ● Get the SDK and learn how to build your gadget ● questions or write in if you need help Post • Writing a Sidebar Gadget? your gadget to devices ● Look for updated samples and documentation ● Extend • gadgets! Build Thanks! • Questions?

Related docs
Vince_Neil
Views: 27  |  Downloads: 0
Neil_Sedaka
Views: 1  |  Downloads: 0
Inside
Views: 0  |  Downloads: 0
The Last Straw by Neil ONeil
Views: 0  |  Downloads: 0
Gaiman_ Neil - Random Musings
Views: 0  |  Downloads: 0
Other docs by Zach McClure
Creative Efforts Confidentiality Agmt
Views: 262  |  Downloads: 8
2006 Inst CT-1 (PDF) Instructions
Views: 237  |  Downloads: 1
LETTERHEAD
Views: 511  |  Downloads: 54
Agreement-Accounting Retainer Agreement
Views: 1527  |  Downloads: 55
Learning 1
Views: 400  |  Downloads: 4
adr100
Views: 108  |  Downloads: 0
wannamaker-all
Views: 257  |  Downloads: 2
Deltic timber Inc Ammendments and By laws
Views: 182  |  Downloads: 0
r495
Views: 212  |  Downloads: 2
CorpDocs-Adopt Articles and Appoint Directors
Views: 225  |  Downloads: 6