quarta-feira, 21 de dezembro de 2011

Google TV: Unboxing e Hello World

Recentemente recebemos um "presente" do Google Brasil, um dispositivo Google TV, modelo Sony NSZ-GT1, e coube a mim a honra de receber esse gadget e fazer o unboxing e um hello world para começar a explorar mais essa aposta do Google !

Conhecendo o Google TV

Em maio de 2010, durante o Google I/O, a empresa anunciou a criação em conjunto com a Intel, Sony e Logitech a criação de uma plataforma de "Smart TV". Coube ao Google integrar a TV com o Android e também uma versão baseada em Linux do navegador Chrome. Porém, devido a uma série de fatores, como por exemplo a escassez de conteúdo e a ausência de aplicativos, o Google TV teve seu início competitivo um pouco abalado, inclusive alguns analistas na época diziam que o dispositivo era muito "beta".

Pois bem, o Google percebeu que a plataforma não ia muito bem, mas não deixou de apostar na idéia, e durante o Google I/O desse ano eles apresentaram o Google TV 2.0 ! O dispositivo agora recebia um update de firmware para o Android 3.1 (irá receber também o update do ICS) e também passaria a ter acesso ao Android Market, ou seja, agora você pode instalar aplicativos na "sua TV".

A integração com o YouTube foi melhorada, e algumas aplicações específicas foram lançadas, como o Twitter, Pandora e Netflix. Além disso, o Google expandiu a parceria com alguns canais e cada vez mais opções vão aparecendo. Você também pode comprar conteúdo online, diretamente na Amazon de forma bem simples.

Lá fora, esse aparelho da Sony custa US$ 399.

E no Brasil ?

O Google TV ainda não é oficialmente vendido no Brasil, mas você consegue encontrar alguns para vender no Mercado Livre e similares, além é claro, de poder trazer o aparelho quando fizer uma viagem ao exterior. Mas oficialmente, você não vai conseguir acessar algumas coisas que possuem restrição de localização. O Google diz que vai expandir para outros países, inclusive o Brasil, mas não há data oficial ainda.

O pessoal da Revista Info fez uns testes e estão disponíveis online: "Na mão: Google TV põe a web na sala"

Unboxing

Não preciso nem dizer que, como um bom nerd, fiz questão de tirar fotos passo a passo da abertura da caixa do Google TV né? ;-)
O que posso dizer é que se preocuparam em fazer uma embalagem simples, prática e bonita. O device em si, lembra um console de video game, com uma entrada frontal para Blu-ray. Na parte traseira estão todos os conectores, e o detalhe é que para saída de video as opções são apenas HDMI e óptica.








Programando para o Google TV

Como qualquer programador Android que se preze, o meu primeiro passo foi acessar o site Android Developers e cliar no link referente ao Google TV, que me direcionou para o site específico da tecnologia. Nesse site você pode escolher de que forma quer produzir conteúdo, e nosso caso, vamos de "Android Applications" ! =)

Obs.: Nesse ponto, se você não conhece a plataforma Android e nunca fez nem um Hello World, o ideal é que busque algo mais básico em Android primeiro para depois partir para alguma experiência com a TV.

O que temos a seguir é um "Developer Guide" com diversas seções que tem como objetivo guiar o desenvolvedor na criação de uma aplicação. Você pode navegar a vontade e ir descobrindo vários detalhes e dicas para o desenvolvimento das aplicações, mas algumas valem mais atenção.

Funcionalidades específicas para o Google TV
  • Aplicação Live TV: Sinal da sua TV sendo transmitido em uma aplicação.
  • Content provider para a lista de canais: Você consegue ter acesso a lista de canais que estão com o sinal disponível.
  • Google TV add-on: Um pacote para você adicionar ao seu SDK para lhe ajudar no desenvolvimento e teste de aplicações, contém o emulador da plataforma.
E o que não funciona no Google TV

Bom, lembrando que se trata de um dispositivo que vai em uma TV, logo, não espere encontrar algo como o giroscópio por exemplo. Para uma lista completa do que é e do que não é suportado, veja a seção Feature Support in Google TV.

Emulando o Google TV

Aqui vai uma má notícia para muitos programadores, o emulador está disponível apenas para máquinas com Linux e processador Intel, com KVM. Para mais detalhes sobre como emular e limitações, veja na seção Emulator do developer guide.

Obs.: É claro que isso não chega ser algo impeditivo, você pode criar um AVD que tenha as mesmas configurações de resolução da TV e como target o Android 3.1. Não é a mesma coisa, mas já adianta bastante! ;-)

Aplicações específicas e port de aplicativos já existentes

Como disse antes, algumas coisas não são suportadas pelo Google TV e outras são específicas. Mas, como o Android é uma plataforma que se propõe a rodar em qualquer dispositivo que a implemente, você deve tomar alguns cuidados no AndroidManifest.xml se quiser garantir que sua aplicação funcione no Google TV também, ou que ela seja específica para essa plataforma.

Para que sua aplicação esteja disponível APENAS para TV, você deve colocar no AndroidManifest.xml:

<uses-feature android:name="com.google.tv" android:required="true" />

Se você fez uma aplicativo, mas quer que ele rode nos celulares, tablets e também na TV você deve informar que sua aplicação não requer touchscreen (óvbio, né?):

<uses-feature android:name="android.hardware.touchscreen" android:required="false" />

Para saber melhor o que colocar e o que não colocar no AndroidManifest.xml, dê uma lida na seção AndroidManifest.

Criando uma aplicação

Mesmo não tendo o add-on específico da plataforma, isso não é um problema. Basta criar um projeto como target o Android 3.1 e você poderá subir esse projeto para o seu Google TV. Depois do projeto criado, coloque uma imagem, escreva um texto, coloque menu, enfim, faça uma pequena aplicação para que não seja só um puro hello world.

Agora é necessário se conectar ao dispositivo para que possamos testar nossa aplicação. Mas, nem pense em conectar seu computador por USB no Google TV, afinal, seria estranho você programar do lado do rack da sala né ? Você irá acessar o dispositivo pela rede wi-fi, então, basta que você e o Google TV estejam na mesma rede.

O primeiro passo então é habilitar o "Remote debugging":
  • Na home screen, clique em "All Apps" para visualizar todas aplicações, e então clique no ícone da aplicação Settings.
  • Nos settings, escolha Applications e depois Development.
  • E então habilite o Remote debugging.
  • Depois clique em Debugger IP address e preencha com o IP da sua máquina
Depois você já pode se conectar ao seu dispositivo, para isso:
  • Primeiro descubra o IP do seu Google TV. Para isso vá em All Apps --> Settings e então escolha Networking e em seguida Status. Na parte IP address você encontra o IP do seu dispositivo.
  • Agora, vá para a linha de comando e acesse o diretório platform-tools do seu SDK, e lá execute o comando: adb connect
  • Para estar se tudo está ok, basta digitar o comando: adb devices (isso deve listar algum device com o IP que você informou).
Agora que o ADB já está conectado no seu dispositivo, basta executar o seu projeto e ele irá aparecer na sua TV! Nesse momento, todas as ferramentas que você já está acostumado a usar na perspectiva DDMS estarão disponíveis para você também! Enjoy !! =)

Abaixo segue a foto que tirei do hello world rodando. E quem quiser baixar o código do exemplo, que é extremamente simples, basta seguir o link: download do GTV Hello World !


Desculpem a foto escura, mas estava sem camêra digital e tirei a foto com meu celular, sem flash.

Mais informações

Por enquanto é isso! Gostou? Quer programar para o Google TV também? Aproveite e se inscreva na Academia do Android, onde temos um módulo só sobre esse incrível dispositivo. E mesmo que você já domine Android, mas quer expandir seus conhecimentos, também pode se matricular apenas no módulo "Desenvolvimento de aplicações para Google TV".

Além disso, vou postando mais coisas por aqui conforme a gente for criando!

Abraços
Neto

terça-feira, 20 de dezembro de 2011

Amazon AWS no Brasil

No último dia 15, a Amazon realizou um evento em São Paulo para anunciar sua vinda 'de fato' para o Brasil com sua plataforma de Cloud Computing, o Amazon AWS.

Fiz o post Amazon AWS chega ao Brasil, com infraestrutura local no InfoQ com detalhes um pouco mais técnicos sobre o assunto.

E assistindo ao evento ao vivo, que foi transmitido pela internet, o que me chamou bastante atenção foi também a apresentação de parceiros/clientes e seus cases de sucesso.

Um dos fundadores do Peixe Urbano comentando sobre como iniciaram a empresa com baixíssimo investimento(uma instância micro é quem rodou os primeiros meses do site), e conseguiram escalar a aplicação para milhares de usuários nos períodos de pico e em lançamento de promoções.

O caso da Gol Airlines que utilizou a plataforma AWS para criar uma aplicação de diversão para os passageiros em tempo recorde também me chamou bastante atenção.

Enfim, é uma ótima notícia para nós desenvolvedores tupiniquins e igualmente para as empresas nacionais que podem se aproveitar de uma plataforma tão robusta mas agora com menor latência. E para aqueles que se interessam em conhecer a plataforma, no dia 11/01/2012 18/01/12 (data alterada) faremos um minicurso gratuito na Globalcode com uma introdução a plataforma, ou mesmo entrem em contato com nosso amigo José Papo que é um dos evangelistas da plataforma e funcionário da Amazon no Brasil

Quer saber mais sobre Arquitetura em Cloud Computing com Amazon AWS? Não perca o minicurso dia 11/janeiro na Globalcode São Paulo e ao vivo para todo Brasil, apresentado por Rafael Nunes da You And We, Unidade Globalcode São Bernardo do Campo.

Rafael Nunes,

http://twitter.com/rafanunes
www.youandwe.com.br
http://blog.globalcode.com.br/search/label/Rafael

JavaOne Latin America 2011: Resumão de quarta e quinta

Bom dia pessoal,

Passada a (boa) turbulência do JavaOne Brasil, tive o tempo de finalizar um post no meu blog que comecei a escrever ainda durante o JavaOne ! Nesse post eu faço um resumo de como foi a quarta e quinta feira, contando um pouco das palestras que assisti e também sobra a minha palestra de criação de jogos com Java ME. Também dediquei um espaço especial para falar do Community Keynote que foi um show a parte ! Teve o lançamento do jDuchessBR, demo do jHome com integração com TV Digital e muito mais!

Espero que gostem ! Para conferir, é só seguir o link: JavaOne Latin America 2011: Últimos dias e a minha palestra

Abraços
Neto Marin

segunda-feira, 19 de dezembro de 2011

Lançamento do jDuchessBR


Durante o Community Keynote foi lançado o grupo jDuchessBR, um segmento dentro do SouJava seguindo a mesma ideia do jDuchess que é uma rede global para mulheres conectadas pela tecnologia Java.

O objetivo do grupo é dar maior visibilidade às mulheres que já estão na área e também incentivar que mais mulheres escolham TI para sua carreira profissional.

São benvindas todas mulheres que têm interesse na tecnologia Java, incluindo desenvolvedoras, arquitetas, testadoras, analistas de negócios, gerentes, etc. São bem vindos também todos os homens que quiserem colaborar para aumentar o número de mulheres na tecnologia!
Vídeo do Community Keynote (jDuchessBR) JavaOne Brasil 2011
Links:
[]s

Ana

terça-feira, 13 de dezembro de 2011

JavaOne Brasil 2011: Java Spotlight Episodio 60: Aniversário 10 anos da Globalcode

O JavaOne 2011 foi realmente fantástico, tivemos oportunidades de conversar com muitas pessoas interessantes, fazer networking, ouvir e aprender além de poder apresentar as nossas palestras.

Provavelmente vocês já assistiram alguma palestra ou ouviram falar do Roger Brinkley e do Terrence Barr que estiveram várias vezes no Brasil para os eventos da comunidade Java, autores do podcast Java Spotlight Podcast produzido oficialmente pela Oracle.


Nós já tivemos a honra de participar de algumas edições especiais,vale a pena conferir as duas últimas no Devoxx e no JavaOne Brasil:

Foto tirada por Marcelo Quinta, thank yo
Para minha sorte, minha Avó Yvonne Mascarenhas, Professora Emérita no Departamento de Física da USP em São Carlos,  veio para o JavaOne participar da palestra sobre os 10 anos de experiências reais com Java no Brasil,  apresentada por mim e pelo Vinicius Senger.

Foi assim que o Roger Brinkley gravou imediatamente uma parte do JavaSpotlight Podcast com a minha avó falando sobre a experiência dela com Java! 



Java Spotlight Episode 60: Live from Java One Latin America - Globalcode 10th Anniversary 




Foi o melhor presente de aniversário que ela já me deu! 

PS: Uma coisa muito curiosa que aconteceu depois da palestra foi uma pessoa da produção me perguntar se eu e o Vinicius eramos irmãos ou marido e mulher, pois minha avó nos chamou de netos durante a palestra.  Uma forma super carinhosa que ela tem de tratar o Vinicius. 

Quer acompanhar as novidades da comunidade Java, entrevistas exclusivas, road map das principais tecnologias e vários eventos? Acompanhe o Java Spotlight assinando o podcast ou através do twitter.

É isso ai pessoal!

Thank you very much Roger Brinkley and Terrence Barr for this great opportunity and attention with Globalcode's 10th Aniversary.
[]s
Yara Senger
http://twitter.com/yarasenger
http://blog.globalcode.com.br/search/label/Yara
http://blog.globalcode.com.br/search/label/podcast