Wood IT
OpenSource @ it's best
IT-Beratung mit OpenSource-Schwerpunkt

Blogeintrag

SpaceAPI, und ihre Nutzung

Die SpaceAPI in Kurzform

Die SpaceAPI ist eine Möglichkeit, Hackspaces überall auf der Welt eine einheitliche Methode zur Bereitstellung von Daten zu geben.

In dem entsprechenden Dokumenten zu diesem Standard sind alle Informationen enthalten, die man so für die Nutzung benötigt. Zur Vereinfachung stelle ich die Kerninhalte einmal kurz vor.

Es gibt eine Anzahl von benötigten Informationen, die von allen Benutzern übergeben werden sollten, wobei auch dies teilweise umgangen wird. Zumindest sollte jeder Space gewisse Informationen zu sich darstellen.

  • Name des Hackspace
  • URL des Logos des Hackspace
  • Website-URL
  • Ein Location-Objekt mit zumindest GPS-Koordinaten, besser aber einer zusätzlich einer Post-Adresse
  • ein Status-Objekt, mit einem Status des Hackspace, Optional auch 2 Image-URLs für Offen, bzw. Geschlossen
  • Ein Contact-Objekt mit zumindest einem Kommunikationskanal
  • ein "Issue-Report-Channel", bestehend aus zumindest einem Element des Contact-Objekt.

Es existieren noch weitere Informationen, die über diesen Standard verbreitet werden können, jedoch sind diese nicht verpflichtend.

Software für die API

Es existieren zwar durchaus verschiedene Ansätze zur Nutzung der SpaceAPI, jedoch werden diese leider nur sehr sporadisch gepflegt, oder nur für bestimmte Plattformen benutzbar.

Benötigt wird also ein Ansatz zur Nutzung zumindest von Teilen der Software auf so vielen verschiedenen Plattformen wie möglich, um die Möglichkeiten zur Nutzung der API auf allen Plattformen und Systemen zu ermöglichen.

SpaceAPI unter Linux

Beginnend mit einer Implementierung unter Linux soll eine Software entstehen, die die genannten Kriterien erfüllt.

Basierend auf dem Qt-Framework wurde eine Applikation entwickelt, die bereits viele Optionen für Linux-Nutzer bereit hält, die Informationen der SpaceAPI auszulesen, und darstellen zu können. SpaceAPI-Client Auf dem Screenshot des Hauptfensters der Applikation sieht man einmal einen Teil der Liste von Hackspaces, die sich bereits an der SpaceAPI beteiligen. Mit dieser Liste ist es ihnen möglich, sich aus den bekannten Spaces die für sie wichtigen Spaces heraus zu suchen, und dessen Informationen bereit zu halten, damit sie sie auf ihrem System benutzen oder visualieren können.

Natürlich bleibt zu bedenken, dass dies genannten Informationen nicht in der grafischen Oberfläche verwaltet werden, sondern diese in einem nicht sichtbaren Programm, dem entsprechenden Daemon verwaltet und verarbeitet werden. Der Daemon dient zum einen zur Speicherung ihrer Einstellungen, also der Spaces, die sie dauerhaft betrachten möchten, andererseits aber auch der Normalisierung der Informationen, denn es exisiteren mehrere Versionen der SpaceAPI, die im Daemon ausgelesen, und zur Kommunikation mit dem Client in der aktuellen Version wieder übergeben werden. SpaceAPI-SpaceInfo

Das Fenster der SpaceInfo dient zur Visualisierung aller Informationen des Hackspaces.

Wie erkennbar ist, beginnt das ganze mit einem Header-Bereich, der das Space-Logo, sowie das Icon für den Status des Spaces anzeigt. Hier wird auch, falls vorhanden, auf das entsprechende Logo des einzelnen Spaces zurück gegriffen, ansonsten wird ein generisches Icon vergessen. Dazu natürlich auch die wichtigsten Informationen zum Hackspace, also Name, Adresse bzw. Position, und die URL.

Im unteren Bereich stehen dann die Informationen zum Space, die sonst noch so verfügbar sind. Dazu gehört immer das SpaceFed-Objekt, da es von mir als Programmierer als durchaus beachtenswert befunden wird, und einfach als Projekt etwas Werbung benötigt. Ebenso natürlich das Contact-Objekt. Alles weitere wird nur dargestellt, wenn es in dem entsprechenden Objekt enthalten sein sollte.

Software vorhanden, wo bekommen?

Die hier angesprochene Software existiert derzeit nicht in den Repositories der verschiedenen Distributionen. Wer an der Software interessiert ist, kann sich den Quellcode der Software aus meinem Git-Repository herunterladen, und selbst compilieren. Eine entsprechende Anleitung dazu kann man dem ebenfalls im Repository enthaltenen Build-Script für ArchLinux, einem für das AUR nutzbaren PKGBUILD, entnehmen.

Das Git-Repository finden sie hier unter dem Namen SpaceAPI-Project.

Informationen

Die Software ist derzeit zwar benutbar, aber weit davon entfernt, alle nötigen Funktionen zu beinhalten.

Geplant sind derzeit eine alternative Kommunikationsform für andere Betriebssysteme (Netzwerk, statt DBus), sowie eine App für Blackberry basierend auf den Kernkomponenten der Applikation. Im Falle von Fehlern, oder auch Funktionswünschen, übersenden sie mir diese gerne, entweder als Kommentar hier, oder an die im Impressum ersichtliche Mail-Addresse.