Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Integrating Real-time Collaboration into your Applications Stephanie Lindsey Program Manager Microsoft Corporation Stephanie.

Similar presentations


Presentation on theme: "1 Integrating Real-time Collaboration into your Applications Stephanie Lindsey Program Manager Microsoft Corporation Stephanie."— Presentation transcript:

1 1 Integrating Real-time Collaboration into your Applications Stephanie Lindsey Program Manager Microsoft Corporation slindsey@windows.microsoft.com Stephanie Lindsey Program Manager Microsoft Corporation slindsey@windows.microsoft.com Session Code: CLI380

2 2 Agenda Overview Example Solutions Longhorn Design Goals Real-time Collaboration APIs Summary Overview Example Solutions Longhorn Design Goals Real-time Collaboration APIs Summary

3 3 Tools Client Application Model AvalonWindows Forms Web & Service Application Model ASP.NET / Indigo Win FS Compact Framework Yukon Mobile PC Optimized System.Help System.Drawing System.NaturalLanguageServices Data Systems Application Model Presentation Data Mobile PC & Devices Application Model Communication Command Line NT Service DataSet Mapping ObjectSpaces ObjectSpace Query Schema Item Relationship Media Audio Video Images System.Messaging System. Discovery System.DirectoryServices System.Remoting System.Runtime.Remoting Active Directory Uddi System.Web.Services Web.Service Description Discovery Protocols System.MessageBus Transport Port Channel Service Queue PubSub Router System.Timers System.Globalization System.Serialization System.Threading System.Text System.Design Base & Application Services Fundamentals System.ComponentModel System.CodeDom System.Reflection System.EnterpriseServices System.Transactions Security System.Windows. TrustManagement System.Web. Security System.Message Bus.Security Authorization AccessControl Credentials Cryptography System.Web.Configuration System.MessageBus.Configuration System.Configuration System.Resources System.Management System.Deployment System.Diagnostics ConfigurationDeployment/Management System.Windows System.Windows.Forms System.Console System.ServiceProcess System.Windows.Forms System.Web System.Storage System.Data.SqlServer Animation Controls Control Design Panel Controls Dialogs SideBar Notification System.Windows Documents Text Element Shapes Shape Ink UI Element Explorer Media System.Windows.Forms Forms Control Print Dialog Design System.Web.UI Page Control HtmlControls MobileControls WebControls Adaptors Design Ports InteropServices System.Runtime System.IO System.Collections Generic System.Search Annotations Monitoring Logging Relevance System.Data SqlClient SqlTypes SqlXML OdbcClient OleDbClient OracleClient Core Contact Location Message Document Event System.Storage System.Web Personalization Caching SessionState System.Xml Schema Serialization Xpath Query Permissions Policy Principal Token System.Security System.Collaboration RealTimeEndpoint Presence SignalingSession Media Activities HttpWebRequest FtpWebListener SslClientStream WebClient System.Net NetworkInformation Sockets Cache System.Web Administration Management Navigation Peer Group Policy Serialization CompilerServices Recognition System.Speech Synthesis

4 4 Overview What is Real-time Collaboration? Windows COM API Features Exposed Presence Contact List, Groups Audio/Video (point to point) Multiparty Instant Messaging Application Sharing What is Real-time Collaboration? Windows COM API Features Exposed Presence Contact List, Groups Audio/Video (point to point) Multiparty Instant Messaging Application Sharing

5 5 Desktop Apps Messenger Applications Customer Relationship Management Integration with productivity and LOB applications (e.g. Office) Integrating Audio/Video Server-Side Apps Notifications Bots Voice (Telephony and VoIP) Desktop Apps Messenger Applications Customer Relationship Management Integration with productivity and LOB applications (e.g. Office) Integrating Audio/Video Server-Side Apps Notifications Bots Voice (Telephony and VoIP) Example Solutions

6 6 Helpdesk Solution Help Personnel Area Experts Bot Employee

7 7 Why is this hard today? No common platform to do collaboration Developers have to understand different APIs and protocols SIP, SIMPLE, PINT, T.120, RTP, G.711, G.722.1, G.723.1, GSM, DVI4, SIREN, H.263, Acoustic Echo Cancellation, DirectX ®, etc. Developers can’t pick and choose the different building blocks No multiparty Audio/Video is not lifelike Lack of application sharing integration Hard to resolve an identity to a network address Current implementation does not scale well for server-based environments No common platform to do collaboration Developers have to understand different APIs and protocols SIP, SIMPLE, PINT, T.120, RTP, G.711, G.722.1, G.723.1, GSM, DVI4, SIREN, H.263, Acoustic Echo Cancellation, DirectX ®, etc. Developers can’t pick and choose the different building blocks No multiparty Audio/Video is not lifelike Lack of application sharing integration Hard to resolve an identity to a network address Current implementation does not scale well for server-based environments

8 8 Real-Time Collaboration Design Goals Provide an extensible platform so developers can pick and choose building blocks Provide common platform so developers don’t have to understand the different APIs Provide libraries for common collaborative activities UI controls so ISVs don’t have to rewrite UI Multiparty is built into all collaboration modes Improve our audio/video stack Improve app sharing experience APIs will be fully managed code Support both IPv4 and IPv6 Provide an extensible platform so developers can pick and choose building blocks Provide common platform so developers don’t have to understand the different APIs Provide libraries for common collaborative activities UI controls so ISVs don’t have to rewrite UI Multiparty is built into all collaboration modes Improve our audio/video stack Improve app sharing experience APIs will be fully managed code Support both IPv4 and IPv6

9 9 Longhorn Client API Architecture Signaling Plane A+ V RDPRDP GXAGXA OtherOther Presence RoamingSignaling SIP Protocol Stack RTC Provider UI Controls ( presence, contacts, IM, a/v, app sharing, file transfer, etc.) Activities (IM, a/v, app sharing, file transfer, etc.) Shared Provider Host Media Plane MSN Messenger 3 rd Party App

10 10 Object Model RealTimeProfileProvider RealTimeProfile ProfilePresence ProfilePersistedData ProfileSignaling SignalingSession ContactsSubscription ContactGroups Subscription PresenceSubscription LocalPresence : :

11 11 Profile Logon public RealTimeProfile LogOnSample() { // Create an instance of the RTC SIP provider and profile RtcProvider provider = new RtcProvider(); RtcProfile profile = provider.CreateRealTimeProfile("sip:user@microsoft.com"); profile.LogOnStateChanged += new LogOnStateChangedEventHandler(StateChanged); profile.LogOn(); return profile; } private void StateChanged( object sender, LogOnStateChangedEventArgs e) { RtcProfile profile = (RtcProfile) sender; if (profile.LogOnState == LogOnState.LoggedOn) SetOnlineStateSample(profile); // next slide } public RealTimeProfile LogOnSample() { // Create an instance of the RTC SIP provider and profile RtcProvider provider = new RtcProvider(); RtcProfile profile = provider.CreateRealTimeProfile("sip:user@microsoft.com"); profile.LogOnStateChanged += new LogOnStateChangedEventHandler(StateChanged); profile.LogOn(); return profile; } private void StateChanged( object sender, LogOnStateChangedEventArgs e) { RtcProfile profile = (RtcProfile) sender; if (profile.LogOnState == LogOnState.LoggedOn) SetOnlineStateSample(profile); // next slide }

12 12 Set Online Presence State private void SetOnlineStateSample( RealTimeProfile profile) { // Set the local presence state to Online profile.presence.LocalPresence.PresenceState = PresenceState.Online; profile.presence.UpdateLocalPresence(); } private void SetOnlineStateSample( RealTimeProfile profile) { // Set the local presence state to Online profile.presence.LocalPresence.PresenceState = PresenceState.Online; profile.presence.UpdateLocalPresence(); }

13 13 Longhorn Client API Architecture Signaling Plane A+ V RDPRDP GXAGXA OtherOther Presence RoamingSignaling SIP Protocol Stack RTC Provider UI Controls ( presence, contacts, IM, a/v, app sharing, file transfer, etc.) Activities (IM, a/v, app sharing, file transfer, etc.) Shared Provider Host Media Plane MSN Messenger 3 rd Party App

14 14 Activity Objects High-level task-oriented API on top of the signaling and media APIs Audio/Video Activity Flexible multi-party conferencing capabilities Handles media negotiation Rich set of call control operations App Sharing Activity Flexible multi-party conferencing capabilities Uses RDP as well as T.120 for NetMeeting interoperability File Transfer Activity Instant Messaging Activity High-level task-oriented API on top of the signaling and media APIs Audio/Video Activity Flexible multi-party conferencing capabilities Handles media negotiation Rich set of call control operations App Sharing Activity Flexible multi-party conferencing capabilities Uses RDP as well as T.120 for NetMeeting interoperability File Transfer Activity Instant Messaging Activity

15 15 Audio/Video Easy to use Audio/video media API that provides rich control Improved audio/video quality New, improved CODECs (RT Voice/RT Video) Jitter control Forward Error Correction Improved error-resilience techniques Improved AEC module in Longhorn Secure RTP Improved performance for server-side applications Easy to use Audio/video media API that provides rich control Improved audio/video quality New, improved CODECs (RT Voice/RT Video) Jitter control Forward Error Correction Improved error-resilience techniques Improved AEC module in Longhorn Secure RTP Improved performance for server-side applications

16 16 Audio/Video Architecture

17 17 Longhorn Client API Architecture Signaling Plane A+ V RDPRDP GXAGXA OtherOther Presence RoamingSignaling SIP Protocol Stack RTC Provider UI Controls ( presence, contacts, IM, a/v, app sharing, file transfer, etc.) Activities (IM, a/v, app sharing, file transfer, etc.) Shared Provider Host Media Plane MSN Messenger 3 rd Party App

18 18 App Sharing Architecture Kernel User-Mode App Sharing Activity T.120 User-Mode Generic Encoder LH Client WinSock WM using NM Console Display Driver Mirror Display Driver Driver Miniport

19 19 Longhorn Client API Architecture Signaling Plane A+ V RDPRDP GXAGXA OtherOther Presence RoamingSignaling SIP Protocol Stack RTC Provider UI Controls ( presence, contacts, IM, a/v, app sharing, file transfer, etc.) Activities (IM, a/v, app sharing, file transfer, etc.) Shared Provider Host Media Plane MSN Messenger 3 rd Party App

20 20 Instant Messaging Demo the Instant Messaging Activity Basic Steps Create a Provider/Profile Create a Session Create an Activity Send Messages Receive Messages Demo the Instant Messaging Activity Basic Steps Create a Provider/Profile Create a Session Create an Activity Send Messages Receive Messages

21 21 Instant Messaging Activity Niko Schuessler Software Design Engineer

22 22 Longhorn Client API Architecture Signaling Plane A+ V RDPRDP GXAGXA OtherOther Presence RoamingSignaling SIP Protocol Stack RTC Provider UI Controls ( presence, contacts, IM, a/v, app sharing, file transfer, etc.) Activities (IM, a/v, app sharing, file transfer, etc.) Shared Provider Host Media Plane MSN Messenger 3 rd Party App

23 23 UI Controls UI controls are on top of the activity APIs to further simplify the developer’s work Developers can write very little code to make their collaboration applications UI- enabled right out of the box There will be other people centric controls (people picker, previous conversations, contact control, etc. from people & groups) CLI310: People and Groups Controls in Windows “Longhorn” UI controls are on top of the activity APIs to further simplify the developer’s work Developers can write very little code to make their collaboration applications UI- enabled right out of the box There will be other people centric controls (people picker, previous conversations, contact control, etc. from people & groups) CLI310: People and Groups Controls in Windows “Longhorn” Talk

24 24 Features Exposed For PDC Features Exposed Basic Presence (Online State) Rich Presence Roaming (Contact List, Groups, Permissions) Audio/Video (Point to Point) Activity API (only) Multiparty Instant Messaging Features Exposed Basic Presence (Online State) Rich Presence Roaming (Contact List, Groups, Permissions) Audio/Video (Point to Point) Activity API (only) Multiparty Instant Messaging

25 25 Features Exposed For RTM Additional Features Exposed Multiparty Audio/Video Improved Audio/Video Audio/Video media APIs for more advanced apps Secure RTP File Transfer Multiparty Application Sharing UI Controls Additional Features Exposed Multiparty Audio/Video Improved Audio/Video Audio/Video media APIs for more advanced apps Secure RTP File Transfer Multiparty Application Sharing UI Controls

26 26 Summary Provide an extensible platform so developers can pick and choose building blocks You don’t need to understand SIP, SIMPLE, PINT, T.120, RTP, G.711, G.722.1, G.723.1, GSM, DVI4, SIREN, H.263, Acoustic Echo Cancellation, DirectX ®, etc. to write great presence-enabled collaboration applications We want you to start developing solutions on top of our platform We welcome feedback Provide an extensible platform so developers can pick and choose building blocks You don’t need to understand SIP, SIMPLE, PINT, T.120, RTP, G.711, G.722.1, G.723.1, GSM, DVI4, SIREN, H.263, Acoustic Echo Cancellation, DirectX ®, etc. to write great presence-enabled collaboration applications We want you to start developing solutions on top of our platform We welcome feedback

27 27 For More Information Hands-on labs 402/403 Ask the Experts Tuesday 7 pm – 9 pm in Hall G,H MSDN msdn.microsoft.com/longhorn Newsgroup microsoft.public.winfx.collaboration Contact info E-mail: slindsey@windows.microsoft.com Hands-on labs 402/403 Ask the Experts Tuesday 7 pm – 9 pm in Hall G,H MSDN msdn.microsoft.com/longhorn Newsgroup microsoft.public.winfx.collaboration Contact info E-mail: slindsey@windows.microsoft.com

28 28 Related Talks ARC382: Make Your Software Cooler and Your Life Easier the Next-Generation of Microsoft Networking Technologies WSV306: “Indigo”: Building Peer-to-Peer Applications ARC343: Introducing the “Longhorn” Identity System CLI310: People and Group Controls in Windows “Longhorn”: Enabling Applications for Collaboration and Data Sharing ARC382: Make Your Software Cooler and Your Life Easier the Next-Generation of Microsoft Networking Technologies WSV306: “Indigo”: Building Peer-to-Peer Applications ARC343: Introducing the “Longhorn” Identity System CLI310: People and Group Controls in Windows “Longhorn”: Enabling Applications for Collaboration and Data Sharing

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


Download ppt "1 Integrating Real-time Collaboration into your Applications Stephanie Lindsey Program Manager Microsoft Corporation Stephanie."

Similar presentations


Ads by Google