domingo, 5 de julho de 2009

A polêmica dos codecs de vídeo no HTML 5

Uma das mais interessantes funcionalidades do HTML 5 é a possibilidade de que os browsers possam rodar vídeos sem necessitar de plug-ins, mas esta nova capacidade está cercada de polêmicas já que não foi definido um Codec padrão na especificação até o momento.

O reflexo disso é que hoje os dois browsers que implementam video no HTML 5, Safari 4 e Firefox 3.5, utilizam Codecs diferentes, o H.264 para o Safari e Theora para o Firefox.

Ian Hickson o editor da especificação publicou uma longa mensagem sobre o assunto. Em resumo a situação é a seguinte.

Entre os fabricantes de browsers a Apple quer o H.264, o Theora é defendido pela Mozilla e pela Opera, a Google diz que vai implementar os dois, e a Microsoft está calada.

As razões que a Apple apresenta para não utilizar o Theora são; falta de hardware compatível e possibilidade de sofrer processos por quebra de patentes, não da Theora, mas sim de eventuais terceiros. Essa posição da Apple é acompanhada pela Nokia, afinal quem produz smartphones necessita de um decodificador em hardware.

Já a Mozilla e Opera dizem que não podem arcar com os custos de licenciamento do H.264. A Opera os acha abusivos e a Mozilla diz que não pode passar essa licença para terceiros.

A Google vai implementar os dois no Chrome, mas o Chromium não pode implementar o H.264 caso terceiros usem o código. Já o YouTube vai ter os vídeos somente em H.264 já que o Theora não suportaria o volume do site. Falta saber o que será suportado pelo Android, meu palpite H.264.

Então tecnicamente parece que o H.264 é melhor, mas economicamente o Theora vence apesar de eventuais problemas de patentes. Por esse motivo a especificação vai ficar sem definição de Codec no momento e só será incluída caso Apple, Mozilla, Opera, Google e Microsoft cheguem a um consenso.

Ian Hickson: [whatwg] Codecs for audio and video
whatwg: HTML 5 Draft Specification

Por enquanto se alguém quiser utilizar a tag video e ter certeza que a maioria dos browsers a suportarão pode utilizar a solução concebida por Croc Camen, é um código html que praticamente garante que seu vídeo seja executado em qualquer browser existente você só tem que criar o video em H.264 e Theora e editar o código.

Se seu browser for Safari 4 ele vai executar o video em H.264, se for Firefox 3.5 vai para o Theora, se for qualquer outro browser vai tentar utilizar Flash, se isso falhar também Quicktime ou Windows Media serão utilizados, se ao final o browser ainda não conseguir executar o vídeo vai ser aberta uma página com a opção de download.

Croc Camen: Video for Everybody!

O custo são dois arquivos ocupando espaço no servidor, mas é praticamente garantido que seu vídeo será assistido.

Dicas: John Gruber: Daring Fireball.

sexta-feira, 26 de junho de 2009

Sugar, fazendo o computador acessível para as crianças

Cada vez mais os computadores estão no dia-a-dia das pessoas, sendo assim é natural que as crianças logo após serem alfabetizadas começem a usar computadores. Mas crianças tem necessidades diferentes de adultos e a maioria dos Sistemas Operacionais existentes foram criados para o uso de adultos, tanto que a palavra mais usada associada a eles é produtividade. Crianças não tem que aprender a ser produtivas, antes de tudo elas tem que aprender a usar um computador, aprender a usar informação, aprender a compartilhar e sobretudo brincar.

Foi pensando nisso que o projeto One Laptop Per Children (OLPC) desenvolveu o ambiente gráfico Sugar, tendo em vista as necessidades infantis. O Sugar acabou se separando do OLPC em maio de 2008 e agora é mantido pela entidade Sugar Labs.
O Sugar como um sistema para crianças acabou abandonando a metáfora do desktop, ao invés disso as crianças trabalham com uma atividade de cada vez, outra diferença do Sugar é que em uma rede de computadores Sugar é possível trabalhar colaborativamente em muitas tarefas, desde navegar a Internet até escrever textos e desenhos. Outro ponto interessante do Sugar é sua arquitetura de segurança chamada Bitfrost, já que o sistema foi desenhado do zero e abandonando conceitos já enraizados foram desenvolvidos dispositivos de segurança para proteger as crianças ao mesmo tempo que não interfiram no uso do computador.

Esta semana o Sugar Labs liberou a nova versão do Sugar para ser instalada e iniciada a partir de um USB drive, com isso qualquer computador pode executar o Sugar desde que consiga iniciar um SO a partir da porta USB. Agora as crianças podem levar seu ambiente computacional para todo o lado.

Para saber mais:
Sugar Labs

terça-feira, 23 de junho de 2009

Wikimapa: Cobrindo as deficiências do Google Maps

O Google Maps é uma das melhores aplicações Web que já vi, é só você entrar com um endereço e lhe é apresentado um mapa da região e além disso, se esse endereço for uma empresa ou alguma organização isso é indicado.

Agora tente entrar com um endereço não oficial no Google Maps, por exemplo, uma rua de uma favela. Você não obterá nada já que somente endereços cadastrados e reconhecidos pela administração pública são indicados. Isso acontecia até há pouco tempo, mas a partir do final de maio já temos uma solução para isso, o Wikimapa.

Wikimapa é uma iniciativa da ONG Comunitas que também é responsável pelo Rede Jovem, para diminuir a falta de inclusão geográfica das comunidades menos favorecidas. A idéia é que os próprios membros das comunidades mapeiem as ruas e pontos de interesse através de telefones celulares dotados de GPS, camara fotográfica e sistema operacional Symbiam e Java. Todo o mapeamento é feito com o uso de um software próprio disponível no site de projeto. Qualquer um pode com o uso de um browser incluir locais no mapa, já para realizar o mapeamento de ruas é necessário o celular com GPS e a aplicação.

Nesta fase inicial o Wikimapa está focando em 5 comunidades do Rio de Janeiro, em cada uma existe um jovem morador com um celular Nokia N95 que está fazendo o mapeamento das ruas e pontos de interesse da comunidade. De forma independente já estão sendo feitos mapeamentos também nos estados de São Paulo, Paraná, Espírito Santo e no Distrito Federal.

Para saber mais sobre o projeto visite seu site, leia o blog e se quiser colaborar faça download do software e bom mapeamento.

segunda-feira, 22 de junho de 2009

Falta de informação é pior que DRM

O uso de DRM (Digital Rights Management) é um tópico controverso, enquanto é uma garantia para o detentor do direito intelectual que sua obra não vai ser copiada indiscriminadamente pode ser uma fonte de problemas para os usuários. Vejam só este exemplo com o Amazon Kindle.

Um cliente da Amazon fez um upgrade do SO do seu iPhone e do seu iPod Touch, quando foi sincronizar seus livros para esses dispositivos descobriu que alguns não podiam ser sincronizados. Telefonou para a Amazon e descobriu o seguinte:
  • É possível fazer o download de um livro para um dispositivo ilimitadas vezes;
  • Um livro pode estar em vários dispositivos diferentes;
  • O número de dispositivos que podem receber a cópia do livro é determinado pelo editor.
Até aí tudo bem, mas agora vem o problema, não existe em nenhum lugar qual a limitação de número de dispositivos para um livro, a própria Amazon considera isso uma falha que necessita correção.

Mas o pior de tudo é que aparentemente ninguém na Amazon sabia como funcionava esse esquema de DRM, o pobre cliente teve que ficar pendurado no telefone conversando com várias pessoas até ter uma resposta definitiva.

Nada contra DRM, mas seria bom que os consumidores soubessem o que estão comprando.

sexta-feira, 19 de junho de 2009

Os primórdios da Web

Hoje a maioria das pessoas navega na internet e não tem idéia de como a rede surgiu.

Para quem não sabe ela surgiu em 1980 no CERN tendo como criador Tim Berners-Lee. O problema é que as informações de projeto do CERN não podiam ser organizadas em uma forma hierárquica e essa informação era possuída por uma verdadeira teia de pessoas, então o problema era como acessar a informação.

O recurso foi utilizar a técnica de hipertexto que já existia na época com um conjunto de servidores interligados, assim surgiu a World Wide Web.

Quem estiver curioso pode ler este documento que é a proposta original de criação do sistema.

quinta-feira, 18 de junho de 2009

O que é fluência tecnológica

O que distingue a fluência de uma pessoa em uma lingua estrangeira? Sua capacidade de expor temas complexos em uma língua que não é a sua nativa.

Pense agora no mundo tecnológico que nós vivemos, percebemos que pessoas tem mais ou menos facilidade para trabalhar com computadores, então deve haver níveis de usuários diferentes. Pensando nisso o pessoal do MIT Media Lab decidiu definir o que seria fluência tecnológica (pdf).

Foram definidos seis níveis de fluência que são os seguintes.

Habilidade para usar o computador: Neste nível a pessoa consegue utilizar as funções básicas do Sistema Operacional e aplicativos padrão, processadores de texto, planilhas, e-mail, navegadores e aí por diante. Dentro da internet ele consegue encontrar a informação que necessita.

Habilidade para aprender novas maneiras de usar o computador: O usuário neste nível de fluência consegue aprender a usar novas funcionalidades, programas e ferramentas e se sente confortável e confidente neste aprendizado. Consegue utilizar mais de um aplicativo em um projeto, já consegue configurar os programas para seu jeito de trabalhar e consegue até usar criativamente funcionalidades de alguns programas.

Habilidade para criar com o computador: Agora nosso usuário está bem mais confortável com o computador, ele consegue criar artefatos com imagens, animações, músicas, vídeos e qualquer outra mídia que apareça, mais importante, ele consegue no eventual aparecimento de erros fazer uma depuração de sua criação, além de fazer upgrades na funcionalidade do que criou. Neste estágio ele conhece os limites das ferramentas que tem à disposição e consegue enriquecer seus projetos escrevendo programas.

Habilidade para criar com base em suas próprias idéias: O usuário continua criando, mas agora ele consegue estruturar e desenvolver um projeto desde a inspiração inicial até o produto final, continua programando, mas agora consegue selecionar as ferramentas mais apropriadas ao seu projeto, com o decorrer do tempo consegue evoluir o projeto com a inclusão de novas idéias.

Habilidade de usar a tecnologia para contribuir com a comunidade ao redor: Agora o usuário faz parte de uma comunidade de usuários, com a qual ele compartilha seus projetos, colabora com projetos de outros, modificando-os e ampliando-os. Além disso começa a se preocupar a desenvolver idéias que façam sentido para essa comunidade, além de ajudar a facilitar o aprendizado de outros membros.

Entender conceitos relacionados com as atividades tecnológicas: Este é o último estágio, o usuário começa a buscar informações fora da tecnologia, por exemplo, para fazer um jogo começa a estudar matemática e física. Os novos conhecimentos também são usados em outros contextos e sua abordagem de solução de problemas agora é sistemática ou científica.

De um simples usuário de computador a alguém fluente em tecnologia o caminho não é tão fácil.