Interim time stamps / time metadata other than start and finish times

Hi,

I was wondering if anyone knows of a way to collect, as metadata, interim
time stamps - for example, recording the time when the surveyor switches
from one section of the survey to the next.

At the moment I have the start and finish times collected as metadata, but
was hoping to record how long it took to complete individual sections -
particularly useful when trying to streamline a long survey.

I'd be really grateful if anyone knows how to do this as metadata.

At the moment, the only thing I can think of is to include a 'time'
question, and rely on it defaulting to the current time - but this still
requires the interviewer to swipe through a screen, making life more
complicated for him/her and adding to the time the survey takes to
complete.

Thanks!

-TLG

This is problematic to do within the context of XForms because the values
will be changed if the form is ever edited or opened for review and saved
-- any update to a value would update the recorded timestamp to the moment
of last traversal.

If you were to try to do this, javarosa (the engine underlying ODK
Collect), in its attempt to be efficient, looks at dependencies in the
calculate formulas and evaluates and saves these values as early as
possible; it only updates them when a dependent value is known to have
changed. If you calculate expression was just "now()", then javarosa would
evaluate and save the starttime in that field, and never re-evaluate it.
This makes it even more difficult to craft calculated fields which track
progress through the form, as you have to add junk logic to the calculate
to get javarosa to re-evaluate and update the expression. Finally, there
is also a bug that prevents now() and today() from having anything other
than 1 value be returned (this will be fixed in the next ODK Collect
release).

Instead, for user interaction studies, we have created a mechanism to
capture the full interaction of the user with ODK Collect. It captures
actions on all the ODK Collect screens; it is not submission-specific or
form-specific. The data is written to a SQLite database, which you would
have to manually copy off the device.

To enable this feature, after installing ODK Collect, within the odk
directory on the external storage, create a 'log' subdirectory and place a
file named 'enabled' (no file extension) in that directory. Ensure that ODK
Collect is stopped (use the Application / Manage Applications to stop it),
then, when you next open ODK Collect, it should start emitting log records
to the SQLite database: odk/log/activityLog.db

Mitch

ยทยทยท On Fri, Jun 7, 2013 at 7:49 AM, TLG wrote:

Hi,

I was wondering if anyone knows of a way to collect, as metadata, interim
time stamps - for example, recording the time when the surveyor switches
from one section of the survey to the next.

At the moment I have the start and finish times collected as metadata, but
was hoping to record how long it took to complete individual sections -
particularly useful when trying to streamline a long survey.

I'd be really grateful if anyone knows how to do this as metadata.

At the moment, the only thing I can think of is to include a 'time'
question, and rely on it defaulting to the current time - but this still
requires the interviewer to swipe through a screen, making life more
complicated for him/her and adding to the time the survey takes to
complete.

Thanks!

-TLG

--

Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en


You received this message because you are subscribed to the Google Groups
"ODK Community" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com