61
Taking Your Application to the Next Level with Windows 7 MITHUN DHAR DEVELOPER EVANGELIST MICROSOFT CORPORATION

Jumplist & Taskbar - Session 1 Win7 Launch

Embed Size (px)

DESCRIPTION

Windows 7 Launch Presentation - Jumplist & Taskbar. (For Developers)

Citation preview

Page 1: Jumplist & Taskbar - Session 1 Win7 Launch

Taking Your Application to the Next Level with Windows 7

MITHUN DHARDEVELOPER EVANGELIST

MICROSOFT CORPORATION

Page 2: Jumplist & Taskbar - Session 1 Win7 Launch

What the heck is a Developer

Evangelist??Email: [email protected] Twitter:@mithund

Facebook: http://facebook.com/mithund Blog: http://blogs.msdn.com/mithund

Page 3: Jumplist & Taskbar - Session 1 Win7 Launch

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 AttendThe 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• Microsoft’s vision and roadmap for the future of developer technology

• 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 you

When & WhereLos Angeles Convention Center

Conference | Nov 17 – 19Workshops & Boot Camp | Nov 16

PricingEvent Registration - $2095Discount through Oct 13 - $1795 Additional Workshop Fee - $395

One Day Pass - $695Workshop Only Pass - $495

http://microsoftpdc.com

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

Page 4: Jumplist & Taskbar - Session 1 Win7 Launch

Housekeeping Cell Phones on stun mode, please! Restrooms Swag – Windows 7 Ultimate Evaluations – Please fill out! Speakers

Mithun Dhar (DE) Jason Mauer (DE) Yochay Kiriaty (DE)

Page 5: Jumplist & Taskbar - Session 1 Win7 Launch

Taskbars Jump lists OverlaysBeyond Human Interaction with Windows 7 Sensor and Location Platform

Today’s Agenda

Taking Your Application to the Next Level with Windows 7

Building Next Generation UI with Multitouch & Windows Ribbon in Windows 7

Page 6: Jumplist & Taskbar - Session 1 Win7 Launch

Look how far we have come!

Windows 7 - Taskbar

Page 7: Jumplist & Taskbar - Session 1 Win7 Launch
Page 8: Jumplist & Taskbar - Session 1 Win7 Launch
Page 9: Jumplist & Taskbar - Session 1 Win7 Launch
Page 10: Jumplist & Taskbar - Session 1 Win7 Launch
Page 11: Jumplist & Taskbar - Session 1 Win7 Launch
Page 12: Jumplist & Taskbar - Session 1 Win7 Launch
Page 13: Jumplist & Taskbar - Session 1 Win7 Launch
Page 14: Jumplist & Taskbar - Session 1 Win7 Launch

Design Goals For New Taskbar Single launch surface Easily controllable Clean, noise-free, and simple New opportunities for extensibility Enhanced productivity

Page 15: Jumplist & Taskbar - Session 1 Win7 Launch

TASKBAR BUTTONS

ConsolidationQuick launchNotification area iconDesktop shortcutRunning application windows

Running Not running

Multiple windows

and hoverActive

Page 16: Jumplist & Taskbar - Session 1 Win7 Launch

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 Taskbar Features

Page 17: Jumplist & Taskbar - Session 1 Win7 Launch

Windows 7 TaskbarA Tour

demo

Page 18: Jumplist & Taskbar - Session 1 Win7 Launch

Windows 7 TaskbarZooBar

demo

Page 19: Jumplist & Taskbar - Session 1 Win7 Launch

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

Page 20: Jumplist & Taskbar - Session 1 Win7 Launch

Additional Windows 7 ResourcesTechnical Resources

Windows 7 Blog for Developers www.windowsteamblog.com/blogs/developers.aspx

Windows 7 on Channel 9 http://channel9.msdn.com/tags/Windows+7

Windows Developer Center on MSDN http://msdn.microsoft.com/en-us/windows/dd433113.aspx

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/XP2Win7

Training Offers—Exclusive for Launch Attendees www.microsoft.com/learning/careeroffers

Training Resources

Community Resources

Page 21: Jumplist & Taskbar - Session 1 Win7 Launch

© 2009 Microsoft Corporation. All rights reserved. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the

date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 22: Jumplist & Taskbar - Session 1 Win7 Launch

Addendum

Page 23: Jumplist & Taskbar - Session 1 Win7 Launch

Working Together :)

Application Compatibility

Page 24: Jumplist & Taskbar - Session 1 Win7 Launch

Application Compatibility Moving from Windows XP to Windows 7

Version checkingUser Account Control

Filtered token and privilege elevation Data redirection

Windows integrity levels Internet Explorer® protection mode

Session 0 isolation

Page 25: Jumplist & Taskbar - Session 1 Win7 Launch

Application CompatibilityMoving from Windows Vista to Windows 7

Version checkingLow level binary changes

Low level network stack Antivirus

Removed components Windows Mail Windows Movie Maker Microsoft Agent (msagent.exe)

Page 26: Jumplist & Taskbar - Session 1 Win7 Launch

Get CompatibleAvailable Resources

Windows Application Compatibility Centerhttp://msdn.microsoft.com/en-us/windows/aa904987.aspx

Application Compatibility on TechNethttp://technet.microsoft.com/en-us/windows/aa905066.aspx

Application Compatibility Online Remediationhttp://readyset7.com/workshops

Application Compatibility in Windows 7 Training Kithttp://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=1c333f06-fadb-4d93-9c80-402621c600e7

Page 27: Jumplist & Taskbar - Session 1 Win7 Launch

Working Better

Optimizing

Page 28: Jumplist & Taskbar - Session 1 Win7 Launch

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

Page 29: Jumplist & Taskbar - Session 1 Win7 Launch

Trigger-Start ServicesBackground 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 runtimeService 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

Page 30: Jumplist & Taskbar - Session 1 Win7 Launch

TaskBar

Windows 7 for DevelopersJump Lists

How important?Question:

Jump Lists are probably the most important feature that applications need to take advantage of in order to truly shine on Windows 7

Answer:

Put important documents at the user’s fingertips

You also expect the common tasks to be there

Page 31: Jumplist & Taskbar - Session 1 Win7 Launch

Jump ListsA detailed look

Destinations(“nouns”)

Tasks(“verbs”)

Known categories

Custom categories

User tasks

Taskbar tasks

Pinned category

Page 32: Jumplist & Taskbar - Session 1 Win7 Launch

TaskBar

Windows 7 for DevelopersJump 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.

Page 33: Jumplist & Taskbar - Session 1 Win7 Launch

TaskBar

Windows 7 for DevelopersJump Lists

JumpListLink – an object that extends the ShellLink object and implements IJumpListTasks

Page 34: Jumplist & Taskbar - Session 1 Win7 Launch

THE TASKBARThe Windows 7 Taskbar

The evolving user interface….

The Windows 7 Taskbar

Page 35: Jumplist & Taskbar - Session 1 Win7 Launch

512K of Ram !

Page 36: Jumplist & Taskbar - Session 1 Win7 Launch
Page 37: Jumplist & Taskbar - Session 1 Win7 Launch
Page 38: Jumplist & Taskbar - Session 1 Win7 Launch
Page 39: Jumplist & Taskbar - Session 1 Win7 Launch

TASKBAR BUTTONS

ConsolidationQuick launchNotification area iconDesktop shortcutRunning application windows

Running Not running

Multiple windows

and hoverActive

Page 40: Jumplist & Taskbar - Session 1 Win7 Launch

Windows 7 Taskbar Enhanced Taskbar & Desktop Jump Lists Thumbnail Toolbars Custom Switchers Icons Overlay Icons Progress Bars

Enhanced user experienceQuick and easy launch of applicationsEasier to manage windows The user is in controlClean and lightweightStandard Windows UX guidelines

All of Microsoft’s products

Page 41: Jumplist & Taskbar - Session 1 Win7 Launch

Windows 7 Taskbar – Icons

Face of your program Large and small icons Only customer can pin Color hot-track

Icon OverlaySurface important notificationsAppears over your program’s icon

Progress barSurface important notificationsAppears in your taskbar button

Page 42: Jumplist & Taskbar - Session 1 Win7 Launch

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

Page 43: Jumplist & Taskbar - Session 1 Win7 Launch

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

Page 44: Jumplist & Taskbar - Session 1 Win7 Launch

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

Page 45: Jumplist & Taskbar - Session 1 Win7 Launch

Peek Preview (Aero Peek) Live peek without a click

Page 46: Jumplist & Taskbar - Session 1 Win7 Launch

Live Thumbnails Live thumbnails: A live preview

Windows Vista: One thumbnail per window Windows 7: Grouped thumbnails

Page 47: Jumplist & Taskbar - Session 1 Win7 Launch

Windows 7 Taskbar – Thumbnails

Remote-control for a window

Surface key commands

Accessible from taskbar thumbnail

Up to seven buttons

Page 48: Jumplist & Taskbar - Session 1 Win7 Launch

Thumbnail ToolbarsContrasting Thumbnail Toolbar commands and user tasksThumbnail Toolbar Commands

Jump List User Tasks

Surface common window commands (e.g. menu items, window toolbar commands)

Define entry points intothe application

Specific to the window they’re assigned to

Application-wide in scope

One set of thumbnail toolbar commands per window

One set of user tasks per application identity

Windows commands can be dynamic List of user tasks must be static

Page 49: Jumplist & Taskbar - Session 1 Win7 Launch

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

Page 50: Jumplist & Taskbar - Session 1 Win7 Launch

Hi phone!

Page 51: Jumplist & Taskbar - Session 1 Win7 Launch
Page 52: Jumplist & Taskbar - Session 1 Win7 Launch
Page 53: Jumplist & Taskbar - Session 1 Win7 Launch

Windows 7 Taskbar – Custom Switchers

Surface custom UI (e.g. TDI/MDI)

Custom thumbnails for each window

Appears in your program’s window list

Page 54: Jumplist & Taskbar - Session 1 Win7 Launch

MDI and TDI Window Switchers What about Internet Explorer tabs?

Page 55: Jumplist & Taskbar - Session 1 Win7 Launch

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

Page 56: Jumplist & Taskbar - Session 1 Win7 Launch

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”

Page 57: Jumplist & Taskbar - Session 1 Win7 Launch

Destinations(“nouns”)

Tasks(“verbs”)

Known categories

Custom categories

User Tasks

Taskbar Tasks

Pinned category

Windows 7 Taskbar – Jump Lists

Page 58: Jumplist & Taskbar - Session 1 Win7 Launch

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

Page 59: Jumplist & Taskbar - Session 1 Win7 Launch

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.

Page 60: Jumplist & Taskbar - Session 1 Win7 Launch

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

Page 61: Jumplist & Taskbar - Session 1 Win7 Launch

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