Project Rome: Cross device interactions

Slides:



Advertisements
Similar presentations
1 Mary Meeker Internet Trends ReportInternet Trends Report 2 “Finding simplicity in a multi-device world” – GfK Report“Finding simplicity in a multi-device.
Advertisements

11/8/ :31 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Success through People with LinkedIn and O365
The Xamarin Promise - Realized
Windows Calls Applications (windows.applicationmodel.calls)
Make your app a native part of Office with Add-ins
Office Add-ins: Make your solution a native part of Office
5/12/2018 3:54 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
5/15/2018 5:43 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Leverage the O365 Task Ecosystem with Microsoft To-Do and Planner
Create beautiful, fast, interactive pages in SharePoint
Secure Hyperconnectivity with TeamViewer and Windows technologies
6/3/2018 1:14 AM THR2018 Be the Yammer Rock Star at Your Organization with the Yammer Mobile App and Device Notifications Kevin Crossman IT Collaboration.
Microsoft /4/2018 8:21 AM BRK3082 Build solutions and apps with Microsoft OneDrive API and Microsoft Graph API Ryan Gregg Principal Program Manger,
Get the most from the Microsoft Dynamics 365 Mobile App
Boomerang Adds Smart Calendar Assistant and Reminders to Office 365 That Increase Productivity and Simplify Meeting Scheduling OFFICE 365 APP BUILDER.
Modern application lifecycle with DevOps
Microsoft /17/2018 4:24 AM BRK4012 Dive deep on Skype Web SDK & Skype for Business App SDK - Build apps across Web, IOS & Android Srividhya Chandrasekaran Amit.
6/17/ :27 AM BRK3341 Unlock extensibility by connecting your service to PowerApps and Microsoft Flow Theresa (Tessa) Palmer–Sr. Program Manager Sunay.
Discover the New SharePoint Content Publishing Experiences
Microsoft Ignite /6/2018 1:06 PM BRK2061
Intelligent search for the modern workplace with Bing
Outlook Message Cards Ignite 2016 deck draft Shivakumar Seetharaman
Microsoft Planner: How to manage your team’s work in Office 365
Microsoft Connect /2/ :38 AM
Dive deeper into what’s new and what’s coming in Outlook for Mac
What’s New in the Lync Client SDK 9/8/2018 8:15 AM
Develop for the Experience Business with Adobe and Microsoft
Power your app with Live services
Project Rome: Activity API & Pick Up Where I Left Off
Microsoft 365 Business Customer Targeting 2/6/18
Modernizing App Experiences
Seamlessly add video into O365 app or other apps with Microsoft Stream
Building great Metro style apps for mobile broadband devices
Microsoft Build /22/2018 4:06 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Understanding Wi-Fi Direct in Windows 8
Power Apps & Flow for Microsoft Dynamics SL
Microsoft Ignite /9/2018 5:03 AM BRK1010
DotnetConf 11/14/2018 3:27 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE.
Microsoft Ignite /14/ :21 AM BRK2101
Microsoft /15/2018 1:27 AM BRK2055 How GigJam enables you to spontaneously and momentarily involve others in your work Adam Jung, Office 365 Product.
11/16/2018 8:43 AM BRK2314 Improve productivity for cross platform and cross device apps using Microsoft Graph and Project Rome Tejas Patel Juan Sebastian.
Microsoft Build /19/2018 9:23 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
What’s New and What’s Coming in the Microsoft Outlook Family of Apps
Microsoft Ignite /20/2018 2:21 PM
Seamlessly add video into O365 app or other apps with Microsoft Stream
11/22/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Architecting and integrating sensor drivers
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.
Microsoft /27/2018 5:55 PM BRK2209 Managing the Complexity of Working Together Collaboration in the Office Apps Carol Grant – Sr. Product Marketing.
Skype for Business – App SDK
Sherpany’s Boardroom App for Windows: It’s a Perfect Tool for Managing Top-Level Meetings, Optimized for Use on Microsoft Surface Devices WINDOWS APP BUILDER.
TechEd /9/2018 4:17 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Share: Your app powers the Windows 8 share experience
File type associations and AutoPlay
Microsoft Build /2/2019 6:45 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Grow Your Business with Office 365 Yammer: Working Social
Create experiences that span devices
2/24/2019 6:15 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Microsoft Connect /25/2019 1:20 PM
Microsoft Build /8/2019 6:29 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
4/9/ | Contracts © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
What’s new in Visual Studio 2012
5/3/2019 9:33 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS.
User Segmentation and Targeted Push Notifications for UWP apps
Microsoft Virtual Academy
SCCM in hybrid world Predrag Jelesijević Microsoft 7/6/ :17 AM
Sessions about to start – Get your rig on!
Erik Porter Program Manager ASP.NET Microsoft Corporation
11/11/2019 1:15 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Presentation transcript:

Project Rome: Cross device interactions Carmen Forsmann Hi, I’m Carmen Forsmann, a Program Manager from the Project Rome team. In this video I’m going to introduce you to the Project Rome platform. Program Manager

Agenda What is Project Rome? The Opportunity Project Rome in action 9/14/2018 9:52 AM Agenda What is Project Rome? The Opportunity Project Rome in action Build Project Rome into your apps Today, I’m going to cover what Project Rome is, the opportunity we have and how we address that opportunity using the platform, then we’ll take a look at the basics showing some of the APIs available for developers, like you, to build into your apps. © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

9/14/2018 9:52 AM What is Project Rome? A device runtime for connecting and integrating Windows-based and cross-platform devices to the Project Rome infrastructure services. A set of infrastructure services in the Microsoft cloud for Windows-based, and cross-platform devices. A programming model delivered as APIs for Windows, Android, iOS, and Microsoft Graph, enabling client and cloud apps to build experiences using the Project Rome capabilities. Our mission is simple, drive app engagement across devices and platforms. We do this by offering APIs on multi-platforms including: Windows, Android, and iOS. The idea is that we want to deliver a personal OS that is not tied to a particular device or platform. We know that users will choose different devices for different jobs. Through the Project Rome APIs, developers can build experiences that allows users to move between these devices, seamlessly. © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

ROME Remote Control & Sessions Remote Control & Sessions Activities Device Discovery Device Discovery Launch Launch App services App services User Activity User Activity Activity Feed Activity Feed Adaptive Cards Adaptive Cards The easiest way to think about Project Rome is like an umbrella of functionality grouped into experiences happening now and later. In this video, I’ll be discussing the Remote Control and Session APIs, these are the APIs focused on experiences happening now. If you are interested in the Activities APIs, or providing experiences that happen “later”, I encourage you to check out Megan Brown’s session on Activities.

A typical day Morning 1-2 hours Work 8–10 hours Evening 4–6 hours 9/14/2018 9:52 AM A typical day Work 8–10 hours Commute 0-2 hours Morning 1-2 hours Evening 4–6 hours For us, the opportunity is very clear, let’s look at an example of a typical day. We use multiple different devices throughout the day for different reasons. In the morning, as we are start our day we could be using our phone or the tv, during the day we may sit in front of a larger screen device, but the phone is always close by. As the day comes to an end it is very likely that you’re back to your devices, whether it’s browsing the internet on a tablet or back to the tv to watch your favorite shows. © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

A tale of two devices Device discovery Remote launch 9/14/2018 9:52 AM A tale of two devices Device discovery Remote launch Remote app services The RemoteSystem APIs can be best described in 3 separate pillars. The first step is, discovering the devices in your device graph, meaning all devices registered with the same MSA account. Once you choose a discovered device and connect to it, now you can command the remote device by launching a browser or app on it. Or, for an even richer experience, you can use remote app services to send messages between devices. © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Augment the experience 9/14/2018 9:52 AM Augment the experience Some examples include enhancing the experience by using all the “glass” of your devices, transferring the experience from one device to the next. Or, you could use one device as a remote control for the other. Use all “glass” Remote control © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Extend the experience Companion experiences 9/14/2018 9:52 AM swipe Perhaps you have an app that would be perfect for providing a companion experience between devices. Companion experiences © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Discover Devices // create a RemoteSystemDiscovery object RemoteSystemDiscovery discovery = new RemoteSystemDiscovery.Builder() // add filters // set listener for discovery events .setListener(new IRemoteSystemDiscoveryListener() { // … }) // return a RemoteSystemDiscovery instance .getResult(); As I mentioned before, Project Rome has SDKs available on Windows, Android, and iOS platforms. In this example, we’ll look at device discovery using the Android SDK. You’ll use the RemoteSystemDiscovery object, using the Builder to define the filters and the discovery listener to handle when devices are discovered.

Launch URI // create Launch URI command RemoteLauncher().LaunchUriAsync( RemoteSystemnConnectionRequest, "http://www.bing.com", new IRemoteLauncherListener() { // handle listener events } so each concept would have a single slide and then the all languages slide Once connected to the target device, you’ll use the RemoteLauncher APIs with the LaunchUriAsync() which takes the “remote system” that was discovered, the URI that will be launched, and the IRemoteLauncher listener to handle the event.

App Services // create AppServiceConnection appServiceConnection = new AppServiceConnection(“MyAppService”, “MyPackageFamilyName”, connectionRequest, connectionListener, responseListener); // send message appServiceConnection.sendMessageAsync("This is a message"); Let’s take a look at app services. These are the set of APIs used for messaging. You start by creating the AppServiceConnection passing in the App service name running on the target device, the package family name for the windows device, the “remote system” and listeners for the connection and response. Once that is established, now a message can be sent using sendMessageAsync.

// handle response event to sent message class AppServiceResponseListener implements IAppServiceResponseListener { // Handle the interface events responseReceived(AppServiceClientResponse response) // check status } In the AppServiceResponse listener implementation, you’ll use responseReceived to check that the message has been sent successfully and choose to send a new message, or not.

Demo Continue on PC Let me show you an example of an app, available today, called Continue on PC, that is built on top of Project Rome.

Share the experience Multi-User Collaboration Ok, we’ve taken a look at RemoteSystems APIs that are centered around experiences between your devices. What about multi-user experiences? That’s where the RemoteSystemSession APIs come in! Multi-User Collaboration

Remote Sessions // create your session 9/14/2018 9:52 AM Remote Sessions // create your session RemoteSystemSessionController sessionController = new RemoteSystemSessionController("TestSession"); sessionController.JoinRequested += SessionController_JoinRequested; // watch for session participants private async void SessionController_JoinRequested(RemoteSystemSessionController sender, RemoteSystemSessionJoinRequestedEventArgs args) { args.JoinRequest.Accept(); } Let’s look at the different parts of the Remote Session APIs. To host, or create, a session, you would use the RemoteSystemSessionController, including the name of the session. Handle the the JoinRequested event and accept participants as they join. © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Microsoft Build 2017 9/14/2018 9:52 AM // discover a session RemoteSystemSession sessionWatcher = RemoteSystemSession.CreateWatcher(); sessionWatcher.Start(); // message between participants var info = await args.SessionInfo.JoinAsync(); if (info.Status == RemoteSystemSessionJoinStatus.Success) { currentSesson = info.Session; mainChannel = new RemoteSystemSessionMessageChannel(_currentSession, "Main"); mainChannel.ValueSetReceived += Channel_ValueSetReceived;   await _mainChannel.BroadcastValueSetAsync(new ValueSet() {["Type"] = "Hello"}); If you are not hosting a session, but just a participant looking for an existing session… You will call createwatcher on the RemoteSystemSession to search for available sessions. Once a participant has successfully joined a session, messaging can flow between participants using RemoteSystemSessionMessageChannel. © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo Quiz Game Let me show you an application of these APIs in action.

Release Schedule Anniversary update Creator’s update 9/14/2018 9:52 AM Release Schedule Anniversary update Creator’s update Fall Creator’s update APIs Remote Launch ✓ Remote App Services Remote Systems ✓+ Remote Sessions ✓ (PC <--> PC) User Activity ✓ (REST only) Platforms Windows SDK Android SDK iOS SDK MS Graph SDK The RemoteSystems APIs are available today, supporting discovery, launch, and message on Windows, Android, and iOS. The RemoteSessions APIs are available on Windows in the Fall Creator’s update. © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

https://aka.ms/projectrome 9/14/2018 9:52 AM I hope you are as excited about the Project Rome platform as I am. To try out the Project Rome platform please visit us at aka.ms/projectrome to get more information. We’d love to hear from you! Windows 10 Insider Preview SDK | Project Rome SDK for iOS and Android Microsoft Graph REST APIs https://aka.ms/projectrome © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Thank you! https://github.com/microsoft/project-rome http://aka.ms/ProjectRome mailto:askprojectrome@Microsoft.com Thank you!