Microsoft Band and Health developer platform

New to Microsoft Band and Health? Let’s start with a short summary. Microsoft Band is Microsoft’s first wearable device that helps you live healthier and be more productive. Powered by Microsoft Health Service and supported by Microsoft Health apps on all mobile platforms, it is a complete solution for fitness and connectivity.

At its launch in October last year, we made a commitment to the developer community to make our ecosystem open and accessible on every platform. As a first step in fulfilling that promise, we launched a preview of the Microsoft Band SDK for Windows and Android in February this year, followed by an updated release across Windows, Android and iOS at Build 2015 in April. Microsoft Band SDK allows 3rd party developers to enhance and extend the experience of their mobile applications to experiences on Microsoft Band by accessing data from the Band’s sensors. The SDK can also be used to create personalized, interactive Band tiles using custom layouts that contain text, icons, buttons and barcodes. In order to assist cross platform development, we worked with our friends in Xamarin to provide Xamarin bindings for iOS and Android SDKs which enables you to leverage Visual Studio and C# to write a single version of your app that works with Microsoft Band across all 3 platforms. The SDK is the first step towards enabling programmatic access to Microsoft Band. It remains the main extensibility point for harnessing the power of Microsoft Band. Watch the Channel 9 Build 2015 video to learn about Developing for Microsoft Band and Microsoft Health.

Today, we are very excited to share Microsoft Band Web Tiles and Microsoft Health Cloud APIs. With these new preview offerings, you can easily create tiles for Microsoft Band and gain access to the rich fitness data that is stored in Microsoft Health service. These new offerings, along with the existing SDK are all available for download on our new developer portal.

Microsoft Band Web Tiles Preview

Microsoft Health App allows Microsoft Band to be connected to the internet. We recognize that there is no shortage of existing content on the internet. Also, in today’s “cloud first” world, content creation is shifting more and more to the cloud. So we figured, why not use the power of the Microsoft Health App and leverage the internet connectivity to bring content from the internet to Microsoft Band? With Microsoft Band Web Tiles, we do just that. Microsoft Band Web Tiles make it extremely simple to deliver “glanceable” information to Microsoft Band from virtually any data source accessible through the web. You start off by specifying the data sources, which can be JSON content or they can be XML content, well-formed document or in the form of an RSS or ATOM feed. Then you “bind” that data to Microsoft Band layouts of your choice and create pages of content for your Web Tile. Add a few lines of metadata and a couple of icon files and you’re done. It doesn’t get any simpler than that!Microsoft Band

With Microsoft Band Web Tiles, you will have to “author” the web tile only once to support multiple mobile platforms (iOS, Android and Windows). Authoring a tile is extremely simple. Read the Web Tiles documentation to author the web tile using your favorite text editors. Or you can choose to author the tiles using the newly released Web Tiles Authoring Tool which provides a UI based, step by step guide to creating a Web Tile package in as little as 5 minutes.

Once the Web Tile package is authored using one of the methods described above, your users can create a web tile (which looks and behaves just like a tile created using Microsoft Band SDK) on the Band by opening the Web Tile package on a mobile device that has Microsoft Health app installed. Once delivered as a file or via HTTP, a Web Tile package will invoke the “Web Tiles Runtime” component that is now part of Microsoft Health apps on iOS, Android and Windows to trigger the installation process. The runtime then creates the Web Tile through user’s consent. The same runtime provides mechanisms for management and removal of web tiles through the Microsoft Health app. In addition, the Web Tiles runtime ensures that the contents of the web tile on Microsoft Band remain fresh. It achieves that through periodically polling the data resource, parsing out the relevant content as described by the data bindings inside the web tile package and delivering the “Pages” to the tile on the Band after formatting them using the layouts specified in the Web Tile package.

Microsoft Band Web Tiles are supported on all mobile platforms that Microsoft Health app is available on. To get started, visit the Microsoft Band Web Tiles developer site to read the comprehensive Documentation, download some of the sample Web Tiles and start creating new Web Tiles today using the Web Tiles Authoring Tool.

 

Microsoft Health Cloud APIs Preview

Today, we also bring you a preview of our Microsoft Health Cloud APIs. These RESTful APIs are built on open standards and are a first step towards achieving our goal of making Microsoft Health Service extensible. These APIs will allow developers to enhance the experiences of their apps and services with fitness data coming from Microsoft Health. This means that with user’s consent, these apps and services will be able to track user health and fitness comprehensively and provide rich features like observations and insights, personalized recommendations and fitness coaching etc. by making use of a user’s fitness history.

Since we launched Microsoft Health, we have established great partnerships with 3rd party services like RunKeeper, MyFitnessPal and more recently Strava and MapMyRide to share data from Microsoft Health. These partnerships are done through deep collaboration and data is exchanged through users’s consent via a Microsoft Data Exchange service. However, with Microsoft Health Cloud APIs, users can now choose to share their health data with any application or service that integrates with Microsoft Health. As part of the preview, the first set of APIs that we are providing are read only APIs for Activities and Summaries. These APIs are designed to provide you read operations for Microsoft Health activity data as well as interval based summaries for biometric data. So when a Microsoft Band user finishes a run, your application can query the Activities API and access details of the run as well as map points for the entire run that can then be used to create a map. Or your application can query the Summaries API to find out exactly how many steps a user took in a given time interval, the number of calories burnt, and distance covered during the same time frame. The following table captures the APIs released today. The full list and details of APIs can be found in the API Reference.

API Access Description
Profile Read-Only Provides the user profile for the specified user.
Devices Read-Only Provides associated devices (Microsoft Band and Phones) for a user. Also provides details of a particular device based on ID.
Activities Read-Only Provides user activities for a specified date range or ID. You can get Activity summaries as a list for a given time frame or you can get Activity details for a given Activity. An Activity can be one of the following : Sleep, Run, Workout, Bike, Guided Workout, Golf
Summaries Read-Only Provides hourly or daily summaries for a date range. Currently supports: Steps, Calories, Distance, Heart Rate

 

The preview provides you with all the tools to start building your apps today. Start by registering your application and visit the developer page to download sample application, read the Getting Started documentation and browse the API Reference.

New enhancements to Microsoft Band SDK

We are committed to making continuous improvements to the SDK and enabling new, richer scenarios for developers to create with Microsoft Band through the SDK. In addition to releasing the above new features, we have also enhanced the existing Microsoft Band SDK experiences based on feedback and issue reports. Here are the top things that we have addressed with our June update.

  • Refreshing of 3rd party tile contents in-place. With the current SDK, you would have to navigate away from an open page and then return to it in order to see updates that happened on that page. We have changed that behavior to allow page content to be updated in-place. This will enable more dynamic and interactive tile experiences with Microsoft Band.
  • Better support for building icons as buttons. The current SDK supports creating buttons inside of pages, but there were challenges in using icons as buttons. With the update, you will be able to create icon buttons which will enable richer page layouts for better tile experiences.
  • Ability to control the tile screen timeout. A lot of tile developers provided feedback requesting control of the screen timeout in order to provide a seamless experience for the users when using 3rd party tiles.With the new SDK update you control the screen timeout for your tiles. This will ensure users of your Band tile won’t leave the Band tile experience due to Band screen timeouts.

Download the latest update for the Microsoft Band SDK to start using these new features.

 

Feedback

All these new features are in preview. We look forward to your feedback and input that will help us shape these offerings. Please share your suggestions on Microsoft Band and Health UserVoice page where you can also vote on existing suggestions for improvements to the SDK. You can also contact us through healthms@microsoft.com.

 

 

image Ali Alvi , Lead Program Manager, Microsoft Band and Health
@alialvi

Ali Alvi is on the Personal Devices team in Redmond, the creators of Microsoft Band and Microsoft Health. Since joining Microsoft in 2001, Ali has worked as a developer on a number of Windows releases from Windows XP through Windows 8.1. Most recently he architected the client platform for Microsoft Band and is currently leading the work on creating the developer ecosystem for Microsoft Band and Microsoft Health. He has a BS in Computer Science with minors in Mathematics and Economics.