covid-19_instant_tracing icon indicating copy to clipboard operation
covid-19_instant_tracing copied to clipboard

Has anyone started work on an open source app?

Open paulmaunders opened this issue 4 years ago • 25 comments

Hi,

I read your idea for a contact tracer app with interest and wondered if we could be of assistance. I run Internet businesses in the UK, and have some experience with app development.

I was originally thinking that a contact tracer app could listen for all bluetooth devices it comes in contact with, and record them in an internal database. If an app user becomes infected with COVID-19 they could then send a report to a central server with their own device mac address, which would then be synchronised to all app users and cross referenced with their internal DBs so you could alert all close contacts.

However, we are not experts with Bluetooth and we have been learning that it does have some privacy features which may randomise the mac addresses used. The implementations seem to vary between iOS and Android, so we have started looking at other nearby messaging frameworks to see what could be used.

Is there anyone already looking at this that we could coordinate our efforts with?

Regards,

Paul Maunders

paulmaunders avatar Mar 21 '20 13:03 paulmaunders

We have put together a document here with our initial ideas: https://docs.google.com/document/d/1CzlI5kzhf3hy4m9q6bfH2mM3TlMGmWZayITeTAe5L2I/edit#

We're currently looking for help identifying a suitable underlying device to device communication API. We've looked at the following, but they each have some limitations:

Bluetooth LE iBeacon - app based iBeacon - hardware based WiFi Aware Nearby Connections API p2pkit

paulmaunders avatar Mar 21 '20 15:03 paulmaunders

Hi Paul, its good to see someone is trying to implement it and i was thinking the same and i just saw this https://www.straitstimes.com/singapore/coronavirus-singapore-develops-smartphone-app-for-efficient-contact-tracing?xtor=CS3-18&utm_source=STiPhone&utm_medium=share&utm_term=2020-03-21%207%3A03%3A14 on news and it seems they are using BT too

but as far as i know the bluetooth API on android, there are some technical limitations, first of all, devices MUST BE PAIRED with other devices in order to send/receive data and that pairing process requires user control intentionally (so no way for automatically pairing and send/receive data, not sure how these Singapore team handle this problem) and so users have to pair their devices with other people's devices in every location they visit which is not practical of course

I think main important points of tracing is: 1-Location data 2-Time/Date data of each locations

And since app should be available/usable on both ANDROID/IOS platforms, GPS is far more realistic and usable option in my opinion

and technically GPS can track your location 7/24 (with the help of service APIs on Android) Another point is the app should be secured so that app MUST NOT be hackable or data MUST NOT be manipulated(AES can handle it i guess)

and app on each user's devices can record locations with date/time info non-stop, these recordings then can be uploaded to central DB in every 6 hour and if he/she gets infected, central DB can easily trace and find out other people who are in danger

sirmordred avatar Mar 21 '20 17:03 sirmordred

Hi Oğuzhan,

Thanks for your reply. I hadn't seen the TraceTogether app before, looks like the Bluetooth functionality was just launched in the last day or so. Perhaps the Singapore government will make it available to other countries if it works well, but it would still be good to get an open source option!

I think Bluetooth Low Energy may allow a basic connection without pairing: https://www.scip.ch/en/?labs.20170518 - it looks like you can retrieve certain characteristics from Generic Attribute Profile Services (GATT). Perhaps the TraceTogether app, is using this to broadcast some unique identifiers to other app users?

I like the idea of tracking via bluetooth rather than location because I think it will be better for privacy. If a user gets infected, all they need to do is notify their 'unique id' and send this to all other devices who can check their local contacts db. If it was done by location, then they would have to send their location history to everyone to compare.

I will keep researching BLE, and if you want to help with our efforts that would be great!

Cheers,

Paul

paulmaunders avatar Mar 21 '20 19:03 paulmaunders

Hi again Paul

Thanx for your informative feedback

Hmm thats the BLE and GATT stuff is interesting, i will absolutely check it

And i agree to you that the tracer app should be open source(i dont know why TraceTogether didn't release the source code, maybe its not production ready dont know but i hope they will do it asap)

And yes, if we can find an framework that does the job and meets our criteria for both IOS and Android platforms, that would be more suitable than GPS 👍 and i just checked the analysis document you guys created and it seems "Nearby Messaging API" is promising compared to other alternatives according to pros and cons

I have good knowledge on Android(both system development and app development) and middle level knowledge on IOS/swift, and proud to help you guys 👍

this crisis is globally and the virus is in battle with us human race now, we need to work cooperatively and i would be great and proud if at least one live can be saved with the tool we are creating 👍

here my gmail: [email protected] (i have also telegram it can be used for faster communication, i can send nickname through gmail)

Cheers

Oğuzhan

sirmordred avatar Mar 21 '20 23:03 sirmordred

Thanks Oguzhan, I will send you an invite to our Slack channel if you'd like to join that.

paulmaunders avatar Mar 21 '20 23:03 paulmaunders

Hi guys,

I'd love to get involved in this as well as long as it will be 100% open source - while my mobile development skills are quite rubbish, I could help developing the backend in Golang if needed - my address is octavian [at] metacoder.co.uk

Octavian

sigqu1t avatar Mar 22 '20 10:03 sigqu1t

Here's is out project if anyone else would like to help: https://github.com/memiah/contact-tracer

paulmaunders avatar Mar 22 '20 12:03 paulmaunders

Thanks, I would suggest looking at ultrasonic audio as well as a method, trying to find some decent open source libraries at the moment.

sigqu1t avatar Mar 22 '20 13:03 sigqu1t

Thanks Oguzhan, I will send you an invite to our Slack channel if you'd like to join that.

Awesome initiative Paul

TraceTogether solves the identity problem by pairing your mobile / cell number with a random number which is exchanged. See https://www.gov.sg/article/help-speed-up-contact-tracing-with-tracetogether.

I asked Singapore govt for open source today and will follow up.

Please could you add me to your slack channel?

Thanks & regards,

PS for Slack: my email is stephen.morrell [at] gmail dot com. Thanks!!

smorrel1 avatar Mar 23 '20 16:03 smorrel1

Hi @paulmaunders,

Very interested in helping with this effort. I'm a mobile developer. Specialize in iOS but also do cross-platform and have worked with bluetooth. Big concern of mine is that bluetooth can grab everyone in your apartment building (above and below you) so elevation comparisons would dramatically increase accuracy.

My email is RNorback [@] gmail.com. Would you mind adding me to the slack channel? I'd like to see how I can best jump in.

Looks like the code from Trace Together will be open sourced soon. One serious drawback is having to leave the app open. Would love to discuss further.

Best, Rob

Rnorback avatar Mar 23 '20 18:03 Rnorback

Hi @paulmaunders I live in the same TZ as Singapore so might have a hope of communicating with them.. I've got decent experience on the architecture/design side as well as teh security side.. coudl you add me?

baradhili avatar Mar 24 '20 01:03 baradhili

I have written a potential application design doc, with centralized, local storage and hybrid options. Centralized storage would avoid the risk of data loss due to device failures. I'm a back-end developer. I'd like to contribute as well. Please add me to the slack channel ([email protected])

bhushanRamnani avatar Mar 24 '20 08:03 bhushanRamnani

@bhushanRamnani have requested access to your doc. Thanks

baradhili avatar Mar 24 '20 08:03 baradhili

@bhushanRamnani have requested access to your doc. Thanks

My bad. Made the link sharable. Also attached the document to the comment.

bhushanRamnani avatar Mar 24 '20 09:03 bhushanRamnani

@baradhili please let me know your email address and I'll invite you. You can DM me on Twitter if you don't want to leave it here.

paulmaunders avatar Mar 24 '20 11:03 paulmaunders

@paulmaunders done

baradhili avatar Mar 24 '20 11:03 baradhili

@paulmaunders -- we also have developed our own contact tracer and have a working prototype as well. happy to contribute to this project if you will add me.

jcyu0208 avatar Mar 30 '20 04:03 jcyu0208

hi @jcyu0208 .. do you have a repo? we've got our up on app stores now for testing, but there is still room for improvement... - could you DM me your email to https://twitter.com/baradhili ?

baradhili avatar Mar 30 '20 04:03 baradhili

@paulmaunders
I have implemented Bluetooth ble scanning and advertising and open-sourced it Here is the repo link https://github.com/helloworldkr/Bluetooth-ble-beamer-and-scanner-for-tracing-corona-virus-infected-individual

helloworldkr avatar Mar 30 '20 09:03 helloworldkr

Hello @paulmaunders I am an android developer engineer with renault group in Paris . Would be pleasure to contribute to this project if can add me in loop. merci

kumarjitendra avatar Mar 30 '20 11:03 kumarjitendra

Hi kumarjitendra, if you could add me on Twitter I will PM you the link to our Slack channel: https://twitter.com/paulmaunders

paulmaunders avatar Mar 30 '20 12:03 paulmaunders

@paulmaunders add me too

helloworldkr avatar Mar 30 '20 12:03 helloworldkr

done I wrote you on twitter .

On Mon, Mar 30, 2020 at 2:42 PM kishlay raj [email protected] wrote:

@paulmaunders https://github.com/paulmaunders add me too

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/BDI-pathogens/covid-19_instant_tracing/issues/3#issuecomment-605975575, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB23ZIZPZDLONYUC7IHVRL3RKCHTBANCNFSM4LQ5MW4A .

-- Bien à vous, Jitendra Kumar software engineer Renault Group, Paris

kumarjitendra avatar Apr 01 '20 10:04 kumarjitendra

@paulmaunders add me too please

mtskvch avatar Apr 01 '20 11:04 mtskvch

Thank you all for your interest in our work. We are humbled that our work has inspired you, and amazed by the widespread wish to contribute to a coordinated effort on Coronavirus. Please rest assured that our multi-disciplinary research contribution is being combined with the expertise of government and external specialists from the key technology sectors concerned. You may also be interested in the PEPP-PT team which has just been announced: https://www.pepp-pt.org/

MichelleKendall avatar Apr 02 '20 09:04 MichelleKendall