ProteGO-Safe / specs

Opis, specyfikacja i zadania. Zacznij tutaj.
GNU General Public License v3.0
117 stars 29 forks source link

[Moje uwagi / pierwsze "user experience": bateria etc.] #126

Closed Dr-Kownacki closed 4 years ago

Dr-Kownacki commented 4 years ago

Dotąd głównie teoretyzowałem tutaj, czas na jakieś konkrety :-)

Telefon: CAT S61, android 9: ProteGo safe 3.0.1:

1) Aplikację z odpalonym BLE mam włączoną już drugą dobę i nie zauważyłem istotnego/zauważalnego dla mnie wpływu na poziom baterii - empirycznie łapie się to w rozrzucie codziennego różnego nasilenia korzystania z telefonu. Generalnie dla mnie pozostaje zatem to bez wpływu - telefon ładuję w nocy, jest ładowany codziennie. Stąd miłym zaskoczeniem jest że w zasadzie to ciągłe "rozgłaszanie się telefonu" nie ma w moim przypadku zauważalnego wpływu na baterię.

2) Podczas włączenia aplikacji parowałem rózne akcesoria BT żeby sprawdzić czy nie ma jakiegoś uchwytnego wpływu na ich pracę/stabilność etc.. Póki co take urządzenia: a) słuchawka BT b) zewnętrzna klawiatura BT c) skaner OBD-II BT do auta.

Wszystkie w/w. bez problemu się parowały i działały podczas pracy w tle Protego safe, żadnych odchyleń od normy nie zaobserwowałem, co cieszy.

3) Przy wyłączeniu funkcjonalności BT "całościowo" w telefonie, aplikacja ostrzegała że nie działa tracing, natomiast po włączeniu BT "całościowo" funkcja wewnątrz aplikacji pozostawała WYŁĄCZONA chociaż "całość" wyłączałem przy WŁĄCZONEJ. Czy jest to wada czy zaleta - nie wiem jeszcze, ale aplikacja skutecznie przypominała, że BT jest w niej wyłączony już po włączeniu BT "całości" więc nie można niechcący tego dezaktywować i potem zapomnieć włączyć z powrotem. Dyskusyjne jest czy powinno "samo się włączać" skoro było poprzednio włączone - temat otwarty ale chyba nie tak bardzo istotny...

4) Zauważyłem że w aplikacji nie ma informacji, które prawdopodobnie mogłyby być przydatne dla użytkownika w zakresie oceny tracing'u:

a)  jakiekolwiek informacje, że aplikacja rzeczywiście połączyła się z serwerem, coś sprawdziła "centralnie" oraz SKUTECZNIE (pełna sesja etc.) i kiedy miało to miejsce ostatni raz

b) zaproponowałbym jakiś "licznik" pokazujący "przebieg" aplikacjii tzn. takie info dla użytkownika LOKALNE pokazujące ile razy rzeczywiście to rozgłoszenie się miało miejsce. W ten sposób użytkownik miałby wgląd i dobre samopoczucie że wszystko działa OK i "przybywa" tych rozgłoszeń w czasie - licznik nabija je :-)

c) nie mam jeszcze możliwości sprawdzenia co realnie telefon rozgłasza i czy rzeczywiście coś rozgłasza zwł. jak jest uśpiony-nieużywany (zgaszony ekran). Nie ukrywam że ta ciekawość narosła we mnie po tak pozytywnym zaskoczeniu z baterią. Mam nadzieję w przyszłym tygodniu porobić trochę testów "nasłuchowych" żeby po prostu realnie "zobaczyć" że to działa i że działa bez zmian i zależności od tego co robi telefon i w jakim jest stanie.Jak to sprawdzę na moim urządzeniu to dam tutaj znać. Myślę że ten "licznik" zaproponowany powyżej w "b" też pozwalałby w przybliżeniu oszacować czy/jak to działa na każdym urządzeniu każdego użytkownika stąd ew. debugging byłby ułatwiony na pewno bo w ten sposób każde urządzenie/wersja byłoby weryfikowalne w prosty sposób przez użytkownika, a teraz to jest "black box".

d) kolejną kwestią mógłby być też jakiś prosty "licznik spotkań" czyli o ile w b) wiemy że my rozgłaszamy skutecznie to tutaj mielibyśmy wgląd w to, że "skutecznie nasłuchujemy innych - łapiemy tylko realne kontakty"" - moim zdaniem to byłoby spore ułatwienie dla weryfikowania jak działa algorytm weryfikujący czy to było "prawdziwe spotkanie".

W moim przekonaniu zarówno b) jak i d) mogłyby zostać pozytywnie odebrane przez użytkowników, który dostaliby "namacalny dowód że to rzeczywiście działa" co mogłoby wypłynąć pozytywnie na popularność instalowania tej aplikacji

5) Aplikacja podaje status ryzyka użytkownika (jak sama informuje) na podstawie wypełnionego kwestionariusza i nie ma w opisie statusu ani słowa o "exposure/tracing'u" stąd jak to teraz jest ? Czy to działa jakoś już teraz czy nie działa z serwerem? Bo jeżeli (jakkolwiek) działa, to powinno być przy statusie wspomniane na ten temat że tracing jest wzięty (jakoś ? jak?) pod uwagę.Ja wiem że docelowo będzie API G+A pewnie, ale tam tak samo takie info będzie potrzebne, ale póki co - mamy to co mamy stąd warto wpisać jakieś krótkie info chyba.

6)  WIP (?) Pytanie do @MateuszRomanow czy w MC o tych QR-kodach wspomnianych wcześniej przeze mnie rozmawiałeś już może ? Dla mnie to mega-ważna rzecz i użyteczność w pracy, stąd o tym przypominam na wszelki wypadek jeszcze raz: QR-kody, jak postulowałem w zamkniętym już wątku - #108 jest bardzo potrzebny przede wszystkim do wymiany informacji pomiędzy spotykającymi się użytkownikami który w ten sposób potwierdzają REALNE spotkanie i już z poziomu samej aplikacji (bez serwera, bez BT) mogli by się tworząc LOKALNĄ bazę jakoś ostrzegać (chociaż nie byłoby to pozbawione oczywiście ryzyka "wygłupów" natomiast byłyby one już nie-anonimowe (tak samo można komuś wysłać nieprawdziwy głupi SMS że jest się chorym) stąd raczej bym się tego nie bał, skoro info przez QR-kod byłoby przesyłane bilateralnie z zachowaniem lokalizacji LOKALNIE za obustronną zgodą użytkowników zapisywane/ Dyskutowana w innych wątkach kwestia QR-kodów (SKLEPY) jest trochę pokręcona, bo ja nie rozumiem czy idea ma być taka, że :

7) Jeśli chodzi o GUI aplikacji to przynajmniej na moim telefonie wydawać się może że tekst miejscami jest zbyt mały dla wielu, zwł. starszych osób. Na pierwszej stronie w ramce jest podana WAŻNA INFORMACJA i podany telefon na infolinię NFZ ale ten telefon nie jest ani odpowiednio BOLDEM, ani tym bardziej nie da się automatycznie użyć go do aktywnego zadzwonienia z niego.

Podobnie wszystkie numery telefonów szpitali zakaźnych są nieaktywne i nie da się bezpośrednio użyć ich do zadzwonienia.

8) Jak już pisano nie ma informacji "jak działa tracing" nigdzie (wiem że trwa proces edycji tego info) w aplikacji, i użytkownik na "coś" się godzi/albo nie godzi ale nie wie (nadal jeszcze, ale jak mniemam to będzie) na co i jak to działa. BTW: czy gdziekolwiek jest już może zdefiniowane info nawet WIP tego dokumentu/opisu - jak rozumiem to adaptacja BlueTrace ?

Tyle wstępnych komentarzy, postaram się dorzucić tu więcej z czasem. Pozdrawiam.

qLb commented 4 years ago

Przepraszam, ze tak rzeczowo ale przejde odrazu do konkretow:

  1. Milo widziec, ze nasze optymalizacje nie poszly na marne :)

  2. Rowniez milo

  3. Na celu mamy kompletna transparentnosc i dobrowolnosc decyzji dotyczacych modulu BT. Potwierdze jeszcze czy opracowane scenariusze zakladaja taki ciag zdarzen

  4. a. Ze wzgledow bezpieczenstwa chwila kontaktu z serwerem nie jest logowana - teoretycznie pozwalalo by to na reverse-engineering algorytmow anonimizacji. b. Rowniez ze wzgledu na prywatnosc i bezpieczenstwo uzytkownikow nie planujemy indykatorow z licznikiem kontaktow c. Zgodnie z zaleceniami specjalistwo od cyberbezpieczenstwa aplikacji typu health-care wszelkie moduly debug'u, raportowania bledow i analizy sugnalow z aplikacji koncowych zostaly skutecznie usuniete z produkcyjnych wersji aplikacji. Tutaj wyrocznia jest posrednio HIPAA ale i GDPR i inne regulacje dotyczace aplikacji majacej zwiazek ze zdrowiem i zyciem ludzi. d. j/w

  5. Contact tracing nie jest wykorzystywany do oceny ryzyka m.in. dlatego, iz tylko uzytkownik potwierdzony przez GIS jako prztestowany pozytywnie na obecnosc Covid-19 posiada mozliwosc uploadu listy tempID napotkanych urzadzen wykonujac polecenia bezposrednio z Centrum Kontaktu. Tak wiec nie ma mozliwosci polaczenia obu praktyk (ankieta i triage + CT) by zwiekszyc skutecznosc oceny ryzyka - dane z CT nie maja z tym nic wspolnego.

  6. Instytucje w aktualnej specyfikacji sa "slepe i gluche" tj. nie rejestruja kontaktu z uzytkownikami ProteGO Safe. Tylko uzytkownicy na urzedzeniach z potwierdzona zgoda na uzywanie modulu BT moga rejestrowac inne urzadzenia. Aplikacja QR dla instytucji w przyszlych implementacjach najprawdopodobniej uzyska autonomie a jej integracja z aplikacja ProteGO Safe zostanie przeprojektowania az bedzie calkowicie bezpieczna i kompatybilna.

  7. Wszystkie poprawki dotyczace Dostepnosci aplikacji beda wprowadzane na bierzaco. Dziekuje za zwrocenie uwagi na fakt czytelnosci informacji - zapewniam, ze nasi projektanci wiedza o tym i maja to na liscie zadan do zrobienia.

  8. Tak, jest to Implementacja OpenTrace ale pozbawiona obowiazku rejestracji numeru telefonu.

PS. Robimy wszystko by usprawnic przeplyw informacji na forum publicznym. Jak tylko dokument techniczny w tym aspekcie bedzie gotowy do publikacji, pojawi sie w tym repozytorium :)

pkleczko commented 4 years ago

ad 3) Po ponownym włączeniu "całościowo" BT aplikacja powinna wznowić skanowanie (po pewnym czasie, od kilku do kilkudziesięciu sekund), w tym ponownie w powiadomieniu wyświetlić informacji o takim statusie. @Dr-Kownacki czy po np. minucie nadal pokazywała że nie skanuje?

Dr-Kownacki commented 4 years ago

@pkleczko spróbowałem teraz ponownie i to zjawisko już NIE występuje u mnie aktualnie, ale poprzednio nie spróbowałem "odtworzyć sytuacji" więc albo to był jakiś jednorazowy fenomen (!) albo... ja się sam zakręciłem z włączeniem/wyłączeniem i mógł to być mój błąd, będę jeszcze sprawdzał co jakiś czas na wszelki wypadek :-)

qLb commented 4 years ago

@Dr-Kownacki jesli to juz wszystko to zamknijmy ten watek.

Dr-Kownacki commented 4 years ago

Otwieram ponownie @qLb , bo aktualnie mam taką sprzeczną kombinację informacji:

a) na belce głównej systemu znaczek że działa aplikacja w tle.

b) Po wygaszeniu i włączeniu ekranu telefonu ta sama informacja, że "ProteGo skanuje otoczenie"

**ALE

c) ja wczoraj wieczorem WYŁĄCZYŁEM skanowanie BT w preferencjach i nadal to ustawienie jest u mnie WYŁĄCZONE**, pomimo tego "niby" (?) skanuje się otoczenie - ale czy ja coś "rozglaszam" teraz ???

BT w telefonie mam oczywiście włączony.

Czy ktoś zaobserwował podobne zjawisko u siebie ? Telefon/system/wersja j.w., niczego nie zmieniałem. Pozdrawiam.

EDIT: wyłączyłem BT w telefonie, napisało mi warning że aplikacja nie skanuje. W ustawieniach aplikacji nadal mam WYŁĄCZONE skanowanie BT.

Ponownie włączyłem BT w telefonie i info z powrotem że "Aplikacja skanuje..", w ustawieniach nadal jest "wyłączone".

Zrobiłem restart telefonu. Włączyłem aplikację ponownie. Nadal ustawienie jest w aplikacji jesr "wyłączone" ale aplikacja już w tle nie skanuje.

Uruchomiłem ponownie skanowanie w aplikacji, status OK - skanuje otoczenie.

Wyłączyłem BT w telefonie, jest warning że aplikacja nie skanuje. W warningu jest link "sprawdź aplikację" widzę tam i opcja skanowania w aplikacji jest... WYŁĄCZONA, (i wyszarzona/nieaktywna) a ja przecież niczego tam nie zmieniałem :-)

Włączam BT w telefonie i ta opcja w aplikacji znów jest WŁĄCZONA.

Generalnie wychodzi na to, że jest tam jakiś "bug" chyba (?), bo w zależności od statusu BT w urządzeniu zmienia się ta preferencja użytkownika a chyba tak nie powinno być że użytkownik "traci kontrolę" (nawet pozornie) zwl. nad tak ważnym/kluczowym ustawieniem.

Dr-Kownacki commented 4 years ago

cd.: Wyłączyłem BT w telefonie , wchodzę w presety ProteGo Safe i chce włączyć tam śledzenie, dostaje pytanie czy chcę włączyć moduł BT w telefonie, daję "odmów" a wtedy pojawia się komunikat na dole ekranu w oddzielnej zaokrąglonej ramce "Moduł Bluetooth już dziala !", no ale przecież nic nie działa bo ani moduł telefonu nie działa ani tym bardziej "moduł w aplikacji" nie działa. Stąd jest po pierwsze jest błąd bo info pokazuje nieprawidłowe info a po drugie nie wiadomo o jaki MODUŁ chodzi tutaj.

pkleczko commented 4 years ago

@Dr-Kownacki dzięki za wyłapanie błędów, wydaje mi się że mamy je też na liście do poprawy: 1) Działający moduł mimo ustawienia WYŁĄCZ - czy mogło się zdarzyć tak, że to WYŁĄCZ nastąpiło zaraz po WŁĄCZ? mamy już przygotowanego patcha na taki problem, po zmianie na WŁĄCZ moduł zaczyna startować i "nie reaguje" na WYŁĄCZENIE. Stąd też po reboocie nie działał, bo samo ustawienie jest WYŁĄCZONE. W kolejnych wersjach będzie to poprawione. 2) Komunikat o tym że Moduł jest WŁĄCZONY też mamy do lekkiej modyfikacji UXowej. Wskazuje on bardziej na samo WŁĄCZENIE tej opcji i start modułu, jeśli nie zdecydujesz się włączyć samego Bluetootha to zauważ że powiadomienie już się pojawia i informuje o tym że moduł czeka na jego włączenie.

Dr-Kownacki commented 4 years ago

@pkleczko chyba to "szybkie", następujące po sobie włącz/wyłącz nie było problemem, ponieważ nie udało mi się tego zjawiska odtworzyć ale na 100% ono wystąpiło i dopiero restart telefonu to "zresetował" jak pisałem powyżej.

Mam jeszcze jedną uwagę: w aplikacji info jest takie że "aplikacja skanuje otoczenie" ale nie ma teraz nigdzie prostej informacji że my coś nadajemy (a przecież nadajemy!) stąd chyba warto to uzupełnić w komunikatach przekazywanych przez aplikacje użytkownikowi.

Dr-Kownacki commented 4 years ago

Zauważyłem, że w aplikacji nie ma nigdzie info nt. WERSJI APLIKACJI, oczywiście jest ona schowana w "zaawansowane" jak się w ikonę dłużej kliknie i potem jeszcze /zaawansowane/.rozwinie, ale przeciętny użytkownik powinien mieć to info raczej gdzieś łatwiej widoczne/dostępne...

Ponadto wydaje mi się że instalowałem 3.0.1 a teraz mam 3.0.3, stąd pytanie czy aplikacja sama się aktualizuje zatem (?) bo jeżeli tak to nie ma o tym informacji nigdzie że takie zdarzenie miało miejsce (albo chociaż że jest "up-to-date" zaktualizowana).

KoderFPV commented 4 years ago

@Dr-Kownacki Auto aktualizacja to chyba kwestia systemu. Ale nie jestem pewny. W samym kodzie aplikacji nie ma mechanizmów auto aktualizacyjnych.

Dr-Kownacki commented 4 years ago

Ponownie zaobserwowałem zjawisko polegające na tym, że aplikacja jakby SAMA rozpoczęła skanowanie/rozgłaszanie przez BLE chociaż ta opcja byla WYŁĄCZONA i w presecie aplikacji nadal jest niby to wyłącznie ale aplikacja zgłasza się na górnej belce że skanuje w tle. Po kliknięciu w ten status pokazuje się "normalna" informacja że aplikacja skanuje w tle.

To zjawisko wystąpiło po raz co najmniej drugi u mnie w takiej konfiguracji że na ładowarce na noc jest telefon zostawiony (wyłączam ekran "z guzika") z wyłączoną opcją a następnie po dłuższym czasie już następnego dnia - po upływie jakichś np..8-10 godzin budzę telefon tym samym guzkiem i widzę że aplikacja jest aktywna na górnej belce.

W presetsch jest WYŁĄCZONE, więc dla sprawdzenia włączam i nadal jest status że skanuje. Następnie preset wyłączam i wtedy status na górnej belce znika i jest już "normalnie".

BT w ustawieniach telefonu był cały czas WŁĄCZONY.

Poniżej screen na którym widać że preset wyłączony ale na górnej belce aplikacja wskazuje że skanuje otoczenie.

Screenshot_20200509-120440

KoderFPV commented 4 years ago

@Dr-Kownacki Wygląda na to że to błąd. Można zgłosić to w konkretnym repo /Android lub /iOS Wtedy dodamy nr wewnętrzny zgłoszenia (zaczynamy to robić z innymi issue), oraz powiadomimy o jego statusie.

A tak poza tym i tak zgłaszam ten błąd do naszych testerów.

Dzięki!

potiuk commented 4 years ago

Czy jest sense to zgłaszać skoro i tak ma to być wyłączone? #137

KoderFPV commented 4 years ago

@potiuk Raczej nie, ale i tak przekazałem to do testerów. Oni ocenią :)

Dr-Kownacki commented 4 years ago

@potiuk - mnie się wydaje że tutaj może chodzić o "trigger" włączania opcji jakiś, czyli jeżeli API G+A będzie zaimplementowane to taki "trigger/preset" - może nawet dokładnie taki/ten sam bedzie...(?)

potiuk commented 4 years ago

@Dr-Kownacki . Nie, to tak nie działa niestety. W A+G to będzie działać zupełnie inaczej.

W wersji z A+G aplikacja nawet nie będzie miała dostępu (i nie będzie mogła mieć dostępu) do Bluetooth. Będzie miała dostęp do "Exposure Notification API" a to api będzie miało dostęp na poziomie systemowym. Włączanie i wyłączanie tego będzie robione przez to API i zarządzane przez Google + Apple. Cała ta część w której Bluetooth i skanowanie trzeba włączać/wyłączać jest do wyrzucenia bo to będzie zupełnie inny mechanizm.

Dr-Kownacki commented 4 years ago

Zobaczcie poniżej screen/taki komentarz użytkownika ze sklepu Google Play i odpowiedzi na niego z MC.

Ja się z tym postulatem użytkownika zgadzam, też to Autorom Aplikacji wcześniej proponowałem powyżej w niniejszym wątku ("licznik") :-)

Natomiast czy Autorzy potwierdzają że "w nowej wersji", jak pisze MC - będzie to uwzględnione, czy jest to kolejna nieścisłość/błąd MC, bo wersja "nowa" będzie dopiero z API A+G (a tam "się nie da"...)???

Chyba że w API A+G będzie można taki "licznik" jednak też zaimplementować (?).

Screenshot_20200510-132605

Dzięki z góry za odpowiedź.

KoderFPV commented 4 years ago

@Dr-Kownacki

150

Tutaj, wrzucił pan z screen z licznikiem, na poziomie systemu operacyjnego. :) Więc może to tam będzie. image

Dr-Kownacki commented 4 years ago

@Tarvald - bardzo słuszna uwaga, ale czy ktokolwiek ("pomimo NDA" ;-) ) jest w stanie potwierdzić że cokolwiek wskazuje że ten screen to jest "realny leak" i rzeczywiście tak to będzie wyglądać ???

Bo jeżeli tak, to (jako lamer) ciszę się że moje obserwacje/przemyślenia bywają zgodne z największymi światowymi korporacjami IT ;-)

Byłoby fajnie jeśli taki będzie finalny release, to jest bardzo potrzebna dla wyrobienia "zaufania do realności aplikacji" moim (i nie tylko - vide komentarz z Play) zdaniem.

pkleczko commented 4 years ago

nie będzie możliwości również w przypadku G+A pokazania ilości kontaktów. Tak jak pokazują screeny jedyna możliwość to pokazania ile np. razy było uruchamiane analizowanie danych (na podstawie otrzymanych Diagnosis Key osób potwierdzonych pozytywnym wynikiem). licznik online nie będzie możliwy w przypadku G+A, również nie jest możliwy w przypadku OpenTrace, który analizę spotkań również nie przeprowadza na bieżąco. ma co prawda zapis spotkanych TempID, ale nie może ich chociażby powiązać między sobą (po rotacji ta sama osoba rozsyła inne TempID).

w nowej wersji prawdopodobnie będzie również opcja włączenia i wyłaczenia Exposure Notification w aplikacji, API udostępnia takie możliwości (start() i stop()). przyjrzymy się działaniu switcha

Dr-Kownacki commented 4 years ago

Dzięki za odpowiedź, jeśli chodzi o OpenTrace to moim skromnym zdaniem nawet aktualne okazywanie "nabijania licznika" na zapis spotkanych TempID byłoby OK (z info/wytłumaczeniem że to nadal może być jedna osoba pomimo licznych zmian tempID jak z jedna osoba siedzimy kilka godzin). Bo to też pokazywałby że te klucze się rzeczywiście zmieniają, stąd użytkownik miałby "namacalny dowód" że ta kwestia "prywatnościowa" też działa...

Stąd szkoda że ten leak-screen nie jest docelowy, może warto A+G podpowiedzieć żeby to jednak pokazywać po prostu dla zwiększenia zaufania dla tej technologii i jej starań o rzeczywistą ochronę prywatności. Taki prosty "namacalny" dowód dla każdego użytkownika...

potiuk commented 4 years ago

@Dr-Kownacki - to są "oficjalne screeny" - tak to właśnie (na tę chwilę) ma wyglądać.

Zgadza się że dobrze by było pokazać nabijane spotkania, ale to należało by wprowadzić później IMHO. Na początkubędzie bardzo mało spotkań (jak mało osób będzie miało zainstalowaną apkę) i może to ludzi raczej zniechęcić. Później (zwłaszcza jak to będzie na poziomie systemu i będzie 30% -40% powszechności) - można będzie zacząć to pokazywać. Czysta psychologia i zrozumienie efektu skali.