How it works: Gene Shaver's monitoring app, "Cryonics Monitoring", can be installed on a Fitbit Sense. The user also has to install the Fitbit smartphone app, which is available for Android or iPhone. To set up the system correctly, you'll have to follow the install instructions given by Gene in a step-by-step guide because there are a few specific things that need to be properly set in order for monitoring to function optimally. In addition to installing the watch app on the Fitbit Sense and the Fitbit smartphone app, you'll create an account and configure your contacts and other settings on a website. Additional details are available here. The app is based around heart rate readings, and you can see details on the architecture below.
High-level summary of issues: Gene Shaver's Fitbit Sense Monitoring App
Before getting into the issues, I would point out that Gene has taken into consideration and provisioned for many of the major issues routinely faced by these types of systems. He did this even down to smaller details such as taking care to count sync delay times and Bluetooth disconnection intervals and alerting the user once they passed their custom thresholds for such things. He has also provisioned for edge cases in which an emergency occurs when the device's Bluetooth is disconnected from the phone, saving the relevant data and restarting the app in attempts to re-establish connection.
But there are some areas that could be improved and some things to be concerned about. Gene's solution is based around a light-based PPG heart rate sensor on the wrist. As I have written about at length, these components are not tuned for our use case and can get us into a lot of trouble. Especially when we attempt to make decisions based on their pre-processed data rather than raw data. On the Fitbit Sense, only the pre-processed data stream is available, unfortunately.
From an engineering standpoint, this kind of solution is problematic because the HR sensor is essentially a black box to us. A black box that the manufacturer, Google LLC, may modify without our knowledge at any time and for which we don't know important details about its configuration. As a result, we can't really anticipate with any precision or test how this sensor will behave in a real-world cryonics scenario. The behavior of the sensor is highly varied due to a number of factors, such as how loosely the watch is being worn and how much ambient light or electronic noise there is in the environment. Furthermore, a software update could invalidate our testing. We may not even notice it, given that version update information is usually not specified at a level detailed enough for us to determine if the update may affect the reliability of our solution, for example, because modifications to sensor processing have been made.
As a result, we can only have rough estimates of how long it will take for this solution to correctly identify that the user has no pulse. But in reality, we don't really know, and in the worst case, the sensor fails to make the appropriate determination before the battery of the watch runs out, meaning an alarm will never sound.
Gene and I have done a number of experiments in attempts to understand this device's sensor and get an idea of how it might behave in the scenario we care about. To my knowledge, Gene has placed the device on raw chicken breasts. I have placed it on raw chicken drumsticks. This may sound silly, but if you experiment with one of these devices on inanimate objects, you will quickly realize that it behaves well on some objects and not on others. When a surface is opaque or reflective, the light will bounce back at the sensor, and it can usually determine that the object has no heart rate and will do so fairly quickly (e.g., on the first reading attempt). However, for more translucent items and those that can absorb light, such as a pillow, an accurate determination may not occur for hours. We both converged on using chicken in testing independently, with the line of thinking being that these had the material qualities most similar to a human wrist. I chose the drumstick due to the skin, bone, and cartilage, in the event that those things were relevant (we're assuming the calibration of these devices was done almost exclusively on human wrists, and so we're attempting to create as much of a real-world scenario as possible).
So what happens on the chicken?
Well, that also depends. It depends on:
- How tightly the watch is affixed to the chicken
- How light/dark the room is it's in
- How long the device was on the human wrist before being transferred to the inanimate object
Through experimentation, we found out that all these factors appear to be relevant to the outcome of how long it takes for the device to accurately identify that there is no pulse on the object. The third factor, how long the device was on a human wrist beforehand, likely matters because the sensor is noticing a difference between the data when on the wrist and when on the inanimate object. One concern may be that if the user has a weak pulse before unattended death, then such calibration of the sensor would not factor in as much. We can't know, and these calibration details are not available to us because we don't have enough access to or control over this sensor.
Prior to discussing my own research findings, I want to point out that Gene's experimentation on chicken breasts yielded lower alarm times than did my experimentation on drumsticks. Make of that what you will. We don't know the reasons, and we don't know what we were doing differently that mattered. Which just goes to show how much guessing and uncertainty there is around how this particular device will behave in a real-world scenario.
Consider the below n=30 test data of Gene's system:
We see that most alarm times stack up around 3 hours and 45 minutes, while we do get some that occur almost immediately. Why? It's not clear what really caused the variability. Gene got more times in the 5-minute range. Why? Were we on a different app version? Does he have a stronger pulse than me when wearing the sensor before putting it on the chicken? Is the difference between chicken breasts and chicken drumsticks meaningful? Unfortunately, we don't really know.
Gene avoids false positives by checking if the user has moved in the 20 seconds around the time where the watch finds no HR. Excessive movement, especially when the watch is worn loose, can cause the heart rate sensor to fail.
How does the system stack up against other current options?
I put question marks in the 'Best', 'Worst' and 'Average' columns because, when it comes down to it, despite all my experimentation with this device on chicken, I really don't know. The alarm might go off immediately in the real world if the sensor gets it right, and the app does have a direct, continuous stream from the sensor. But we don't know if both conditions will occur. Both Gene and I have encountered the sensor getting it right immediately some of the time. For 'Average', it could be 5 minutes on average, or it could be 3 hours. If we take my tested "3 hrs 45 min" as an average time when the alarm might sound, that would put this solution in a better situation than the alternatives. But we still have to proceed with caution and probably also have a secondary monitoring system in place, such as a check-in app, to improve our odds. I can say, though, that in my n=30 controlled experimentation with chicken, in all cases the alarm did eventually sound. So the false negative situations with this particular device seem temporary rather than indefinite.
Gene understands the limits of this system and is currently working on a different solution. Another concern about the solution revolves around the longevity of the Fitbit Sense. How long can we use this device, which has the majority of the features we need?
Summary: Gene Shaver's Cryonics Monitoring is attuned to many of the relevant design details, but is hindered by the black box nature of the sensor on which it is based around. With this black box aspect, we can't really anticipate and test it. It's expected behavior remains somewhat elusive, and so we can't get a good handle on the best, average or worst alarm times. There are ways around this issue, ways to design a solution, even without direct PPG sensor access, to address the "unknown" aspect (which involve continuously tracking motion as well as HR). For more details, read about our 'Smart-Motion on Fitbit Sense' project that is currently being built.