1 Windows Vista: Reaching Your Users When Their Machine Is Off, Using Auxiliary Display Devices Sriram Viji, Program Manager Dan Polivy, Software Design.

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

Windows Vista Presentation Advances Daniel Moth Developer & Platform Group, Microsoft Ltd
Touch Interface For Tablet PCs Reed Townsend Program Manager Tablet PC Platform Microsoft Corporation.
Making the most of Satellite Navigation and Tracking Integration with your Business System.
Advanced Workgroup System. Printer Admin Utility Monitors printers over IP networks Views Sharp and non-Sharp SNMP Devices Provided Standard with Sharp.
Auxiliary Display Platform in Longhorn Andrew Fuller Lead Program Manager Mobile PC microsoft.com Microsoft Corporation.
1 of 4 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation. All.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
1 of 6 Parts of Your Notebook Below is a graphic overview of the different parts of a OneNote 2007 notebook. Microsoft ® OneNote ® 2007 notebooks are digital.
1 of 6 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2006 Microsoft Corporation.
1 of 7 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
1 Windows Vista Tablet PC: PRS315 Program.
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
Rally Technologies Spring 2008, Redmond, Washington Network Connected devices with Windows SideShow™ Teague Mapes, Lead Developer,
Microsoft Office System UK Developers Conference Radisson Edwardian, Heathrow 29 th & 30 th June 2005.
Punit Shah Technical Lead | Microsoft
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Project Standard and Professional 2007 Overview Alice Steinglass Senior Lead Program Manager Microsoft Corporation.
Design Considerations & User Experience Guidelines for Mobile Tablet Applications Arnie Lund Director, User Experience David Hale Developer Experience.
1 Windows Vista: Enabling Parental Controls in your Application Brian Trenbeath FUN304 Program Manager Microsoft Corporation.
Pasewark & Pasewark 1 Outlook Lesson 1 Outlook Basics and Microsoft Office 2007: Introductory.
Working with Mobile Computers Lesson 12. Skills Matrix Technology SkillObjective DomainObjective # Configuring Vista Wireless Networking Use the Network.
Future Directions: Building Customizable Applications using.NET Eric Schnepp TLN205 Lead Program Manager Microsoft Corporation.
Using the Actions Pane, Host Controls, and Smart Tags
Developing Reporting Solutions with SQL Server
AJAX and Atlas in ASP.NET 2.0 William J. Steele MSDN Developer Evangelist Microsoft Corporation
SQL Server BI: Adding Reporting And Analysis To Smart Client Applications Jamie MacLennan and Brian Welcker DAT313 SQL Server Business Intelligence Microsoft.
Tutorial 7 Creating Forms. Objectives Session 7.1 – Create an HTML form – Insert fields for text – Add labels for form elements – Create radio buttons.
Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.
Windows Forms: Harnessing The Power And Flexibility Of Windows Forms 2.0 Erick Ellis PRS402 Program Manager.NET Client Microsoft Corporation.
OFC290 Information Rights Management in Microsoft Office 2003 Lauren Antonoff Group Program Manager.
1 of 8 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
Lap Around Windows Presentation Foundation Rob Relyea PRS305 Lead Program Manager Windows Presentation Foundation
Server s Devices Mobile Netbooks/Nettops PCs Surface Consumer Messaging Social Networking Work Games Videos Internet Photos TV & Movies.
SUBMITTED BY JESNA J AM.EN.P2ELT14003 LEARNING MANAGEMENT SYSTEM.
1 of 3 Microsoft ® Office Communicator 2007 can help you perform a wide range of tasks including secure Instant Messaging (IM). With its rich collaboration.
MSG331 Exchange Server 2000/2003 Software Development Kit Susan Hill Lead Programmer Writer Microsoft Corporation.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Windows Forms in Visual Studio 2005: An in-depth look at key features Name: Joe Stegman Title: Lead Program Manager Session code.
Microsoft Office System UK Developers Conference Radisson Edwardian, Heathrow 29 th & 30 th June 2005.
Developing Custom ASP.NET Providers For Membership And Role Manager Stefan Schackow PRS404 Program Manager – Web Platform and Tools Microsoft Corporation.
Wednesday NI Vision Sessions
Windows Vista Configuration MCTS : Internet Explorer 7.0.
XP Creating Web Pages with Microsoft Office
Mike Harsh PRSL001 Program Manager Microsoft Corporation
Yochay Kiriaty Senior Technical Evangelist Microsoft® Corporation
Web Services On Devices: Rally Implementation
Make your app a native part of Office with Add-ins
Microsoft Office Live Meeting 2007
Microsoft Office SharePoint Server 2007 Enterprise Search
Wireless Communication and Networks
Building a great Metro style device app for your printer
Microsoft Dynamics.
Excel Services Deployment and Administration
Customizing your device experience with assigned access
Building great Metro style apps for mobile broadband devices
Reaching more customers with accessible Metro style apps using HTML5
Integrating with the Windows Device Experience
Developer Patterns to Integrate Silverlight 4.0 with SharePoint 2010
Architecting and integrating sensor drivers
Advanced Dashboard Creation Using Microsoft SharePoint Server 2010
MIX 09 11/23/2018 6:07 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Tech Ed North America /1/2019 2:58 AM Required Slide
Visual Studio 2010 SharePoint Development Tools Overview
2/24/2019 6:15 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Delivering great hardware solutions for Windows
Windows Forms in Visual Studio 2005: An in-depth look at key features
Presentation transcript:

1 Windows Vista: Reaching Your Users When Their Machine Is Off, Using Auxiliary Display Devices Sriram Viji, Program Manager Dan Polivy, Software Design Engineer Session PRS308 Microsoft Corporation

2 Agenda Platform introduction Writing gadgets using C++ and COM Writing gadgets using C# Design considerations

3 Devices for Windows SideShow Laptop in-lid displays Connected and online displays Remote or detachable devices

4 Gadget Platforms Windows SideShow Extends data from the PC to devices COM and C++ APIs Windows Sidebar Shows information on the client DHTML scripting and libraries/WPF Start.com Web based with AJAX like architecture Integration with client platform

5 Platform Benefits Increase application reach and visibility Provide user value Easy to write gadgets

6 Windows SideShow Prototype

7 Sample Scenarios Cached/Offline scenarios: Calendar, driving directions, , weather, traffic Make use of data that is cached on a device User can interact when the PC is on or off Live/Online scenarios: Media control, presentation control, instant messaging, notifications Data and events sent during user interaction User can interact when the PC is on

8 User Control User selects gadgets to view on device InstalledGadgets Installed Devices

9 Software Architecture Auxiliary Display API Gadget Auxiliary Display Driver Display Device Inter-process communication Transport Channel

10 Conference Scheduler

11 Gadget Installation Friendly name IconEndpoint Specifies data format between gadget and device [HKCU\SOFTWARE\Microsoft\AuxiliaryDisplay\Applications\{APPLICATION_ID}] "FriendlyName"=“Application name”; User friendly name “Icon”=myapplication.dll,0; 16,32,48 px icons "OnlineOnly"=dword: ; Is it “Live” or “Cached”? "Endpoints"=MULTI_SZ:Endpoint GUID(s) ; Data format(s) supported Friendly Name Icon

12 Registering A Session Create an instance of the Registrar Register application ID and data format // Create the AuxiliaryDisplayRegistrar object that // enables us to talk to the platform. hr = ::CoCreateInstance(CLSID_AuxiliaryDisplayRegistrar, NULL, CLSCTX_INPROC_SERVER, CLSCTX_INPROC_SERVER, IID_IAuxiliaryDisplayRegistrar, IID_IAuxiliaryDisplayRegistrar, (LPVOID*)&m_pRegistrar); (LPVOID*)&m_pRegistrar); if (SUCCEEDED(hr)) { // Register application with the platform // Register application with the platform hr = m_pRegistrar->Register(MY_APPLICATION_ID, hr = m_pRegistrar->Register(MY_APPLICATION_ID, AUX_ENDPOINT_SIMPLE_CONTENT_FORMAT, AUX_ENDPOINT_SIMPLE_CONTENT_FORMAT, &m_pContentMgr); &m_pContentMgr);}

13 Content Management Startup: send initial content Update content User interacts with device (i.e. get details on a session) Gadget Device Response to action (i.e. send session details) User interaction (i.e. select session to attend) Periodic updates (i.e. update “next session”)

14 Creating Content Developer implements IAuxiliaryDisplayContent Returns a content ID (unsigned 32-bit value) Provides the content as an array of bytes (opaque) Allows developer to send different content to each device based on the device’s capabilities HRESULT get_ContentId( PCONTENT_ID out_pcontentId ); HRESULT get_DifferentiateContent( BOOL * out_pfDifferentiateContent ); HRESULT GetContent( IAuxiliaryDisplayCapabilities * in_pICapabilities, DWORD * out_pdwSize, BYTE ** out_ppbData );

15 Content Format Gadgets and devices need a common format to exchange data Simple Content Format New, Documented XML data format for which we are encouraging device support Provides simple layout and interaction for devices with varying capabilities Functions in both “PC on” (live/online) and “PC off” (cached) modes iCalendar Allows transfer of appointments in a standard format Presentation is determined by the device; thus the calendar display and interaction can be richer than by using the Simple Content Format

16 Glance Content Glance or Overview Content Content id of 0 reserved for overview content Simple text string Easy to support on all devices, regardless of actual content format used Glance Content

17 Simple Content Format Menu Page Provides a list of items Selection causes navigation Can be used as a context menu on menu items and content pages <body> Sunset Sunset Winter Winter Water lilies Water lilies Blue hills Blue hills </body>

18 <body> Sunset Sunset Driving on the coastal highway is fun Driving on the coastal highway is fun </body> Simple Content Format Layout Page Provides flow layout Support for text and images Simple text formatting (emphasis, color, alignment) Button mapping to override default navigation action

19 <body> Your image will lose some quality when rotated. Would you like to proceed? Your image will lose some quality when rotated. Would you like to proceed? Yes Yes No No </body> Simple Content Format Dialog Page Provides simple dialog box with icon, title, message, buttons User input on a decision Icon available for visual clue

20 Sending/Updating Content Content manager allows applications to Add/Update content on devices Remove content IAuxiliaryDisplayContent* pIContent; CMyContent pContent = new CMyContent(1 /* CONTENT_ID */, “Content”); hr = pContent->QueryInterface(IID_IAuxiliaryDisplayContent, &pIContent); &pIContent); // Add a content object that implements IAuxiliaryDisplayContent hr = m_pContentMgr->Add(pIContent); // Remove Content ID “1” from all devices hr = m_pContentMgr->Remove(1); // Remove all content from devices hr = m_pContentMgr->RemoveAll();

21 Platform Events ISV implements IAuxiliaryDisplayEvents interface Four events ContentMissing Occurs when the device requires a specific piece of content it does not have cached ApplicationEvent Generated due to user interaction with the device, i.e. User selection on a list item Navigation to a specific page of content Device Added/Device Removed Includes both PnP events, as well as “permission change” events generated from enabling/disabling a gadget in the CPL

22 Simple Content Format Events Events propagated to PC gadget (when on) as user navigates content on device NavigationEvent Triggered upon any navigation starting on a content or dialog page MenuEvent Triggered upon selection of an item off a menu page ContextMenuEvent Triggered upon any navigation off of a context menu

23 Device Capabilities Developer can retrieve a collection of IAuxiliaryDisplayCapabilities interfaces from the Content Manager Capabilities interface is external representation of a device Can query device properties, such as: Screen width/height Color depth Current language IHV extensible Interface also provided on some events to identify initiating device

24 Notifications IAuxiliaryDisplayNotificationManager interface mirrors the content manager Show/Revoke/RevokeAll IAuxiliaryDisplayNotification CoCreate’able by ISV PropertiesTitleMessageIcon Expiration time

25 Expedia.com

26 Managed Code Accessible through standard COM Interop Same functionality available Sample code provided for interop

27 Design Considerations Gadget lifetime management User expects device to be up to date Missing content needs to be provided Options Background process (as part of an existing system tray or any other process) Add on to an existing application

28 Design Considerations Device Support Support wide range of device capabilities Recommendations Provide useful glance content Ensure accurate data for text only displays If possible, differentiate content for displays Performance Mobile PCs are a big target – conserve battery Selectively update content

29 Summing Up New opportunities and new scenarios Value-add for existing applications Tools and samples to get started

30 Mobile PC and Tablet PC Breakout Sessions PRS308 - Windows Vista: Reaching Your Users When Their Machine Is Off, Using Auxiliary Display Devices Wednesday, 1:45 PM - 3:00 PM PRS315 - Windows Vista Tablet PC: Advances in Creating Tablet Enabled Applications Wednesday, 5:00 PM - 6:15 PM DAT317 - Windows Vista: Centralizing Data Synchronization with the New Sync Center Thursday, 11:30 AM - 12:45 PM FUN319 - Windows Vista: Developing Power-Aware Applications Thursday, 5:15 PM - 6:30 PM PNL12 - Future Directions in Mobile Device Hardware Friday, 1:00 PM- 2:30 PM

31 Get involved with Mobile PC and Tablet PC at PDC! Hands-On-Labs Use the Tablet PCs located in the Presentation Track Section PRSHOL26 - Mobile PC: Getting Started with Auxiliary Displays (C++ and C#) - Provide your users with instant access to data—even in powered-down states—with Auxiliary Display devices on Windows Vista. FUNHOL09 - Mobile PC: Building Energy Smart Windows Vista Applications (C#) - Learn how to be compatible with Windows Vista’s new Sleep behavior and learn how to integrate with the power policy engine to build a more robust application. FUNHOL09 - Mobile PC: Building Energy Smart Windows Vista Applications (C#) - Learn how to be compatible with Windows Vista’s new Sleep behavior and learn how to integrate with the power policy engine to build a more robust application. PRSHOL31 & PRSHOL32 - Tablet PC: Getting Started with the Tablet PC Platform (C# and Visual Basic.NET) - Create ink-enabled forms to empower your Tablet PC customers by using ink controls, the InkPicture object, and other APIs from the Windows XP Tablet PC Edition SDK 1.7. PRSHOL30 - Tablet PC: Advanced Development with Stylus Input APIs (C#) - Enhance performance and rendering by using the Tablet PC Stylus Input API to intercept and modify stylus data in real time. Get spotted with this button for a chance to win a Tablet PC!

32 Resources Windows SideShow at PDC Hands on Lab: PRSHOL26 Mobile PC: Getting started with Auxiliary Displays / Windows SideShow Booth: Prototype device and other concepts PRS Track lounge: Wed 3-5pm Related: PRS332 Developing Windows Sidebar Gadgets Thu 3:45pm – 5:00pm 402AB After PDC Gadgets: Mobile PC and Tablet PC Forum under Windows Vista Development : Business Contact: Windows Vista Beta and SDK:

33 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.