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

Slides:



Advertisements
Similar presentations
Windows Vista Presentation Advances Daniel Moth Developer & Platform Group, Microsoft Ltd
Advertisements

Vodacom Microsoft Hosted Lync
SIP Simplified August 2010 By Dale Anderson. SIP Simplified Session Initiation Protocol Core of SIP specifications is documented in IETF RFC 3261 Many.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Microsoft Office System UK Developers Conference Radisson Edwardian, Heathrow 29 th & 30 th June 2005.
1 Federating Identity and Authorization Across Organizations and Platforms Matthew Hur Lead Program Manager Microsoft Corporation
Communication Challenges Communication Overload Distributed teams, partners, and customers High cost of communications Security and compliance.
Module 1: Overview of the Microsoft.NET Framework.
Thomas Kisner.  Unified Communications Architect at BNSF Railway  Board Member, DFW Unified Communications User Group ◦ Meets 4 th Thursday of Every.
SQL Server 2005 CLR Integration ADO.NET 2.0 Mike Taulty
1 Introducing ClickOnce: The New Application Deployment Model for Windows Forms and “Avalon” Jamie Cool Program Manager Microsoft.
Unified. Simplified. Unified Communications Launch 2007.
© Aastra Aastra BluStar for PC High-Quality Audio and HD Video from Your Desktop.
Building Rights Management Enabled Applications For Windows "Longhorn" Steve Bourne Chandramouli Venkatesh Microsoft Corporation Steve Bourne Chandramouli.
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation Shane McRoberts Group Program Manager Microsoft.
CONNECT as an Interoperability Platform - Demo. Agenda Demonstrate CONNECT “As an Evolving Interoperability Platform” –Incremental addition of features.
UC Security with Microsoft Office Communication Server R1/R2 FRHACK Sept 8, 2009 Abhijeet Hatekar Vulnerability Research Engineer.
Plataformas.NET para desenvolvimento de aplicações web José António Silva
Data Access Design Patterns: Navigating the Data Access Maze Michael Pizzo Software Architect Microsoft Corporation Michael Pizzo Software Architect Microsoft.
1 Using XSD, CLR Types, And Serialization In Web Services Doug Purdy Program Manager Microsoft Corporation Doug Purdy Program Manager.
1 Keyboard, Speech, and Pen Input in Your Controls Kevin Gjerstad Lead Program Manager Kevin Gjerstad Lead Program Manager
Assemblies & Namespaces1. 2 Assemblies (1).NET applications are represented by an assembly An assembly is a collection of all software of which the application.
Module 1: Overview of the Microsoft.NET Platform.
“Indigo”: Building Peer-To-Peer Applications Todd R. Manion Program Manager Microsoft Corporation Todd R. Manion Program Manager.
Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
OFC290 Information Rights Management in Microsoft Office 2003 Lauren Antonoff Group Program Manager.
Larry Amiot Northwestern University Internet2 Commons Site Coordinator Training September 27, 2004 Austin, Texas Introduction to.
1.NET Framework Overview: A Road Map Brad Abrams.NET Framework Team Microsoft Corporation Brad Abrams.NET Framework.
Introduction to SIP Larry Amiot Northwestern University Internet2 Commons Site Coordinator Training March 22, 2004 Indianapolis,
“Indigo”: Connected Application Technology Roadmap
1 Application Model Fundamentals Chris Anderson Software Architect Microsoft Corporation Chris Anderson Software Architect Microsoft.
Microsoft.Net Sven Groot. Common Language Runtime Superset of ECMA Common Language Infrastructure Defines  Language-neutral platform  Intermediate Language.
“ WinFS” Future Directions: Building Data-Centric Applications Using Windows Presentation Foundation “Avalon” and Windows Forms Ramesh Nagarajan DAT310.
Windows Role-Based Access Control Longhorn Update
“Avalon”: Using UI Automation to Improve Application Testability Robert Sinclair Group Manager Microsoft Corporation Robert Sinclair.
MSG331 Exchange Server 2000/2003 Software Development Kit Susan Hill Lead Programmer Writer Microsoft Corporation.
1 Interop Best Practices and Common Pitfalls (That We Learned the Hard Way) Please write your name on a card in the back and place it in the box… Please.
SQL Server Notifications: Invalidating Cached Results Michael Pizzo Software Architect Microsoft Corporation Michael Pizzo Software.
Microsoft Office System UK Developers Conference Radisson Edwardian, Heathrow 29 th & 30 th June 2005.
Extending Workflow With Custom Activities Dennis Pilarinos COM328 Program Manager Microsoft Corporation.
1 Programming ADO.NET in Whidbey Pablo Castro/Brad Rhodes ADO.NET Team Microsoft Corporation Pablo Castro/Brad Rhodes.
Exploring Mobile Device Networking Lesson 4. Exam Objective Matrix Skills/ConceptsMTA Exam Objectives Understanding Networking for Mobile Devices Network.
UCM305 Embedding Communications with UCMA SDK 1.0 Chris D. Mayo Technical Evangelist
Introducing the Microsoft® .NET Framework
Reach Out and Touchscreen Someone
Web Services On Devices: Rally Implementation
Introduction to Windows Azure AppFabric
Wireless Communication and Networks
Using Audio, Video, and Imaging in your Longhorn Applications
System.Search, aka “Find My Stuff”
Avalon – Using Data In Your Applications
Visual Studio Tools for Office 2005
Transactional Programming In A Windows World
Michael Wallent General Manager Windows Client Platform
Understanding Wi-Fi Direct in Windows 8
“Whidbey” CLR Internals
11/17/2018 9:30 PM Session Code: ARC 420
11/23/2018 8:30 AM BRK3037 BRK3037: Dive deep on building apps and services with the Office 365 Communications Platform David Newman Senior Program Manager.
MIX 09 11/23/2018 6:07 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Building Rich, Interactive Controls for Windows “Longhorn”
New User Interface Possibilities in Longhorn
1/2/2019 9:19 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS.
"Avalon": Building Applications With Controls And Dialogs
2/24/2019 6:15 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
People And Groups Controls In Windows "Longhorn"
Session Code: CLI391 Windows Forms: Exploiting Windows “Longhorn” Features from Within Your Application Mark Boulter .NET Client Team Microsoft Corporation.
Windows Forms in Visual Studio 2005: An in-depth look at key features
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

1 Integrating Real-time Collaboration into your Applications Stephanie Lindsey Program Manager Microsoft Corporation Stephanie Lindsey Program Manager Microsoft Corporation Session Code: CLI380

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 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 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 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 Helpdesk Solution Help Personnel Area Experts Bot Employee

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 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 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 Object Model RealTimeProfileProvider RealTimeProfile ProfilePresence ProfilePersistedData ProfileSignaling SignalingSession ContactsSubscription ContactGroups Subscription PresenceSubscription LocalPresence : :

11 Profile Logon public RealTimeProfile LogOnSample() { // Create an instance of the RTC SIP provider and profile RtcProvider provider = new RtcProvider(); RtcProfile profile = 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 = 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 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 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 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 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 Audio/Video Architecture

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 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 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 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 Instant Messaging Activity Niko Schuessler Software Design Engineer

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

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 © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.