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 SDK Project Rome for Device Relay Windows sample
Project Rome for Activities Windows sample
Windows (Preview) Microsoft Graph Notifications Nuget Graph Notifications for Windows sample
Android Device Relay, Activities/Timeline, Microsoft Graph Notifications (Preview) Maven Project Rome for Android sample
iOS Device Relay, Activities/Timeline, Microsoft Graph Notifications (Preview) CocoaPod Project Rome for iOS sample
Xamarin for Android (Preview) Device Relay Nuget Xamarin for Android sample
MSGraph Device Relay, Activities/Timeline, Microsoft Graph Notifications REST
REST
REST
Device Relay
Activities/Timeline
Graph Notifications

Project Rome blog posts

Podcasts and recordings

Give feedback