Offene Themen
Aus zeitlichen Gründen wurden einige Themen implementiert im Projekt. Diese eignen sich aber als weiter Themen für aufbauende Praxisprojekte oder Bachelorarbeiten.
Sicherheit
Ein großes Thema ist die Sicherheit der Plattform. Momentan sind nur die Frontends und Admin Applikationen berechtigt, mit dem Backend zu kommunizieren, aber es gibt keinem Limit darüber, wie oft Daten ausgetauscht werden können. Da hat die Folge, dass über Spam das Backend lahmgelegt werden könnte.
API Schutz
Zudem ist die API nicht über einen API Key geschützt. Es wurde entschieden, dies erstmal nicht einzubinden, weil der Aufwand dafür recht hoch ist und gerade nur zwei Applikationen Zugriff haben sollen.
Plättchen Snapping
Eine wichtige Funktion, die sehr Zeitintensiv war, war das Snapping der einzelnen Plättchen. Momentan können alle Plättchen nebeneinander und somit „verbunden“ werden. Es ist aber geplant ein Regelwerk zu erstellen, der erlaubt nur gewisse Plättchen miteinander zu verbinden. Um dies zu implementieren, muss das Regelwerk erstmal erstellt werden und dann bei jeder Handlung in der Applikation geprüft werden. Am Ende muss noch die grafische Umsetzung davon erfolgen, damit es für den Nutzer aus sichtbar ist, welche Aktion erlaubt und nicht erlaubt ist.
Zusätzliche Funktionen
Kleine Funktionen, die der User-Experience der Applikation hätte verbessern können, sind einmal eine Preview der Applikation und das Anzeigen des Cursors von remote Nutzern. Beide Funktionen wurden implementiert, jedoch waren sie von der Funktionalität nicht ausgereift gewesen, um zu verwenden.
Preview der Applikation
Das Hauptproblem bei der Preview war die Tatsache, dass der Hintergrund der Preview mit dem Hintergrund der Applikation in Konflikt kam. Zudem reagierte die Preview nicht sofort auf Änderungen, die vom Nutzer gemacht wurden.
Cursor von remote Nutzern
Der Remote Cursor funktionierte einwandfrei, solange der Canvas nicht skaliert (zoom in oder out) war. Durch die Änderungen des Skalierung waren die Position des remote Cursors an falscher Stelle. Das Problem ist definitiv lösbar. Jedoch fehlte die Zeit und Wissen dies zu recherchieren. Aus dem Grund wurde die Funktion durch eine andere Visualisierungsmethode ersetzt, um die Aktivitäten der anderen Nutzer darzustellen.
Die neue Methode besteht darin, jedem Nutzer eine zufällige Farbe zuzuweisen. Wenn ein Nutzer ein Plättchen bewegt, wird dieses Plättchen mit der Farbe des Nutzers umrandet. So wird sichtbar wer, etwas bewegt. Das lässt natürlich alle anderen Interaktionen aus. Da aber das Bewegen der Plättchen die wichtigste Interaktion der Nutzer ist, kann die Lösung eingesetzt werden.
Der Code für beide dieser Funktionen ist noch im Projekt, aber nicht eingebunden. Sollte dafür Bedarf sein, lassen sich die beiden Funktionen leicht wieder einbinden.