Koronako

Rating: 
5
Your rating: None Average: 5 (4 votes)

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."

Screenshots: 
Application versions: 
AttachmentSizeDate
File harbour-koronako-0.1.1-1.armv7hl.rpm64.45 KB27/06/2020 - 15:01
File harbour-koronako-0.1.2-1.armv7hl.rpm69.59 KB11/07/2020 - 11:55
File harbour-koronako-0.1.4-1.armv7hl.rpm68.01 KB06/08/2020 - 07:15
Changelog: 

- Published to work with a server version 0.1.4

Comments

glanternier's picture

Bringing your app to Android could increase user base indeed

Rikujolla's picture

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's picture

Maybe this one could be used as a client to https://github.com/corona-warn-app. Would increase the userbase significantly ;-)

Rikujolla's picture

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's picture

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's picture

Thanks for that hint. I will explore that solution.

4carlos's picture

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's picture

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's picture

Nazzareno, maybe it is already a bad idea ro use a mobile phone.

Kabouik's picture

This app doesn't seem to do any tracking if I'm not mistaken Nazzareno, so I don't understand the anger.

Rikujolla's picture

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's picture

You had a bad idea. Jolla and sailfish are independent and do not support the f***** system. I say no to your app.

Rikujolla's picture

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's picture

No

glanternier's picture

Does this app rely on existing frameworks like pepp-pt?

Rikujolla's picture

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's picture

Ok I understand