Koronako app is a trial to track devices with bluetooth to help to estimate exposures. The app main idea is to maintain privacy. Of course that reduces the efficiency. No pairing of the phones are needed.
The tracking what the app does is taking seven last letters from your device name and from a close phone name. From those names both phones can count and save independently the same number so they can later check from server if the phone exposed or not. The first part of the code is a current day. Multiple phone pairs might have the same result, but I assume that this not very probable. If there are too many false alarms, more letters could be taken to account. Some simulation should be made to set up right amount of the saved data.
When you send your infection data to the server you lose the ability to check your exposures on those days. That reduces the motivation to send false data to the server.
Coding in version 0.1.4 is still preliminary. The app can be used only for testing purposes.
For the testing you can either use my test server or set up your own server.
The known limitations are:
-Bluetooth settings and visibility has to be cared manually, no info is sent to user if bluetooth is off
- Could not get to work with Jolla 1 :(, only Xperia X and Jolla C tested succesfully
The app code is released:
https://github.com/Rikujolla/harbour-koronako
The server code is released:
https://github.com/Rikujolla/koronako-server
Read https://github.com/Rikujolla/koronako-server/blob/master/README.md for server installation. Server checks if the app version is high enough.
Android version source code is released:
https://github.com/Rikujolla/android-koronako
Android version for Google Play wi be accepted only for government users. F-doid seems to be too hard for me. Apk can be downloaded from location:
https://drive.google.com/drive/folders/1B-XsxA-kaRDwRFODtJLYh6umkdg9bGWx...
Due to Android limitations the orgiginal address based approach is changed to name based.
"QBluetoothAddress QBluetoothLocalDevice::address() const
Returns the MAC address of this Bluetooth device.
Note: On Android, this function always returns the constant value 02:00:00:00:00:00 as local address starting with Android 6.0. The programmatic access to the device's local MAC address was removed."
Attachment | Size | Date |
---|---|---|
harbour-koronako-0.1.1-1.armv7hl.rpm | 64.45 KB | 27/06/2020 - 15:01 |
harbour-koronako-0.1.2-1.armv7hl.rpm | 69.59 KB | 11/07/2020 - 11:55 |
harbour-koronako-0.1.4-1.armv7hl.rpm | 68.01 KB | 06/08/2020 - 07:15 |
- Published to work with a server version 0.1.4
Comments
glanternier
Sat, 2020/06/27 - 17:17
Permalink
Bringing your app to Android could increase user base indeed
Rikujolla
Sat, 2020/06/27 - 19:18
Permalink
That is the intention. Play Store seems to be more complicated to get app in. I'm happy now of being able to create a workable app with Qtcreator to Android. Hopefully some other day it can be installed from the store.
naytsyrhc
Tue, 2020/06/16 - 19:09
Permalink
Maybe this one could be used as a client to https://github.com/corona-warn-app. Would increase the userbase significantly ;-)
Rikujolla
Wed, 2020/06/17 - 02:03
Permalink
Thanks for the hint! Though I think the coding is more complicated than mine and beoynd my skills. Also it relies on Google/IOS apis which are not available for the SailfishOS. I plan to publish an Qt Android version of my app to allow more testers.
Firefox84
Mon, 2020/08/31 - 23:17
Permalink
https://openrepos.net/content/flypig/contrac
Isn't that App an attempt to integrate the Google/iOS APIs? How about a collaboration between your two apps :)
Rikujolla
Tue, 2020/09/01 - 17:50
Permalink
Thanks for that hint. I will explore that solution.
4carlos
Sun, 2020/05/24 - 07:59
Permalink
Nice finger exercise, but here's the problem, aside from tracking:
"For the full experience you should have 2 SailfishOS phones and e.g. linux computer to set up a server."
Do you find the mistake? Few thousand SFOS users across all continents? Except for 1 Jolla and 1 Gemini, I have never seen another SFOS phone in normal life. With Linux computers, the chances would now be greater.
I suspect that your app is a technical exercise.
Rikujolla
Sun, 2020/05/24 - 08:18
Permalink
I understand, similar app should be developed for Android and IOS also. Maybe I should have wroted "For the minimum experience...":) Before that you can use this app to count phones having bluetooth visible close of you.
PawelSpoon
Sun, 2020/05/24 - 07:30
Permalink
Nazzareno, maybe it is already a bad idea ro use a mobile phone.
Kabouik
Sun, 2020/05/24 - 02:27
Permalink
This app doesn't seem to do any tracking if I'm not mistaken Nazzareno, so I don't understand the anger.
Rikujolla
Sun, 2020/05/24 - 08:08
Permalink
The tracking what the app does is taking from your bluetooth address e.g. 1A:2B:3C:4D:5E:6F numbers 2,3,4,5,6 and from close phone e.g. 6F:5E:4D:3C:2B:1A numbers 5,4,3,2,1. From those numbers both phones can count and save independently the same number so they can later check from server if I am exposed or not. The first part of the code is a current day. The summed code would be in this example case today 24th 24:07:07:07:07:07. Multiple phone pairs might have the same result, but I assume that this not very probable. If there are too many false alarms, more numbers could be taken to account. Some simulation should be made to set up right amount of the saved data.
nazzareno
Sun, 2020/05/24 - 02:12
Permalink
You had a bad idea. Jolla and sailfish are independent and do not support the f***** system. I say no to your app.
Rikujolla
Sun, 2020/05/24 - 07:47
Permalink
Hi nazzareno, I understand your feeling. Though currently my app saves less data than the system itself. There are two privacy concerns. It is always risky to switch bluetooth on and visible. Also if there were centralized server to save infection data maybe some risk might arise.
nerd7473
Sat, 2020/05/23 - 22:45
Permalink
No
glanternier
Sat, 2020/05/23 - 19:28
Permalink
Does this app rely on existing frameworks like pepp-pt?
Rikujolla
Sat, 2020/05/23 - 20:25
Permalink
I think my approach is more statistical than chain oriented. If I have understood right pepp-pt server can send information to all infected. In my solution no chain can be made and server cannot send any information actively to clients. Client has to check the exposure from the server.
Server saves only mixed bluetooth addresses of infected person. There is no real bluetooth address where server could contact. The only way to check the exposure is that client contacts the server.
glanternier
Tue, 2020/05/26 - 22:49
Permalink
Ok I understand