I think I muddied the waters when I described this to the TSC.
This proposal is very narrow and rightfully so. It is only to enable the collection of a single geopoint in the background on form load and it's really about the XLSForm syntax. Other background location gathering (e.g., on value change, in repeats) will require different syntax (probably an on_change column).
In the generated XForms, this seems reasonable to me.
<bind nodeset="/data/my-location" type="geopoint" />
<odk:setgeopoint ref="/data/my-location" event="odk-instance-first-load" />
odk:setgeopoint
is a proposed change to the current spec that we can discuss more at Spec addition proposal: location preload. My argument for that change is that current geopoint format is bad and we should change it to some standard format and it seems reasonable to maybe save odk:setlocation
for that.
In XLSForms, this seems reasonable to me:
- type:
start-geopoint, end-geopoint
It's reasonable because we are adding a geopoint at first load, which is analogous to adding a timestamp at first load. We called that start
and calling this start-geopoint
seems reasonable (maybe we can add a start-datetime
alias).
- I don't like
auto
because it's not a differentiator. We'll never have amanual-start-location
because we already havegeopoint
. - I don't like
location
it could be confusing. If you havestart-location
andend-location
, someone might expect that those are action that start a background trace. Also, we might want to save thelocation
word for a different format. I don't feel super strongly about that though.