Google Glass: Was Entwickler wissen müssen

Seite 2: Programmierung

Inhaltsverzeichnis

Der Entwickler darf auch nach der kommerziellen Auslieferung der Brille keine direkt auf der Hardware laufenden Applikationen entwickeln. Das Erstellen von Programmen erfolgt durch eine als Mirror API bezeichnete Schnittstelle. Dabei kommt die in Abbildung 5 gezeigte Systemstruktur zum Einsatz.

Die Mirror API setzt das Vorhandensein eines Servers voraus (Abb. 5).

(Bild: Google)

Der Server hat die Aufgabe, den Google-Server mit anzuzeigenden "Karten" zu versorgen. Diese aus HTML und JavaScript bestehenden Objekte sind eine Mischung aus Webseite und Webclipping. Google liefert sie sodann an die Brille des Nutzers aus. Eventuelle Interaktionen wandern zuerst an Googles Zentralserver, der danach das Computersystem des Entwicklers über die anstehenden Aktionen informiert.

Die einfachste Karte besteht nur aus einem String, der einfach in die Kartenliste eingepflegt wird – die dazu notwendige Post-Anfrage entspricht dem folgenden Schema:

POST /mirror/v1/timeline HTTP/1.1
Host: www.googleapis.com
Authorization: Bearer {auth token}
Content-Type: application/json
Content-Length: 26
{ "text": "Hello world" }

Interaktivität lässt sich am einfachsten durch das Hinzufügen eines Menü-Items erreichen. Es erlaubt dem Nutzer das Reagieren auf die angezeigte Karte. Neben einer Liste vorgefertigter Aktionen kann man ein hausgemachtes Menü-Item einpflegen:

HTTP/1.1 201 Created
Date: Tue, 25 Sep 2012 23:30:11 GMT
Content-Type: application/json
Content-Length: 303
{
"text": "Hello world",
"menuItems": [
{
"action": "CUSTOM",
"id": "complete"
"values": [{
"displayName": "Complete",
"iconUrl": "http://example.com/icons/complete.png"
}]
}
]
}

Der Server des Entwicklers hat die Aufgabe, auf die vom Glass-System eingehenden Anfragen binnen zehn Sekunden zu reagieren. Antwortet er nicht rechtzeitig, meldet sich Google später wieder. Lang dauernde Anfragen sollte der Applikationsserver quittieren und danach in einem Worker Thread erledigen. Zur Erleichterung des Zusammenbaus der Anfragen bietet Google Wrapper für die folgenden Programmierumgebungen an:

  • Go
  • Java
  • .NET
  • PHP
  • Python
  • Ruby

Die Verwendung eines der für diese angebotenen SDKs hat den Vorteil, dass sie die GUI-Karten und Requests aus Objekten zusammenbauen, wodurch das fehleranfällige Hantieren mit der Anfrage entfällt. Zudem enthalten die SDKs je ein Projektskelett samt fertiger Kommunikationsinfrastruktur.

Die Mirror API ist derzeit nur für die Explorer zugänglich. Alle anderen Entwickler suchen den notwendigen Eintrag in der Verwaltungskonsole vergeblich. Zum Testen der HTML-Payloads bietet Google eine als Glass Playground bezeichnete Webanwendung an. Dieses Werkzeug erlaubt die Eingabe der Nutzerdaten, die daraufhin gerendert werden.

Zu guter Letzt gibt es von Drittanbietern einen Nachbau des Mirror-API-Servers. Da es sich hierbei um kein offizielles Google-Produkt handelt, besteht das Risiko von Inkompatibilitäten – sein Entwickler lehnt jede Verantwortung für Protokollunterschiede ab.

Wenige Tage nach der Auslieferung der Explorer Edition kursierten diverse Anleitungen zum Rooten – eine gerootete Brille führt beliebige APK-Dateien (Androids Application Package File) bereitwillig aus. Ausgewählte Entwickler bekommen laut Medienberichten Zugang zu einer Beta-Version des Glass Development Kit. Es erlaubt das Erstellen nativer Programme. Ein gutes Beispiel dafür ist das Augmented-Reality-Spiel Psyclops, das das Anzielen von Aliens durch "Ansehen" ermöglicht.

Zweifelsohne stellt Google Glass einen Riesenschritt in Sachen Head-Mounted Displays dar. Bisherige Produkte waren für den praktischen Einsatz zu klobig, zudem fehlte ihnen ein finanziell und marketingtechnisch starker Hersteller. Trotz des enormen Hypes sind noch einige Fragen offen. Erstens ist nicht klar, ob sich HMDs durchsetzen können – schon allein aus datenschutzrechtlichen Gründen gibt es hierzulande nicht unbeachtliche Hürden.

Die zweite Frage ist, ob Googles Plattform den Erfolg von Android am Smartphone replizieren kann. Dagegen spricht neben dem langsamen Rollout, dass die Mirror API alles andere als reichhaltig ist. Ein Konkurrent mit besserer Verfügbarkeit und lokalen Apps könnte binnen kurzer Zeit signifikante Marktanteile erreichen und Google in die Rolle des Verfolgers degradieren. Kurz gefasst: Der durchschnittliche Entwickler verliert nichts, wenn er sich noch nicht mit Head-Mounted Displays befasst.

Tam Hanna
befasst sich seit der Zeit des Palm IIIc mit Programmierung und Anwendung von Handheldcomputern. Er entwickelt Programme für diverse Plattformen, betreibt Onlinenews-Dienste zum Thema und steht für Fragen, Trainings und Vorträge gern zur Verfügung.
(ane)