Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

caoimhin

macrumors member
Original poster
May 11, 2006
73
47
Dublin
This topic has been raised at least two dozen times here and on the Apple forums, but I haven't found a conclusive answer. I've read the "multiple source" help page from Apple, but this particular situation as I experience it isn't really addressed.

In the health app, movement data is collected from both devices. For example, yesterday, I logged 5.5 miles of distance walked. In the "Walking + Running Distance" segment of the app, I can click "Show All Data", then click on the 30 January entry. This will show the breakdown, which includes data collected from both devices, shown in the photo below.

Is the app combining the data from both sources? Is there a way for it to collect data from the phone only when I'm not wearing the watch?

IMG_7006.PNG
 
This topic has been raised at least two dozen times here and on the Apple forums, but I haven't found a conclusive answer. I've read the "multiple source" help page from Apple, but this particular situation as I experience it isn't really addressed.

In the health app, movement data is collected from both devices. For example, yesterday, I logged 5.5 miles of distance walked. In the "Walking + Running Distance" segment of the app, I can click "Show All Data", then click on the 30 January entry. This will show the breakdown, which includes data collected from both devices, shown in the photo below.

Is the app combining the data from both sources? Is there a way for it to collect data from the phone only when I'm not wearing the watch?

View attachment 613587

Not sure which help page you're referring to but in answer to your question, set the watch as a higher source than the phone.

Health will prioritise data from the first source. It will ignore data that directly conflicts with it (eg at 6.00 pm watch says 1 step, phone says 20 it will only take 1) and either take data from the next source or apply some kind of smoothing formula in between where there are gaps (eg you take off the watch and walk around the house with the phone).

It will not count any data twice.


Ideally you would want the phone to take priority as it will be more accurate in many circumstances when you are walking with both. When you don't carry the phone, the watch data would then fill in the gaps as best as possible.
 
But why the step count on the watch itself (activity app) and the step count on iphone (health app) are different? if Apple is certain that step count is not duplicated, why don't they sync the steps across devices?

Step recorder apps on AW are currently divided in which some will show steps from the watch and some will show steps from Health app (inclusive)
 
I can't recommend Pedometer++ app (https://itunes.apple.com/us/app/pedometer++/id712286167?mt=8) for phone/watch enough. Check out this blog post the developer wrote about a big update for it in December: https://david-smith.org/blog/2015/12/03/pedometer-plus-plus-2-dot-3-embracing-the-apple-watch/#fn:1

tldr; The app intelligently analyzes the day's steps from both devices, then merges them to make sure it's accounting for all your steps throughout the day. Very nice app. And its complication is by far the easiest way to just kick off a quick walk workout/exercise session.
 
Not sure which help page you're referring to but in answer to your question, set the watch as a higher source than the phone.

Health will prioritise data from the first source. It will ignore data that directly conflicts with it (eg at 6.00 pm watch says 1 step, phone says 20 it will only take 1) and either take data from the next source or apply some kind of smoothing formula in between where there are gaps (eg you take off the watch and walk around the house with the phone).

It will not count any data twice.


Ideally you would want the phone to take priority as it will be more accurate in many circumstances when you are walking with both. When you don't carry the phone, the watch data would then fill in the gaps as best as possible.

I'm sure that's the goal, but in practice it often does record data, especially my run distances, 2, even 3 times a day. And its ability to import data - step data, distances, etc, from other sources is not reliable - it only seems to get them about 50% of the time, and then some portion of that it doubles or triples the values. I'm holding out hope that Apple Health can eventually become a more reliable aggregator of my data, but right now it needs a lot of work!
 
I'm sure that's the goal, but in practice it often does record data, especially my run distances, 2, even 3 times a day. And its ability to import data - step data, distances, etc, from other sources is not reliable - it only seems to get them about 50% of the time, and then some portion of that it doubles or triples the values. I'm holding out hope that Apple Health can eventually become a more reliable aggregator of my data, but right now it needs a lot of work!

What "other sources"?

The only time it does this is if they incorrectly group steps or distance into an overall figure for the hour.

I promise you this is how it works.
 
What "other sources"?

The only time it does this is if they incorrectly group steps or distance into an overall figure for the hour.

I promise you this is how it works.

Strava, Garmin Connect, etc. I will often get the same distance data, same time stamp, recorded 2 or even 3 times in the distance data. Other days that data, step data, etc may not be recorded by Apple Health at all.
 
Strava, Garmin Connect, etc. I will often get the same distance data, same time stamp, recorded 2 or even 3 times in the distance data. Other days that data, step data, etc may not be recorded by Apple Health at all.

When you say "recorded" do you mean included in the total overall or just put in the same place with the watch and phone etc data...

Here's an example or two I just threw together.

image.png

Everything looks normal right?

image.png

So where are those 100,000 steps?

image.png

They're ignored because the phone is higher in the sources list. It takes the number 9 not 100,000. When I move "health" up the list above the phone here's what happens:

image.png

Similarly with distance I manually entered 1,000 miles:

image.png

Here are how the data looks with iPhone and then health each in the highest priority:

image.png
image.png

There's many things that could be causing what you perceive as multiple data entry.

Firstly, I don't know if it's still the case but some apps which read HealthKit data were not particularly smart. I stopped using myfitnesspal because it couldn't handle data from multiple sources and would consistently over calculate how many calories of exercise I'd done which made it useless anyway.

Also Runkeeper had a problem with certain activities being logged manually entering data twice and therefore being counted twice where it's the higher priority. I don't know if it's fixed yet because I haven't logged anything manually for months now, having been running in the cooler weather and pausing my gym membership.
 
When you say "recorded" do you mean included in the total overall or just put in the same place with the watch and phone etc data...

Here's an example or two I just threw together.

View attachment 613853

Everything looks normal right?

View attachment 613854

So where are those 100,000 steps?

View attachment 613855

They're ignored because the phone is higher in the sources list. It takes the number 9 not 100,000. When I move "health" up the list above the phone here's what happens:

View attachment 613856

Similarly with distance I manually entered 1,000 miles:

View attachment 613857

Here are how the data looks with iPhone and then health each in the highest priority:

View attachment 613858
View attachment 613859

There's many things that could be causing what you perceive as multiple data entry.

Firstly, I don't know if it's still the case but some apps which read HealthKit data were not particularly smart. I stopped using myfitnesspal because it couldn't handle data from multiple sources and would consistently over calculate how many calories of exercise I'd done which made it useless anyway.

Also Runkeeper had a problem with certain activities being logged manually entering data twice and therefore being counted twice where it's the higher priority. I don't know if it's fixed yet because I haven't logged anything manually for months now, having been running in the cooler weather and pausing my gym membership.

I mean that I will get two records of the exact same data from the same 3rd party source, and it will be shown in the day's totals. ie. it will show that at 12:07PM I ran 7.67 miles twice and the day's total mileage will be 15.34 + whatever step mileage I get for the day. If I manually delete the one entry, the mileage for the day becomes accurate.

And again, for many, many days, that 3rd party data just never gets recorded at all. Most days at lunch I take off my AW and leave it and my phone on my desk, and put on my Garmin watch to go for a run. Afterwards, the Garmin watch syncs with my iPhone, and the Garmin app is given permission to write to Apple Health. About half the time, the distance and step data from that run is never included in my daily totals. Other times it is doubled. Sometimes it seems to get it just right.

Here's a recent example (and you can see that many other days are doubled or tripled - I run a lot, but I'm not running 42 miles this time of year):

nrW4uZ9l.jpg


fXWU1Ctl.jpg


Step data is especially poor:
On the 31st I ran 16 miles. On the 30th, I ran 7, on the 29th, 10. Yet that step data is never included.

pQDOqyKl.jpg


TDfeTRsl.jpg
 
Last edited:
I mean that I will get two records of the exact same data from the same 3rd party source, and it will be shown in the day's totals. ie. it will show that at 12:07PM I ran 7.67 miles twice and the day's total mileage will be 15.34 + whatever step mileage I get for the day. If I manually delete the one entry, the mileage for the day becomes accurate.

And again, for many, many days, that 3rd party data just never gets recorded at all. Most days at lunch I take off my AW and leave it and my phone on my desk, and put on my Garmin watch to go for a run. Afterwards, the Garmin watch syncs with my iPhone, and the Garmin app is given permission to write to Apple Health. About half the time, the distance and step data from that run is never included in my daily totals. Other times it is doubled. Sometimes it seems to get it just right.

Here's a recent example (and you can see that many other days are doubled or tripled - I run a lot, but I'm not running 42 miles this time of year):

nrW4uZ9l.jpg


fXWU1Ctl.jpg


Step data is especially poor:
On the 31st I ran 16 miles. On the 30th, I ran 7, on the 29th, 10. Yet that step data is never included.

pQDOqyKl.jpg


TDfeTRsl.jpg

That's the same problem with strava I had at one time with Runkeeper. It's a problem with the app, I'm sure, rather than an inherent problem in HealthKit and certainly isn't the kind of issue OP was discussing.

Also do you use both garmin connect and strava to get data from the garmin watch? Strava handles the distance and garmin connect is supposed to handle the steps?
 
That's the same problem with strava I had at one time with Runkeeper. It's a problem with the app, I'm sure, rather than an inherent problem in HealthKit and certainly isn't the kind of issue OP was discussing.

Also do you use both garmin connect and strava to get data from the garmin watch? Strava handles the distance and garmin connect is supposed to handle the steps?

Well, both Garmin and Strava have the same issue, so while it may be a problem with the app, it seems more likely that it's a problem with Apple's API for Health Kit if multiple vendors are having the same issue. I've tried setting both Garmin and Strava as highest in the priority list and the problem persists with both. Strava doesn't do steps though.
 
Well, both Garmin and Strava have the same issue, so while it may be a problem with the app, it seems more likely that it's a problem with Apple's API for Health Kit if multiple vendors are having the same issue. I've tried setting both Garmin and Strava as highest in the priority list and the problem persists with both. Strava doesn't do steps though.

with runkeeper the problem happened when you manually logged a workout, but not if you used stopwatch mode for the same activity. it has to be the app misusing the API or not understanding it fully.
 
with runkeeper the problem happened when you manually logged a workout, but not if you used stopwatch mode for the same activity. it has to be the app misusing the API or not understanding it fully.

Possibly, but again, if it's happening in exactly the same manner with multiple vendors, it's still ultimately Apple's problem as it's undermining my faith in their aggregation platform. Further, as you've described yourself, Apple Health itself should not be counting multiple records for the same time period. The fact that it is indicates a problem with their code and how the data is read.
 
Possibly, but again, if it's happening in exactly the same manner with multiple vendors, it's still ultimately Apple's problem as it's undermining my faith in their aggregation platform. Further, as you've described yourself, Apple Health itself should not be counting multiple records for the same time period. The fact that it is indicates a problem with their code and how the data is read.

when a vendor puts an hour's worth of running into a 1 minute time period, i'm not too sure they're doing it correctly either ;)
 
when a vendor puts an hour's worth of running into a 1 minute time period, i'm not too sure they're doing it correctly either ;)

That's how every vendor does it because there is no other way to import data that doesn't originate on the watch or phone. (How could a Garmin or other third party hardware that has no knowledge of Apple Health do it any differently?) Even apps I use on the phone, like iSmoothrun do it the same way. It's essentially a manual entry that is automated by the import process.
 
That's how every vendor does it because there is no other way to import data that doesn't originate on the watch or phone. (How could a Garmin or other third party hardware that has no knowledge of Apple Health do it any differently?) Even apps I use on the phone, like iSmoothrun do it the same way. It's essentially a manual entry that is automated by the import process.

if you took your phone with you but had strava set higher priority, then you'd run into a world of problems with this implementation...
 
if you took your phone with you but had strava set higher priority, then you'd run into a world of problems with this implementation...

So how would you suggest that a developer import data into Apple Health? A simple import of a time stamp and a distance or number of steps should be sufficient as it's the same as they allow with a manual entry. To do otherwise would require a developer to transform the raw data they collect into some format that is Apple Health compatible meaning potentially thousands of records for a long activity or time period. That sounds like a disaster waiting to happen if AH can't even get a single data point right consistently.
 
So how would you suggest that a developer import data into Apple Health? A simple import of a time stamp and a distance or number of steps should be sufficient as it's the same as they allow with a manual entry. To do otherwise would require a developer to transform the raw data they collect into some format that is Apple Health compatible meaning potentially thousands of records for a long activity or time period. That sounds like a disaster waiting to happen if AH can't even get a single data point right consistently.

but it isn't a single data point, it's three data points, which is why you can see three things.

i understand where you're coming from, but back on topic watch vs iphone will have none of this problem.
 
but it isn't a single data point, it's three data points, which is why you can see three things.

i understand where you're coming from, but back on topic watch vs iphone will have none of this problem.

I know, that appears to be the bug - both in how it's getting there in the first place and then how AH deals with it! :)

I appreciate your comments though as you clearly understand well how AH is supposed to work.
 
Interesting discussion. A few further remarks as to my experience with the native software.

When the Watch was prioritized over the phone (the only two sources), Health was indeed aggregating the data in some way. It was reporting 4.06mi walked. I traced my route using the Google Earth path tool and approximated 3.4mi.

I then went through the tedious task of adding up each individual datum recorded, for each separate device, today. The Watch logged 2.41mi, and the phone logged 3.6mi (closest to my path estimate). How Health would arrive at 4.06mi is a mystery to me. Any idea where this figure could come from?

What's more, once I changed the priority to favor the phone over the watch, Health began reporting 3.6mi--apparently entirely excluding the Watch.

I had deliberately enabled Motion Calibration & Distance in Location Services, which I typically have disabled. So I suppose the phone was using GPS rather than motion to determine the distance. If this is true, I'm a little disappointed that the Watch is so far off the mark on its own. More than 1mi.
 
I suspect the reason the numbers are different is because some of that time you would have been carrying both the phone and the watch, and some of the day you walked around without the phone but had the watch on. The 4.06 miles reported by Health is the sum of that 3.6 mile walk (not doubled because any similar values on both devices would only be counted on the one higher in priority) plus the misc. walking around you did during the day when wearing the watch.
 
Right, that makes sense. For now I'll keep the phone as priority and monitor the results for a few days. May also check out the app that bripab007 suggested.
 
Right, that makes sense. For now I'll keep the phone as priority and monitor the results for a few days. May also check out the app that bripab007 suggested.

I believe your adding up may have been a waste of time; I get some entries when I have my data set to miles of 0 but clearly they contribute something... I think it's a rounding exercise and the watch numbers could have been as much as 49% out that way.

Instead check the activity app for your watch' actual distance measured.
 
There were indeed a ton of "0" entries. Could you clarify what you mean though? The activity app looks like it's consistent with what Health was showing.
 
There were indeed a ton of "0" entries. Could you clarify what you mean though? The activity app looks like it's consistent with what Health was showing.

Look in the activity app and see the distance and steps counted. They are from the watch and watch only; nothing else contributes to these figures.

A reading of 0 in show all data could be up to 0.0049 miles. One doesn't make a difference but 100 might be half a mile.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.