Die Freude am (hobbymäßigen) Produzieren von elektronischer Musik gehört seit den späten Achtzigern zu meinen Möglichkeiten, kreativem Potential Ausdruck zu verleihen. Dass ich seit einiger Zeit nicht mehr so umfangreich soundtechnisch tätig bin, mag mehrere Gründe haben. Aber das ist ein anderes Thema. Wie auch immer, ein guter Bekannter von mir der seit einigen Jahren in stetig hohem Umfang Musik aus dem Bereich Elektro / Minmal House produziert, bewegte mich vor ca. 1 1/2 Jahren dazu, eine Web-Präsenz zu realisieren die folgende Möglichkeiten bieten sollte:
- Erstellen von Alben und Hochladen von Tracks
- Darstellung der Alben in Form von Releases in chronologischer Auflistung
- Hinzufügen von Album-Covers und Beschreibungen
- Streamen und Downloaden einzelner Tracks
- Kommentieren zu den Tracks
Was ich persönlich noch als wichtig erachtete:
- Technisch gute Lösung für das Streaming und Downloaden
- Künstler-Verwaltung mit eigenem Login und Upload-Möglichkeit
- System für News, Künstler-Infos und Bilder (z.B. von Live-Events usw.)
Was sich später noch als erforderlich herauskristallisierte:
- chronologische Darstellung der Alben mit Release-Nummern
- vom Design her eher in Richtung Weblog gehend
- minimalistischer Aufbau, keine unnötigen Spielereien wie Charts und Playlists
Die technisch beste Vorraussetzung bietete meiner Erfahrung nach ‘Jinzora’, dem vor einiger Zeit auch noch das ehemalige Projekt ‘NetJuke’ hinzugefügt wurde. Damit wurden zwei technisch fortgeschrittene Streaming-Lösungen verschmolzen. Jinzora ist heute ohne Zweifel die beste Lösung in diesem Bereich.
Doch was ist eigentlich das Konzept von Jinzora, wo liegen dessen Stärken und Schwächen?
Da muss man ganz klar sagen, dass das Grundprinzip von Jinzora ausgelegt ist, um massive Musik-Sammlungen zu verwalten und diese entweder lokal oder über das Web zur Verfügung zu stellen. Eigentlich ist es also eine virtuelle Jukebox.
An dieser Stelle scheiden sich die Geister. Denn die anderen Funktionen von Jinzora sowie die komplizierte Design-Anpassung liesen ohne Code-seitigen Aufwand keine vernünftige Kombination der Anforderungen realisieren.
Somit musste die Struktur der Jinzora-Installation auf einen minimalen Level heruntergebrochen und nötige Zusätze ‘hardgecodet’ werden. Diese ‘Vergewaltigung’ des Konzepts endete darin, dass ich Jinzora dazu brachte, lediglich eine Liste an Releases inklusive Nummerierung auszugeben. Beim Klicken auf ein Release gelangte man zu den entsprechende Tracks.
Das Ganze wurde dann als IFrame in das SoundTimes Weblog eingebunden. Ein IFrame ist eigentlich immer eine unbefriedigende Lösung. Jedoch war es nicht mit vertretbarem Aufwand möglich, die Jinzora-Engine server-seitig einzubinden.
Das Ergebniss war also die Ko-Existenz zweier Systeme die vom Ansatz her so unterschiedlich sind wie es nur geht. Dass dies auf Dauer keine akzeptable Lösung sein würde, ist klar.
Kürzlich habe ich dann den Schritt gewagt, und SoundTimes auf Basis der neuesten Jinzora-Release komplett neu aufgebaut. Die Integration in das Weblog wurde aufgegeben. Obwohl die Möglichkeiten des neuen Jinzora um Bereich Community, User-Verwaltung und Template-Design erheblich besser geworden sind, taten sich nun doch noch einige konzeptionelle Probleme auf:
- Das Grundprinzip von Jinzora sieht die Wahl einer Ebenen-Struktur vor, die dann global verwendet wird.
- Album->Track
- Artist->Album->Track
- Genre->Album->Track
Beispiele:
Das oberste Element in der Struktur gilt immer auch als Basis für die Anzeige der Seite.
Das heisst also, im Falle von 1. werden auf der Hauptseite alle Alben aufgelistet, im 2. Falle alle Künstler und im 3. alle Genres.
Nun kommt hinzu, dass diese Ebenen-Struktur auch so aus den Medien-Quellen hervorgehen muss. Entweder in Form von vorhandenen exakten ID3-Tags, die die jeweilige Struktur abbilden, oder eine entsprechende Anordnung der Files im Dateisystem.
Im Falle von ID3 muss tatsächlich darauf geachtet werden, dass sämtliche ID3-Informationen korrekt gesetzt sind, und vom Server gelesen und ausgewertet werden können. Die Erfahrung hat aber gezeigt, dass dies nur in den wenigsten Fällen eingehalten und gewährleistet werden kann.
Somit musste die Dateisystem-Struktur als Basis gewählt werden. In diesem Fall ist es also so, dass die oberste Ordner-Ebene im Dateisystem der obersten Ebene der gewählten Hierarchie entsprechen muss. Bei der Album->Track Struktur währe dies also das Album als erstes Element in der Ordner-Struktur. Das entsprechende Album bekommt dann auch den selben Namen wie der Ordner.
Die Namen der Tracks werden im ersten Schritt vom Dateinamen übernommen, können dann aber per Admin-Interface umbenannt werden. Auf diese und weitere Informationen wie Jahr, Beschreibung und Bild hat man dann ebenfalls per Web-Interface Zugriff. Diese Daten werden in der Datenbank abgespeichert. Soweit so gut.
In der 1.Struktur, also Album->Track gibt es aber keinen Künstler in der Hierarchie. Dies hat zur Folge, dass die Benutzer-Funktionen von Jinzora (z.B. Künstler und deren Home-Verzeichnisse) nicht greifen. In diesem Falls muss man prinzipiell darauf verzichten den Künstlern die Möglichkeit zu geben, selbst Alben anzulegen und Tracks hochzuladen (ausser man modifiziert den Source-Code, was ich letztendlich auch gemacht habe).
Im 2. Falle, also Artist->Album->Track hat man zwar ein voll funktionierendes Benutzer-System, jedoch ergibt sich der Nachteil, dass in der ersten Site-Ebene alle Künstler gelistet werden. Ich musst also den Source-Code umschreiben, so dass statt dessen alle Alben (=Releases) gelistet werden. Soweit so gut. Man kann von Glück sagen, dass Jinzora mittlerweile das Erstellen von eigenen Frontends, Templates und Styles zulässt, so dass kein Eingriff in die System-Files erforderlich war. Ansonsten wäre dies eigentlich auch nicht akzeptabel.
Um die 3te Variante zu verwenden, also auch die Gruppierung nach Genres zu ermöglichen, müsste man im ersten Schritt die Ordnerstruktur im Dateisystem ändern, und dann die Datenbank neu generieren da ja hier die Hierarchie abegebildet wird. Dies hat dann zur Folge, dass dann wieder alle Meta-Daten, also Anzahl der Downloads, benutzerdefinierte Titel, Erstellungs-Datum usw., verloren gehen.
Desweiteren muss man sich im Vorhinein darüber klar sein welche Genres man verwendet.
Ausserdem muss wiederum in den Code eingegriffen werden, damit als erste Ebene nicht die Genres sondern die Alben dargestellt werden.
Alle diese Varianten benötigen viel Nacharbeit, nicht nur um dem Schema von SoundTimes gerecht zu werden, sondern dabei auch noch einfach benutzbar zu sein und problemlos zu funktionieren.
- Die Community-Funktionen, also Kommentare, News usw. reichen leider nicht aus
- Da Jinzora also tatsächlich eher auf das Jukebox-Prinzip hin optimiert wird, sind die Funktionen die es auch zu einem guten CMS machen würden, eher kaum bis gar nicht vorhanden.
- Das Einbinden in eine vorhandene Webseite ist zwar möglich, aber beeinhaltet kaum die Möglichkeit einer Kooperation zwischen den 2 Systemen. Eine Integration in Wordpress z.B. wäre design-technisch zwar machbar, aber auf Code-Ebene gibt es keine Möglichkeit das beide Systeme Hand in Hand arbeiten könnten.
- Das Einbinden per IFrame ist aus bekannten Gründen auf Dauer auch keine akteptable Lösung.
Zur Zeit läuft auf http://www.soundtimes.de eine Standalone-Version von Jinzora, und auf http://de.cornblogs.com/soundtimes das Weblog bei CornBlogs, welches momentan wieder ohne Einbindung von Jinzora existiert.
Was ich mir jetzt überlege ist, ob ich Jinzora auf die Struktur Genre->Artist->Album->Track oder auf Genre->Album->Track umstellen soll (mit allen abzuarbeitenden Konsequenzen) oder ob ich wieder Back-to-the-Roots gehe und versuche, eine annehmbare Lösung zur Integration (eine anderen Systems als Jinzora) in das Weblog zu finden…
Noch was am Rande: ursprünglich hatte ich mal vor, ein Portal im Stile von Besonic hochzuziehen. Aber wofür? Wenn jemand seine Tracks einem breiten Internet-Publikum präsentieren will, gibt es bereits genügend solcher Portale.
Die Idee des eigenen ‘NetLabels’ ist zwar schön, aber irgendwie kann ich mich damit nicht so richtig identifizieren.
Und noch eins: ich habe ehrlich gesagt langsam keine Lust mehr alleine an einem Web-Projekt zu arbeiten, und massiv Zeit zu investieren die ich dann nicht mehr für wirklich kreative Dinge habe. Es wird Zeit dieses Thema zu einem Abschluss zu bringen, wie auch immer. Wer weiss, vielleicht ist ja LoudBlog die Lösung…
Chriss - 08.11.2006 - 00:38:58
Woah, geiles Farbspiel