Windows Developer Day

Windows Developer Day

Project Rome: Cross device interactions Carmen Forsmann Program Manager Agenda What is Project Rome? The Opportunity Project Rome in action Build Project Rome into your

apps What is Project Rome? A device runtime for connecting and integrating Windows-based and crossplatform 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.

ROME Remote Remote Control Control & & Sessions Sessions Device Device Discover Discover yy Launch Launch

App App services services Activities Activities User User Activity Activity Activity Activity

Feed Feed Adaptive Adaptive Cards Cards A typical day Morning 1-2 hours Work 810 hours

Commute 0-2 hours Evening 46 hours A tale of two devices Device discovery Remote launch

Remote app services Augment the experience Use all glass Remote control Extend the experience swipe

Companion experiences 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();

9 Launch URI // create Launch URI command RemoteLauncher().LaunchUriAsync( RemoteSystemnConnectionRequest, "http://www.bing.com", new IRemoteLauncherListener() { so eachlistener concept would have a single slide and // handle events then the all languages slide }

10 App Services // create AppServiceConnection appServiceConnection = new AppServiceConnection(MyAppService, MyPackageFamilyName, connectionRequest, connectionListener, responseListener); // send message appServiceConnection.sendMessageAsync("This is a message"); 11

// handle response event to sent message class AppServiceResponseListener implements IAppServiceResponseListener { // Handle the interface events responseReceived(AppServiceClientResponse response) // check status } 12 Demo Continue on PC

13 Share the experience Multi-User Collaboration 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(); } // 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"}); Demo Quiz Game 17 Release Schedule

APIs Platforms Anniversary update Creators update Fall Creators update Remote Launch

Remote App Services Remote Systems +

+ Remote Sessions (PC <--> PC) User Activity (REST only) Windows SDK Android SDK

+ + iOS SDK MS Graph SDK

Windows 10 Insider Preview SDK | Project Rome SDK for iOS and Android Microsoft Graph REST APIs https://aka.ms/projectrome Thank you! https://github.com/microsoft/project-rome http://aka.ms/ProjectRome mailto:[email protected] 20

Recently Viewed Presentations

  • Big Data Open Source Software and Projects Big

    Big Data Open Source Software and Projects Big

    Recently, 3D pathology imaging is made possible through 3D laser technologies or serially sectioning hundreds of tissue sections onto slides and scanning them into digital images. Segmenting 3D microanatomic objects from registered serial images could produce tens of millions of...
  • Integer Arithmetic - Northwestern University

    Integer Arithmetic - Northwestern University

    Negating with Complement & Increment Comp. & Incr. Examples Unsigned Addition Visualizing Integer Addition Visualizing Unsigned Addition Two's Complement Addition Characterizing TAdd Visualizing 2's Comp. Addition Detecting 2's Comp. Overflow Multiplication Unsigned Multiplication in C Unsigned vs. Signed Multiplication Unsigned...
  • UCAS/Progression/Quay

    UCAS/Progression/Quay

    UCAS 2018 Priestley College. Key dates. College Process. Timeline for 2017-18 applications. Personal/Progress tutor early applications internal deadline 21st September 2017. External deadline 15th October 2017. Internal deadline 1 (Normal applications) 13thOctober 2017. ...
  • Energy &amp; Internet - ITU

    Energy & Internet - ITU

    ICT Growth proportional to Data Growth/Internet penetration. Between 2010 and 2011 . Almost all countries increased their IDI values but.. … developed countries have twice the IDI value of the developing ones
  • Developmental Psychology

    Developmental Psychology

    Small population, preferably a larger range of ages to see the engraining of gender norms throughout life, maybe some longitudinal action. ...
  • 投影片 1 - 國立臺灣大學

    投影片 1 - 國立臺灣大學

    Color and Radiometry Digital Image Synthesis Yung-Yu Chuang 10/19/2006 with slides by Pat Hanrahan and Matt Pharr Radiometry Radiometry: study of the propagation of electromagnetic radiation in an environment Four key quantities: flux, intensity, irradiance and radiance These radiometric quantities...
  • Impressionism  Copyright Kapow! 2017 Impressionism Impressionism is the

    Impressionism Copyright Kapow! 2017 Impressionism Impressionism is the

    Impressionism. Impressionism is the name given to a group of artists who painted in France in the late 19th Century. They reacted to the invention of the camera and moved away from painting things realistically. Impressionist artists liked to paint...
  • More on Divide and Conquer

    More on Divide and Conquer

    The divide-and-conquerdesign paradigm. 1. Divide. the problem (instance) into subproblems. 2. Conquer. the subproblems by. solving them recursively. 3. Combine ...