these slides are not much use without the demos so if you are reading these without attending my...

33
These slides are not much use without the demos so if you are reading these without attending my session, you are not even getting 1/3 of the story

Post on 19-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

These slides are not much use without the demos so if you are reading these without attending my session, you are not even getting 1/3 of the story

Windows Vista for Windows Vista for developersdevelopers

Beyond NetFx3Beyond NetFx3

Daniel MothDaniel MothDeveloper & Platform Group, Developer & Platform Group, MicrosoftMicrosofthttp://www.danielmoth.com/Bloghttp://www.danielmoth.com/Blog(removed email address, use blog for (removed email address, use blog for contact)contact)

This slide had the video

Also many slides have animations which are not captured in this pdf. Sorry, they are only meant as a reminder for those who attended the session

Sept 2003Sept 2003

Developer Developer engagementengagement

April 2005April 2005

OEM & IHV OEM & IHV engagementengagement

July 2005July 2005

Platform beta, Platform beta, IT engagementIT engagement

May 2006May 2006

End user End user engagementengagement

Q4 2006Q4 2006Q4 2006Q4 2006

Windows Vista TimelineWindows Vista Timeline

+ Community Technology Previews+ Community Technology Previews

.NET Framework v3.0 .NET Framework v3.0 ((FormerlyFormerly WinFXWinFX))

Windows VistaWindows Vista

Sept 2003Sept 2003

Developer Developer engagementengagement

April 2005April 2005

OEM & IHV OEM & IHV engagementengagement

July 2005July 2005

Platform beta, Platform beta, IT engagementIT engagement

May 2006May 2006

End user End user engagementengagement

Q4 2006Q4 2006Q4 2006Q4 2006

Windows Vista TimelineWindows Vista Timeline

+ Community Technology Previews+ Community Technology Previews

.NET Framework v3.0 .NET Framework v3.0 ((FormerlyFormerly WinFXWinFX))

Windows VistaWindows Vista

RC1Sept 2006Sept 2006

Getting there!Getting there!

Windows VistaWindows Vista

Connected Connect with people, information

and devices: anytime, anywhere

Confident Your PC just works: safe, reliable, and low-cost to manage

Clear Organize information effectively, and focus on business

Windows VistaWindows VistaThe Biggest Release of Windows The Biggest Release of Windows EverEver

StacksStacks

Network Access ProtectionNetwork Access Protection

Network Location Network Location AwarenessAwareness

High Resolution/High DPIHigh Resolution/High DPI

Windows SideshowWindows Sideshow

Windows Vista Display Driver ModelWindows Vista Display Driver Model

People Near MePeople Near Me

Windows DefenderWindows Defender

Power ManagementPower Management Live IconsLive Icons

Windows SideBarWindows SideBar

Parental controlsParental controls

Windows Feedback ServicesWindows Feedback Services

Desktop Window ManagerDesktop Window Manager

Registry/File System VirtualizationRegistry/File System Virtualization

Protected Mode IEProtected Mode IE

Windows Service HardeningWindows Service Hardening

Sync CenterSync CenterAeroAero

Presentation SettingsPresentation Settings

Preview PanePreview Pane

User Account ControlUser Account Control

Ad-hoc Meeting Ad-hoc Meeting NetworksNetworks

Quick SearchQuick Search

Windows Imaging FormatWindows Imaging Format

Windows Resource ProtectionWindows Resource Protection

MMC 3.0MMC 3.0

Cancelable I/OCancelable I/O

Resource Exhaustion Resource Exhaustion DiagnosticsDiagnostics

Peer Name Resolution ProtocolPeer Name Resolution Protocol

Reading PaneReading Pane

Windows Disk DiagnosticsWindows Disk Diagnostics

Restart ManagerRestart Manager

Transactional RegistryTransactional Registry

Single binarySingle binary

Memory DiagnosticsMemory Diagnostics

Startup Repair ToolkitStartup Repair Toolkit

Transactional File SystemTransactional File System

Eventing and InstrumentationEventing and Instrumentation

WS-ManagementWS-Management

InfoCardInfoCard

SuperFetchSuperFetch

Segoe UI FontSegoe UI Font

Flip3DFlip3D

New ExplorersNew Explorers

Taskbar ThumbnailsTaskbar Thumbnails

IPv6IPv6

XAMLXAML

Search FoldersSearch Folders

Ink AnalysisInk Analysis

Split TokensSplit Tokens

Mandatory Integrity ControlMandatory Integrity Control

UI Privilege IsolationUI Privilege Isolation

Secure StartupSecure Startup

Windows Filtering PlatformWindows Filtering Platform

User Mode Driver FrameworkUser Mode Driver Framework

New Open/Save DialogsNew Open/Save Dialogs

Shell Property SystemShell Property System

Winlogon RearchitectureWinlogon Rearchitecture

Windows Communication FoundationWindows Communication Foundation

Windows Presentation FoundationWindows Presentation Foundation

GlassGlass

Open Package SpecificationOpen Package Specification

XML Paper SpecificationXML Paper Specification

Windows Workflow FoundationWindows Workflow Foundation

Windows Installer 4.0Windows Installer 4.0

MonadMonad

RSS PlatformRSS Platform

Function Discovery APIFunction Discovery API

Wizard FrameworkWizard Framework

Crypto Next GenerationCrypto Next Generation

Credential ProvidersCredential Providers

ConfidentConfident | | ClearClear | | ConnectedConnected

NetFx3NetFx3 – Not Today’s – Not Today’s TopicTopic

The Managed Code

Programming

Model

for Windows

Quick tourQuick tour

GlassGlass

Task Dialog, Command Link ++Task Dialog, Command Link ++

AEROAERO

Sidebar / gadgetsSidebar / gadgets

Application Restart & RecoveryApplication Restart & Recovery

RSSRSS

UACUAC

DemosDemos

AGENDAAGENDA

Quick TourQuick Tour

Start menuStart menu

Extending the webExtending the webInstant integrated search everywhereInstant integrated search everywhere

Back / ForwardsBack / Forwards

BreadcrumbsBreadcrumbs

Context-sensitive informationContext-sensitive information

Live Thumbnails, Alt+TAB, Flip3DLive Thumbnails, Alt+TAB, Flip3D

Preview/reading pane, Live IconsPreview/reading pane, Live Icons

etc.etc. DEMODEMO

GlassGlass

Helps focus the user on the Helps focus the user on the “important” area“important” area

In non-client areasIn non-client areas

In client areasIn client areasExtend it inwards from any sideExtend it inwards from any side

Paint it blackPaint it black

Arbitrary regionsArbitrary regions

DEMODEMO

Task Dialog, CommandLink etc.Task Dialog, CommandLink etc.

DEMODEMO

Vista File DialogsVista File DialogsQuick Search box

extensibleFavorite Links

file properties

navigation buttons

context-based tasks

“friendly” address bar enhanced column headers: sort, group and filter

Live Icons

Preview Pane

custom controls

The AERO aesthetic is both professional and beautiful. It creates a high quality and elegant experience that users can be productive in and even fall in love with.Authentic

Energetic

Reflective

Open & Approachable

aeroaero

Gadgets for Windows Gadgets for Windows SidebarSidebar

““Gadget”Gadget”LLightweight and task-specific appletightweight and task-specific applet

Sidebar is a Sidebar is a container for gadgets and container for gadgets and more;more;

ManagerManager, Picker, Installer, , Picker, Installer, Host, Instance Host, Instance ManagementManagement

Developer modelDeveloper modelHTML + ScriptHTML + Script

Installed to the local machineInstalled to the local machine““c:\users\ … \gadgets”c:\users\ … \gadgets”Packaged (Folder, Zip, CAB)Packaged (Folder, Zip, CAB)

Manifest, HTML file, HTML settingsManifest, HTML file, HTML settings

DEMODEMO

Restart APIsRestart APIsRegister to be restarted after fatal problemsRegister to be restarted after fatal problems

Registration also used for Restart ManagerRegistration also used for Restart ManagerRestarts process after patch installationRestarts process after patch installation

All applications should support restartAll applications should support restartEspecially if support document recoveryEspecially if support document recovery

How it worksHow it worksRegister command-line that should be called every Register command-line that should be called every executionexecution

HRESULT RegisterApplicationRestart (IN PCWSTR HRESULT RegisterApplicationRestart (IN PCWSTR pwzCommandline, DWORD dwFlags)pwzCommandline, DWORD dwFlags)

After fatal event is reported, app is restartedAfter fatal event is reported, app is restartedFatal events block user tasksFatal events block user tasks

Automatically restarting saves users from having to re-Automatically restarting saves users from having to re-open the applicationopen the application

DEMODEMO

Recovery APIsRecovery APIs

Attempt to recover data after a fatal eventAttempt to recover data after a fatal eventUsers should not lose any work to an app bugUsers should not lose any work to an app bug

How it worksHow it works1.1. App registers a “recovery callback” every App registers a “recovery callback” every

executionexecutionHRESULT RegisterApplicationRecoveryCallback HRESULT RegisterApplicationRecoveryCallback (IN RECOVERY_ROUTINE RecoveryRoutine, IN PVOID (IN RECOVERY_ROUTINE RecoveryRoutine, IN PVOID pvParameter)pvParameter)

2.2. Recovery routine called after data collectionRecovery routine called after data collectionApplication’s code attempts to recover user workApplication’s code attempts to recover user work

Flush to disk, repair on next run of applicationFlush to disk, repair on next run of applicationRepair data in memory, save to diskRepair data in memory, save to disk

Need to call Need to call RecoveryInProgress()RecoveryInProgress() every 5 seconds every 5 seconds to heartbeatto heartbeatCall Call RecoveryFinished()RecoveryFinished() to signal recovery is to signal recovery is completedcompleted

DEMODEMO

Internet Explorer 7+Internet Explorer 7+

User ExperienceUser ExperienceTabbed Browsing, Page Zoom, Printing, Tabbed Browsing, Page Zoom, Printing, OpenSearchOpenSearch

RSS Feed IntegrationRSS Feed Integration

Secure BrowsingSecure BrowsingProtected Mode, Anti-phishing, ActiveX Protected Mode, Anti-phishing, ActiveX Opt-In, Plug-in Changes, Clipboard, Opt-In, Plug-in Changes, Clipboard, Status barStatus bar

Web Developer PlatformWeb Developer PlatformEnhanced CSS support, layout bugs Enhanced CSS support, layout bugs fixed, transparent PNG etc.fixed, transparent PNG etc.

DEMODEMO

RSS AgendaRSS Agenda

What a feed looks likeWhat a feed looks like

Feed DiscoveryFeed Discovery

Windows RSS PlatformWindows RSS Platform

RSS Platform APIRSS Platform API

DEMO DEMO EvolutionEvolution

Really Simple Feed: Hello WorldReally Simple Feed: Hello World<<rssrss version="2.0"> version="2.0"> <<channelchannel>> <<titletitle> Hello world </title>> Hello world </title> <<descriptiondescription> This is a simple feed. </description>> This is a simple feed. </description>

<<itemitem>> <<titletitle> Hello item #2 </title>> Hello item #2 </title> <<descriptiondescription> This is another simple item. </description>> This is another simple item. </description> <<pubDatepubDate> > Fri, 14 Oct 2005 18:00:50 GMT Fri, 14 Oct 2005 18:00:50 GMT </pubDate></pubDate> <<guidguid> C94F7DE5-2741-4db5-A4CF-A6A2293D214B </guid>> C94F7DE5-2741-4db5-A4CF-A6A2293D214B </guid> </item></item>

<<itemitem>> <title>Hello item #1</title><title>Hello item #1</title> <description>This is the first simple item. </description><description>This is the first simple item. </description> <pubDate><pubDate>Fri, 14 Oct 2005 13:26:46 GMTFri, 14 Oct 2005 13:26:46 GMT</pubDate></pubDate> <guid>C94F7DE5-2741-4db5-A4CF-A6A2293D214B</guid><guid>C94F7DE5-2741-4db5-A4CF-A6A2293D214B</guid> </item></item>

</channel></channel></rss></rss>

Feed DiscoveryFeed Discovery

Discovery of feeds on web pagesDiscovery of feeds on web pages<html><html>

<<headhead>>

<title>Hello World Page</title><title>Hello World Page</title>

<link rel="alternate" type="application/rss+xml"title="The Hello World RSS feed" href="HelloWorld.xml"/>

</head></head>

<body><body>

<h1>Hello, World</h1><h1>Hello, World</h1>

</body></body>

</html></html>

Windows RSS PlatformWindows RSS Platform

DownloadDownloadEngineEngine

RSS 0.9xRSS 0.9xRSS 1.0RSS 1.0RSS 2.0RSS 2.0

AtomAtom

BrowsersBrowsers PhotosPhotos ContactsContacts ……

NewsNews BlogsBlogs PhotosPhotos AudioAudio CalendarsCalendars ListsLists ……

MergeMergeProcessorProcessor

CommonFeedlist

Items Enclosures

RSS Object ModelRSS Object Model

StoreStore

ServiceService

APIAPI

RSS Platform APIRSS Platform API

COM APICOM API

- Automation (IFeed…)- Automation (IFeed…)

- Early-bound (IXFeed…)- Early-bound (IXFeed…)

Not safe-for-scriptingNot safe-for-scripting

FeedsManagerFeedsManager

FeedFeed

FeedFolderFeedFolder

FeedItemFeedItem

FeedEnclosureFeedEnclosure

FolderEventsFolderEvents

FeedEventsFeedEvents

DEMODEMO

EvolutionEvolution

BROWSE.BROWSE.SEARCH.SEARCH.

User Account Control

Challenges Windows Vista

Solution

Easier to Run as Standard UserUsers can do more on their own

Change time zone, power settings, VPN, and more Install approved devicesAdmin commands clearly marked

Higher application compatibility

File and registry virtualization

Greater Protection for Admins

Software runs with lower privileges by default

Administrator provides consent before elevation

Most users run with full administrator privileges all the timeAt risk from malwareCan’t manage desktops or

enforce policyExpensive to supportDifficult to run a standard user

User can’t perform many tasksMany applications don’t run

Security shield identifies operations that require Security shield identifies operations that require privilege elevationprivilege elevation

User Account ControlUser Account ControlFeature reviewFeature review

By default, all interactive processes run as By default, all interactive processes run as standard userstandard user

User consent is required to run a process with User consent is required to run a process with elevated privilegeselevated privileges

DEMODEMO

What Do I Do About UACWhat Do I Do About UAC

If your app runs correctly as Standard If your app runs correctly as Standard UserUser

Nothing!Nothing!

ElseElseRemove operations that require elevated Remove operations that require elevated privilegesprivileges

Set machine-wide settings during Set machine-wide settings during installationinstallation

If certain operations require elevated If certain operations require elevated priviligespriviliges

Factor into separate process (or separate COM Factor into separate process (or separate COM objects)objects)

Identify them with the “shield”Identify them with the “shield”

If your app targets adminsIf your app targets adminsIn manifest specify requestedExecutionLevel In manifest specify requestedExecutionLevel requireAdministratorrequireAdministrator

Where We’ve BeenWhere We’ve Been

Quick tourQuick tour

GlassGlass

Task Dialog, Command Link, Task Dialog, Command Link, CommonFileDialogCommonFileDialog

AEROAERO

Sidebar / gadgetsSidebar / gadgets

Application Recovery APIsApplication Recovery APIs

IE7+IE7+

RSSRSS

UACUAC

Plus Many More…Plus Many More…Vista guidelinesVista guidelinesCancelable I/OCancelable I/OWindows Eventing 6.0Windows Eventing 6.0Windows Feedback ServicesWindows Feedback Services/GS compiler switch, “safe” CRT libraries (native C+/GS compiler switch, “safe” CRT libraries (native C++)+)Peer-to-Peer NetworkingPeer-to-Peer NetworkingResources, function discoveryResources, function discoveryXPSXPSTablet InkTablet InkPower ManagementPower ManagementSync CenterSync CenterSearch, registered handlers and OLEDB providerSearch, registered handlers and OLEDB providerNLA and NAPNLA and NAPTask Scheduler, Perf Counters enhancementsTask Scheduler, Perf Counters enhancements

Get Windows Vista Get Windows Vista Now!Now!

http://http://

msdn.microsoft.com/msdn.microsoft.com/windowsvistawindowsvista

//downloadsdownloads

/getthebeta//getthebeta/

ResourcesResources

Demos etc from this talk +Demos etc from this talk +

links to other vista resourceslinks to other vista resources

http://www.danielmoth.com/http://www.danielmoth.com/BlogBlog

© 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only.

MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.