Our Android Manifest, generated by Rhodes 5.0.25, has these two location permissions :
<uses-permission android:name='android.permission.ACCESS_FINE_LOCATION'/> <uses-permission android:name='android.permission.ACCESS_COARSE_LOCATION'/>
So the problem might come from the precision of the built-in GPS receivers of our devices, as Jon said.
I'll investigate with different GPS applications to find possible differences between their values and the Rhodes ones. I'll also take into account the advice given by Garmin that Jon linked.
I'll give you an update if I find anything positive.
Thank you both for your help.
So after some tests, we found out that the altitude value we were getting from the GPS API was the good one, and the value given by the GPS application used to compare, was in fact a precalculated one, explaining why it did not vary much...
Sorry for wasting your time.
But thanks for your help, you really helped us better understand GPS position and its precision.
It's never a waste of time! It's good to have the discussion, because now others will better understand the capability and limitations.
And it's always good to question inconsistent results. The Rhodes team is very receptive and seems to always want to improve the platform further!
Realize that altitude is quite a bit more difficult with GPS than position. It will depend on the quality of the receiver, how many satellites are used, etc. (Better GPS receivers receive from more satellites at once. Almost no phone has the best kind of receiver due to space and cost limitations.)
Android devices vary widely in their onboard sensors. iOS has less variability, only a very few models.
Really, fine-grained altitude, for example, to detect which floor of a building you are on, is not practical, even with the best receiver. Note that newer devices (including iPhone 6, 6+ and some Androids) have an air-pressure sensor that might be more useful than this. You would have to compare to current weather report. At least it will give you relative altitude as the device moves.
Even Garmin suggest that you should not expect better than +- 400ft (120m) vertical accuracy.
That said, if you think there is some consistent, systemic issue, you should report it as an Issue on Github. Perhaps it is a rounding difference between Rhodes and popular apps. Did you try other popular apps? Maybe they are applying a heuristic.
I don't think I would sweat a difference of that little. You just cannot pinpoint vertical with GPS. If you know the device is at ground level, the best approach is to look-up the elevation in a map database. Otherwise, I'd find another strategy such as air pressure (if available on device) or locator beacons installed in the location (e.g. to identify which floor).