Windows 10 Mobile GATT server for wearables should be in Insider builds soon

Published by at

This is all getting a little technical, but despite a very decent Fitbit application for Windows Phone and Windows 10 Mobile, there are limits to the interoperability between phone and wearable, principally lack of notifications (on the Fitbit). This is because there's no GATT server in Windows 10 Mobile (see the definition below), but word on the 

From the Bluetooth forum:

The Generic Attributes (GATT) define a hierarchical data structure that is exposed to connected Bluetooth LE devices.

GATT profiles enable extensive innovation while still maintaining full interoperability with other Bluetooth devices. The profile describes a use case, roles and general behaviors based on the GATT functionality. Services are collections of characteristics and relationships to other services that encapsulate the behavior of part of a device. This also includes hierarchy of services, characteristics and attributes used in the attribute server. 

GATT is built on top of the Attribute Protocol (ATT) (see Bluetooth Core System Architecture for block diagram and explanations), which uses GATT data to define the way that two Bluetooth Low Energy devices send and receive standard messages. Note that GATT is not used in Bluetooth BR/EDR implementations, which use only adopted profiles....

GATT defines client and server roles. GATT procedures can be considered to be split into three basic types: Discovery procedures, Client-initiated procedures and Server-initiated procedures. The GATT server stores the data transported over the ATT and accepts ATT requests, commands and confirmations from the GATT client. The GATT server sends responses to requests and sends indications and notifications asynchronously to the GATT client when specified events occur on the GATT server. GATT also specifies the format of data contained on the GATT server.

So essentially it's a power efficient client-server system for passing notifications between Bluetooth devices, and it's what Fitbit (and some other wearables) use on other platforms.

Now, from one of the official Windows developer forums:

The Bluetooth team is hard at work adding GATT Server APIs to Windows and we expect GATT Server should be in the Windows Insider Preview builds and SDK later this year. When APIs get added in to the OS and SDK, any developer can start updating their app. Once the next release of Windows is available, any app that want to use these new features will be able submit an update to the Store.

In other words, by the end of this year we should have the necessary GATT server in Windows 10 Mobile 'Redstone 2' test builds, and those on the Insiders 'Fast' ring will be able to try it out with the likes of the Fitbit.

Better late than never, eh?