Zum Hauptinhalt Zur Navigation

Shiva: REST-API für die eigene Musiksammlung

Alvaro Mourino hat mit Shiva ein REST-API für die eigene Musiksammlung von Nutzern entwickelt. Der Shiva-Server kann sich dabei mit den Musiksammlungen von Freunden verbinden, und mit dem Shiva-Client gibt es eine passende Web-App, um unterwegs auf die Musik zuzugreifen.
/ Jens Ihlenfeld
2 Kommentare News folgen (öffnet im neuen Fenster)
Shiva Client (Bild: Mozilla)
Shiva Client Bild: Mozilla

Technisch gesehen handelt es sich bei Shiva um ein RESTful API für die eigene Musiksammlung. Der entsprechende Server indexiert die Musik auf der Festplatte und stellt sie über ein API samt Metadaten bereit, über das die Musik nach Belieben durchsucht und aufbereitet werden kann.

Letztendlich geht es Mourino aber nicht um eine technische Lösung, sondern darum, eine freie Alternative zu populären Musikdiensten wie Spotify oder Pandora zu schaffen, bei der die Nutzer die volle Kontrolle zurückbekommen. Shiva soll keine Konkurrenz zu diesen Diensten werden, sondern eine Alternative, die jeder auf seinem eigenen Server installieren, verändern und nutzen kann. Zudem soll die Musik so auf jedem Gerät verfügbar sein.

So ist es über das API auch möglich, Musik mit anderen zu teilen und beispielsweise Freunden Zugriff auf die eigene Musiksammlung zu gewähren. Auch lassen sich mehrere Shiva-Server miteinander verbinden, so dass Freunde ihre Musiksammlungen zusammenlegen können. Das erfolgt transparent, es macht also keinen Unterschied, ob ein Musikstück auf dem eigenen Server liegt oder auf dem eines Freundes. So soll Shiva zu einem verteilten sozialen Netzwerk für Musik werden.

Shiva kann dabei auch Daten von außen einbeziehen. So werden beispielsweise Konzerte über das Bands-in-Town-API(öffnet im neuen Fenster) eingebunden und Songtexte über Scraper-Module aus dem Web geholt.

Mit dem Shiva-Client steht zudem eine passende Web-App für das REST-API zur Verfügung, um über den Browser auf die Musik zuzugreifen. Der Client greift über einen mitgelieferten Proxy auf Serverseite auf das API zu und spielt die Musik ab.

Mourino hofft auf Mitstreiter

Der Shiva-Server(öffnet im neuen Fenster) wurde in Python geschrieben und nutzt SQLAlchemy(öffnet im neuen Fenster) Object-Relational-Mapper sowie Flask(öffnet im neuen Fenster) zur HTTP-Kommunikation. Der Shiva-Client(öffnet im neuen Fenster) nutzt Googles Javascript-Framwork AngularJS(öffnet im neuen Fenster) .

Laut Alvaro Mourino ist Shiva bereits nutzbar, aber noch in einem frühen Entwicklungsstadium. Er hofft nun auf Mitstreiter, die Server und Client forken und nach ihren eigenen Vorstellungen anpassen, der Code ist Open Source. Er selbst plant unter anderem die Entwicklung einer einfachen Javascript-Bibliothek zum Zugriff auf das Shiva-API sowie die Implementierung von Shiva2Shiva-Kommunikation, um mehr als zwei Shiva-Server miteinander zu verbinden. Zudem soll es mit Shiva-FXOS einen Shiva-Client für Firefox OS geben.

Die Idee und die Funktionsweise von Shiva erläutert Mourino(öffnet im neuen Fenster) in einem ausführlichen Blogeintrag bei Mozilla.


Relevante Themen