O Google liberou a API Mirror para escrever aplicações Glassware e a especificação final para os dispositivos Glass.
O Google Glass usa o conceito de linha do tempo consistindo de uma serie de cartões contendo texto, imagem, vídeo ou HTML rico. O usuário passa o dedo na armação de vidro para navegar entre os cartões. Os cartões são gerados pelo usuário tirando uma foto, por exemplo, ou recebendo de um serviço que o usuário assinou. Os cartões podem ser agrupados em pacote, e o usuário tem a opção de navegar por todos os cartões ou vendo apenas os cartões de um pacote. Certos comandos estão associados com os cartões: alguns são embutidos como "Reply" que significa "Responder" ou "Read Aloud" que significa "Ler em voz alta"; outros comandos são customizados pelo desenvolvedor do cartão.
Da perspectiva do desenvolvedor, trabalhar com dispositivos Glass significa escrever aplicações Glassware usando a API Google Mirror. Isso é uma API RESTful que usa JSON para transferir dados entre o dispositivos e os serviços finais. O OAuth 2.0 é usado para autenticação do usuário e o Google intermedia toda a comunicação entre esses serviços e os dispositivos Glass.
O Google está fornecendo projetos iniciais em Java e Python juntamente com diversas bibliotecas para programar em Go, PHP, .NET, Ruby e Dart. O projeto inicial em Java pode ser testado em https://glass-java-starter-demo.appspot.com/. A seguir temos um exemplo que insere um cartão na linha do tempo utilizando HTTP, Java e 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()
Se for executado com sucesso, o servidor deverá retornar uma mensagem 201 com a informação completa sobre o item criado:
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" }
Outras operações relacionadas à linha do tempo são: leitura de cartões da linha do tempo, agregação de cartões e acesso aos anexos do cartão, e mais tarde contendo informações binárias como fotos por exemplo.
As aplicações Glassware podem incluir assinaturas, o usuário pode ser notificado quando acessa a linha do tempo ou quando sua localização muda, as operações relacionadas a localização como renderização de mapas e cartões ou gerenciamento de contatos. Todas as chamadas da API são protegidos pelo OAuth. O usuário pode também interagir com o Google Now solicitando informações, ditando emails, marcar compromissos, entre outros, tudo usando os comandos de voz.
Como os primeiros dispositivos Glass estão saindo da linha de produção, o Google publicou o MyGlass, uma aplicação Android de acompanhamento que serve para gerenciar o dispositivo Glass e sua especificação final:
- Tela: 640 x 360p, o "equivalente a uma tela de alta definição de 25 polegadas à oito metros de distância"
- Câmera: Foto - 5MP, Vídeo - 720p
- Áudio: tradutor de condução óssea
- Conectividade: WiFi e Bluetooth
- Armazenamento: 16GB no total, 12GB utilizáveis, sincronização com o Google cloud
- Bateria: duração de um dia para o uso tipico
O dispositivo Glass conecta na Internet através de WiFi ou através de um telefone bluetooth compatível.