Buddy-Tracker - Übertragungsarten

Beitragsseiten

Als Übertragungsmethode stehen mehrere Varianten zur Auswahl:

Übertragungsarten

Der Buddy-Tracker kann die Informationen zwischen den Parteien auf mehreren Wegen verteilen. Je nach Einsatzzweck ist die eine oder andere, ggf. auch eine Kombination, sinnvoll.

Die Übertragungsarten lassen sich in zwei Klassen einteilen: Manuelles Teilen der Position und automatisches Teilen der Position.

Beim manuellen Teilen hat man die Wahl zwischen dem Teilen über externe Apps (wie Chat- oder EMail-Apps) oder dem Buddy-Tracker. Über die externen Apps wird im Moment grundsätzlich eine ausführliche Klartext-Version der Position, der Daten des Buddies oder des Ortes geteilt. Die gewählte App erledigt dann die Zustellung der Information an den Empfänger.
Das Teilen dieser langen Klartext-Version über die jeweils aktive SMS-App des Smartphones macht  aber eher wenig Sinn - es sei denn man hat zu viel Geld. ;-) Trägt man einen Buddy im Buddy-Tracker ein und gibt dem die Handy-Nummer, dann versendet der Buddy-Tracker eine für SMS Bedingungen gekürzte Fassung der Daten.

Teilt man die Daten aber über den Buddy-Tracker, dann werden die möglichen Übertragungsoptionen angeboten, die sich aus den gerade aktivierten Übertragungsmethoden des Buddy-Trackers und den bei den jeweiligen Buddies eingetragenen Kontaktdaten und Aktivierungen der Daten ergeben. Die getätigte Auswahl wird intern gespeichert und beim nächsten Senden als Vorauswahl angeboten.
So hat man eine einfache Gruppenbenachrichtigung wobei jeder Buddy mit einer individuellen Kommunkationsmethode angesprochen werden kann.

Manuelles Teilen der Position

Beim Teilen über die Buddy-Tracker App gibt es dann die folgenden Optionen:

Text-SMS

Hier bekommt der Empfänger eine normale SMS mit einem Link zu einem Kartenprovider (im Moment Google-Maps) in dem die gewünschte Position markiert ist. Abhängig von eingesetzten Gerät kann man sich dann von seinem aktuellen Standort zu dieser Position routen lassen.Ist der Buddy-Tracker installiert, dann erkennt er, den Link zum Kartenprovider und bietet die Option an, die Information auch selber zu bearbeiten.

Die Text-SMS ist geeignet für die direkte Kommunikation zwischen wenigen Partnern, da für jede Meldung oder Nachricht je eine SMS an jeden der beteiligten Empfänger gesendet werden muss. Hierzu wäre eine SMS-Flatrate zu empfehlen.

Manuelle eMail

Hier wird der auf dem Gerät bereits benutzte eMail-Client aufgerufen. Dort sind die Empfänger, das Subject und der Meldungstext bereits ausgefüllt, können aber noch nach Belieben editiert werden.
Das Versenden der Informationen per eEMail  geschieht genau so wie bei Klartext-SMS. Nur sind die übermittelten Informationen etwas ausführlicher, da die Begrenzung auf 160 Zeichen pro SMS weg fällt.

Daten-SMS

Dies ist eine spezielle Art von SMS. Sie ist für den normalen Benutzer unsichtbar. Auf dem Empfänger Gerät muß der Buddy-Tracker installiert sein. Dieser horcht auf diese SMS und verarbeitet die übertragenen Daten dann intern gleich weiter. Da bei dieser Übertragungsart keine Menschen involviert sind, ist der Inhalt der SMS definiert und das automatische Verarbeiten einfacher. So können auch redundante Informationen weg gelassen werden und mehr Nutzinformationen in der SMS transportiert werden.

Ist beim Empänger kein Buddy-Tracker installiert, verschwindet die Daten-SMS allerdings sang- und klanglos.

Automatisches Teilen der Position

Die ersten zwei Methoden senden die Positionsdaten direkt zu den jeweiligen Empfängern. Es gibt keine zentrale Stelle an der die Positionsdaten zwischengespeichert werden. So haben Unberechtige keinen Zugriff auf die Daten, solange Sender und Empfänger ihre Systeme sauber halten.

Daten-SMS

Die Daten-SMS eignet sich auch für das automatische Teilen der Position, sofern man eine SMS-Flat hat. Ansonsten wären die Kosten wohl zu hoch.

Automatische eMail

Hier kann nicht der jeweils auf dem Systen verwendete Default-eMail Client verwendet werden. Dieser läßt das automatische Versenden von Mails nicht zu und gewährt auch keinen anderen Apps den Lesezugriff auf Postfächer. (Und das ist auch gut so!) Also muß der Buddy-Tracker einen eigenen eMail-Client mitbringen, der dann vom Anwender jeweils geeignet zu konfigurieren ist.

In dieser Betriebsart sendet der Buddy-Tracker eine eMail in einem automatisch zu verarbeitenden Format (JSON, in Zukuft verschlüsselt) an die gewünschten Empfänger. Dies geschieht effizient und unter der Wahrung der Privatsphäre. Die Mail muß nur einmal an den Mailserver gesendet werden. Die Empfänger stehen im BCC, so daß sie gegenseitig nicht sehen wer noch diese Mail bekommen hat.

Auf der Empfängerseite lauscht der Buddy-Tracker auf den Posteingang des gewählten Postfaches. Das kann ein extra für den Buddy-Tracker eingerichtetes Postfach sein. Oder aber man benutzt ein vorhandenes Postfach. Die Mails sind im Subjecht durch den Prefix "[#BT#]" gekennzeichnet und werden anhand dieses Prefixes vom Buddy-Tracker erkannt und verarbeitet. Alle anderen Mails im Posteingang läßt der Buddy-Tracker unbeachtet. Bearbeitete Mails können dann auch automatisch im Posteingang gelöscht werden. So bleibt das Postfach auf dem Mailserver sauber.

 

Die folgenden Methoden arbeiten mit einem geteilten Medium, auf das alle Teilnehmer Zugriff haben. Wer Zugriff auf dieses Medium bekommt, hat prizipiell Zugriff auf die Positionsdaten der anderen Teilnehmer. Jeder Sender ist dafür verantwortlich, seine eigenen Positionsdaten zu verwalten - also ggf. veraltete Daten zu löschen. Die anderen Teilnehmer lesen diese Daten nur und schreiben oder löschen dort nichts.

Diese Methoden sind geeignet um die Positionsdaten ggf. auch anderen, nicht direkt beteiligten, Parteien zur Verfügung stellen zu können.

Shared Folder

Es gibt die Möglichkeit, einen Ordner auf seinem Gerät ins Internet zu spiegeln und dort den Inhalt mit anderen Leuten zu teilen.

Der Buddy-Tracker kann dies nutzen, indem er seine Informationen in diesen Ordner schreibt und die dort eintreffenen Information intern bearbeitet. Jede Positionsmeldung ist eine eigene Datei und jeder Teilnehmer hat hier seinen eigenen Unterordner. So sind die Positionsmeldungen den jeweiligen Sendern zuzuordnen.

Getestet wurde das mit Sync (vormals Bittorrent-Sync) und SyncThing Allerdings hat man hier den Nachteil, dass die Information mit etwas Verzögerung verteilt wird da diese Apps nur in gewissen Zeitabständen nach neuen Informationen suchen um Energie zu sparen. Auch kann nur mit Buddies geteilt werden, die gerade auch online sind. Im Minimalfall muß also jeweils immer mindestens ein Mitglied der Gruppe online sein wenn geteilt wird. Dies kann problematisch sein, wenn die Gruppe nur aus mobilen Geräten besteht, die gerne zum Energiesparen auch mal schlafen gehen. Es bietet sich also an ggf. mindestens einen kleinen Server zu integrieren, der diesen Ordner kontinuierlich teilt - ein Raspberry Pi o.Ä. genügt hierfür völlig.

Hat man einen Account bei einem Cloud-Provider, dann besteht noch eine weitere Option. Meist unterstützen die Cloud-Anbieter keine automatische Synchronisation eines lokalen Ordners mit einem Ordner in der Cloud nicht. Der Buddy-Tracker benötigt allerdings zum Teilen einen lokalen Ordner. Nur hier bekommt man zuverlässig die Benachrichtigung, wenn sich der Ordnerinhalt geändert hat (= eine neue Nachricht ist eingetroffen). Aber selbst das überprüfen eines bestimmten Ordners beim Cloud-Anbieter ist meist nicht möglich - die entsprechende Schnittstelle wird nicht angeboten. Und wenn - je nach Provider müßte dann eine separate Methode im Buddy-Tracker implementiert und aktuell gehalten werden.
Aber es gibt Apps, die genau dies für einen tun. Also warum nicht die nutzen? ;-) Ein vielversprechender Kandidat (ohne Anspruch auf Vollständigkeit) ist zum Beispiel Synchronize Ultimate. Mit dieser App kann man Ordner diverser Cloud-Anbieter mit einem lokalen Ordner synchronisieren. Auf diesen synchronisierten Inhalt greift dann der Buddy-Tracker huckepack zu. Hier hat man auch eine zentrale Stelle, die immer erreichbar ist und umgeht so das Problem der Buddies die gerade nicht erreichbar sind.

Web Service

(Noch nicht implementiert, aber auf der ToDo-List:)

Aus technischer Sicht ist ein zentraler Web-Service am einfachsten umzusetzen. Ein kleiner Webserver mit MySQL und PHP genügt so daß sich die Buddy-Tracker mit ihm verbinden und ihre Informationen synchronisieren können. Als Hardware genügt ein Raspberry Pi und mit Hilfe eines der dynamischen DNS-Provider kann man diesen Server bei sich zu Hause ins eigene Netz hängen. Zugriff von Dritten sind so nicht möglich (naja, wenn die NSA unbedingt will, dann schafft sie es auch, nicht aber das Script-Kiddie von nebenan ...)

Diese Option bietet die Möglichkeit, daß auch Geräte, die den Buddy-Tracker nicht installiert haben, an diesem Dienst teilnehmen können, indem sie ihre Positionen über eine (noch zu entwickelnde) Browser-App an dem Webserver veröffentlichen. Die ganzen Automatik-Optionen sind dort aber umständlicher umzusetzen ...

Auch kann ein weiterer Service geschrieben werden, der die Positionsdaten im Internet für normale Browser zugänglich macht. Zum Beispiel für die Darstellung der Positionen der Teilnehmer eines Marathons oder Radrennens für die Fans. Die Teilnehmer müssen dazu nur ihr Android-Handy mit installiertem Buddy-Tracker mitführen (was für Amateur-Veranstaltungen wohl zumutbar ist).