Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation."— Presentation transcript:

1

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

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

4 Search, Organize And Visualize Paul Cutsinger Lead Program Manager

5 Developer Experience Extending the Longhorn Explorer: Content (metadata and full-text) Rich thumbnails Rich previews Developing applications using new APIs: Search in your application Read/Write metadata Leverage Common File Dialog Extending the Longhorn Explorer: Content (metadata and full-text) Rich thumbnails Rich previews Developing applications using new APIs: Search in your application Read/Write metadata Leverage Common File Dialog

6 Architecture Overview Windows Explorer 3 rd Party Applications Windows Search Engine Windows Metadata System SystemProperties 3 rd Party CustomPropertiesSystemMetadataHandlers MetadataHandlers SystemProtocolHandlers ProtocolHandlers File System (NTFS, FAT32) Other Data Stores

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

8 Extending Longhorn Explorer Top 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. 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.

9 Providing Content 3 Ways To Provide Content Property Handlers File formats Metadata Some full-text content Multimedia File Formats Property Handlers + IFilters (Full-text) File formats Metadata Extensive full-text content, multi- lingual chunks Document-based File Formats Protocol Handlers Non-file system based stores Metadata Extensive full-text content, multi- lingual chunks DocumentManagement,Messaging

10 Metadata Leverage system properties where possible: Best performance Best 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.PropertyName FormatId/PropertyId: FormatId: Use a new GUID for each property PropertyId: Use value > 2 Leverage system properties where possible: Best performance Best 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.PropertyName FormatId/PropertyId: FormatId: Use a new GUID for each property PropertyId: Use value > 2

11 Custom Properties <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"> <labelInfo label="Author" invitationText="Add an author" sortDescription="AToZ"/>

12 Providing Metadata For File Formats Property Handlers Registered through the File Association System One per file type Can be invoked as: Read-Only while indexing files Read/Write when reading/updating metadata in the Explorer Implemented as COM components Mainly implement: IInitializeWithStream – Initialization code IPropertyStore – Property Read/Write access IPropertyStoreCapabilities – Indicate capabilities like set of properties supported, read/write etc. Registered through the File Association System One per file type Can be invoked as: Read-Only while indexing files Read/Write when reading/updating metadata in the Explorer Implemented as COM components Mainly implement: IInitializeWithStream – Initialization code IPropertyStore – Property Read/Write access IPropertyStoreCapabilities – Indicate capabilities like set of properties supported, read/write etc.

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

14 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. 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.

15 Rich Previews In Explorer A new pane in Explorer : Reading Pane In place browsing of file contents A new pane in Explorer : Reading Pane In place browsing of file contents

16 Providing Rich Preview Handlers 3rd parties provide viewers for their own file formats Will run in: Explorer Outlook 12 and Common File Dialog Implemented as COM components. Light weight components that render content in read- only mode Mainly implement: IInitializeWithStream – Initialization code IPreviewHandler – Rendering and interactive code 3rd parties provide viewers for their own file formats Will run in: Explorer Outlook 12 and Common File Dialog Implemented as COM components. Light weight components that render content in read- only mode Mainly implement: IInitializeWithStream – Initialization code IPreviewHandler – Rendering and interactive code

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

18 Developing Applications New 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 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

19 Known Folders Longhorn defines a new and more intuitive namespace: Users Username Documents Pictures Music … Public Documents … Redirection to common network locations: In XP, known as “Redirected My Documents” In Longhorn available for all known folders Longhorn defines a new and more intuitive namespace: Users Username Documents Pictures Music … Public Documents … Redirection to common network locations: In XP, known as “Redirected My Documents” In Longhorn available for all known folders

20 Known Folders Using And Extending Applications should NEVER hard code file paths Use Known Folder APIs instead Use existing Known Folders if they are semantically equivalent: E.g.: PDF documents stored in Documents Otherwise applications can create new known folders: E.g.: 3D Drawings, Shapes, Code Projects etc. Applications should NEVER hard code file paths Use Known Folder APIs instead Use existing Known Folders if they are semantically equivalent: E.g.: PDF documents stored in Documents Otherwise applications can create new known folders: E.g.: 3D Drawings, Shapes, Code Projects etc.

21 Using Search In Applications OLEDB/ADO APIs are used for issuing queries SQL-like syntax Returns an OLEDB Recordset Both managed and native access Columns correspond to properties in Windows Metadata System E.g.: System.Photo.FNumber OLEDB/ADO APIs are used for issuing queries SQL-like syntax Returns an OLEDB Recordset Both managed and native access Columns correspond to properties in Windows Metadata System E.g.: System.Photo.FNumber

22 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 file Discover property descriptions as described in the system Read and write values for 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 file Discover property descriptions as described in the system Read and write values for properties

23 Common File Dialog Longhorn Common File Dialog mirrors the familiar Explorer UI:

24 Using Common File Dialog New COM APIs. Enable multiple view states per application View State: Last visited folder, dialog size Working with properties: Promote application related properties Setting default values for properties Getting property values to save Rich set of events: FileOk, Help, SelectionChange, FolderChange, Overwrite, etc. New COM APIs. Enable multiple view states per application View State: Last visited folder, dialog size Working with properties: Promote application related properties Setting default values for properties Getting property values to save Rich set of events: FileOk, Help, SelectionChange, FolderChange, Overwrite, etc.

25 Extending Common File Dialog New Places In Places Bar

26 Extending Common File Dialog Custom Layout And Controls

27 Summary Longhorn provides 3 ways to extend Search, Organize and Visualize experience: Providing content (metadata and full-text) Providing rich thumbnails Providing rich preview handlers Longhorn enables application developers: Use and extend Known Folders Issue queries to Windows Search Engine Read/Write properties through unified layer Incorporate the new UI using the Common File Dialog Longhorn provides 3 ways to extend Search, Organize and Visualize experience: Providing content (metadata and full-text) Providing rich thumbnails Providing rich preview handlers Longhorn enables application developers: Use and extend Known Folders Issue queries to Windows Search Engine Read/Write properties through unified layer Incorporate the new UI using the Common File Dialog

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


Download ppt "Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation."

Similar presentations


Ads by Google