Na busca por novas alternativas de integração e principalmente pela criação de novas formas de interação entre usuários de smartphones e tablets Android, o Google lançou o Android Open Accessories Development Kit (ADK), um novo kit de desenvolvimento, disponível para Android, nas versões 3.1 e 2.3.4, que torna a porta USB dos dispositivos muito mais acessível aos desenvolvedores.
O anúncio aconteceu durante o Google I/O deste ano e repercute até hoje. Com o Android Open Accessories, o Google transforma um dispositivo Android em um componente plugável a qualquer tipo de hardware que tenha uma entrada USB. Assim, um tablet ou smartphone Android pode ser utilizado para simular o comportamento de outros objetos físicos, como um controle de videogame ou até braços robóticos. Por exemplo, em um um vídeo do Google I/O demonstrando o ADK, um tablet Android movimenta com precisão um tabuleiro do jogo Labyrinth (em que uma esfera deve ser movida através de um labirinto).
Para entender o funcionamento do ADK, é necessário rever alguns pontos sobre o padrão USB. A especificação do USB define um modelo assimétrico de comunicação, com dois tipos de participantes:
- USB Host: dispositivo mestre que detém o barramento de dados com o controle de quais dispositivos e dados podem ser trocados, além de transmitir energia para o outro dispositivo.
- USB Device: o dispositivo que troca dados e/ou recebe energia do USB Host.
A maioria dos dispositivos Android atuais, na ausência do ADK, utilizam a integração por USB de forma limitada, como USB Device. Assim, não é possível iniciar uma conexão com outro dispositivo USB que não é Host, por exemplo. O ADK define um tipo de integração para os dispositivos Android denominado accessory mode. Com o accessory mode, o dispositivo Android "compreende" que o outro hardware atua como um USB Host.
O Google disponibiliza uma implementação do Android USB Accessory baseado no Arduino, uma plataforma de hardware open source, para que os desenvolvedores possam experimentar a integração de um aplicativo Android com o ADK. Na página do projeto, existe um guia com os primeiros passos, com informações sobre download e instalação.