How to use WeatherSignal for Quantified Self tracking

While WeatherSignal is primarily designed to crowdsource Weather Readings you can also use it as a personal “tricorder” – for example to make highly localised maps of your surroundings, or even to monitor your own habits and interactions with the environment. That’s pretty abstract – let’s look at some examples of what you might want to do, then we’ll look at how you can use WeatherSignal to do it.

1. Activity tracking
Starting with WeatherSignal 1.8 we’ve incorporated “Activity Recognition” into the app. Using some very cool new APIs from Google – it is possibly the first third party app to incorporate them – WeatherSignal attempts to distinguish between when the phone is still, when the user is walking with it, on a bicycle, or in a vehicle. The app does not need to be open to collect this information, by default it will scan for it about once an hour, but you can increase the frequency. When you want to see what you’ve been up to, export the data to CSV and look for the act_type and act_con fields.

2. Migraine prediction
Gabe has just trekked round 20 of the largest cities in the US with a portfolio of very expensive phones. He’s had a lot of coffee. It’s enough to give anyone a headache. But Gabe also pointed out to me that the weather often triggers migraines – and there are many theories about it being linked to any one of pressure, humidity and even magnetic flux. All of which can be tracked with WeatherSignal (depending on your phone type).

Suppose you feel a migraine coming on and you want to try to work out what could be causing it, do the following to make a record of all the sensor data on your phone:
– open WeatherSignal
– go to the Report tab
– Write “migraine” or any other note in the Note box
– select the appropriate options for indoors/outdoors and the precipitation slider
– Hit Submit … and you’ve saved it
You’ll be able to find that row and others in your CSV when you export it.

3. Mood tracking
You don’t need to be a hipsterrific Quantified Self-er to track your mood, but it helps, and with WeatherSignal it’s very easy to look for links between mood and weather.
The process is similar to that described above: report mood in the same way you’d report a migraine (write it into the Note box). I suggest using a number scale – 1:10 for terrible to fantastic. Once you’ve built up some data you can look for patterns.

4. Detailed and off-beat environment mapping
How does the lighting at your office compare to the lighting at your house, and what about thw magnetic field strength in those two places? These might seem like boring questions, but given that we probably spend 80% of our lives in these two places, perhaps we should be more interested in these differences. You’ll likely be surprised by how uniquely moments in space and time are defined by the pattern of sensor readings on your phone. There’s more to the world than meets the eye, and a little bit of that hidden surplus is caught by your phone’s sensors.

Technical Guide:

When does WeatherSignal take readings?
To understand how to get the most out of WeatherSignal, you need to know when it takes readings:
– In the foreground (when the app is open) every second
– In the background (when the app is closed) approximately every hour, but it will attempt to not wake the device in order to take a scan, so it may wait up to two hours.
These can both be configured in the settings.
By default WeatherSignal caches 10,000 rows in its internal database (or 1000 if you first downloaded before v1.8) you can alter this in settings. If you’re really serious about QS tracking, you don’t need to manually export to the SDCard, just check “Auto-save data to CSV file when DB reaches limit” and the files will magically save themselves.
To get the data from CSV file you can use an SD Card Explorer or File Manager App, or just plug it into your computer and open as a flash drive. My preferred method is to open Dropbox and select the “upload file here” option and then “other files”. If people are keen we could add Dropbox integration, or simply an option to email the file.

2013-05-18 00.10.29

What’s the data structure of the CSV?
… See below:

Column Description Unit Default More
fg_bg whether reading was taken in foreground or background
row_tim time of reading (UTC)
tim_ofs timezone offset in milliseconds
not manually added note
not_age time before the reading that the not was taken (typically a couple of seconds)
prec “field to contain data from manual reports, to be configured”
prec_age age of the above
doo manual field for reporting whetehr device is indoors or outdoors
doo_age age of above
bat_tem battery temp in deci-degrees C (degrees*10) -998 here
bat_sts battery status “2:charging, 3:discharging, 4:not-charging, 5:full, 1:unknown” -998 here
bat_vol battery voltage milli Volts -998 here
bat_plg battery plugged status “4:plugged wireless, 1:plugged AC, 2:plugged USB” -998 here
bat_lvl battery level seems to be percentage -998 here
bat_hlt battery health “1:unknown, 2:good, 3:overheat, 4:dead, 5:over voltage, 6:unspecified-failure, 7:cold” -998 here
bat_tem_acc “accuracy field (as of 24/4/2013 no plans for anything here, but it may be added)”
bat_tem_age age of all the above battery fields
amb_tem ambient temperature from phones that have one
amb_tem_acc accuracy of above
amb_tem_age age of above
pre pressure -998
pre_acc accuracy of above
pre_age age of above
hum relative humidity -998
hum_acc accuracy of above
hum_age age of above
pro proximity “so far aobserved scale of 1:5 with only 1 and 5 being ever achieved, 1 is cllose, 5 is far” -998
pro_acc accuracy of above so far found to be empy
pro_age age of above
lig luminosity lux -998
lig_acc accuracy of above
lig_age age of above
mag_mag magnitude of the magentic vector micro Tesla -998
mag_x component of magentic vector along phone’s x-axis (will also dfepend on phone orientation) micro Tesla -998
mag_y ditto for y micro Tesla -998
mag_z ditto for z micro Tesla -998
mag_acc accuracy of above
mag_age age of above
acc_mag magnitude of the acceleration vector meters per second squared -998
acc_x component of acceleration vector along phone’s x-axis (will also dfepend on phone orientation) -998
acc_y ditto for y -998
acc_z ditto for z -998
acc_acc accuracy of above
acc_age age of above
rtv_mag magnitude of the rotational velocity vector -998
rtv_x check -998
rtv_y check -998
rtv_z check -998
rtv_acc accuracy of above
rtv_age age of above
rot_x check -998
rot_y check -998
rot_z check -998
rot_age age of above
lat latitude
lng longitude
loc_src location source “GPS, Network, Fused”
loc_acc location accuracy radius within which 67% of values lie (in metres)
loc_spe location speed
loc_alt location altitude
loc_bea bearing
loc_age age of location fix
loc_sat “nr of satellites used for fix, if available”
act_type “the current user activity – 0 in vehicle, 1 on bike, 2 on foot, 3 still, 4 unknown, 5 tilting “ 0-5 nbut may change if APIs are updated -998 here
act_con confidence in the above assessment of user activity (out of 100) 0-100
act_age age of the activity reading
api API level of device
apv app version code
This entry was posted in Quantified Self, WeatherSignal. Bookmark the permalink.

4 Responses to How to use WeatherSignal for Quantified Self tracking

  1. Pingback: OpenSignal - One Week of WeatherSignal

  2. johnrevo says:

    Awesome guide! I’ll be using this weather signals for my research. Thanks!

  3. Pingback: Data gathered from Android phones via OpenSignal app used in geoscience research | Alternative News Alert!

  4. Pingback: The Week in Context - News Round-up

Leave a Reply