1 / 28

Longhorn Search and Organize User And Developer Experience

Longhorn Search and Organize User And Developer Experience. Paul Cutsinger – Lead Program Manager Kerem Karatal – Lead Program Manager Microsoft Corporation. Agenda. Demo Overview Extending The Longhorn Explorer Developing Applications. Search, Organize And Visualize.

cherlin
Download Presentation

Longhorn Search and Organize User And Developer Experience

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Agenda • Demo • Overview • Extending The Longhorn Explorer • Developing Applications

  3. Search, Organize And Visualize Paul CutsingerLead Program Manager

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

  5. Architecture Overview 3rd Party Applications Windows Explorer Windows Search Engine Windows Metadata System 3rd Party Protocol Handlers System Protocol Handlers 3rd Party Metadata Handlers System Metadata Handlers 3rd Party Custom Properties System Properties Other Data Stores File System (NTFS, FAT32)

  6. Agenda • Demo • Overview • Extending The Longhorn Explorer • Developing Applications

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

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

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

  10. Custom Properties <configuration xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "allprops.xsd“ > <propertyDescriptionList publisher = "Microsoft" product = "Windows” > <propertyDescriptionname="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>

  11. Providing Metadata For File FormatsProperty 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.

  12. Rich Thumbnails In Longhorn • In Longhorn, thumbnails provide a rich visualization option for file types:

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

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

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

  16. Agenda • Demo • Overview • Extending The Longhorn Explorer • Developing Applications

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

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

  19. Known FoldersUsing 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.

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

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

  22. Common File Dialog • Longhorn Common File Dialog mirrors the familiar Explorer UI:

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

  24. Extending Common File DialogNew Places In Places Bar

  25. Extending Common File DialogCustom Layout And Controls

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

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

More Related