Human virus tracking concept - DRAFT
Idea for a Mobile Device based Application to help stopping the spread of SARS-CoV-2 and contain the number of COVID-19 cases and potentially other epi- and pandemics.
Key parts
It is a rough concept of a system consisting of:
- a Mobile Application with distributed, local-only data collection and voluntary sharing at the users discretion
- a centralised Statistical database and analytical platform that can help to better understand the pandemic and provide usefull information to the users of the Mobile Application
Key benefits
There are two key areas this application could help with:
- Help tracing the people having an elevated probability of being infected with SARS-CoV-2 based on their connections to known infected peers.
- Help raising awareness of the situation and provide a solution that encourages social distancing and reduces risky individual behaviour.
Basic Idea
- Generate a unique ID for each user. It doesn't even have to be a nickname, it could be only a random sequence of numbers, characters whatever.
- Broadcast that ID over Bluetooth periodically, like every 10 sec or so. (Probably need auto adjustment to avoid congestion in crowded places.)
- Everyones device stores simple information of received broadcasts: date, time and probably signal strength as a very-very rough indicator of distance.
- Once someone finds out they are infected, their unique ID can be published in a public pool. Than everyone will be able to determine if they have been close to the given person and for how long without ever learning the location history of that person.
- To spice it up add some cryptography magic so one cannot really report anyone else as being infected, only the person owning the ID.
Problems to be solved
- Need to develop app in rapid manner for both Android and iPhone
- Need to educate public about how it is safe (no tracking or possibility for anyone to reconstruct their path apart from the small fractions they shared anonymously with people in close proximity) and how it is useful, so people would actually install and use it.
- Need to allow and push users to set up some basics to make the system useful, e.g.:
- Their home address or WiFi network need to be configured, so the app stops tracking at home, which is important, as we don't want to pollute the data with neighbours, as typically Bluetooth would penetrate walls towards others living in separate households, therefore really not relevant.
- At the same time users would be required to explicitly link their IDs with those they live in the same household, dorm-room etc.
- We also need to allow users to explicitly mark some additional contacts with strong susceptibility for transmission. It could be an event based system, for example one could register that they have kissed their mother 8 times last week (even retroactively) or they have shared a drink in the cinema and used the same straw etc.
- This would only work if people could easily get a hold of the ID of their friends, family and co-workers. Method can and should be varied, like NFC contact exchange, scanning QR code from other phone's screen, quick sync using speaker and microphone (right, not that fancy, however very robust for less tech minded people or people with access only to low tech devices. Yes, what I mean is to make a few sec analogue sound modem like sync between two mobile device over air in order to set up their relationship.
- It's nice that it only stores the information on the device until shared, but still devices can be hacked so some kind of encryption should be available.
- Device should stop broadcasting if it is left on a table for example. But how to detect when it's really left behind and when it is with the owner, just sitting on the desk beside them. Smartwatches could help with that, but most people still don't use smart watch, so it is a challenge. Good news is that most people tend to stick with their phone 24/7. Maybe it'd be enough to tell people to turn of broadcasting, if they leave their phones for a while. Provide simple to use widget to do so. Maybe even just by turning off Bluetooth, but than we risk them forgetting turning it back on. So app could detect movement and ask to turn on if not already. Something like that.
- People should be able to understand that just because their phone has received a signal of an infected individual does NOT mean they are infected. It is very important to prevent the App from inducing any level of panic. It should be useful and reassuring, but not provoking false sense of security OR danger.
- The app should encourage people to also regularly disclose them being asymptomatic, having mild susceptible symptoms or if they have been tested and got negative result
- Such information could be used to build statistical models on how likely it is for person X being infected if they have received the signal of knowingly infected person Y for Z times (as broadcasts are regular this roughly measures and translates into lenght of exposure) at signal level V (which is expected to statistically (but not individually!) correlates with distance from the infected person).
- There should probably be a period when the app only tells rough facts or not telling anything at all to avoid panic or inducing false sense of security. It should be communicated clearly that the system should first learn for a period of time, like a week at least or so. In the second phase the app may show information but in a carefully designed manner. The app should never state that the user is infected or clear, however it could have a risk counter similar to a Geiger counter accumulating risk points over time allowing the user to learn what was risky and what was their safest movements, actions, decisions. But it should NOT say you have 15% of being infected or so! People could not grasp that and would cause panic or false sense of security. It's much better to accumulate dimensionless points, which promotes alertness and avoidance of risky actions, but not really saying anything really about chances. optionally it could really make sound or vibration indicating per moment assumed risk by frequency of sound/vibration... like a Geiger counter.
- It should make recommendations to avoid certain places and may offer estimated risk indication of certain actions. For example an user could ask the app, how much my risk increases to contract the virus if I go to shop A at time B and spend half hour there or so.
Problems requiring further investigation
- I'm not sure if Bluetooth is good for such use or not? How would it work if many phones start to broadcast at the same time in close proximity?
- Effective congestion handling is an absolute must, but also there may be technical difficulties I'm not aware of. Power consumption I'm not sure about either.
- If the app drains battery too fast, it's useless.
- Deriving meaningful distance estimate from Bluetooth. First of all, it is simply not possible. Bluetooth is not designed for that and environment affects the signal so much that it'd be pretty much only be able to tell if signal was received or not. But maybe we could store the signal strength too, and use it to calculate the risk factors. Indeed it's very noisy, but also we can expect it to correlate with transmission probability, so not useless, only the info MUST be taken with a lot of caution.
Other possibilities
- In environments with many devices using the App there may be opportunity to use the devices as a distributed system to in some way triangulate an estimated distance map for the devices being connected for better distance details and predictions.
- Also when lot of devices are close to each other some devices may forward the IDs of other devices, so even if not all device can talk to each other due to interference, those devices one hop away may still be very close and may be useful to store.
That's all for now.
Please don't hesitate to get in touch if you are interested in such a project an can offer meaningful skills or contribution to make this reality for humanity.
PS:
I'm willing to get into a variety of tech projects, but unfortunately I've never been involved with mobile app dev so far, so I cannot bring this idea to fruition. However this project needs a lot of expertise ranging from development skills to skills in data analysis, design, conceptualization, project management etc. I'm willing to contribute my brain as much as I can.
I'd like to dedicate these and other associated ideas to the public to avoid greed and magnetization of what is meant for the benefit of all.
On top of that even if such a project could not be brought to fruition, it may still be a valuable idea to design such system and open-source the design preventing others from patenting it - if that's possible.
Author: Bence Szalai (bence@sbnc.eu)
SBNC
International multi‑domain IT Consultancy
- Business Analysis
- Requirements Management
- Coding & SW Development
- Process Formalisation
- Systems Engineering
- Custom Solutions
- and more...
Ask me an IT or general question!
I'll give you an answer or I'll give you another question to progress with!
Get in touch?