Skip to end of metadata
Go to start of metadata

Titel

KOOB: Kontakte-as-a-Service

Studenten

Dena Moshfegh, Philipp Schönenberg

Betreuer

Prof. Dr. Markus Stolze

Projektpartner

Datahouse AG

Ausgangslage

Wer hat das nicht schon erlebt: Es wird der Telefonhörer genommen, die Telefonnummer aus dem persönlichen Adressbuch gewählt und der Anruf kommt nicht zustande. Eine Suche im LinkedIn-Profil des Kontakts führt zu keinem Erfolg, da die Telefonnummer nicht erfasst ist. Das Kernproblem ist die individuelle Pflege von Kontakten in persönlichen Adressbüchern. Diese Art von Datenhaltung ist redundant und anfällig auf verpasste Aktualisierungen. Auch das Kommunizieren einer Anpassung der eigenen Kontaktangaben ist oft schwierig und führt zu vielen E-Mails. Es sind bereits einige Online-Angebote, wie zum Beispiel XING und LinkedIn auf dem Markt. Mit diesen Online-Angeboten können zwar auch Kontaktangaben verwaltet werden, jedoch ist dabei das Extrahieren der Kontakte nicht im Interesse der Plattformen oder nur über proprietäre Applikationen möglich. Ein selektives Teilen von Adressfragmenten ist meistens nicht möglich.

Ziel

Unser Industriepartner, die Datahouse AG, möchte im Rahmen dieser Arbeit das Prinzip der Adresspflege invertieren. Es soll eine Web-Applikation entstehen, in welcher jeder Benutzer nur seine eigenen Kontaktangaben pflegt. Das Adressbuch entsteht automatisch durch das gegenseitige Teilen von ausgewählten Kontaktangaben. Ferner soll eine standardisierte Schnittstelle angeboten werden, damit die bisherigen Adressbuch-Clients weiterhin benutzt werden können. Im Gegensatz zu den genannten Online-Angeboten kann das KOOB Adressbuch, mit CardDAV fähigen Applikation benutzt werden. Bei geteilten Adressen, steht dem Empfänger der Adresse auch ein persönliches Notizfeld zur Verfügung, welches über die üblichen CardDAV-Clients editierbar ist.

Vorgehen

Als erstes wurde ein CardDAV-Server evaluiert um die CardDAV-Schnittstelle anzubieten. Diese CardDAV-Schnittstelle stellt eine projektkritische Anforderung dar. Daraufhin wurden mit dem Industriepartner in mehreren Iterationen die Anforderungen ausgearbeitet. Um die daraus resultierenden Use Cases zu konkretisieren, wurden Szenarien mit Personas aus der KOOB-Zielgruppe entwickelt. Auf Basis der Anforderungen wurde die Architektur entwickelt, worauf mit der Programmierung begonnen wurde.

Ergebnis

Das Resultat zeigt, dass die technische Umsetzung gemäss Projektidee grundsätzlich möglich ist. Die Benutzer können mit KOOB ihre Adressfragmente gezielt und selektiv teilen. Der CardDAV-Server Radicale legt das Adressbuch als Datei im Dateisystem ab. Um die Anforderung zum Teilen von Adressfragmenten zu erfüllen, wurde ein Radicale Storage Modul geschrieben, welcher die vCards an die KOOB REST-API weiterleitet. Damit die Authentifikation der Benutzer ebenfalls über die KOOB REST-API geschieht, wurde auch ein entsprechendes Authentication Modul entwickelt. Das Zusammenspiel von KOOB mit dem CardDAV-Server Radicale funktioniert mit Hilfe von den zwei neu entwickelten Modulen einwandfrei.

Das Web-Frontend wurde mit Angular2 umgesetzt. Da Angular2 noch in einem sehr frühen Entwicklungsstadium ist, gab es einige Herausforderungen zu meistern. In Verbindung mit dem flexiblen vCard-Format, wurde zum Beispiel das DTO in Zusammenhang mit der Angular2 Change Detection falsch konzipiert. Weil das Konzept noch nicht zu vertraut war, entstanden grosse Performance-Probleme. Gelöst wurde das Problem mit einem kleineren Subset der vCard für das Frontend und somit einem simpleren DTO. Das Aufsetzen der Infrastruktur war mit einigen Hindernissen verbunden. Zwar erlaubt Docker ein einfaches Deployen und horizontales Skalieren der Web-Applikation. Das Aufsetzen der Struktur für Python sowie die ganzen Continuous-Integration-Toolings, benötigte mehr Zeit als erwartet. Auch die Einarbeitung in die Programmiersprache Python verlief nicht ganz so Reibungslos wie gewünscht.

Ausblick

Im Rahmen dieser Bachelorarbeit konnte erst ein Bruchteil des Potentials von KOOB ausgeschöpft werden. Nach dieser Bachelorarbeit wird der Prototyp von der Datahouse AG weiterentwickelt, worauf ein interner Testlauf folgen wird. Mit dessen Feedback und unseren Erkenntnissen kann die Applikation dann zu einem wettbewerbsfähigen Produkt reifen.

  • No labels