Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager...

28

description

Agenda Demo Overview Extending The Longhorn Explorer Developing Applications Demo Overview Extending The Longhorn Explorer Developing Applications

Transcript of Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager...

Page 1: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.
Page 2: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Longhorn Search and Organize User And Developer Experience

Paul Cutsinger – Lead Program ManagerKerem Karatal – Lead Program ManagerMicrosoft Corporation

Page 3: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Agenda

Demo OverviewExtending The Longhorn ExplorerDeveloping Applications

Page 4: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Search, Organize And Visualize

Paul CutsingerLead Program Manager

Page 5: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Developer Experience

Extending the Longhorn Explorer:Content (metadata and full-text)Rich thumbnailsRich previews

Developing applications using new APIs:Search in your applicationRead/Write metadataLeverage Common File Dialog

Page 6: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Architecture Overview

Windows ExplorerWindows Explorer 33rdrd Party Applications Party Applications

Windows Search EngineWindows Search Engine

Windows Metadata SystemWindows Metadata System

SystemSystemPropertiesProperties

33rdrd Party PartyCustomCustom

PropertiesPropertiesSystemSystem

MetadataMetadataHandlersHandlers

33rdrd Party PartyMetadataMetadataHandlersHandlers

SystemSystemProtocolProtocolHandlersHandlers

33rdrd Party PartyProtocolProtocolHandlersHandlers

File SystemFile System(NTFS, FAT32)(NTFS, FAT32) Other Data StoresOther Data Stores

Page 7: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Agenda

Demo OverviewExtending The Longhorn ExplorerDeveloping Applications

Page 8: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Extending Longhorn ExplorerTop 3 Extension Points

Provide content to the Explorer:Search across file formats, data stores.Both full-text content & metadata.Enable organization by writing metadata back into file formats.

E.g.: Set System.Keyword property on .foo file type.

Provide rich thumbnails in the Explorer:Visually stimulating view of files in the Explorer.

Provide rich previewing in the Explorer:Browse contents of files without opening the file.

Page 9: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Providing Content3 Ways To Provide Content

Property HandlersProperty HandlersFile formatsFile formatsMetadataMetadataSome full-text contentSome full-text content

MultimediaMultimediaFile FormatsFile Formats

Property HandlersProperty Handlers+ IFilters (Full-text)+ IFilters (Full-text)

File formatsFile formatsMetadataMetadataExtensive full-text Extensive full-text content, multi-content, multi-lingual chunkslingual chunks

Document-basedDocument-basedFile FormatsFile Formats

Protocol HandlersProtocol Handlers

Non-file system Non-file system based storesbased storesMetadataMetadataExtensive full-text Extensive full-text content, multi-content, multi-lingual chunkslingual chunks

Document Document Management,Management,MessagingMessaging

Page 10: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Metadata

Leverage system properties where possible:Best performanceBest behavior in heterogeneous sets

E.g. One column shows Photographer and Author in Explorer

Otherwise add new properties:XML based format for describing custom properties,APIs to register the custom properties to system.

Property naming convention:Canonical Names:

Publisher.ApplicationName.PropertyNameFormatId/PropertyId:

FormatId: Use a new GUID for each propertyPropertyId: Use value > 2

Page 11: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Custom Properties<configuration xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation= "allprops.xsd“ > <propertyDescriptionList publisher = "Microsoft" product = "Windows” >

<propertyDescription name="System.Author" formatId="F29F85E0-4FF9-1068-AB91-08002B27B3D9" propertyId="4"><typeInfo

type="String" canStackBy="true" groupingRange=“Discrete"

multipleValues="true" isReadOnly="false"/>

<displayInfo drawControl=“Explorer.EditPropertyControl”

editControl=“Explorer.EditPropertyControl"></displayInfo><labelInfo

label="Author" invitationText="Add an author" sortDescription="AToZ"/>

</propertyDescription><propertyDescriptionList/>

</configuration>

Page 12: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Providing Metadata For File FormatsProperty Handlers

Registered through the File Association SystemOne per file type

Can be invoked as:Read-Only while indexing filesRead/Write when reading/updating metadata in the Explorer

Implemented as COM componentsMainly implement:

IInitializeWithStream – Initialization codeIPropertyStore – Property Read/Write accessIPropertyStoreCapabilities – Indicate capabilities like set of properties supported, read/write etc.

Page 13: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Rich Thumbnails In Longhorn

In Longhorn, thumbnails provide a rich visualization option for file types:

Page 14: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Providing Rich Thumbnails

Longhorn is introducing a new and simpler API.IThumbnailProvider replaces IExtractImage

There are problems with existing API:Complex and error-prone implementation:

Many unused flags, parameters.Need for fixing many bitmaps that are returned:

Convert bit depth to 32bpp,Stretch if necessary,Guess if bitmap is RGB or ARGB.

Opportunity to open files with too many or wrong oplocks.

Thumbnail handlers are now required to implement:IInitializeWithStream – Initialization code.IThumbnailProvider – Simpler interface for providing thumbnails.

Page 15: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Rich Previews In Explorer

A new pane in Explorer : Reading PaneIn place browsing of file contents

Page 16: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Providing Rich Preview Handlers

3rd parties provide viewers for their own file formatsWill run in:

ExplorerOutlook 12 and Common File Dialog

Implemented as COM components.Light weight components that render content in read-only mode

Mainly implement:IInitializeWithStream – Initialization codeIPreviewHandler – Rendering and interactive code

Page 17: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Agenda

Demo OverviewExtending The Longhorn ExplorerDeveloping Applications

Page 18: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Developing ApplicationsNew Set Of APIs

Known Folders: Common namespace locations

E.g. Documents, Music, etc.Access them and create new ones

Search in your application:Query items in Windows Search Engine

Metadata Read/Write:Unified access to file formats.

Common File Dialog:Open/save files with metadata

Page 19: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Known Folders

Longhorn defines a new and more intuitive namespace:Users

UsernameDocumentsPicturesMusic…

PublicDocuments…

Redirection to common network locations:In XP, known as “Redirected My Documents”In Longhorn available for all known folders

Page 20: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Known FoldersUsing And Extending

Applications should NEVER hard code file paths

Use Known Folder APIs insteadUse existing Known Folders if they are semantically equivalent:

E.g.: PDF documents stored in DocumentsOtherwise applications can create new known folders:

E.g.: 3D Drawings, Shapes, Code Projects etc.

Page 21: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Using Search In Applications

OLEDB/ADO APIs are used for issuing queries

SQL-like syntaxReturns an OLEDB Recordset

Both managed and native accessColumns correspond to properties in Windows Metadata System

E.g.: System.Photo.FNumber

Page 22: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Reading/Writing Properties

Unified layer to read/write metadata into files formats:

Requires metadata handlers which provide per file type handling

3rd party applications can:Enumerate properties stored in a fileDiscover property descriptions as described in the systemRead and write values for properties

Page 23: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Common File Dialog

Longhorn Common File Dialog mirrors the familiar Explorer UI:

Page 24: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Using Common File Dialog

New COM APIs.Enable multiple view states per application

View State: Last visited folder, dialog sizeWorking with properties:

Promote application related propertiesSetting default values for propertiesGetting property values to save

Rich set of events:FileOk, Help, SelectionChange, FolderChange, Overwrite, etc.

Page 25: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Extending Common File DialogNew Places In Places Bar

Page 26: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Extending Common File DialogCustom Layout And Controls

Page 27: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

Summary

Longhorn provides 3 ways to extend Search, Organize and Visualize experience:

Providing content (metadata and full-text)Providing rich thumbnailsProviding rich preview handlers

Longhorn enables application developers:Use and extend Known FoldersIssue queries to Windows Search EngineRead/Write properties through unified layerIncorporate the new UI using the Common File Dialog

Page 28: Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation.

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