Förderjahr 2017 / Project Call #12 / ProjektID: 2321 / Projekt: Vallet
Unsere dezentrale Gutschein-App Vallet wurde diese Woche intensiv – und im realen Leben - getestet. Im Zuge unserer Usability-Tests wurden erstmals auch Benutzer mit der Vallet App konfrontiert, die bis jetzt nicht operativ im Projekt involviert waren.
Das generelle Feedback zum Produkt war positiv. Allerdings konnten wir noch einige Punkte identifizieren, die es umzusetzen gilt, bevor wir die finale Version der App veröffentlichen.
Performante Datenbank am Client: Objectbox
Bevor ich allerdings auf diese Verbesserungsvorschläge eingehe, möchte ich noch auf eine technische Besonderheit eingehen, über die wir an dieser Stelle noch nicht berichtet haben. Als mobile Datensynchronisierungslösung und Alternative zur lokalen Datenbank sqlite haben wir Objectbox implementiert. Dadurch ist es uns möglich die Daten lokal zu verarbeiten, während die App noch auf die Daten wartet, die in der Blockchain oder im IPFS gespeichert werden. Objectbox ist extrem performant und sorgt daher für eine verbesserte Usability.
Datenaustausch über Bluetooth nicht stabil (genug)
Stattdessen scheint der Datenaustausch über Bluetooth in einer heterogen „Produktivumgebung“ nicht stabil genug zu laufen. Unser Ansatz den peer-to-peer Datenaustausch über Bluetooth (ohne Bluetooth-Pairing oder Wi-Fi Direct) zu „hacken“, läuft immer wieder in Timeouts und daher nicht verlässlich.
Daher haben wir uns daher entschlossen, die Bluetooth-Schnittstelle zu Gunsten einer stabileren und Benutzer-freundlicheren Bedienung erstmals komplett zu eliminieren.
Der Zugriff auf die entsprechenden Daten läuft in der ersten Version ausschließlich über den Scan des QR-Codes, der die IPFS-Adresse kodiert.
Intuitiver Prozess-Fluss: So frugal wie möglich
Der User Flow ist noch nicht intuitiv genug. Indem wir das Wording klarer definieren, unnötige Elemente heraus nehmen und die Anzahl der Benutzer-Aktionen auf ein Minimum reduzieren, werden wir auch hier noch nacharbeiten und zu einer verbesserten Usability gelangen.
IPFS: Warten auf Daten
Wie bereits in unserem Post veröffentlicht, verwenden wir IPFS als dezentrale Alternative zur Speicherung der Daten, in unserem Falle die Preisliste. Auch hier haben wir noch nicht die ideale Implementierung erreicht.
Auf Grund von (in der Entwickler-Community) bekannten Performance-Problemen (https://github.com/ipfs/go-ipfs/issues/3860) mit IPNS/IPFS läuft die Verbreitung der Daten noch suboptimal. So kann es mitunter ein paar Minuten dauern, bis die Preisliste verfügbar ist. Das führt im Live-Betrieb allerdings noch zu Problemen. Wir suchen noch nach Möglichkeiten dieses Problem zu lösen.
In unserem nächsten, und abschließenden Post, werden wir die finale Version unserer App (Client & Admin) veröffentlichen. Stay tuned.