I’m interested ways to easily track subjective events. For example I have small sporadic pain in a particular muscle. Some days I have no pain at all, and some days a twinge or two. I’ve had this for years, without it going away completely! My hope is that recording my pain events will allow me to figure out lifestyle changes that will fix the problem.
I am a mobile app developer. And I am considering developing an iOS and Android app that would record button presses on a wearable device. I don’t want to get my phone out each time I record an event. The Puck.js looks like a good candidate for the hardware.
Can anyone recommend an existing Android app that tracks hardware button presses?
Also, would you be interested in tracking events like this? If I knew other people were interested in using an app like this, it would increase my motivation to develop it.
Definitely interested in an app that allows for tracking events with the press of a button. And to use a wearable device is a smart move IMO.
Being that you’re considering developing a mobile application, would you consider enriching each “button press” with metadata such as location, time and other variables that could help you pinpoint what the cause of any given problem is? It would also be useful if I could both export and share my data.
Thank you for the post and for potentially putting this all together. I know how much time can go into planning, building and maintaining a programming project.
The Puck.js is indeed quite interesting to use as a one-button tracker. I’ve made this small website which can be used to setup a Puck into a stand-alone one-button tracker that stores all observations on the device and can download the data. It completely works with client-side javascript, so all data stays private. @esenabre used it for one of his self-research projects.
Implementing an automated sync to a mobile app would be really cool though, as the internal memory of the Puck.js isn’t too large (which means my approach requires manual download of the data in regular intervals, generating CSV files).
While I haven’t looked into puck.js, I have been investigating various button-like products that could provide me with additional methods to input symptoms/factors without having to use my phone. (for a variety of reasons, I’ve found I really dislike using my phone more than absolutely necessary)
I started looking into programmable soundboards like Adafruit NeoTrellis & Launchpad X | Novation so that I could customize a button (or sequence of buttons) to log a symptom event w/ a severity or a factor (ex. drank x flo z of water).
@rayOfSunshineXD completely agree about avoiding phone usage when possible!
How many different types of input events do you want? With one button it is possible to generate 4 different event types using long press, single, double and triple clicks.
@Complexworld
I was thinking of tracking these types of events:
Symptom
Severity: Press multiple times to increase severity (button color can change with each press to give user feedback)
Medication
Dosage (optional): Press multiple times to increase dosage. This would have to be customized per medication.
Factor
Ex 1: ‘Drank 8 fl oz of water’, additional presses increase amount of water drank
Ex 2: ‘Stressed’, additional presses indicate severity
Ex 3: ‘Hot/Cold environment’, additional presses cycle through options.
I also think it’d be cool to have some ‘controller’ buttons like:
‘Quick Entry Mode’: (on/off toggle) save event automatically after user is done interacting with a button. Button color & state will then be cleared.
‘New Record’: user can continuously add & update events through buttons until they’re satisfied with the set of events & properties
‘Save Record’: save the current button/event states & then clear the buttons
‘Update Previous Record’: user can press this to load the previously saved record as current so they can update how the symptoms/factors have progressed. Maybe: Pressing this button multiple times will load earlier entries?