1 / 37

What’s New in the Lync Client SDK

What’s New in the Lync Client SDK. Session Objectives. Recap Lync Client SDK functionality Overview of new Application Sharing Modalities Future functionality. Agenda. Overview. Lync Client SDK. Application Sharing. Content Sharing. What’s New in the Lync Client SDK. Overview.

tynice
Download Presentation

What’s New in the Lync Client SDK

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. What’s New in the Lync Client SDK

  2. Session Objectives • Recap Lync Client SDK functionality • Overview of new Application Sharing Modalities • Future functionality

  3. Agenda Overview Lync Client SDK Application Sharing Content Sharing What’s New in the Lync Client SDK

  4. Overview

  5. The Lync Client SDK • Introduced with Lync 2010 • Managed .NET API • Lync controls for WPF and Silverlight • Automate Lync client functionality • Extend Lync client • Develop Persistent Chat applications

  6. Automation Lync Managed API Building Blocks Lync Controls WPF Silverlight

  7. Development Experience • WPF and Silverlight • Silverlight • No out-of-browser support • Internet Explorer only • Hosting site must be a trusted site • Requires Lync client to be running on the machine • Reuses endpoint as a connection to Lync server infrastructure

  8. Agenda Overview Lync Client SDK Application Sharing Content Sharing What’s New in the Lync Client SDK

  9. Developing with the Lync Client SDK

  10. Lync Controls Drag and drop Lync feature integration • Presence • Contact information • Contact list • Contact search • IM and audio click-to-communicate

  11. Lync Controls • XAML: • <lync:PresenceIndicator Source="sip:chrisa@contoso.com" /> • <lync:PresenceIndicator Source="{Binding SipUri}" /> • C#: • presenceIndicator.Source = "sip:chrisa@contoso.com"; • var contacts = new List<string>() • { • "sip:chrisa@contoso.com", • "sip:peterb@contoso.com" • }; • accountManagers.ItemsSource = contacts;

  12. Lync Managed API • Managed API for building communications applications • Productivity of IMessenger, but with more features • Power of UCC API, but less complex • Requires Lync client to be running

  13. Lync Managed API – Signing In • // Get handle to running instance of Lync client • _lyncClient = Microsoft.Lync.Model.LyncClient.GetClient(); • // Sign in to the Lync client • _lyncClient.BeginSignIn( • userUri, • domainAndUserName, • password, • signInResult => • { • _lyncClient.EndSignIn(signInResult); • }, • "Local user signing in" as object);

  14. Lync Managed API – Conversations • // Conversation Manager • Microsoft.Lync.Model.Conversation.ConversationManager • _conversationManager = _lyncClient.ConversationManager; • // Conversation Events • _conversationManager.ConversationAdded += new EventHandler<ConversationManagerEventArgs> (Conversations_ConversationAdded); • void Conversations_ConversationAdded(object sender, • ConversationManagerEventArgse) • { … }

  15. Contextual Conversations Launch Link Context • Launch applications from Lync conversations • Conversation contains a “launch link” • Startup parameters are embedded in the context • User clicks launch link to open application • Application processes startup parameters • Application can receive additional context

  16. Contextual Conversations Extensibility Window Context • Host Silverlight applications in Lync conversation window • Scenarios • Call center agent dashboard • Conversation translator • Can run multiple extensibility applications • Can be combined with Launch Link context

  17. Contextual Conversations UI Suppression • Hide the Lync client UI • Build your own custom communication client • Developer is responsible for handling everything

  18. Agenda Overview Lync Client SDK Application Sharing Content Sharing What’s New in the Lync Client SDK

  19. Application Sharing

  20. Application Sharing and Collaboration What’s New • APIs to support missing modalities from Lync 2010 • New Sharingnamespace in Microsoft.Lync.Model.Conversation Development experience • Select applications to share • Start/stop sharing • Take/grant control

  21. Lync Managed API – Application Sharing • // Acquire the user’s sharing modality • _localModality = (ApplicationSharingModality) • _conversation.Modalities[ModalityTypes.ApplicationSharing]; • // Acquire the remote participant’s sharing modality • foreach(Participant p in _conversation.Participants) • { • if (!p.IsSelf) • { • _remoteModality = (ApplicationSharingModality) • p.Modalities[ModalityTypes.ApplicationSharing]; • break; • } • }

  22. Lync Managed API – Sharing • // Access shareable resources • _localModality.ShareableResources • // Share a resource • if (_localModality.CanInvoke(ModalityAction.Connect)) • { • _localModality.BeginShareResources(new List<SharingResource>() { resource }, (ar) => • { • try • { • _localModality.EndShareResources(ar); • } • … • } • }

  23. Application Sharing and Collaboration

  24. Agenda Overview Lync Client SDK Application Sharing Content Sharing What’s New in the Lync Client SDK

  25. Content Sharing

  26. Content Sharing What’s New • APIs to support content sharing modalities for PowerPoint presentations, native files, and whiteboard. • New Sharingnamespace in Microsoft.Lync.Model.Conversation Development experience • Connect to Content Sharing modality • Create shareable content • Add to content bin • Interact with shareable content • Interact with Content sharing modality

  27. Connect to the Content Sharing Modality • Check if you can connect to the Content Sharing modality • Connect to the modality • if (((Modality)_conversation.Modalities[ModalityTypes.ContentSharing]) .CanInvoke(ModalityAction.Connect)) • ((Modality)_conversation.Modalities[ModalityTypes.ContentSharing]) • .BeginConnect((ar) => { • ((Modality)_conversation.Modalities[ModalityTypes.ContentSharing]) • .EndConnect(ar); • },null);

  28. Creating Shareable Content • The ShareableContentTypeenum defines types of content that can be shared with users in a conversation: • PowerPoint • NativeFile • Whiteboard • Content Sharing modality exposes methods to create shareable content: • BeginCreateContent • BeginCreateContentFromFile

  29. Create PowerPoint Shareable Content • Check if action is available • Create shareable content • if (((ContentSharingModality)_conversation.Modalities • [ModalityTypes.ContentSharing]) • .CanInvoke(ModalityAction.CreateShareablePowerPointContent)) • conversationSharingModality.BeginCreateContentFromFile( • ShareableContentType.PowerPoint,  • contentTile, • powerPointDeckName, • false, // include native file • callback, • conversationSharingModality);

  30. Content Bin • Content is automatically added to “Content Bin” • Iterate through content • Take action on content • ActiveContent represents content currently being shared • foreach (ShareableContentcontent in  • ((ContentSharingModality)_conversation.Modalities • [ModalityTypes.ContentSharing]).ContentCollection) • { • // take action on shareable content • }

  31. Take Action on Content in the Content Bin • Invoke a ShareableContentAction • Remove • Present • StopPresenting • SyncWithPresenter • DownloadFile • TakeOverAsPresenter • SaveAnnotation • ClearAllAnnotations • Add

  32. Interact with Content • PowerPoint shareable content type exposes methods to interact with deck: • GoForward • GoBackwards • SyncWithPresenter • IsInSyncWithPresenter • Users can make annotations to shareable content • ClearAllAnnotations • SaveAnnotation

  33. Interact with the Content Sharing Modality • Share control of shareable content • Handle requests for control • Accept • Decline • Grant control • Take back control

  34. Agenda Overview Lync Client SDK Application Sharing Content Sharing What’s New in the Lync Client SDK

  35. Key takeaways • Most APIs remain intact • New application sharing and collaboration functionality • New content sharing functionality

  36. thank you

  37. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related