SlideShare une entreprise Scribd logo
1  sur  61
Taking Your Application to the Next Level with Windows 7 Mithun Dhar Developer evangelist Microsoft Corporation
What the heck is a  			Developer Evangelist?? Email: mithund@microsoft.com Twitter:@mithund Facebook: http://facebook.com/mithund Blog: http://blogs.msdn.com/mithund
See the Future of Developer Technology  The Professional Developers Conference (PDC) is the definitive developer event focused on the technical strategy of the Microsoft developer platform.  Who Should Attend The PDC is for leading-edge developers and technology leaders involved in making strategic technology decisions for their companies and organizations. What You’ll Get at the PDC ,[object Object]
Deep, technical content delivered by Microsoft’s technology leaders
Hands-on access to the latest developer technologies and over 1,000 Microsoft product and technology experts available to answer your questions
Unique networking opportunities with leading-edge developers and technology leaders just like youWhen & Where Los Angeles Convention Center Conference | Nov 17 – 19 Workshops & Boot Camp | Nov 16 Pricing Event Registration - $2095 Discount through Oct 13 - $1795  Additional Workshop Fee - $395 One Day Pass - $695 Workshop Only Pass - $495 Attend the Windows 7 Developer Boot Camp on Nov 16 – FREE! This session is open to the public.  You must register online to attend.  More info:  http://microsoftpdc.com/Registration http://microsoftpdc.com
Housekeeping Cell Phones on stun mode, please! Restrooms Swag – Windows 7 Ultimate  Evaluations – Please fill out! Speakers Mithun Dhar (DE) Jason Mauer (DE) YochayKiriaty (DE)
Today’s Agenda Taking Your Application to the Next Level with Windows 7  ,[object Object]
Jump lists
OverlaysBuilding Next Generation UI with Multitouch & Windows Ribbon in Windows 7 ,[object Object]
Multitouch Developer Options
Multitouch Beyond Human Interaction with Windows 7 Sensor and Location Platform ,[object Object]
Location Location Location
Shine on Modern Graphics Hardware with DirectX,[object Object]
Design Goals For New Taskbar ,[object Object]
Easily controllable
Clean, noise-free, and simple
New opportunities for extensibility
Enhanced productivity,[object Object]
The New Windows 7 Taskbar Evolution of launch surfaces Clean, sleek, elegant design Enhances user productivity, making switching between windows much easier Host of other useful features
Windows Taskbar Features Main Features Overlay icons            & progress bars Jump lists (destinations, tasks) Thumbnail toolbars Custom thumbnails Tabbed thumbnails Design Tip Build a great Taskbar Icon Forget about Quick Launch and the system tray
Windows 7 Taskbar A Tour demo
Windows 7 Taskbar ZooBar demo
Summary Build a great Windows 7 Application Get compatible Optimize Differentiate Get the most out of Windows 7 Greater reliability Better performance  Resource utilization Empower users to do more
Additional Windows 7 Resources Technical Resources ,[object Object]
Windows Application Compatibility Developer Center                           http://www.msdn.microsoft.com/en-us/windows/aa904987.aspx
Windows 7 Remediation Labs                                                               http://www.readyset7.com/workshops
Windows 7 Training Kit for Developers                                                 http://go.microsoft.com/?linkid=9681321
“PhotoView” Reference Application (XP2Win7Project)                     http://code.msdn.microsoft.com/XP2Win7Training Resources Community Resources ,[object Object]
Windows 7 Blog for Developers                                     www.windowsteamblog.com/blogs/developers.aspx
Windows 7 on Channel 9                                                                       http://channel9.msdn.com/tags/Windows+7,[object Object]
Addendum
Application Compatibility Working Together :)
Application Compatibility Moving from Windows XP to Windows 7 Version checking User Account Control Filtered token and privilege elevation Data redirection Windows integrity levels Internet Explorer® protection mode Session 0 isolation
Application CompatibilityMoving from Windows Vista to Windows 7 Version checking Low level binary changes Low level network stack Antivirus Removed components Windows Mail Windows Movie Maker Microsoft Agent (msagent.exe)
Get CompatibleAvailable Resources Windows Application Compatibility Center http://msdn.microsoft.com/en-us/windows/aa904987.aspx Application Compatibility on TechNet http://technet.microsoft.com/en-us/windows/aa905066.aspx Application Compatibility Online Remediation http://readyset7.com/workshops Application Compatibility in Windows 7 Training Kit http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=1c333f06-fadb-4d93-9c80-402621c600e7
Optimizing Working Better
Optimize for PerformanceGet the Most Out of Windows Performance Enhancements Application restart and recovery with Restart Manager I/O priorities and cancelable I/O File System and Registry Transaction Support Event Tracing for Windows (ETW) – high-performance instrumentation Windows Error Reporting Windows Troubleshooting Platform Trigger-Start Services
Trigger-Start Services Background services affect performance, security, reliability, and power consumption You want to minimize the amount of services running at a given time You want to minimize service footprint and runtime Service startup types Windows XP – Auto-Start / Manual Windows Vista – XP + Delayed Auto-Start Windows 7 – Windows Vista + Trigger-Start Available triggers Domain join, IP address available, device arrival, group policy change, and custom
Windows 7 for Developers Jump Lists Answer: Question: How  important? Jump Lists are probably the  most important feature that applications need to take advantage of in order to truly shine on Windows 7 Put important documents at the user’s fingertips You also expect the common tasks to be there TaskBar
Jump ListsA detailed look Pinned category Destinations (“nouns”) Known categories Custom categories User tasks Tasks (“verbs”) Taskbar tasks
Windows 7 for Developers Jump Lists Each taskbar button is associated with a jump list.  This is a retractable menu that shows a collection of items and tasks that are relevant to the given application.  TaskBar
Windows 7 for Developers Jump Lists JumpListLink – an object that extends the ShellLink object and implements IJumpListTasks TaskBar
the taskbar The Windows 7 Taskbar The Windows 7 Taskbar The evolving user interface….
512K of Ram !
Taskbar Buttons Consolidation Quick launch Notification area icon Desktop shortcut Running application windows Multiple windows and hover Running Not running Active
Windows 7 Taskbar Enhanced user experience Quick and easy launch of applications Easier to manage windows  The user is in control Clean and lightweight Standard Windows UX guidelines All of Microsoft’s products Enhanced Taskbar & Desktop  Jump Lists  Thumbnail Toolbars  Custom Switchers Icons Overlay Icons Progress Bars
Windows 7 Taskbar – Icons Face of your program Large and small icons Only customer can pin Color hot-track Icon Overlay Surface important notifications Appears over your program’s icon Progress bar Surface important notifications Appears in your taskbar button
IconsBest practices Are you putting your best foot forward? Make sure your icon looks great Check different DPIs Check different glass colors and disabled glass How does Color Hot-track look? Determined by your icon’s dominant color
Get More From Taskbar ButtonsOverlay and progress icons Consolidate: Uncluttered notification area Provide progress and additional information through the taskbar button It’s free if you use standard progress dialogs
Taskbar Overlay and ProgressDesign considerations Notification area is now user controlled: Leave yourself out if possible! Use taskbar buttons for custom progress or status information

Contenu connexe

En vedette

AHIP - Path to Consumer Engagement with MedHelp - Yurkovic
AHIP - Path to Consumer Engagement with MedHelp - Yurkovic AHIP - Path to Consumer Engagement with MedHelp - Yurkovic
AHIP - Path to Consumer Engagement with MedHelp - Yurkovic Robert Yurkovic
 
Jvg u1 a2_#
Jvg u1 a2_#Jvg u1 a2_#
Jvg u1 a2_#Josmay12
 
Families and Friends of Murder Victims October 2015 newsletter
Families and Friends of Murder Victims October 2015 newsletterFamilies and Friends of Murder Victims October 2015 newsletter
Families and Friends of Murder Victims October 2015 newsletterRose Madsen
 
Gamma software introduction
Gamma software introductionGamma software introduction
Gamma software introductionyll880712
 
How to turn your inbox into a productivity engine - PCMA Convening Leaders 2015
How to turn your inbox into a productivity engine - PCMA Convening Leaders 2015How to turn your inbox into a productivity engine - PCMA Convening Leaders 2015
How to turn your inbox into a productivity engine - PCMA Convening Leaders 2015Social Tables
 
Bloombase Spitfire KeyCastle Key Lifecycle Management Server Specifications
Bloombase Spitfire KeyCastle Key Lifecycle Management Server SpecificationsBloombase Spitfire KeyCastle Key Lifecycle Management Server Specifications
Bloombase Spitfire KeyCastle Key Lifecycle Management Server SpecificationsBloombase
 
Holi ppt to financial institution
Holi   ppt to financial institutionHoli   ppt to financial institution
Holi ppt to financial institutionndjuyal
 
islas galapagos
islas galapagosislas galapagos
islas galapagosyaczolev
 
Caifanes matenme por que me muero
Caifanes matenme por que me mueroCaifanes matenme por que me muero
Caifanes matenme por que me mueroEduardo Rolas
 
Subsanar salud i.p.s
Subsanar salud i.p.sSubsanar salud i.p.s
Subsanar salud i.p.serikajaimes
 
SuisseID Forum 2015 | Bankkonto-Eröffnung übers Internet
SuisseID Forum 2015 | Bankkonto-Eröffnung übers InternetSuisseID Forum 2015 | Bankkonto-Eröffnung übers Internet
SuisseID Forum 2015 | Bankkonto-Eröffnung übers InternetTrägerverein SuisseID
 

En vedette (18)

AHIP - Path to Consumer Engagement with MedHelp - Yurkovic
AHIP - Path to Consumer Engagement with MedHelp - Yurkovic AHIP - Path to Consumer Engagement with MedHelp - Yurkovic
AHIP - Path to Consumer Engagement with MedHelp - Yurkovic
 
Jvg u1 a2_#
Jvg u1 a2_#Jvg u1 a2_#
Jvg u1 a2_#
 
Curriculum artistico
Curriculum artisticoCurriculum artistico
Curriculum artistico
 
Families and Friends of Murder Victims October 2015 newsletter
Families and Friends of Murder Victims October 2015 newsletterFamilies and Friends of Murder Victims October 2015 newsletter
Families and Friends of Murder Victims October 2015 newsletter
 
Electricidad inalámbrica
Electricidad inalámbricaElectricidad inalámbrica
Electricidad inalámbrica
 
Research Questions
Research QuestionsResearch Questions
Research Questions
 
Gamma software introduction
Gamma software introductionGamma software introduction
Gamma software introduction
 
Falsos cristos y falsos profetas
Falsos cristos y falsos profetasFalsos cristos y falsos profetas
Falsos cristos y falsos profetas
 
How to turn your inbox into a productivity engine - PCMA Convening Leaders 2015
How to turn your inbox into a productivity engine - PCMA Convening Leaders 2015How to turn your inbox into a productivity engine - PCMA Convening Leaders 2015
How to turn your inbox into a productivity engine - PCMA Convening Leaders 2015
 
Bloombase Spitfire KeyCastle Key Lifecycle Management Server Specifications
Bloombase Spitfire KeyCastle Key Lifecycle Management Server SpecificationsBloombase Spitfire KeyCastle Key Lifecycle Management Server Specifications
Bloombase Spitfire KeyCastle Key Lifecycle Management Server Specifications
 
Preview lettre d'asf
Preview lettre d'asfPreview lettre d'asf
Preview lettre d'asf
 
Holi ppt to financial institution
Holi   ppt to financial institutionHoli   ppt to financial institution
Holi ppt to financial institution
 
islas galapagos
islas galapagosislas galapagos
islas galapagos
 
Caifanes matenme por que me muero
Caifanes matenme por que me mueroCaifanes matenme por que me muero
Caifanes matenme por que me muero
 
Estrategia viral con Facebook
Estrategia viral con FacebookEstrategia viral con Facebook
Estrategia viral con Facebook
 
Subsanar salud i.p.s
Subsanar salud i.p.sSubsanar salud i.p.s
Subsanar salud i.p.s
 
El profeta ISAIAS y las pequeñas comunidades EAS - Antonio Hortelano
El profeta ISAIAS y las pequeñas comunidades EAS - Antonio HortelanoEl profeta ISAIAS y las pequeñas comunidades EAS - Antonio Hortelano
El profeta ISAIAS y las pequeñas comunidades EAS - Antonio Hortelano
 
SuisseID Forum 2015 | Bankkonto-Eröffnung übers Internet
SuisseID Forum 2015 | Bankkonto-Eröffnung übers InternetSuisseID Forum 2015 | Bankkonto-Eröffnung übers Internet
SuisseID Forum 2015 | Bankkonto-Eröffnung übers Internet
 

Plus de Mithun T. Dhar

Concur State of Business Travel 2016
Concur State of Business Travel 2016Concur State of Business Travel 2016
Concur State of Business Travel 2016Mithun T. Dhar
 
Seattle Technical Forum-Insights of Travel
Seattle Technical Forum-Insights of TravelSeattle Technical Forum-Insights of Travel
Seattle Technical Forum-Insights of TravelMithun T. Dhar
 
ProgrammableWeb-API Conf-SF 2014
ProgrammableWeb-API Conf-SF 2014ProgrammableWeb-API Conf-SF 2014
ProgrammableWeb-API Conf-SF 2014Mithun T. Dhar
 
Concur-Evernote Conference 2014
Concur-Evernote Conference 2014Concur-Evernote Conference 2014
Concur-Evernote Conference 2014Mithun T. Dhar
 
Concur-Silicon Valley Code Camp - Mithun Dhar
Concur-Silicon Valley Code Camp - Mithun DharConcur-Silicon Valley Code Camp - Mithun Dhar
Concur-Silicon Valley Code Camp - Mithun DharMithun T. Dhar
 
Concur by the numbers...
Concur by the numbers...Concur by the numbers...
Concur by the numbers...Mithun T. Dhar
 
Session 7 - Integrating share point with silverlight firestarter
Session 7 - Integrating share point with silverlight firestarterSession 7 - Integrating share point with silverlight firestarter
Session 7 - Integrating share point with silverlight firestarterMithun T. Dhar
 
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfs
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfsSession6-SharePoint and Azure- steve fox-windows-and_azure_spfs
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfsMithun T. Dhar
 
Session 5-SharePoint with Office-Donovan Follette
Session 5-SharePoint with Office-Donovan FolletteSession 5-SharePoint with Office-Donovan Follette
Session 5-SharePoint with Office-Donovan FolletteMithun T. Dhar
 
Session4-Sharepoint Online-chrismayo
Session4-Sharepoint Online-chrismayoSession4-Sharepoint Online-chrismayo
Session4-Sharepoint Online-chrismayoMithun T. Dhar
 
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewicz
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewiczSession 3 - Developer Tools-Sharepoint firestarter-paul yuknewicz
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewiczMithun T. Dhar
 
SharePoint FireStarter - Session 1 - Keynote - Eric Swift
SharePoint FireStarter - Session 1 - Keynote - Eric SwiftSharePoint FireStarter - Session 1 - Keynote - Eric Swift
SharePoint FireStarter - Session 1 - Keynote - Eric SwiftMithun T. Dhar
 
SeattleUniv-IntroductionToCloudComputing-WinsowsAzure101
SeattleUniv-IntroductionToCloudComputing-WinsowsAzure101SeattleUniv-IntroductionToCloudComputing-WinsowsAzure101
SeattleUniv-IntroductionToCloudComputing-WinsowsAzure101Mithun T. Dhar
 
SharePoint 2010 developer overview (in Visual Studio 2010)
SharePoint 2010 developer overview (in Visual Studio 2010)SharePoint 2010 developer overview (in Visual Studio 2010)
SharePoint 2010 developer overview (in Visual Studio 2010)Mithun T. Dhar
 
Azure Deployment(Seattle)
Azure Deployment(Seattle)Azure Deployment(Seattle)
Azure Deployment(Seattle)Mithun T. Dhar
 
Introduction To Cloud Computing Winsows Azure101
Introduction To Cloud Computing Winsows Azure101Introduction To Cloud Computing Winsows Azure101
Introduction To Cloud Computing Winsows Azure101Mithun T. Dhar
 
Taking_Your-Application_To_The_Next_Level - Windows 7
Taking_Your-Application_To_The_Next_Level - Windows 7Taking_Your-Application_To_The_Next_Level - Windows 7
Taking_Your-Application_To_The_Next_Level - Windows 7Mithun T. Dhar
 
Building_The_Next-Generation_UI - Multitouch and Ribbon
Building_The_Next-Generation_UI - Multitouch and RibbonBuilding_The_Next-Generation_UI - Multitouch and Ribbon
Building_The_Next-Generation_UI - Multitouch and RibbonMithun T. Dhar
 
Beyond_Human_Interaction - Sensor and Location Platform
Beyond_Human_Interaction - Sensor and Location PlatformBeyond_Human_Interaction - Sensor and Location Platform
Beyond_Human_Interaction - Sensor and Location PlatformMithun T. Dhar
 

Plus de Mithun T. Dhar (20)

Concur State of Business Travel 2016
Concur State of Business Travel 2016Concur State of Business Travel 2016
Concur State of Business Travel 2016
 
Seattle Technical Forum-Insights of Travel
Seattle Technical Forum-Insights of TravelSeattle Technical Forum-Insights of Travel
Seattle Technical Forum-Insights of Travel
 
Concur-Ford Hackathon
Concur-Ford HackathonConcur-Ford Hackathon
Concur-Ford Hackathon
 
ProgrammableWeb-API Conf-SF 2014
ProgrammableWeb-API Conf-SF 2014ProgrammableWeb-API Conf-SF 2014
ProgrammableWeb-API Conf-SF 2014
 
Concur-Evernote Conference 2014
Concur-Evernote Conference 2014Concur-Evernote Conference 2014
Concur-Evernote Conference 2014
 
Concur-Silicon Valley Code Camp - Mithun Dhar
Concur-Silicon Valley Code Camp - Mithun DharConcur-Silicon Valley Code Camp - Mithun Dhar
Concur-Silicon Valley Code Camp - Mithun Dhar
 
Concur by the numbers...
Concur by the numbers...Concur by the numbers...
Concur by the numbers...
 
Session 7 - Integrating share point with silverlight firestarter
Session 7 - Integrating share point with silverlight firestarterSession 7 - Integrating share point with silverlight firestarter
Session 7 - Integrating share point with silverlight firestarter
 
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfs
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfsSession6-SharePoint and Azure- steve fox-windows-and_azure_spfs
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfs
 
Session 5-SharePoint with Office-Donovan Follette
Session 5-SharePoint with Office-Donovan FolletteSession 5-SharePoint with Office-Donovan Follette
Session 5-SharePoint with Office-Donovan Follette
 
Session4-Sharepoint Online-chrismayo
Session4-Sharepoint Online-chrismayoSession4-Sharepoint Online-chrismayo
Session4-Sharepoint Online-chrismayo
 
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewicz
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewiczSession 3 - Developer Tools-Sharepoint firestarter-paul yuknewicz
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewicz
 
SharePoint FireStarter - Session 1 - Keynote - Eric Swift
SharePoint FireStarter - Session 1 - Keynote - Eric SwiftSharePoint FireStarter - Session 1 - Keynote - Eric Swift
SharePoint FireStarter - Session 1 - Keynote - Eric Swift
 
SeattleUniv-IntroductionToCloudComputing-WinsowsAzure101
SeattleUniv-IntroductionToCloudComputing-WinsowsAzure101SeattleUniv-IntroductionToCloudComputing-WinsowsAzure101
SeattleUniv-IntroductionToCloudComputing-WinsowsAzure101
 
SharePoint 2010 developer overview (in Visual Studio 2010)
SharePoint 2010 developer overview (in Visual Studio 2010)SharePoint 2010 developer overview (in Visual Studio 2010)
SharePoint 2010 developer overview (in Visual Studio 2010)
 
Azure Deployment(Seattle)
Azure Deployment(Seattle)Azure Deployment(Seattle)
Azure Deployment(Seattle)
 
Introduction To Cloud Computing Winsows Azure101
Introduction To Cloud Computing Winsows Azure101Introduction To Cloud Computing Winsows Azure101
Introduction To Cloud Computing Winsows Azure101
 
Taking_Your-Application_To_The_Next_Level - Windows 7
Taking_Your-Application_To_The_Next_Level - Windows 7Taking_Your-Application_To_The_Next_Level - Windows 7
Taking_Your-Application_To_The_Next_Level - Windows 7
 
Building_The_Next-Generation_UI - Multitouch and Ribbon
Building_The_Next-Generation_UI - Multitouch and RibbonBuilding_The_Next-Generation_UI - Multitouch and Ribbon
Building_The_Next-Generation_UI - Multitouch and Ribbon
 
Beyond_Human_Interaction - Sensor and Location Platform
Beyond_Human_Interaction - Sensor and Location PlatformBeyond_Human_Interaction - Sensor and Location Platform
Beyond_Human_Interaction - Sensor and Location Platform
 

Dernier

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Dernier (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

Jumplist & Taskbar - Session 1 Win7 Launch

  • 1. Taking Your Application to the Next Level with Windows 7 Mithun Dhar Developer evangelist Microsoft Corporation
  • 2. What the heck is a Developer Evangelist?? Email: mithund@microsoft.com Twitter:@mithund Facebook: http://facebook.com/mithund Blog: http://blogs.msdn.com/mithund
  • 3.
  • 4. Deep, technical content delivered by Microsoft’s technology leaders
  • 5. Hands-on access to the latest developer technologies and over 1,000 Microsoft product and technology experts available to answer your questions
  • 6. Unique networking opportunities with leading-edge developers and technology leaders just like youWhen & Where Los Angeles Convention Center Conference | Nov 17 – 19 Workshops & Boot Camp | Nov 16 Pricing Event Registration - $2095 Discount through Oct 13 - $1795 Additional Workshop Fee - $395 One Day Pass - $695 Workshop Only Pass - $495 Attend the Windows 7 Developer Boot Camp on Nov 16 – FREE! This session is open to the public. You must register online to attend. More info: http://microsoftpdc.com/Registration http://microsoftpdc.com
  • 7. Housekeeping Cell Phones on stun mode, please! Restrooms Swag – Windows 7 Ultimate  Evaluations – Please fill out! Speakers Mithun Dhar (DE) Jason Mauer (DE) YochayKiriaty (DE)
  • 8.
  • 10.
  • 12.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 25. New opportunities for extensibility
  • 26.
  • 27. The New Windows 7 Taskbar Evolution of launch surfaces Clean, sleek, elegant design Enhances user productivity, making switching between windows much easier Host of other useful features
  • 28. Windows Taskbar Features Main Features Overlay icons & progress bars Jump lists (destinations, tasks) Thumbnail toolbars Custom thumbnails Tabbed thumbnails Design Tip Build a great Taskbar Icon Forget about Quick Launch and the system tray
  • 29. Windows 7 Taskbar A Tour demo
  • 30. Windows 7 Taskbar ZooBar demo
  • 31. Summary Build a great Windows 7 Application Get compatible Optimize Differentiate Get the most out of Windows 7 Greater reliability Better performance Resource utilization Empower users to do more
  • 32.
  • 33. Windows Application Compatibility Developer Center http://www.msdn.microsoft.com/en-us/windows/aa904987.aspx
  • 34. Windows 7 Remediation Labs http://www.readyset7.com/workshops
  • 35. Windows 7 Training Kit for Developers http://go.microsoft.com/?linkid=9681321
  • 36.
  • 37. Windows 7 Blog for Developers www.windowsteamblog.com/blogs/developers.aspx
  • 38.
  • 41. Application Compatibility Moving from Windows XP to Windows 7 Version checking User Account Control Filtered token and privilege elevation Data redirection Windows integrity levels Internet Explorer® protection mode Session 0 isolation
  • 42. Application CompatibilityMoving from Windows Vista to Windows 7 Version checking Low level binary changes Low level network stack Antivirus Removed components Windows Mail Windows Movie Maker Microsoft Agent (msagent.exe)
  • 43. Get CompatibleAvailable Resources Windows Application Compatibility Center http://msdn.microsoft.com/en-us/windows/aa904987.aspx Application Compatibility on TechNet http://technet.microsoft.com/en-us/windows/aa905066.aspx Application Compatibility Online Remediation http://readyset7.com/workshops Application Compatibility in Windows 7 Training Kit http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=1c333f06-fadb-4d93-9c80-402621c600e7
  • 45. Optimize for PerformanceGet the Most Out of Windows Performance Enhancements Application restart and recovery with Restart Manager I/O priorities and cancelable I/O File System and Registry Transaction Support Event Tracing for Windows (ETW) – high-performance instrumentation Windows Error Reporting Windows Troubleshooting Platform Trigger-Start Services
  • 46. Trigger-Start Services Background services affect performance, security, reliability, and power consumption You want to minimize the amount of services running at a given time You want to minimize service footprint and runtime Service startup types Windows XP – Auto-Start / Manual Windows Vista – XP + Delayed Auto-Start Windows 7 – Windows Vista + Trigger-Start Available triggers Domain join, IP address available, device arrival, group policy change, and custom
  • 47. Windows 7 for Developers Jump Lists Answer: Question: How important? Jump Lists are probably the most important feature that applications need to take advantage of in order to truly shine on Windows 7 Put important documents at the user’s fingertips You also expect the common tasks to be there TaskBar
  • 48. Jump ListsA detailed look Pinned category Destinations (“nouns”) Known categories Custom categories User tasks Tasks (“verbs”) Taskbar tasks
  • 49. Windows 7 for Developers Jump Lists Each taskbar button is associated with a jump list. This is a retractable menu that shows a collection of items and tasks that are relevant to the given application. TaskBar
  • 50. Windows 7 for Developers Jump Lists JumpListLink – an object that extends the ShellLink object and implements IJumpListTasks TaskBar
  • 51. the taskbar The Windows 7 Taskbar The Windows 7 Taskbar The evolving user interface….
  • 53.
  • 54.
  • 55.
  • 56. Taskbar Buttons Consolidation Quick launch Notification area icon Desktop shortcut Running application windows Multiple windows and hover Running Not running Active
  • 57. Windows 7 Taskbar Enhanced user experience Quick and easy launch of applications Easier to manage windows The user is in control Clean and lightweight Standard Windows UX guidelines All of Microsoft’s products Enhanced Taskbar & Desktop Jump Lists Thumbnail Toolbars Custom Switchers Icons Overlay Icons Progress Bars
  • 58. Windows 7 Taskbar – Icons Face of your program Large and small icons Only customer can pin Color hot-track Icon Overlay Surface important notifications Appears over your program’s icon Progress bar Surface important notifications Appears in your taskbar button
  • 59. IconsBest practices Are you putting your best foot forward? Make sure your icon looks great Check different DPIs Check different glass colors and disabled glass How does Color Hot-track look? Determined by your icon’s dominant color
  • 60. Get More From Taskbar ButtonsOverlay and progress icons Consolidate: Uncluttered notification area Provide progress and additional information through the taskbar button It’s free if you use standard progress dialogs
  • 61. Taskbar Overlay and ProgressDesign considerations Notification area is now user controlled: Leave yourself out if possible! Use taskbar buttons for custom progress or status information
  • 62. Peek Preview (Aero Peek) Live peek without a click
  • 63. Live Thumbnails Live thumbnails: A live preview Windows Vista: One thumbnail per window Windows 7: Grouped thumbnails
  • 64. Windows 7 Taskbar – Thumbnails Remote-control for a window Surface key commands Accessible from taskbar thumbnail Up to seven buttons
  • 65. Thumbnail ToolbarsContrasting Thumbnail Toolbar commands and user tasks
  • 66. Exposing Custom ThumbnailsOverriding Automatic Thumbnail Preview To provide a custom thumbnail preview representation for a window: Set the DWM window attribute to say you will provide an “iconic bitmap” for the window Respond to the window messages DWM will then send in order to set the preview – done for both thumbnail- and full-sized previews
  • 68.
  • 69.
  • 70. Windows 7 Taskbar – Custom Switchers Surface custom UI (e.g. TDI/MDI) Custom thumbnails for each window Appears in your program’s window list
  • 71. MDI and TDI Window Switchers What about Internet Explorer tabs?
  • 72. Windows API Code Pack for the .NET Library Managed class library to access to Win 7 features Windows Shell namespace Windows Vista and Windows 7 Task Dialogs. Support for Shell property system. Taskbar Jumplists, Icon Overlay and Progress bar. Common file dialogs Support for Direct3D 11.0 and DXGI 1.0/1.1 APIs. Sensor Platform APIs Extended Linguistic Services APIs http://code.msdn.com/windowsAPICodePack
  • 73. Windows 7 Taskbar – Jump Lists Mini Start Menu for your program Surface key destinations and tasks Customizable Accessible via right-click and via drag APIs use the name “Destination List”
  • 74. Pinned category Destinations (“nouns”) Known categories Custom categories User Tasks Tasks (“verbs”) Taskbar Tasks Windows 7 Taskbar – Jump Lists
  • 75. Customizing the Jump ListStep 1: Get the free stuff to work Associate your program with the file extension Use common file dialogs Use explicit recent document API
  • 76. Customizing the Jump ListStep 2: Adding tasks What would your user like to do? Launch your application with special arguments? Launch other applications? Tasks are IShellLink objects Rich shortcut semantics including arguments, working directory, icon, and so on.
  • 77. Customizing the Jump ListStep 3: Do you have categories? Does it make sense to categorize documents? Is frequent, recent, pinned not enough? For example, Inbox, Outbox, Sales, Marketing … Categories contain IShellItem or IShellLink objects These are documents: You need a file association
  • 78. Some metrics… More than 90% of sessions have fewer than 15 windows More than 70% of sessions have fewer than 10 Non-default taskbar options are used by 0-10% of users

Notes de l'éditeur

  1. Welcome noteWelcome to Windows® 7 Launch!Hello…My name is…And I am …
  2. Taskbars, Jump listsOverlaysDuring today’s event we’ll focus on showing you how you can take advantage of the features in our newest Operating System, Windows® 7. Our goal is to show you the value in Windows 7, the power of the features to unlock new scenarios, enhanced existing ones, and provide our end users the best Windows experience. We’ve only got 3 session, and there are multiple Windows 7 features. The truth is that today’s 3 session only provide a glimpse into what Windows has to offer and we are far from covering everything that Windows 7 has to offer. We will however focus on features and opportunities that we think will best reward your time and effort. This is the first session in which you’ll soon see what it takes to build great Windows® 7 Applications. [CLICK TO ADVANCE THE SLIDE ANIMATION] In this session we’ll talk about what it takes to build great Applications that look and feel like first class Windows® 7 Applications. That means ensuring that your Application is compatible with Windows 7, Optimizing your performance and look and feel, and also using some of the more compelling desktop features that Windows 7 has to offer like the Taskbar and Libraries. to make sure your application feels like a first class Win 7 citizen. The Second session talks about creating dynamic and adoptive UI using Windows 7 Location and Sensor platform as well as how to get the most out of your graphics cards. The last session talks about creating modern Applications using Windows® Ribbon and enhancing interactions with Multitouch.
  3. Today I am going to talk about something that I think is a Hidden gem. In Windows7 and is going to make a huge impact in the coming year.
  4. After 25 years of Windows® it was time to change the Taskbar paradigm.With every version, there seemed to emerge more and more launch surfaces, making the UI clumsy and confusing.The new taskbar epitomizes cleanliness and elegance.Design goals: User productivity, easier window switching, common apps and destinations at your fingertips (literally with Multitouch ) and much more.Explain a little bit about each icon state that we see here in the taskbar screenshot.
  5. The Windows® 7 Taskbar include some features that you might want to consider using in your next Application: Overlay Icons Jump Lists Thumbnail Toolbars Custom Thumbnail Tabbed ThumbnailThe key takeout from this short discussion — even if you don’t want to use the advanced features — make sure you have a great taskbar icon (at all kinds of DPI levels) and forget about Quick Launch and the system notification area (“tray”) because no one is going to look there for your App. Use taskbar buttons and the wealth of UI paradigms such as thumbnail Toolbars, Jump Lists etc. instead.
  6. Go through the following features in the Windows® UI:Microsoft® Outlook 2010 and the the useful tasksWindows® Live Messenger with the overlay iconWindows® Explorer or Windows® Internet Explorer® 8 with the Progress BarWindows Media® Player with the thumbnail toolbarAny random Office App with a Jump List (or Internet Explorer 8 Jump List)Internet Explorer 8 with the tabbed thumbnailsEmphasize: Users are going to expect this from every Application out there!
  7. Use the ZooBar WPF Application developed for the Seattle Zoo allows for the tracking of animals, incorporating multiple features of the new Windows® Taskbar.The focus here should be on the less popular features, i.e. we will show the overlay icon and progress bar but only briefly without the code. The real focus should be on thumbnail previews and thumbnail toolbars.Launch the Application, explain that we’re seeing the Seattle Zoo and that there are multiple animals that we can track.Show the tasks in the Jump List – each task will open a web page (click one of them if there is Internet access).Show overlay icons by clicking Ctrl+I repeatedly, this sets the focus to the “current” activity that’s happening in the Zoo.Show the Taskbar Progress Bar by clicking Ctrl+P repeatedly - this gives us an estimation of how full the Zoo is getting.Pin a few animals (including the bear and the elephant), note that they now appear in the Taskbar.There’s a preview of these animals on the Taskbar and by hovering over the preview we see the Zoo map (doesn’t take us to the relevant region), by clicking the preview we navigate to the area of the Zoo where this animal is located (doesn’t work when the App is in the background).Show the video preview of some animal, note that the thumbnail preview shows only the video and not the entire map so that the video is actually watchable from the Taskbar thumbnail, without switching.Click on the photo images for some animal that has them, note that there’s now a thumbnail with these images and you can use the thumbnail toolbar to navigate them from the Taskbar.The code to show:MainWindow.xaml.cs – TabbedThumbnailActivated for the scrolling logicZoobarWorker.cs – AddPreview for the registration logic with the taskbarPhotoViewer.xaml.cs – CreateToolbarButtons for creating the thumbnail toolbarThe code must be beautified significantly before we can use it on the stage-------------------This is only a backup, we can remove it----------------------------Desirable demo: Something like a web browser with tabs, or a cool app that has a few tabs for different media.(This WPF demo needs to be written from scratch and then the Windows API Code Pack added on top of it for the separate elements/tabs)Steps:Run the App, go through the tabs to show off the content.Go to the Taskbar thumbnail and notice that there’s just a single thumbnail for all the tabs.Go to the code and add small portions of code so that there’s a thumbnail for each tab (or significant element).Run the App again, notice that now there are multiple taskbar thumbnails.(Optional: Add a thumbnail toolbar to one of the tabs which has pictures or some other media in it that can be controlled from the Taskbar).
  8. Modernize to Monetize
  9. Today I am going to talk about something that I think is a Hidden gem. In Windows7 and is going to make a huge impact in the coming year.
  10. Changes made in Windows® Vista such as:UACSession 0 isolationMajor version number change (move to NT 6.0)The point is that transitioning to Windows® Vista was hard partly because of the major breaking changes in the system and the compatibility challenges that arose. It wasn’t the only problem — there was also a change in the driver model which caused Users to be stuck without drivers for their hardware, and other issues. Through App Compat we have learned from Windows Vista that so many breaking changes in one box is probably not a good idea for Windows® 7.As harsh as Windows Vista breaking changes where, it was required update to make Windows Vista more secure and robust system. Windows 7 is based on these changes and take them one step forward providing superior performance and reliability. With that said we made hundreds of changes to Windows 7 underlying systems from Windows Vista. Most of these changes are the driving force behind Windows 7 great performance and reliability.
  11. But, coming from Windows® Vista we learned that developers, YOU, wish to maintain as much consistency between Operating Systems as possible and to keep to a minimum the breaking changes. Therefore it is very important to note that Windows®7 introduces very few breaking changes.And as a General guideline: If you’re compatible with Windows Vista, you’re probably compatible with Windows 7, with the exception of few very low-level APIs and few components that were removed in Windows 7.Anecdotal evidence to the strong desire of not breaking compatibility is the version number – Windows 7 has the version number 6.1, because it was so important to keep Applications compatible (some Applications do version checking of the major Operating System version and bail if they see something unfamiliar)There are very few breaking changes: Windows® Live Mail, High DPI, Internet Explorer® 8, no significant security or programming model breaking changes like in the Vista timeframe.
  12. Today I am going to talk about something that I think is a Hidden gem. In Windows7 and is going to make a huge impact in the coming year.
  13. Windows® 7 dramatically improves performance and power management so that you can create Applications that optimize the mobile experience or just better experience . As a result, your Applications will run faster on Windows® 7, consume less resources, be more visually appealing, and at the bottom line it will be easier to manage and create – which helps you be more productive. [Optimize = Become a Good Windows 7 Citizen]Windows 7 comes with a bunch of features that you can use to optimize your Application’s performance to make your Application run better on Windows 7 - by doing so you can drive higher end Users experience and high quality software that in return help the Operating System to be more stable, preferment, and secure Operating System that providing great User experience. Usually, this also means improved performance and reliability for your Application. Here are few examples of Windows features that are not too difficult to implement, but can drive a lot of value.Restart and recovery is a mechanism that makes Windows automatically restart your app into its previous state when the Operating System needs to reboot for a system update, or in case your app crash or hang. KTM is the mechanism that supports file system and registry transactions.Cancelable I/O and I/O prioritization are key to more responsive Applications, and especially for background operations.The revamped ETW offers high-performance instrumentation with up to 1,000,000 messages/sec (CHECK THIS STATISTIC) and various kinds of loggers and consumersWindows® Error Reporting is a built-in mechanism for reporting crash and hang information to Microsoft (can be customized to an internal share) and there are ways to add information to a WER report or to solicit it. WER information can be queried from the WinQual portal.Trigger-Start services offer background services a way to stay out of the system and improve its resource utilization when they are not needed, the system will start them up when a trigger occurs. We’ll see this shortly.There are also power efficiency improvements that make the system’s battery life longer, as well as diagnostic mechanisms and a couple of new APIs that we’ll see shortly.[note to speaker – because time constrains we will not show a slide on power, just talk about it here]Users want a “all day” battery life on their mobile PCBattery life is affected by CPU, disk, display and other factors, but CPU is the most significant and is the one whose energy utilization has been going up EXPONENTIALLY over the last couple of decadesIt’s impossible to build an Operating System that will last 9 hours of battery life without us fellow developers—the Operating System can bring us only this farWindows 7 gives us some tools but it’s eventually our responsibility:The Operating System itself uses less powerCoalescing timers mean you can have multiple adjacent timers adjust themselves so that there are less invocations in a period of time (allowing for more sleep time)Power availability requests let an Application indicate exactly why it wants the system to stop from transitioning into a low power-state (e.g. Internet Explorer® is downloading a file, or you’re playing a movie in Windows® Media Player)Therefore, for Users to really enjoy long battery life, we all have to make better job at it, and Windows 7 offer great tools to support that.
  14. Background services in Windows are a pain – the Operating Systemships with a lot of them in the box, but ISVs add even more.Eventually background services decrease performance, increase power consumption, expand the attack surface and affect the system’s reliability.The goal should be – have background services run for as little time as possible and with the smallest footprint. To that end:Convert services to scheduled tasksMinimize the security privileges granted to a service (per-service SID, service privileges API etc.)Minimize the work services do on startup, shutdown and on idleThe types of service startup evolved over the years:Windows® XP gives us a very Boolean choice.On Windows® Vista we have delayed auto-start for services that don’t want to delay logon.On Windows 7 we have trigger-start services, which means the service isn’t running when it has nothing to do!There are lots of available triggers, and if none suits you there’s always the custom ETW event trigger which means your service can be triggered by anything that can write to an ETW log (or the Event Log).The idea is to convert services to Trigger-Start services and make them stop themselves when their work is done. This is more similar to tasks than to traditional NT services.
  15. [TDM, DEV][What - Windows 7 Taskbar feature overview] Not all the features in the Windows 7 Taskbar are applicable to all applications. Each application needs to be evaluated on its own.
  16. [TDM, DEV] [Taskbar Icons – Details]ICONSAre you putting your best foot forward?Make sure your icon looks greatCheck different DPIsCheck different glass colors and disabled glassHow does Color Hot-track look?Determined by your icon’s dominant colorIcons OverlayDo you need to surface notifications?Does this help the user make a decision?Single icon at a time (LIFO)No animationsIdeally, application-specific Group vs. UngroupCan you retire your icon in the Notification Area?Progress barDoes your program require progress status?Does this help the user make a decision?Do you already surface a progress dialog?One detailed progress at a time[TDM, DEV]ICONSAre you putting your best foot forward?Make sure your icon looks greatCheck different DPIsCheck different glass colors and disabled glassHow does Color Hot-track look?Determined by your icon’s dominant colorIcons OverlayDo you need to surface notifications?Does this help the user make a decision?Single icon at a time (LIFO)No animationsIdeally, application-specific Group vs. UngroupCan you retire your icon in the Notification Area?
  17. Native codeITaskbarList3* ptl = ...;ptl->SetOverlayIcon(hwnd, hicon, L"Accessible Description");ptl->SetProgressState(hwnd, TBPF_NORMAL);for (inti = 0; i < MAX; ++i) {ptl->SetProgressValue(hwnd, i, MAX);}
  18. NativeDwmSetWindowAttribute( ...,DWMWA_HAS_ICONIC_BITMAP,...);DwmSetWindowAttribute(...,DWMWA_FORCE_ICONIC_REPRESENTATION,...);/* in the WndProc */case WM_DWMSENDICONICLIVEPREVIEWBITMAP: HBITMAP hbm = ...;DwmSetIconicLivePreviewBitmap(...hbm,...);
  19. Native codeDwmSetWindowAttribute( ...,DWMWA_HAS_ICONIC_BITMAP,...);DwmSetWindowAttribute(...,DWMWA_FORCE_ICONIC_REPRESENTATION,...);/* in the WndProc */case WM_DWMSENDICONICTHUMBNAIL: HBITMAP hbm = ...;DwmSetIconicThumbnail(hwnd, hbm, ...);
  20. [TDM, DEV][Windows 7 Taskbar Details]In the earlier taskbar posts, we discussed how Windows Media Player’s deskband offers valuable background music controls, but only a mere 3% of sessions ever enjoy the functionality. The new taskbar exposes a feature called Thumbnail Toolbars that surface up to seven window controls right in context of taskbar buttons. Unlike a Jump List that applies globally to a program, this toolbar is contextual to just a specific window. By embracing this new feature, Media Player can now reach a majority of peopleDoes your window require controls?Surface commands that users access regularlyCommands must be contextual to a windowDon’t duplicate Jump List tasksCan you replace a Desktop Toolbar?
  21. Native codeUINT wm_tbc = RegisterWindowMessage( "TaskbarButtonCreated");MSG m; GetMessage(..., &m);if (m.message == wm_tbc) { ITaskbarList3* ptl = ...; THUMBBUTTON btn = {...};ptl->ThumbBarAddButtons(m.hWnd, 1, &btn);}
  22. [TDM, DEV]All the major web browsers offer tabs and a method of managing these tabs. One could argue tab toolbars are really like taskbars since they facilitate switching. These TDI (Tabbed Document Interface) and MDI (Multiple Document Interface) programs have always resorted to creating their own internal window management systems as the Windows taskbar was not optimized to help their scenarios. Some programs like Excel did custom work to surface their child windows on the taskbar, but this approach was somewhat of a hack.Since the new taskbar already groups individual windows of a program under a single button, we can now offer a standard way for programs that have child windows to expose them. Again, the taskbar offers a single, consistent place to access real windows as well as child windows. These custom window switchers also behave as regular windows on the taskbar with rich thumbnails and even Aero Peek.Does your program have switchers that need to be surfaced?Do users need to regularly switch to them?Provide a visual representation for your client area’s switcherTaskbar bitmap (thumbnail)Peek bitmap (real size)
  23. Native Use ITaskbarList3::RegisterTab, SetTabOrder, SetTabActiveChild window must create a proxy top-level window for custom thumbnail and peekThe proxy window is typically invisibleProxy window must handle WM_ACTIVATE and WM_SYSCOMMAND
  24. [TDM, DEV][Windows 7 Taskbar Details – Important enough to not hide]Jump Lists are a new feature of the Windows 7 taskbar that accomplish just this. Think of this feature as a mini Start Menu for each program or an evolved version of the system menu. First, the you don’t need to even start the program to quickly launch a file or access a task. Second, destinations don’t take up valuable space on the taskbar; they are automatically organized by their respective program in a simple list. Should one have ten programs pinned or running on her taskbar, this means she could have quick access to over 150 destinations she uses all the time, without even the need to customize the UI! Since the Jump List shows lots of text for each of its items, gone are the days of having identical icons on your taskbar that are indistinguishable without a tooltip. Should you wish to keep a specific destination around, you can simply pin it to the list.
  25. [ DEV][Why - Windows 7 Taskbar details]Jump Lists are a new feature of the Windows 7 taskbar that accomplish just this. Think of this feature as a mini Start Menu for each program or an evolved version of the system menu. Jump Lists surface commonly used nouns (destinations) and verbs (tasks) of a program. There are several advantages this new approach provides. Do destinations apply to your program?Nouns: Items consumed/created by your programDynamic based upon individual user patternRecent or frequent or custom list?Do tasks apply to your program?Verbs: Program actionsTasks should not require your program to be runningTasks are static and apply to all usersTasks should globally apply to your program, not a specific window
  26. Native - SHAddToRecentDocs(SHARDW_PATH, "file.ext");
  27. NativeIObjectCollection* poc = ...;IShellLink* task = ...;poc.AddObject(task);ICustomDestinationList* pcdl = ...;pcdl.BeginList(...);IObjectArray* poa = ... poc;pcdl.AddUserTasks(poa);pcdl.CommitList();
  28. NativeIObjectCollection* poc = ...;IShellItem* item = ...;poc.AddObject(item);ICustomDestinationList* pcdl = ...;pcdl.BeginList(...);IObjectArray* poa = ... poc;pcdl.AppendCategory(L"Sales", poa);pcdl.CommitList();