Google vient de sortir l'API Mirror pour écrire des applications Google Glass et vient de communiquer les spécifications finales de l'appareil.
Google Glass utilise le concept de chronologie qui consiste en une série de fiches appelées "cards" contenant du texte, des images, des vidéos ou du text riche HTML. L'utilisateur glisse ses doigts sur la monture des verres pour naviguer à travers les cards. Elles sont générées par l'utilisateur, par exemple lors de la prise d'une photo, ou elles sont récupérées grâce à un service auquel l'utilisateur a souscrit. Les cards peuvent être groupées dans des paquets, l'utilisateur ayant la possibilité de naviguer dans l'ensemble des cards ou tout simplement de voir la couverture des paquets. Certaines commandes peuvent être associées avec des cards: soit elles sont déjà disponibles comme "Répondre" ou "Lire à haute voix", ou créées par un développeur.
Du point de vue d'un développeur, travailler avec les Google Glass signifie écrire une application pour lunette utilisant l'API Google Mirror. C'est une API RESTful utilisant du JSON pour transférer les données entre les appareils et les services distants. OAuth 2.0 est utilisé pour l'authentification des utilisateurs. Google est l'intermédiaire de toutes les communications entre les services et les lunettes Glass.
Google propose des projets de démarrage en Java et en Python avec un certain nombre de librairies pour Go, PHP, .NET, Ruby et Dart. Le projet de démarrage Java peut être testé ici https://glass-java-starter-demo.appspot.com/. Voici un exemple d'insertion d'une fiche dans les chronologies en utilisant HTTP, Java et Python,
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" }
TimelineItem timelineItem = new TimelineItem();
timelineItem.setText("Hello world");
service.timeline().insert(timelineItem).execute();
timeline_item = {'text': 'Hello world'}
service.timeline().insert(body=timeline_item).execute()
En cas de succès, le serveur est censé retourner un message d'erreur 201 avec des informations complètes sur l'élément créé :
HTTP/1.1 201 Created
Date: Tue, 25 Sep 2012 23:30:11 GMT
Content-Type: application/json
Content-Length: 303
{
"kind": "glass#timelineItem",
"id": "1234567890",
"selfLink": "https://www.googleapis.com/mirror/v1/timeline/1234567890",
"created": "2012-09-25T23:28:43.192Z",
"updated": "2012-09-25T23:28:43.192Z",
"etag": "\"G5BI0RWvj-0jWdBrdWrPZV7xPKw/t25selcGS3uDEVT6FB09hAG-QQ\"",
"text": "Hello world"
}
D'autres opérations liées à la chronologie sont, la lecture des fiches dans la chronologie, le regroupement et l'accès aux pièces jointes des fiches. Ces dernières peuvent contenir des informations binaires comme des images.
Les applications pour lunette peuvent inclure des souscriptions, l'utilisateur est averti quand quelqu'un accède à la chronologie ou lors d'un changement de localisation, pour des actions liées à la localisation telles que l'affichage d'une carte ou la gestion de contacts. Tous les commandes sont protégées par OAuth. L'utilisateur peut aussi interagir avec Google Now en demandant des informations, dicter des emails, ajouter un rendez-vous, etc grâce aux commandes vocales.
Avec les première lunettes sortant de la chaîne de production, Google a publié MyGlass, une application Android pour gérer les lunettes Glass, et les spécifications finales :
- Ecran: 640 x 360p, "l'équivalent d'un écran de 25 pouces à une distance de 2.5m"
- Camera: Photo – 5MP, Video – 720p
- Audio: capteur à conduction osseuse
- Connectivité: WiFi and Bluetooth
- Stockage: 16GB total, 12GB usable, synced with Google cloud
- Batterie: dure une journée pour une utilisation typique Les lunettes se connectent à Internet en WiFi ou via un téléphone compatible Bluetooth.