When you use a smart
watch or fitness tracker, what generally happens is that the watch/tracker's
operating system generates fitness-tracking data using its hardware.
So, for example, if
you go for a run, your fitness tracker's operating system pings a GPS satellite
to confirm geographic location. Then, the watch OS starts its chronograph to
keep track of time. As you move, the system keeps pinging the GPS satellite to
gather location data; different trackers do this at a different rate, but it's
generally every X number of seconds. The difference in time divided by the
difference in GPS location is a simple arithmetic calculation that establishes
your running pace. Meanwhile, the OS pings its heart rate sensor at a different
rate to establish your heart rate while you're running. If your tracker is
equipped with additional sensors, they are also triggered at various rates to
calculate altitude, change in altitude, running cadence, number of steps, and
so on. All of this data is gathered into a single file, usually a .GPX file,
and transferred to a permanent location: your phone, table, home computer, or
"the cloud."
GPX files are as
complete as your fitness tracker is capable of making them. Whatever data your
tracker collects will end up in the GPX file. It's a standard file, containing
more or less standard fields, and to my knowledge every company's fitness tracking
platform processes it in a near-identical way[1].
If you, the
consumer, were as agnostic as your fitness tracker's operating system, all
you'd really care about in a fitness tracker is the hardware. Which sensors
does this watch have, how frequently do they collect data during exercise, how
robust are the readings, and how long with the hardware last until product
failure?
The smart watch
industry offers roughly the same things. Pedometers only track steps, low-level
"bands" add basic watch and Bluetooth functionality to this, then you
get into trackers that have built-in GPS sensors, heart rate sensors, and so on.
The more sensors, the pricier the watch.
The first
"trick" you have to look for is the watch screen. Bright AMOLED
touch-screens are visually impressive, but they eat a lot of battery power. If
you charge your watch once every 1-2 days, then this is no issue, but if you
insist on not charging your watch except every 3-4 days, then you'll want to
skip the fancy screen. The problem here is that some companies don't offer a
watch with an LCD screen, and all the sensors you want. So by bundling certain
sensors with an AMOLED screen, they induce you to spend more money. Some of us
would skip the screen to get the sensors; others would skip the sensors to get
the screen. Instead, we all pay the same high price and get someone we don't
want along with something we are willing to pay for.
The second
"trick" is the more frustrating, at least to me. The fitness tracker
collects all the data it can and dumps it into a GPX file. Every other graph,
metric, calculation, and table is provided via software.
It's not the watch that does that, it's the app. Some of what you are paying
for is software. Companies will only give you access to the output of the
software with the purchase of certain watches.
For example, in
order to gain access to a VO2-max estimation in Garmin's smart watch platform,
you have to spend extra money on one of their Forerunner or Fenix model
watches. These flagship watches will set you back $500 or more. That's a lot of
coin. But you can estimate your own VO2-max using a simple arithmetic
calculation based on data that can be extracted from any fitness tracker with a
heart rate monitor. This means that Garmin could actually estimate the VO2-max
of any of their customers, but they
refuse to do so for any except Fenix and Forerunner owners.
Strava, meanwhile,
has a new series of fitness metrics that are very much like VO2-max estimations
-- they're based on heart rate, age, weight, and running pace data found either
in the GPX file or in your user settings -- but they only make them available
if you pay an annual fee for their premium product. It is naturally in their
best interest to keep this proprietary arithmetic a closely guarded secret. If
you knew what the formula was, you could just do it at home on a 99-cent
calculator or a spreadsheet.
So companies extract
a premium from their customers by ensuring that the customer knows as little as
possible about the contents of a GPX file, and the formulas used to calculate
things like VO2-max and estimated recovery time.
But this is the
internet age. Just search for it on Google. Plug it into a calculator. Save
yourself the money.
Google, Apple, and
Samsung all offer free spreadsheet software that is every bit as powerful as
Microsoft Excel. If you know how to install a Linux instance on your home
computer, you can also access the Linux version of Excel for free. Or run it on
a $35 Raspberry Pi box. Whatever.
None of this
requires anything more than a basic knowledge of how to download files, upload
files, fill out a spreadsheet, use a calculator, and perform arithmetic. This
is not secret "tech knowledge" that only hackers understand. This is
like knowing how to put gasoline in your car.
This is a bit of a
passion project for me. I would love to be able to proof-out a
platform-agnostic smart watch that can simultaneously run on iOS, Android,
Linux, and Windows, and feed GPX files to Strava, Garmin Connect, Runtastic,
Smashrun, Apple Health, Samsung Health, and so on. I can "see," in my
mind's eye, exactly how to do it. The barriers appear to be time and money. But
if I ever do it, I think I'll give the software away for free. The hardware is
the only thing that's really worth selling.
____________________________
[1] There are some
time codes at the beginning and end of GPX files that are processed slightly
differently. When you see that Strava, for example, has given you a slightly
different mileage reading than Microsoft, this is because the two APIs are
pointing to different time codes. It's unclear to me which one is the
"real" code to use. However, it looks like Samsung and Microsoft use
one time code, while Garmin and Strava use another one. I don't know which one
is used by Apple, Polar, Runtastic, etc.
No comments:
Post a Comment