1 / 33

Windows Vista: Centralizing Data Synchronization With The New Sync Center

Windows Vista: Centralizing Data Synchronization With The New Sync Center. David Potter – David.Potter@Microsoft.com DAT317 Development Lead Microsoft Corporation. Agenda. Synchronization Today Goals for Sync in Windows Vista New UI Walkthrough Sync Center Architecture

stamos
Télécharger la présentation

Windows Vista: Centralizing Data Synchronization With The New Sync Center

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. Windows Vista:Centralizing Data Synchronization With The New Sync Center David Potter – David.Potter@Microsoft.com DAT317 Development Lead Microsoft Corporation

  2. Agenda • Synchronization Today • Goals for Sync in Windows Vista • New UI Walkthrough • Sync Center Architecture • Building a Sync Handler • Conflicts and Extensibility • Backward Compatibility and Managed Code • Questions

  3. Synchronization Today • Sync Manager provides a centralized UI for sync • Feedback showed us: • UI is hard to discover • Requires user’s attention • Conflicts must be resolved as they occur • Sync blocks logoff • No overview of what is synchronizing to and from the computer • Many applications provided their own sync experiences • Different user interfaces and access points • Sync Manager used mostly for offline files/web pages

  4. Synchronization Today

  5. Sync Goals In Windows Vista • New name – Sync Center • Centralized, consistent sync experience • For applications, services, devices, computers • It is clear to the user what is being synchronized to and from PC • Additional framework for: • Setup • Conflicts • Error reporting • Background sync support

  6. User Experience Walkthrough

  7. Sync Center User Experience5 main components • Sync system tray icon • Folders • Sync Center (handlers and items) • Sync Setup • Sync Results (errors, warnings, etc.) • Conflict Folder

  8. Plugging In To Sync CenterDesign decisions • What is the target of synchronization? • What kinds of data will be synchronized? • How many instances? • What is the setup experience? • Do you need to handle conflicts? • What errors will be reported to users? • Do you need to extend the folder UI? • Do you want to support other tasks?

  9. Sync Handler ArchitectureSync Handlers

  10. Sync Handler ArchitectureSync Items

  11. Sync Handler Architecture Optional Handler Collection UI Operations Property Sheet Extensions Context Menu Extensions Conflict Store Event Store

  12. Sync Handler

  13. Sync Handler ArchitectureSync Handlers

  14. Sync Handler ArchitectureHandler Collections

  15. Synchronization ModelMechanics • Handler interacts with Sync Center through callback • Provides progress • Provides events • Checks for cancellation • Callback created using Session Creator

  16. Synchronization ModelThreading • Previous model • Synchronize() called on same thread as UI • Windows Vista • Handler instantiated on new thread to sync • Synchronize() method can take as long as needed • Less complex model, less work for you!

  17. Sync Model Demo

  18. Background Sync • What is background sync? • Application monitors data source for changes • Automatically syncs in the background • Problem: Status of these syncs not visible to user in centralized UI • Background sync engine should report progress, errors, conflicts to Sync Center • Helps user determine if data is up-to-date

  19. Background Sync Demo

  20. Existing Sync Engine / UI • Use the session creator to plug an existing sync engine into Sync Center • Benefits • You don’t have to refactor your sync engine • Consistent, centralized user experience which includes your sync relationships

  21. ExtensibilitySync Center Folders • Standard shell extensibility model • Property sheets • Context menus • All folder items can be extended • Handlers (partnerships) • Items • Events • Conflicts

  22. ExtensibilityHandlers and Items • Handlers can display additional UI • Confirmation/data collection before operation • Setup, enable, disable, etc. • Sync Center provides entry point for your UI • Scheduling • Browsing contents of sync relationship • Event stores • Conflicts

  23. Conflicts • Conflict definition: • An item that has been changed on both ends of a sync relationship between sync requests • Handler maintains a store of conflicts • Conflict resolution is deferred and does not block sync • Conflict resolution UI • Handler can provide custom conflict UI • Default UI used if not provided by handler

  24. Conflict Resolution UI

  25. Conflict Life Cycle unresolved Detected Persisted enumerateand present automatically resolved skip resolve Resolved Presenting delete Deleted

  26. Compatibility • Windows XP • Write a component to wrap the new APIs • Component translates between new/old APIs • Managed Code • Don’t run managed code in Sync Center or in the Shell • Run managed sync engine in separate process • Design sync handler as intermediary between Sync Center and external sync engine • FUN309 – Designing Managed Add-Ins for Reliability, Security, and Versioning

  27. What’s In The PDC Build • APIs to create a Sync Center handler • All APIs demoed are available • Conflict resolution APIs are available • Primary sync user experience • Sync Center folders with basic functionality • Basic sync tray

  28. What’s In Future Builds • Support for browsing handlers and items • Sync Schedule Wizard • Support for custom event stores • Full sync tray functionality • Fit and finish

  29. Summary • Sync Center is a rich sync platform with APIs that are simple to develop to • Plugging in to Sync Center gives your users a solid sync experience • Sync Center is fully extensible to support a wide-range of sync scenarios

  30. Community Resources • At PDC • For more information, go see • DAT406: Windows Vista: Under the Hood on Storage and Advanced Application Development • PRS308: Windows Vista: Reaching Your Users When Their Machine Is Off, Using Auxiliary Display Devices (Wed. 1:45 p.m.) • PRS315: Windows Vista Tablet PC: Advances in Creating Tablet Enabled Applications (Wed. 5 p.m.) • FUN319: Windows Vista: Developing Power-Aware Applications (Thur. 5:15 p.m.) • PNL12: Future Directions in Mobile Device Hardware (Fri. 1 p.m.) • Ask The Experts table: Data and Systems • DAT Track lounge: I’ll be there right after this session • After PDC • Windows Platform SDK: http://msdn.microsoft.com/ • Mobile PC on MSDN: http://msdn.microsoft.com/mobilepc • Sync Center Team Blog: http://blogs.msdn.com/SyncCenter

  31. Additional Mobile PC Resources • How to setup a new developer environment on Windows Vista in order to take advantage of the Mobile PC and Tablet PC SDK features, along with Windows Presentation Foundation at msdn.microsoft.com/mobilepc/pdc05 • Mobile PC and Tablet PC Developer Center: msdn.microsoft.com/MobilePC • Download SDKs, code samples, articles • Fabrikam Fine Furniture Reference Application: End-to-end reference application demonstrating Mobile PC and Tablet PC best practices for business applications • Arcs of Fire: Classic artillery duel game demonstrating how to use gestures, use pressure sensitivity, draw landscapes, and more. This uses the new Tablet PC Game SDK • Tablet PC ISV Partner Program: TabletPCPartners.com

  32. Questions David Potter – David.Potter@Microsoft.com Development Lead, Windows Shell Team

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