Technische Dokumentation
Vorwort
Bei Erstellung dieser Webseite habe ich darauf geachtet, dass sie sowohl im Browser auf einem Computer,
als auch auf einem Handy oder sonstigen mobilen Gerät gut bedienbar ist. Ich habe selbst Diabetes
Typ I und verwende diese Seite daheim im Browser und auch unterwegs auf dem Handy zur Protokollierung
meiner Werte. Deshalb kann man davon ausgehen, dass die Seite solange ich lebe und keine bessere
Möglichkeit der Protokollierung gefunden habe, gewartet und erweitert wird. Ich habe in der Vergangenheit
schon mehrere Programme dafür geschrieben, die ich allerdings immer nur für mich selbst verwendet habe.
Diese Webseite ist das erste meiner Diabetes-Programme, das ich öffentlich zur Verfügung stelle.
Ich habe gewisse Anforderungen an eine Anwendung, die mir das Management meines Diabetes ermöglichen soll.
- Die Eingabe der Daten muss schnell und unkompliziert sein.
-
Ich möchte mir die Broteinheiten nicht jedesmal irgendwo zusammensuchen müssen (Nährwertangaben auf
Verpackungen oder Schätzung). Ich will eine Liste, in der die Nahrungsmittel mit den entsprechenden
Nährwertangaben gespeichert sind, so dass ich die jeweiligen Nahrungsmittel nur aussuchen muss.
Gleichzeitig muss es natürlich möglich sein, schnell mal geschätzte Broteinheiten einzugeben.
-
Ich möchte für Besuche bei Ärzten, Diabetologen und Diabetesberatern die Daten, die sie zu einer
sinnvollen Beratung benötigen, unkompliziert für frei wählbare Zeiträume ausdrucken lassen können.
Da keines der Programme, die ich am Anfang meiner Diabetes-Karriere in Augenschein nahm, diesen
Mindestanforderungen genügte und es schon damals mehrere Anbieter von Blutzuckermessgeräten gab,
die ihre Daten allesamt auf proprietäre Art sammelten und es sehr schwer machten, an diese Daten
von ausserhalb der dafür vorgesehenen Anwendungen heran zu kommen, habe ich mir selbst ein Programm
geschrieben (damals in Delphi und mit lokaler Datenspeicherung). Was mir von Anfang an immer gefehlt
hat, war die Nahrungsmittelliste. Es war damals nicht üblich, die Nährwertangaben auf Verpackungen
zu drucken, weshalb man immer auf grobe Schätzungen angewiesen war. Das hat sich zwar inzwischen zum Glück
geändert und man kann die Angaben auf fast jeder Nahrungsmittelverpackung finden, aber diese Daten müssen
für mein Diabetesmanagement eben auch direkt im Programm zur Verfügung stehen. Deshalb habe ich mir damals
schon eine Speicherung für die Nahrungsmittel ausgedacht und implementiert, damit ich mir nur einmal Gedanken
über die Broteinheiten von Nahrungsmitteln machen musste und die Information in Zukunft einfach wieder abrufen
kann.
Inzwischen habe ich das Programm immer wieder von der Technik, vom Namen und der Datenmenge her geändert
und es an neue Gegebenheiten angepasst. Aktuell halte ich die Datenspeicherung in der Cloud wegen der permanenten
Verfügbarkeit der Daten über das Internet für die sinnvollste Möglichkeit, mein Diabetesmanagement durchzuführen.
Das kann sich in Zukunft natürlich ändern, aber da ich selbst Diabetiker bin und natürlich niemals bei einem neuen
Programm alle Daten per Hand übertragen werde, ist sichergestellt, dass ich immer eine Möglichkeit schaffen werde,
um die bisher erfassten Daten in ein neues System zu transferrieren.
Datenspeicherung
Die Daten, die auf dieser Seite erfasst werden, werden in Deinem eigenen Google Drive gespeichert.
Aufgrund der verwendeten Technik erhält mein Server diese Daten gar nicht. Ich habe mich aus verschiedenen
Gründen für Google-Drive entschieden:
- Google Drive ist kostenlos und stellt für jeden angemeldeten Benutzer 15 Gigabyte Speicherplatz zur Verfügung
- Die Daten werden in einem privaten Speicherplatz des jeweiligen Benutzers gespeichert
- Ich möchte den Speicherplatz für die Daten weder bezahlen noch rund um die Uhr zur Verfügung stellen
- Ich habe keinerlei Interesse an diesen Daten, ausser natürlich an meinen eigenen
Ich habe im Laufe der Jahre meine Daten in verschiedenen Programmen gespeichert und bei einem Wechsel
auf ein anderes Programm immer mitgenommen. Aktuell belegen meine Daten, die ich seit 2006 gesammelt
habe auf Google Drive 6,5 Megabyte. Ich müsste also noch etwas über 200 Jahre weiter Daten wie bisher
sammeln, damit Google Drive überläuft. Ich denke, das sollte für jeden ausreichend sein.
Die Daten werden auf Google Drive als JSON-Dateien gespeichert. Sie haben immer einen Namen, der mit
[[dataPrefix]] beginnt, gefolgt von der Art der Daten und als Dateiendung
.json. Folgende Dateien
werden derzeit verwendet:
- [[dataPrefix]]config.json - Die Konfigurationseinstellungen
- [[dataPrefix]]food.json - Die Nahrungsmittelliste
- z.B. [[dataPrefix]]201604.json - Die Daten für den Monat April 2016
Die Daten für die Blutzuckerwerte werden für jeden Monat in einer eigenen Datei gespeichert. Das hat den Vorteil,
dass sie auch relativ schnell wieder geladen werden. Beim Aufruf der Seite werden immer der aktuelle Monat und
der Vormonat geladen. So kann man in den Tabellen und Grafiken auch am Anfang des Monats schnell mal schauen, was
vor Kurzem für Werte vorlagen. Für die Auswertung über ein Jahr oder den Ausdruck müssen weitere Daten nachgeladen
werden. Deshalb kommt es bei diesen Funktionen immer wieder zu Meldungen wie "Lade Daten...".
Die Daten werden als JSON-String gespeichert. Das heisst, sie sind relativ einfach lesbar und enthalten keine
verschlüsselten Informationen. Wenn ich die Daten mal selbst anschauen will, dann verwende ich immer den
Online-JSON-Viewer von Gabor Turi. Hier kann man den Inhalt der
JSON-Datei einfach einfügen und dann im Viewer als Struktur anzeigen lassen.
Wenn die Daten erstmals gespeichert werden, befinden sich diese Dateien im Verzeichnis "Meine Ablage"
auf Google-Drive. Sie können von dort aber jederzeit in Unterordner verschoben werden und werden dann
trotzdem gefunden.
Verwendete Technik
Die Webseite wurde unter Verwendung von
Polymer entwickelt. Das ist eine
Sammlung von Elementen, die exzessiven Gebrauch von
Javascript und
HTML5-Techniken machen.
Die Software läuft komplett im Browser des Benutzers und der Quellcode kann durch die eingebauten
Entwicklungswerkzeuge moderner Browser problemlos angesehen oder heruntergeladen werden. Da das Programm
in Javascript geschrieben wurde, kann es mit genug Aufwand vollständig analysiert und auf
Datenkrakeleien hin
untersucht werden. Ich behaupte, dass ich keine Daten in irgendeiner Form missbrauche und das
kann auch gerne überprüft werden. Für die Sicherheit und Zuverlässigkeit der Daten übernehme ich
allerdings andererseits auch keine Verantwortung, da die Datenspeicherung abseits meiner Systeme erfolgt.
Um Datenverlust vorzubeugen gibt es die Möglichkeit, die vorhandenen Daten als ZIP-Datei herunter zu laden.
Anmeldung bei Google
Die Anmeldung an Google Drive erfolgt unter Verwendung des Elements
google-signin.
Dieses Element sorgt dafür, dass ein Fenster aufgeht, in dem die Autorisierung oder Erstellung eines
Google-Accounts erfolgt. Das alles geschieht abseits meiner Anwendung. Wenn man im Browser schon mit
seinem Google-Account angemeldet ist, muss in diesem Fenster nur noch bestätigt werden, dass man
einverstanden ist, dass DIAMANT auf Google Drive zugreift und Daten herunter- und hochladen darf.
Ohne diesen Zugriff kann DIAMANT nichts für den Benutzer tun, weshalb das auch das allererste ist,
was bei Aufruf der Seite gemacht werden muss.
Um einen Überblick über die Nutzung und die Verbreitung von DIAMANT zu haben, wird
Google Analytics eingesetzt.
Jedesmal, wenn sich ein Benutzer autorisiert, wird das als ein Zugriff auf die Webseite gezählt. Das
dient dazu, dass ich eine Übersicht darüber habe, wie stark die Seite frequentiert wird.
Weitere Daten werden von DIAMANT selbst nicht protokolliert. Was mir Googles Analytics alles an Daten
zur Verfügung stellt, kann ich zum derzeitigen Zeitpunkt noch nicht sagen. Das weiss ich erst, wenn
das eine Weile läuft und ich tatsächlich Daten erhalten habe. Wenn ich mehr darüber weiss, werde ich
das hier kundtun.
Sicherheitshinweise
Auf dieser Seite werden persönliche Daten erfasst, gespeichert und verarbeitet. Und selbstverständlich
ist es wie mit allen Daten, die man mit irgendeinem Programm ins Internet sendet: sie können vom
Betreiber des Servers, bei dem die Daten gespeichert werden und vom Programmierer der Software, welche
die Daten verarbeitet, ausgelesen und beliebig verwendet werden, bevor sie zum Server geschickt werden.
Ich könnte sie also zusätzlich zur Speicherung in Google-Drive auch woanders hin schicken. Allerdings
ist schon allein durch die zugrunde liegende Technik sichergestellt, dass jeder beliebige Besucher der
Webseite den kompletten Quellcode der Seite auslesen und analysieren kann. Ich wäre also etwas
blauäugig, wenn ich denke würde, ich könnte auf dieser Webseite im Geheimen irgendwelchen Unfug treiben.
Da ich noch nie blaue Augen hatte, besteht von der Seite her also keine Gefahr für die Daten. Wenn
jemand irgendwelche Sicherheitsprobleme im Code finden sollte, dann bitte ich darum, mir unter der
eMail-Adresse im
Impressum Bescheid zu geben.