Skip to content

5.4.Ergebnis

jkimmeyer edited this page Sep 6, 2016 · 1 revision

##5.4) Ergebnis Im Ergebnis erläutern wir noch kurz unserem Standpunkt zum Projekt und weisen auf Probleme und Bedenken hin.

###5.4.1. Probleme und Schlussfolgerung Probleme haben wir zum Ende hin hauptsächlich bei der Implementierung eines Musikplayers gefunden. Diese war in Verbindung mit der Datenbank Redis nicht gut umzusetzen.

Daher würden wir in unseren nächsten Projekten nur auf Redis zurückgreifen, wenn wir nur sehr kleine Datenmengen verarbeiten möchten. Als wesentlich bessere Alternative dazu eignet sich die NoSQL- Datenbank MongoDB, hier kann man nicht nur weitere Datentypen verwalten, sondern hat auch noch eine sinnvollere Speicherverwaltung. Zudem ist die Auswahl an geschriebenen Modulen mit Verwendung von MongoDB um einiges größer.

Außerdem ist uns noch aufgefallen, dass unser Panel nicht optimiert für große Datenmengen ist. Ebenso haben wir einige Fehler beim Anlegen der einzelnen Keys gemacht, zusätzlich leidet die Performance noch unter der Verwendung einzelner Funktionen.

Die Verwendung von Keys ist in den meisten Fällen nicht intelligent, da das Indizieren und Verarbeiten sehr aufwendig sein kann. Bei kleinen Datenmengen ja, bei den Dimensionen, welche unsere Datenbank aber erreicht hätte, regelmäßige Anwendung angenommen, macht das aber keinen Sinn. Hier hätten wir besser auf Hashes und Sets oder auf die Datenbank MongoDB zurückgegriffen.

Das Verwenden der DB- Methoden db.keys und db.maps ist sehr performancelastig und sollte besser durch db.scan ersetzt werden.

###5.4.2. Fazit Tools und Module

Node.js mit seinen Modulen und auch socket.io haben uns beide sehr begeistert. Besonders das Modul "async" hat uns einiges an Arbeit abgenommen.

Redis hat auf jeden Fall seine Vorteile, allerdings werden wir beim nächsten Mal eher zu MongoDB tendieren.

Der CocoaRestClient hat auch zum Schluss der Implementierungsphase immer wieder geholfen, Fehler zu finden und die einzelnen Funktionen zu testen, auch dieser wird nicht in Vergessenheit geraten.

###5.4.3. Fazit - "musiqueue" Neben einem genialen Namen, dem wichtigsten Überbleibsel unseres dritten Gruppenmitglieds und einer Simulation eines Musikplayers kann unsere App ja nicht so viel.

"Am besten gefällt mir immer noch der Name!"

Könnte man meinen. Allerdings gehen wir soweit und behaupten das Gegenteil.

Die "musiqueue" bietet eine sehr gute Grundlage für eine folgende Programmierung, was uns beiden auch mit Abschluss des Projekts noch nicht ganz aus dem Kopf geht. Vielleicht finden wir nochmal die Zeit. Viel wichtiger ist die "musiqueue" für uns. Ohne sie hätten wir nur halb so viel Verständnis eines "Verteilten Systems" gefunden.

Und coole Features hat sie auch noch. Wer wünscht sich nicht das Filtern der Genres oder die Mitbestimmung der Musik auf einer Party? Und damit da kein Müll passiert, kann der "DJ" oder "Admin" immer noch die Oberhand behalten. Leichter gedacht als gemacht war unsere Idee dann aber doch, die Implementation des Musikplayers ging uns leider zu weit und hätte das System um einiges besser gemacht.

Mit den Features des Systems sind wir durchaus zufrieden. Um die wichtigsten nochmal zusammenzufassen:

  • Songs dürfen nur von bestimmten Genres gespielt werden
  • Bei leerer Queue nach erlaubten Genres zufällige Fortführung
  • Unterschied zwischen Admin- und Gastbereich
  • Verwaltung der Datenbank

Um einen Ausblick für die Zukunft zu haben, gibt es folgende Module, welche besonders interessant sind:

"Musicmetadata" bietet die Möglichkeit anhand von ".mp3" Dateien die Metadaten auszulesen. Hierdurch wäre der Aufbau einer Datenbank relativ einfach und auch das Importieren einer Datenbank wird dadurch sehr unkompliziert.

"Spotify-Node-Applescript" greift auf den Spotify-Client zu. Das ganze funktioniert über Applescript und bietet die Möglichkeit über die Konsole mithilfe der "Spotify URI" bestimmte Songs abzurufen und Interaktionen wie Play, Pause, Skip, etc. auszuführen. Dieses Modul ist besonders interessant, da heutzutage der Großteil der Jugendlichen und Studenten - und damit Hauptzielgruppe - nur noch Streamingdienste wie Spotify oder Deezer benutzen.

Wir bleiben dabei. Vielleicht würde "musiqueue" seine Anwendung in einer mittelgroßen Zielgruppe finden, zeitlich ist das ganze allerdings sehr aufwendig und wird uns - zumindestens im Moment - zu viel.

Clone this wiki locally