Clarissa - Eine Assistentin für Allerlei
By Mathias Ball
Clarissa: Idee und Konzept
Ausgangspunkt: Homo Technicus
Mensch und Maschine: Dieses Paar hat es in sich. Nachdem wir Jahrzehnte damit zugebracht haben, uns elektronische Hilfsmittel - alle Arten von Computern, Smartphones - zu schaffen, sind wir im Umgang damit immer noch extrem unbeholfen. Elementare Konzepte wie Dateien sind uns einigermaßen verständlich, aber schon bei Verzeichnissen wird es für die meisten schwierig, geschweige denn solch komplizierte Dinge wie eine URL und eine Email-Adresse verstehen und unterscheiden zu können. Die Abstraktion geht meist schon zu weit und zwar nicht nur für den Benutzer, sondern oftmals bereits für den Bereitsteller von Softwarewerkzeugen. Spätestens mit der Einführung des Internets hat sich hier eine völlig neue Dimension geöffnet, mit der wir nur über Abstraktionen - sprich Programme - umgehen können, die wir aber nicht durchschauen. Im Zuge dessen überschauen wir auch die Folgen dessen nicht, was wir tun. Es wird heute bereits allgemein akzeptiert, daß wir für die Benutzung von internetbasierten Diensten viele persönlich Informationen preisgeben. Es wird selbst bei erklärtermaßen gutwilligem Verhalten eines Dienstleisters im Prinzip vorausgesetzt, daß ein Abfluß von Daten stattfindet, die wir im Vertrauen übergeben haben oder daß Informationen gesammelt und verwertet werden, die wir noch nicht einmal selbst kennen, die aber Einfluß, Konsequenzen auf Dinge haben können, die uns später im Leben betreffen.
Nicht nur also, daß wir Maschinen benutzen, um uns auszutauschen, sondern wir werden auch Teil einer größeren Maschinerie, der wir uns nur noch unterschwellig bewußt sind. Natürlich nehmen wir an, daß, wenn es später Probleme damit geben sollte, wir als Menschen insgesamt damit umzugehen lernen werden. Und das werden wir. Was aber ist mit dem Einzelnen, den das individuell betrifft?
Nun, der Zweck den wir hier verfolgen, ist weder Maschinenstürmerei noch die Rettung der Menschheit als solcher. Statt dessen wollen wir dem Einzelnen, der sich dafür entscheidet, ein gutes Stück Wahlfreiheit zurückgeben. So wie sich der Homo Technicus heute als bedenkliches, eher düsteres Szenario bereits deutlich abzeichnet, ebenso sehr ist im Menschen aber der Homo Sapiens veranlagt, der “verständige” bzw. “weise” Mensch, der grundsätzlich voraussetzt, empfindungsfähig zu sein und das Empfundene zu verarbeiten vermag.
BTTR: Zurück zu den Wurzeln
Meint das, zurück in die Vergangenheit? Keineswegs! Wir als Menschen neigen einfach dazu, Dinge zu zentralisieren. Daß das nicht immer die beste Idee ist, ist nicht leicht zu sehen. Das Internet an sich ist ein dezentrales Kommunikationswerkzeug. Das ist auch der Grund für seinen Erfolg. Man könnte meinen, daß erst das DNS (Domain Name Service), eine Art zentralisiertes Namensverzeichnis die Grundlage für seinen Erfolg gelegt hat. Aber das ist keineswegs der Fall. Domainnamen bieten eigentlich nur die Möglichkeit zum “Branding”. Da wir in unseren Sprachen viel zu wenige eindeutige Namen und Begriffe zur Verfügung haben, um jeden am kommerziellen Austausch Interessierten einen eigenen Angelpunkt im DNS zukommen zu lassen, sind schon die Sprachen eine Limitierung. Abgesehen vom Branding, das obendrein für unsere eigene Etikettierung der überschaubaren Anzahl von Verhältnissen nötig ist, mit der wir uns auf einmal abgeben, haben die Suchmaschinen schon längst die ursprüngliche Aufgabe des DNS abgelöst, Informationen über Dinge, die wir suchen, bereitzustellen. So ist es gelegentlich noch eine angenehme Konvention für uns, Domains zu benutzen. Zudem ist es ein beliebter Angriffspunkt auf unsere individuelle Freiheit von seitens derer, die geneigt sind, die Allgemeinheit mit jener Form von Aufdringlichkeiten zu gängeln, die der aktuell vorherrschenden Mode entsprechen.
Diese Beschränkungen zu brechen, gibt es Wege. Einer davon ist es, einen Schritt zurück nicht etwa in unserer technischen Entwicklung als Menschen zu gehen, sondern einen Schritt nach vorn, der beginnt, dem Menschen die Kontrolle über das Eigene, das er gewillt ist, mit anderen auszutauschen, wieder in die Hand zu geben. Der Schritt zurück ist daher - wieder mal - allenfalls ein konzeptioneller Schritt zurück, kein technologischer. Wir benötigen ein Werkzeug, das uns in unserem Datenaustausch die Freiheit gibt, die Beschränkungen selbst festzulegen, uns selbst abzugrenzen, anstatt in einer grauen Masse dessen aufzugehen, was die vordergründig auf Profitstreben ausgerichtete Entwicklung der Menschheit automatisch erzeugt, wenn das Wörtchen “sapiens” nicht zur Anwendung gelangt.
Clarissa: Ein Manifest
Beinahe jeder hat heutzutage neben dem normalen Leben auch ein digitales: Wir schreiben Dokumente, schaffen Bilder, machen Notizen, Musik, Filme, schreiben Emails und alle Arten von digitalen Nachrichten - die Möglichkeiten sind unbeschränkt.
All diese Aktivitäten konzentrieren sich innerhalb der letzten 20 Jahre immer mehr auf einzelne große Anbieter. Seine Emails hat man bei GMX, Google oder Microsoft. Kurznachrichten schreibt man per WhatsApp, Telegram, Skype, Facebook oder Snapchat. Bilder hat man auf dem Smartphone oder PC - oder gleich online bei Flickr oder Instagram. Musik speichert man vielleicht als MP3 oder auch gleich online, meist da, wo man sie gekauft hat - vielleicht bei Apple oder Amazon - oder man “hat” sie gar nicht mehr, sondern streamt jederzeit alle Titel über Plattformen wie Spotify. Filme kauft man manchmal noch auf DVD oder Bluray, aber meist hat man schon ein Abonnement bei Amazon, Netflix und dergleichen mehr.
Ist daran etwas falsch? Im Prinzip nicht. Es ist vielmehr eine Frage des Komforts, des Vertrauens und letztlich der Entscheidung. Die großen Plattformen organisieren die wesentlichen Dienste im Internet sehr komfortabel und zuverlässig. Darauf beruht ihr Geschäftsmodell und meist machen sie das auch ziemlich gut. Das Problem: Jedwede Kontrolle über eigene Daten sind dir als Nutzer weitgehend entzogen, selbst eine Datenschutz-Grundverordnung vermag beim Schutz der Daten nur marginal zu helfen, vielmehr begegnet sie uns in lästigen Popups auf Webseiten, die es wegzuklicken oder zeitaufwändig und ungewollt zu inspizieren gilt.
Ein weiterer Aspekt, der vor allem Firmen interessieren dürfte: Dienste und zentralisierte Server (z.B. Microsoft Sharepoint, SAP) kommen immer mit einem Ordnungsschema daher. Vereinheitlichung bzw. Standardisierung gilt generell als das Non-Plus-Ultra nicht nur in der digitalen Szene. Wir stimmen zu, daß Standardisierungen für die Kommunikation zwischen Rechnern unabdingbar sind (siehe RFC). Es wird dabei aber eine wesentliche Eigenschaft des Menschen (ganz generell) vergessen: Menschen sind Individuen, jeder einzelne einzigartig. Nicht nur im Aussehen, auch in der Art und Weise, wie wir Dinge anfassen, erschaffen und verändern. Mit anderen Worten: Standardisierte Arbeitsabläufe und Ordnungsschemata mögen für einige Menschen sehr nützlich sein, für andere sind sie kontraproduktiv. Was spricht eigentlich dagegen, den Menschen ein Arbeitsmittel zur Hand zu geben, das es ihnen erlaubt, eigene Ordnungsschemata zu entwerfen?
Oder: Wer hat nicht schon einmal folgendes Szenario erlebt? Man bekommt von einem Anbieter eine Mail mit einem Link (setzen wir einmal voraus, der Dienst des Anbieters war erwünscht). Die Mail fordert dazu auf, sich irgendwo anzumelden, um an die eigenen Vertragsdaten heranzukommen. Das Webinterface, welches einem dann begegnet, ist überladen. Je nach Veranlagung findet man sich darin zurecht oder ist hoffnungslos verloren. Man wird mit “Vertragsmanagement” und sonstigen Worthülsen belästigt, möchte aber lediglich ein Schreiben haben, das den Abschluß eines Vertrages bestätigt. Warum nicht eine Plattform benutzen, mit der ich meine eigenen Daten und auch meine Identität verwalte, ebenso Anbieter, die ihre Dienste an den Mann bringen wollen? Anbieter senden ihren Vertragsabschluß an die Identität der Kunden, die Kunden haben die Verträge ohne Zutun (wie E-Mail aufrufen, Anhänge speichern etc.) in ihrer Datenbank und damit persönlich zur Verfügung. Und bei Bedarf weist das Programm auch darauf hin.
Was also tun?
Was ist Clarissa?
Clarissa ist eine virtuelle Intelligenz, ein Programm, welches dir bestimmte Aufgaben an deinem Computer einfacher zugänglich macht. Clarissa versteht sich als deine Persönliche Digitale Assistentin (PDA). Clarissa hilft dir, Daten zusammenzutragen und sie als Dinge zu speichern, sie zu organisieren und zu durchsuchen, Dinge auszutauschen und zu archivieren, unter deiner eigenen Hoheit, so sicher und zuverlässig wie möglich.
Clarissa bündelt Bestandteile unseres digitalen Lebens in einer Anwendung. Clarissa handhabt Dinge wie Email und Kurznachrichten, verwaltet Dateien und Dokumente, persönliche Informationen wie selbst verfaßte Notizen, Bilder- oder Audioschnipsel, organisatorische Informationen wie Kontakte, Adressen, Passworte und Termine, Sammlungen von Büchern, Audiodateien, Filmen und Webseiten. Kurzum Clarissa verwaltet digitale Informationen und Dokumente und ermöglicht, diese Dokumente mit anderen auszutauschen und zu publizieren.
Was heißt das genau?
1. Eine eigene Identität pflegen
- Gleich beim ersten Start wird eine solche für dich angelegt
- Sie bildet die Grundlage für alle Art von Kryptographie (Verschlüsselung, Identifikation) innerhalb der Clarissa-Anwendung und des Clarissa-Netzes
- Über sie bist du auch für deine Kontakte eindeutig identifizierbar - es ist nahezu unmöglich für andere, sich als du auszugeben
2. Daten zusammentragen, Dinge speichern
- Sammle Daten aus beliebigen Quellen ein:
- Emails und Nachrichten über unterschiedliche Chat-Systeme wie z.B. Matrix, Telegram, XMPP
- Dateien (Bilder, Audio, Video, Office-Dokumente)
- Gedanken, Ideen, Notizen, URLs, Passworte, Kontakte, Termine - auch über Smartphone
- Herunterladen von Inhalten (z.B. Youtube-Videos)
- Dinge, die ich tun will; Selbstorganisation, Aufgaben
- Sammlungen von Büchern, …
- Daten werden in Dinge und Beziehungen zerlegt und als Dateien bzw. in einer Datenbank lokal gespeichert
- Nur du hast Zugriff auf deine Daten und entscheidest auch selbst, was andere sehen und abrufen können
3. Pflege deine Kontakte und Gruppen
- Beim Einsammeln von E-Mail und Nachrichten werden automatisch Kontakte angelegt
- Obwohl Clarissa ihr Bestes tut, um Informationen aus unterschiedlichen Quellen zusammenzutragen, hilf ihr dabei zusammenzuführen, was zusammen gehört
- Ein Beispiel: Eine E-Mail Adresse und eine Telefonnummer kann Clarissa nur dann als zusammen gehörend erkennen, wenn die Namen übereinstimmen. Wenn nicht, dann teile ihr das mit!
- In den Kontakten speichert Clarissa, welche Möglichkeiten vorhanden sind, um einen Freund, Kollegen, Mitstreiter zu erreichen
- Gruppen erfüllen nicht nur einen Selbstzweck, um Kontakte in Vereinen, Abteilungen, Arbeitsgruppen etc. zusammenzufügen
- Über Gruppen wird auch geregelt, welche Kontakte welche Daten durchsuchen und anfordern dürfen
4. Suche und Reorganisiere
- Durchstöbere deine eigene Datenbasis wie gewohnt mit Suchbegriffen
- Erweitere deine Suche auch bei deinen Kontakten, die ebenfalls Clarissa verwenden und dir den Zugriff gestattet haben
- Entdecke verborgene Beziehungen in deinen gespeicherten Daten
- Markiere und priorisiere Datenelemente und verbinde sie miteinander
- Finde deinen Fokus, unterstützt durch deine eigene Datensignatur
5. Austauschen
- Finde, vernetze dich und sprich mit anderen Clarissa Benutzern
- Tausche Daten aus (publiziere, sende, empfange)
- Übertrage Dateien an Freunde, Kollegen, Mitarbeiter - ohne darüber nachzudenken, auf welchem Weg die Dateien übermittelt werden
- Kommuniziere flexibel: Idealerweise über dezentralisierte Dienste wie z.B. Syncthing; aber auch über etablierte Transportsysteme wie z.B. Matrix, Telegram, XMPP, E-Mail
- Du entscheidest, was du anderen sendest!
- Du entscheidest, was andere durchsuchen und anfordern können!
6. Archivieren, Ex- und Import, Sicherung, Migration
- Backup und Restore auf Datenbankebene
- Export und Import, damit verbunden auch Migration der Daten aus einer alten hin zu neuen Versionen von Clarissa
- Export und Import einfach strukturierter Daten über das *.csv Format
- Export und Import beliebiger Daten über das JSON-Format
- Benutze Körbe - in Anlehnung an einen Warenkorb - für deine Daten; diese können als Teilmengen exportiert bzw. archiviert und wieder importiert werden
Nomenklatur
Laß uns zunächst klarstellen, worüber wir hier reden…
Begriffe aus der Clarissa-Welt im Überblick
Ansichten
Das grundlegende Design von Clarissa erinnert sehr an das eines modernen Webbrowsers. Es benutzt Reiter, auf dem verschiedene Ansichten zu sehen sind. Eine Ansicht versteht sich als ein aktueller Blick auf die eigene Datenmenge - auf Kontakte, auf Nachrichten usw. Jede der Ansichten bringt auch die Elemente mit sich, die für einen Umgang mit den Daten, die gezeigt werden, erforderlich sind.
Kontakt
Kontakte spielen eine zentrale Rolle in der Clarissa-Welt. Sie speichern alle Informationen über einen Freund, einen Gesprächspartner, eine Firma. Neben dem Namen, Geburtsdatum etc. sind auch Anschriften und elektronische Adressen (siehe auch Transportsysteme und Kanäle) gemeint.
Gruppe
Eine weitere wichtige Rolle übernehmen Gruppen. Gruppen sind Mengen von Kontakten, z.B. Mitarbeiter einer Firma, Mitglieder eines Vereins. Gruppen werden nicht nur benutzt, um einer Menge von Kontakten eine Nachricht zukommen zu lassen, sondern auch, um deinen Kontakten gewisse Rechte an deinen Daten einzuräumen. Beispiel: Du möchtest einen Verein bestimmte Daten zur Verfügung stellen, die Vereinsmitglieder - die hoffentlich auch Clarissa benutzen - dann auf deinem Rechner durchsuchen und ggf. auch anfordern können.
Identität
Die dritte wichtige Säule zur Verwaltung von Verbindungen zu anderen ist die Identität. Dahinter verbirgt sich eine eindeutige Kennung, die einem Kontakt zugeordnet ist. Mit einer Identität weist sich ein Kontakt auch als Teilnehmer am Clarissa-Netz aus.
Für Versierte in Kryptographie:
- Die Identität besteht aus einem asymmetrischen Schlüsselpaar RSA.
- Der private Teil verbleibt auf dem eigenen Rechner, der öffentliche wird an die Kontakte weitergereicht.
- Als Erkennung jedoch dient nicht der öffentliche Schlüssel selbst, sondern ein Hash.
Zugänge, Benutzerkonten
Viele online Plattformen erwarten von ihren Kunden eine Anmeldung mit Benutzernamen und Paßwort. Es dauert nicht lange, bis man solche Zugangsdaten aus den Augen verliert und sie in Vergessenheit geraten. Einige große Anbieter wie Google, Facebook, Amazon helfen hier ein wenig, doch diese sensiblen Daten sind alles andere als privat. Daher ist es eine weitere wichtige Aufgabe von Clarissa, Zugangsdaten inkl. der Paßwörter zu verwalten - dort wo sie hingehören, auf dem eigenen Rechner.
Notizen
Notizen beschränken sich nicht nur auf Text. Sie können ebenso enthalten:
- Jede Art von Binärinhalt, z.B. Bilder, Videos, Sprachmitteilung, Office-Dokumente
- Eine URL
- Standortkoordinaten
Die Binärinhalte von Notizen werden von Clarissa nur intern verwaltet (entweder in der Datenbank selbst oder im Cache, siehe unten). Das heißt u.a., wenn diese ursprünglich im Dateisystem gespeichert waren, hat Clarissa keine Kenntnis darüber wo.
Dokumente, Explorer
Im Gegensatz zu binären Notizen, die nur intern verwaltet werden, betrachtet Clarissa ein Dokument als eine Datei irgendwo im Dateisystem. Das heißt, Clarissa weiß, wo ein solches Dokument im Dateisystem zu finden ist und kann es von dort auch benutzen.
Der Explorer ist angelehnt an den Windows-Explorer, er ermöglicht u.a. eine Ansicht aller in der Datenbank erfaßten Dokumente.
Seine Fähigkeiten beschränken sich aber nicht nur auf Dokumente im Dateisystem, er ist auch in der Lage, alle Medien aus dem Dialog mit einer anderen Person anzuzeigen.
Anker
Um die Möglichkeiten des Explorers zu begreifen, muß man auch das Konzept des “Ankers” verstehen. Clarissa kann Daten aus sehr unterschiedlichen Quellen zusammentragen. Und nur eine dieser Quellen sammelt Dokumente aus dem Dateisystem ein, die dann im Explorer über eine Ordner-Hierarchie steuerbar verwaltet werden können. Eine weitere Quelle liest vielleicht tausende E-Mails aus einem Maildir-Ordner und noch eine von einem IMAP-Server ein. Beide dieser Quellen kommen mit einer eigenen Ordner-Hierarchie daher, die mit dem Dateisystem nichts gemeinsam haben. Um solche verschiedene Hierarchien voneinander getrennt zu halten, wurde das Konzept der “Anker” eingeführt. Jeder Anker spannt seine eigene Ordner-Hierarchie auf. Jeder Anker liefert so sein eigenes Dateisystem. Auf diese Weise ist es u.a. möglich, alle Anhänge vom E-Mails in der Ordnerstruktur eines Mailservers zu browsen.
Sammlungen und ihre Elemente
Clarissa enthält einen generischen Ansatz, um große Mengen von gleich gearteten Objekten zu verwalten. Benutzen wir ein Beispiel, um das zu verdeutlichen: Eine Büchersammlung. Alle Bücher können durch einen Satz von Eigenschaften beschrieben werden, d.h. Autoren, Titel, ISBN, Herausgeber etc. Die Sammlung der Bücher definiert also einen konstanten Satz von Eigenschaften. Jedes Element der Sammlung (also die Bücher selbst) vergibt für jede der Eigenschaften je einen Wert. Diverse Quellen im Internet (Amazon, deutsche Nationalbibliothek) können ausgelesen werden, um anhand weniger Eigenschaften (z.B. der ISBN) alle Informationen über ein Buch zusammenzutragen. Alle Eigenschaftswerte aller Sammlungselemente befinden sich automatisch im Suchindex, so daß ein Buch anhand ISBN, Autor, Titel etc. jederzeit gefunden werden kann.
Bereits implementierte Beispiele: Bücher, Aufgaben.
Weitere Beispiele, die auch denkbar sind: Sammlung von Dateien bestimmter Art (Bilder, Musik, Videos) und deren Metainformationen, Inventarlisten.
Transportsystem
Im Clarissa-Netz spielt die Kommunikation eine zentrale Rolle. Allerdings erfindet Clarissa das Rad nicht neu, sondern versucht so viele der gängigen Kommunikationswege für sich zu erschließen, sei es nun klassisch per E-Mail oder moderner z.B. per Telegram. Ebenso wenig möchte Clarissa alle Feinheiten z.B. von Telegram anbieten - das können darauf spezialisierte Programme und Apps besser - sondern einen soliden Grundstein dafür legen, daß unterschiedliche Systeme (Telegram, Matrix, Syncthing, XMPP, E-Mail) gleichermaßen genutzt werden können, um deine Kontakte auf vielfältige Weise zu erreichen. Clarissa speichert für jeden deiner Kontakte alle Wege, auf die sie erreicht werden können. Das können E-Mail Adressen sein, Telefonnummern, Matrix-IDs, Telegram-IDs… jedes dieser Wege der Kommunikation wird im Clarissa-Netz verallgemeinert ein “Transportsystem” genannt.
Von Clarissa gegenwärtig unterstützte Transportsysteme sind:
- E-Mail klassisch (IMAP für Eingang, SMTP für Versand)
- E-Mail “mißbraucht” als Chatsystem - rudimentär
- Telegram
- Matrix (ein föderaler und quelloffener Messenger-Dienst auf Basis von HTTP)
- XMPP - rudimentär
- Trvfile (ein Dialog über Dateien, die auf gemeinsam genutzten Laufwerken ausgetauscht werden)
- Syncthing (ein P2P-Synchronisationsdienst, der auch hinter NAT-Firewalls funktioniert)
- RSS/Atom Feed (nur Eingang)
Das letzte Beispiel bietet zwar nur eine Kommunikation in eine Richtung (nur Empfang von Nachrichten), wird aber dennoch als Transportsystem verstanden und auch ähnlich behandelt. Auch auf anderen Kommunikationsplattformen wie z.B. Telegram gibt es Kanäle, in die nicht geschrieben werden kann. In beiden Fällen ist der Umgang damit unter Clarissa der gleiche, mit dem einen Unterschied, daß einige Kanäle lediglich zum Empfang geeignet sind und nicht dahin gesendet werden kann.
Kanal
Clarissa versteht unter einem Kanal:
- einen Dialog mit einem deiner Kontakte über ein Transportsystem
- eine Stelle über ein Transportsystem, über die sich eine Gruppe von Mitgliedern unterhalten
- oder eine Quelle für öffentliche Nachrichten
Jeder Kanal ist mit je einem Transportsystem verknüpft. Jeder Kanal hat eine, dem Transportsystem entsprechende Adresse. Im ersten Fall (Dialog) entspricht diese Adresse der Transportadresse deines Kontakts (z.B. eine E-Mail Adresse).
Spezialfall: Eigener Kanal
Bidirektionale Transportsysteme (solche, die auch senden können) bieten die Möglichkeit, einen “eigenen” Kanal zu unterhalten. Alles, was in einen solchen Kanal gesendet wird, empfängt niemand anderes als der Benutzer selbst. Ein eigener Kanal eignet sich gut, um Inhalte zwischen unterschiedlichen Geräten auszutauschen. Beispiel: Der Benutzer sendet ein Bild mit dem Telefon in den eigenen Kanal unter Telegram (dort “Gespeichertes” genannt). Inhalte, die über den eigenen Kanal empfangen werden, werden nicht nur als Nachrichten erfaßt. Die Inhalte werden nachträglich analysiert (z.B. QR-Codes) und als geeignete Objekte in die Datenbank übernommen, z.B. als Notizen. Eigene Kanäle sind in der Liste der Kanäle gesondert markiert.
Nachricht
Unter einer Nachricht versteht man:
- eine E-Mail (mit einer eigenen Struktur in der Datenbank, die eine vollständige Wiederherstellung erlaubt)
- eine Mitteilung über eins der Transportsysteme (Telegram etc.), auch Kurznachricht genannt
Kurznachrichten basieren auf Notizen, siehe oben.
Gekapselte Nachricht
Wenn einer deiner Kontakte ebenfalls Clarissa benutzt, gibt es die Möglichkeit der gekapselten Kommunikation. Gekapselt bedeutet, die eigentliche Nachricht wird in eine Datei verpackt und erst dann verschickt. Gekapselte Nachrichten können fragmentiert werden und damit größere Datenmengen übertragen als es das Transportsystem i.d.R. erlaubt. Wenn beide Clarissa-Benutzer ihre Identitäten getauscht haben, kann die gekapselte Nachricht auch verschlüsselt werden. Gekapselte Nachrichten werden, nachdem sie empfangen wurden, im Transportsystem selbst (z.B. auf dem Telegram-Server) gelöscht.
Hinweise am Beispiel von Telegram:
- Der Text einer gekapselten Nachricht beginnt mit
MSGTYPE=
- Er enthält mehrere Zeilen mit Schlüsselworten und Werten, die für die Verarbeitung der gekapselten Nachricht relevant sind
- Die angehängte Datei enthält die eigentliche Nachricht i.d.R. in verschlüsselter Form
- Achtung: Auf dem Mobiltelefon ist eine solche Nachricht nicht zu gebrauchen
- Wenn der Empfänger Clarissa am Laufen hat, wird die Nachricht nach ihrer Verarbeitung wieder entfernt
Vorteile:
- Es können größere Datenmengen übertragen werden, als es die Transportsysteme in Einzelnachrichten erlauben (Fragmentierung)
- Die Übertragung kann verschlüsselt erfolgen und ist somit für Betreiber der Transportsysteme nicht zu lesen
- Die Übertragung wird dann auch signiert, so daß sich der Empfänger über die Herkunft sicher sein kann
- Es sind komplexe Interaktionen zwischen Clarissa-Benutzern möglich: Identitätstausch, Dateiübertragung, Datenaustausch, entfernte Suche (siehe unten)
Nachteile:
- Gekapselte Nachrichten sind nicht über mehrere Geräte teilbar, da sie beim Empfang sofort entfernt werden
- Das bedeutet auch, daß gekapselte Nachrichten nach Datenbankverlust nicht aus den Beständen des Transportsystems wiederhergestellt werden können
Kommunikations- oder Nachrichtenhistorie
Es dürfte ein Alleinstellungsmerkmal von Clarissa sein, die gesamte Kommunikation mit einer Person auf einer Seite zu erleben. Mit gesamt ist gemeint, jedwede Form von Chat (Telegram, Matrix) sowie auch alle ausgetauschten E-Mails in chronologischer Reihenfolge. Hier zeigt sich eine der Absichten von Clarissa: Menschen unterhalten sich mit anderen Menschen - auf welche Weise oder über welchen Weg, das ist nebensächlich.
Datenkorb
Angelehnt an das Konzept eines Warenkorbs beim online Handel ist auch das Konzept des “Datenkorbs”. Alle Informationen, die von Clarissa gesammelt werden, werden in festen Strukturen in die Datenbank eingetragen. Aus Sicht des Benutzers handelt es sich um Objekte: Kontakte, Gruppen, Identitäten, Nachrichten, Notizen, Dateien. Selbst ein Datenkorb ist ein solches Objekt, jedoch mit einer speziellen Funktion: Der Korb enthält andere Objekte.
Warum das?
- Einmal kann es sinnvoll sein, verschiedene Objekte (Nachrichten, Notizen, Dateien) in einen gemeinsamen Kontext zu stellen
- Wenn man eine Auswahl Objekte zusammen archivieren will
- Wenn Objekte an andere Clarissa-Nutzer übermittelt werden, wird aus den ausgewählten Daten ein Korb gebildet, dieser in ein Archiv exportiert und dann als ein Stück übertragen
Identitätstausch
Clarissa implementiert ein Verfahren zum Austausch von Identitäten über beliebige Transportsysteme. Nach dem Austausch haben sich beide Teilnehmer einander vorgestellt und ausgewiesen. Anschließend können sie verschlüsselt miteinander reden (siehe gekapselte Nachrichten).
Für Versierte in Kryptographie:
- Beim Austausch werden die öffentlichen Schlüssel ausgetauscht.
- Die Übertragung der öffentlichen Schlüssel findet mit einem temporären Schlüsselpaar statt, um Klartext zu vermeiden. Mal ehrlich, wen gehen die öffentlichen Schlüssel etwas an außer meinen Kontakten?
- Challenge-Response schränkt die Möglichkeiten von man-in-the-middle Attacken ein.
- Der Austausch kann in seinen einzelnen Stufen über mehrere Transportsysteme verteilt werden, was die Möglichkeiten von man-in-the-middle Attacken abermals einschränkt.
- Die Identität selbst (Hash des öffentlichen Schlüssels) wird von Anfang an mit ausgetauscht, und sichert damit ab, daß beim Austausch selbst ein gefälschter öffentlicher Schlüssel untergeschoben werden kann.
Dateiübertragung
Die Nutzung unterschiedlicher Transportsysteme und die Möglichkeit zur Fragmentierung gestatten auch den Austausch größerer Dateien. Clarissa unterscheidet dabei nicht, ob man nur eine Datei oder ganze Ordnerbäume übertragen möchte. Alle ausgewählten Dateien werden zu einem Archiv zusammengefaßt und anschließend an eine gewählte Gruppe von Empfängern übertragen. Die Empfänger erhalten die Dateien in der selben Ordnerhierarchie wie beim Sender. Beide, Sender und Empfänger, müssen sich keine Gedanken mehr darüber machen, wie die Dateien übertragen werden.
Datenaustausch
Clarissa kann jede Form von Datenobjekt oder Mengen davon in einem Archiv zusammenfassen (dabei wird ein Datenkorb gebildet) und an einen Kommunikationspartner über beliebige Transportsysteme übermitteln. Der Empfänger extrahiert das Archiv und importiert die Daten in seine eigenen Bestände. Auf diese Weise ist z.B. ein verteiltes Ticketsystem (eine verteilte Aufgabenverwaltung) möglich. Mitarbeiter, die ein Ticket eröffnet haben, leiten es an die zuständige Person zur Bearbeitung weiter.
Entfernte Suche
Zunächst kann Clarissa in den eigenen Datenbeständen nach Schlagworten suchen, wie man es bei den Suchmaschinen gewohnt ist. Unter einer entfernten Suche versteht man in Clarissa eine Suche in den Datenbeständen anderer (deiner Kontakte). Unterschiedliche Leute sammeln unterschiedliche Dinge, und in einer Gruppe, die zu irgend welchen Themen zusammenarbeitet, kann auf diese Weise jeder bei anderen recherchieren. Die Gruppenverwaltung von Clarissa (siehe oben) dient dabei als Fundament dafür, wer in welchen Datenbeständen schnuppern kann. Hat jemand bei einem anderen Daten gefunden, die interessant sind, können diese Daten angefordert werden. Auf diese Weise wird ein Datenaustausch eingeleitet.
Hintergrundjobs
Clarissa hat öfter Dinge zu erledigen, die für längere Zeit im Hintergrund stattfinden, z.B.
- Downloads von Videodateien über Youtube
- Auslesen externer Datenquellen, Erzeugung geeigneter Objekte und Eintrag in die Datenbank (wie z.B. das Importieren von E-Mails aus MBOX-Dateien)
Für die Kontrolle solcher Hintergrundjobs stellt Clarissa eine eigene Ansicht zur Verfügung.
Benachrichtigungen
Clarissa informiert den Benutzer über Ereignisse oder erinnert ihn an bestimmte Dinge. Auch hier seien Beispiele genannt:
- Einer deiner Kontakte hat Geburtstag
- Ein Hintergrundjob (z.B. Download) ist abgeschlossen
- Jemand hat dich in seinen Kanal eingeladen.
Cache, Blobstore
Das sind zwei technische Begriffe, mit denen du als Benutzer nicht unmittelbar in Berührung kommst, die zu kennen aber hilfreich ist. Clarissa lädt für dich jede Menge Mediendateien herunter. Angenommen, du hast die Feeds auf verschiedenen Webseiten abonniert, ebenso Nachrichtenkanäle auf Telegram. Dort erscheinen regelmäßig kurze Nachrichten, oft gemeinsam mit Bildern, Videos etc. All diese Dinge holt Clarissa für dich ab uns speichert sie zuerst in einem Cache (Zwischenspeicher). Identifiziert werden diese Daten dort über ihren Hash.
Bisher (November 2023) werden die Mediendateien in Anschluß in die Datenbank übertragen. Die Praxis hat jedoch gezeigt, daß es keine allzu gute Idee ist, große Binärobjekte wie Videos in die Datenbank einzutragen. Der Blobstore (BLOB - binary large objects, STORE - Speicher) soll künftig diese Aufgabe übernehmen.