Förderjahr 2018 / Project Call #13 / ProjektID: 3157 / Projekt: OSME - Open Sheet Music Education
Als ein Open Source Projekt ist eines unserer Ziele Open Sheet Music Education für so viele wie Leute möglich zugänglich zu machen. Dazu zählen natürlich auch Developer, die unabhängig von uns sind und OSME in ihre eigenen Apps oder Websites integrieren wollen. Das lässt sich natürlich mit Hilfe von APIs ganz einfach lösen.
Für alle Non-Developer: Was ist eine API?
API steht für Application Programming Interface und lässt sich ziemlich gut mit einer Speisekarte eines Restaurants vergleichen. Die Speisekarte ist eine Liste von Gerichten und beschreibt sie auch jeweils. Wenn man dann ein Gericht bestellt, wird es in der Küche vorbereitet und dem Gast serviert. Der Gast muss dabei nicht wissen wie das Gericht zubereitet wird.
So ähnlich funktioniert eine API. Es ist grundsätzlich eine Liste von Dingen, die Entwickler nutzen können. Die Developer wissen aber nicht unbedingt wie es funktioniert, sondern wissen nur, dass es ihnen prinzipiell zur Verfügung steht. Wenn es die APIs nicht gäbe, müssten Developer ihre eigenen Übungsgeneratoren entwickeln.
So funktioniert es
Das alles klingt nun ziemlich kompliziert. Deshalb haben wir haben den Prozess in vier einfachen Schritten zusammengefasst um OSME in Apps/Websites einzubauen:
Schritt 1: Einen Node Server aufsetzen
Schritt 2: Einen Client mit Hilfe der Dokumentation programmieren, der die richtigen Parameter schickt
Schritt 3 (optional): Ein Graphic User Interface entwickeln
Schritt 4: Abspeichern der XML-Dateien, die vom Server zurückgeliefert werden
Mit diesen vier Schritten kann ziemlich leicht ein eigenes Webservice entwickelt werden. Genau dieses Service kann dann auch in mobilen Apps, wie Practice Bird, verwendet werden. So haben wir es geplant:
OSME in Practice Bird
Practice Bird ist eine App, die wir entwickelt haben um Musiker das Üben und Musizieren zu vereinfachen. Es ist im Apple App Store und auch im Google Play Store (als PhonicScore App) zu finden.
Wir haben es so geplant, dass der User zunächst auf “Noten hinzufügen” in der App klickt. Dann wird es einen Button geben, mit der eine Blattleseübung erstellt werden kann. Wir haben auch geplant ein simples Interface zu erstellen, damit man in der App selbst auch die Parameter für eine Übung einstellen kann. Die Anfrage für eine neue Blattleseübung wird dann über das API an unseren Server geschickt und dementsprechend schickt der Server die XML-Datei mit der generierten Übung zurück. Schließlich ist das Ziel, dass die Übung dann in der Practice Bird Library mit den anderen Noten des Users angezeigt wird.