I’ve seen a few discussions about iOS HealthKit recently, and most seem to miss the point of the app. There seems to be a notion that HealthKit is trying to compete with apps that do data visualization, that it somehow wants to take over managing all the wearable sensors, or even push Apple’s wearable fitness tech. While I don’t know what Apple’s intentions, all these assumptions don’t seem right and miss a major reason for HealthKit’s existence – to be an information broker.
There are different apps for tracking different stats – sleep, nutrition, exercise, steps, and so on. The problem is that the apps can’t easily share this data. As a user, there is no easy way for me to correlate all data and get more indepth view of the data. This is an obvious hole in the fitness app ecosystem, and Apple came up with a solution: HealthKit. It acts as a data repository where each app can share the data it collects, as well as retrieve data it may need, but is not capable of collecting. With access to extra data, apps can then use the new data for better visualization or metrics it otherwise would not be able to show.
HealthKit may show some simplistic charts, but the main goal of the app is to facilitate data exchange. It’s one of those apps that the user needs in order to manage data access permissions, but that’s just about all of the extent of the user interaction. There may be some simplistic charts to make it more lively and engaging, but that’s about as far as it goes (these can also help with debugging purposes).
Some argue that Apple should have chosen to work with other vendors to come up with some standardized data storage and exchange, but it’s not really in their interest. They needed to address a problem that, as far as Apple is concerned, exists in their app ecosystem and collaborating with external companies wasn’t the way to go about it. Just look at HTML5, USB, SIM, GSM/LTE, or any other conglomerate standard. How long does it take to push a change or a feature though? How long does it take to get the actual standard accepted and out? Who’s role it is to store all the data, and how do you control privacy to a repository where all major players with varying degrees of privacy responsibility can play? Sure, Apple’s proprietary solution plays into their lock-in (as some will argue), but as far as I can tell, there is nothing stopping a developer from making an app that only reads data from HealthKit and pushes it out to some other service, if the user chooses to do so.