Have you ever noticed that some of your workout data is missing from the Health app on your iPhone?
Apple’s Health app is designed to provide a central hub for all your fitness apps to save and share their data. You might assume this means all your Active Calories are added together, regardless of which app you use to log them. But the truth is not that simple — although you can tweak some hidden settings to customize what you see.
I discovered this after introducing HealthKit support to my fitness app, Reps & Sets, which I develop with my partner Martin Algesten. Our users started asking us why their calories were not showing up.
When we looked into the issue, we found a bug (ahem — for which a fix is coming soon). But it turned out this was not the only problem. There is a more fundamental issue with how the Health app shows calories.
Where are all my calories going?
When you log a workout using an app that supports HealthKit, you can choose to save your Active Calories in Apple’s Health app, where they will appear in the “Show All Data” list.
The sum of all the calories listed for a given day, however, may not correspond to the total that appears on the Active Calories graph. Furthermore, if you are also using an Apple Watch, any calories added from third-party apps are probably not included in the totals.
This is the problem many Reps & Sets users were encountering, and I set out to discover why.
Geek warning: We’re about to get down to the nitty-gritty of HealthKit….
Why not all calories count
The Health app gets calorie data from a variety of sources: your iPhone’s built-in M8 motion coprocessor, your Apple Watch (if you have one) and third-party apps via HealthKit.
The reason it can’t just add all these calories together is that some of them may be duplicates. For example, your Apple Watch continually monitors the calories you are burning through movement. If you log a workout using a third-party app like Reps & Sets while wearing your Apple Watch, you will have effectively logged the same workout twice.
If the Health app were to simply add all the data from both workouts together, it would double-count your calories and give you a misleading total for your daily calories burned.
The Health app’s hidden priorities
To solve this problem, the Health app prioritizes its data sources. By default, any calories you enter manually take top priority, followed by data from your Apple Watch, then your iPhone’s M8 coprocessor and, finally, from third-party apps via HealthKit.
This means that when you are using an Apple Watch, data from third-party fitness apps will not be included in your Active Calorie totals, even though they still show up when you select “Show All Data.”
Managing your data sources
The good news is that you can change the way Health prioritizes its sources, although this option is very well-hidden. You will have to hunt to find it: It’s located under a menu option rather counterintuitively called “Share Data.”
On the Share Data screen you’ll find a list of Data Sources. By tapping the Edit button (at top right), you can reorder these sources, allowing you to give third-party apps a higher priority than your Apple Watch.
This may radically alter your Active Calories totals. The Health app continues to use data from your Apple Watch, but it now attempts to combine it intelligently with the third-party data you have prioritized.
So if calories from your third-party apps were missing, this feature allows you to reinstate them.
However, having played with these settings for a while, I still have not managed to work out how Apple is doing the math to combine these calorie sources. The numbers simply don’t add up – presumably because the app is trying to compensate for double-counting. So I have no idea how accurate these totals really are.
Active calories are not the same as Move ring calories
Another source of calorie confusion is that the Active Calories total in the Health app is not the same as the Move ring calories total in the Apple Watch’s Activity app.
This is because, unlike the Health app, the Activity app does not include data from multiple sources — it only uses data from your Apple Watch.
When watchOS 2 hits later this year, third-party apps will be able to add calories to the Move ring, but there will be some important limitations. Calories are only added from Watch apps using the new Workout API, which is restricted to the same exercise types supported by the built-in Workout app. So calories added from other types of fitness apps still won’t contribute to your Move ring total.
Is it too simple?
When users of my app ask me what has happened to their calories, I can explain all this. But I shouldn’t have to.
Apple strives to make its products simple and intuitive to use. But sometimes this results in oversimplification, and I believe that is what has happened with Active Calories in the Apple fitness app ecosystem. Cupertino’s coding wizards successfully hid the complexity of calculating calories, but in doing so they created a new problem.
As a result, the Health and Activity apps can provide conflicting estimates of calories burned. And that is neither simple nor intuitive.
NB: In iOS 9, Active Calories has been renamed Active Energy, which can be measured in calories or kilojoules.