Project Rome
Project Rome is Microsoft's cross-device experiences platform for apps.
On this site you will find developer documentation for Project Rome and links to other useful resources.
For news, blog posts, and videos about Project Rome, visit the Project Rome landing page.
For sample applications using Project Rome, check out the SDK table below, or visit the Project Rome samples repo.
About Project Rome
Project Rome allows developers to write apps that can run on multiple devices and travel with the user as they switch between devices.
Project Rome includes features exposed via Microsoft Graph and platform-specific native SDKs. These features enable multiple cross-device and connected-device capabilities, allowing your apps to be centralized around a logged-in user identity. Features associated with Project Rome include but are not limited to user activities, notifications, device relay, and nearby share.
Choosing between native APIs and Graph APIs
Some scenarios are available through both the native platform SDKs and REST APIs via Microsoft Graph. In general, the REST APIs enable quick and simple implementation of the Project Rome features. However, there are some advantages to using platform-specific implementations:
- The platform SDKs provide an object model in the native language, local storage, and a publish-subscribe pattern to update the app when server-side information changes.
- If your app runs on Windows (UWP or Win32 apps), the platform SDK provides a number of additional features, such as using the users' default account and automatically tracking user engagement.
- If you plan to use other Project Rome features that are only available through the platform SDKs, you may wish to implement each of the features in the same way.
Some other scenarios are enabled by using a combination of Microsoft Graph APIs and client SDKs. An example of this is Notifications. In this case, MS Graph API is used to publish notifications from app server side, and the native-platform client SDKs are utilized to receive and manage notifications in each client-side native apps.
SDK
Project Rome is currently implemented for the below platforms. Follow the links for samples and SDK downloads.
Platform | Features | SDK Package | Samples |
---|---|---|---|
Windows SDK | Device Relay, Activities/Timeline | Project Rome for Device Relay Windows sample Project Rome for Activities Windows sample |
|
Windows (Preview) | Microsoft Graph Notifications | Graph Notifications for Windows sample | |
Android | Device Relay, Activities/Timeline, Microsoft Graph Notifications (Preview) | Project Rome for Android sample | |
iOS | Device Relay, Activities/Timeline, Microsoft Graph Notifications (Preview) | Project Rome for iOS sample | |
Xamarin for Android (Preview) | Device Relay | Xamarin for Android sample | |
MSGraph | Device Relay, Activities/Timeline, Microsoft Graph Notifications | Device Relay Activities/Timeline Graph Notifications |
Project Rome blog posts
Announcing Project Rome SDK for Android and iOS version 1.0!
Going social: Project Rome, Maps, & Social Network Integration
Project Rome for Android Update: Now with App Services Support
Building a Remote Control Companion App for Android with Project Rome
Project Rome: Driving user engagement across devices, apps and platforms
Project Rome: Driving User Engagement Across Devices, Apps, and Platforms
Enabling human-centric notification experiences using Microsoft Graph notifications
Podcasts and recordings
MS Dev Show podcast: Project Rome with Shawn Henry (Nov 8, 2016)
Build 2016: Driving User Engagement with Connected Apps and Devices