Wilber Watch

Wilber está de olho. Uma pequena janela para o que vai dentro do JS.

2010-01-31

Por que o iPad não tem Flash?

Deixa eu desenhar uma coisa aqui porque parece que está todo mundo meio perdido.

Umas letras miúdas pra começar: eu não gosto da Apple. Dados os princípios que tenho na área de tecnologia, e outros mais amplos, vejo a Apple hoje com uma das grandes vilãs da humanidade. Mas isso é outro assunto. E também não tive acesso a nenhuma informação privilegiada pra escrever as minhas conclusões aqui: é só a constatação do óbvio, a partir da sinuca em que a Apple e a Adobe se colocaram sozinhas (e levam a todos junto, mas ninguem parece reclamar, nao é?)

Hoje o assunto é "por que a Apple não colocou o Flash no iPad"??
Então. não foi a Apple que "não colocou Flash no iPad". É a Adobe que não o fez. A Apple só não entra de mais inocente nessa história por que está sendo vítima de uma atitude que é a mesma que ela toma para todos os seus produtos atuais: tecnologias privativas.

Então, acontece que ao contrário de:
1) sistema operacional
2) editores de texto e outros aplicativos de escritório
3) navegador de internet, (inclusive com "html5")
4) CODECs de áudio e vídeo
5) jogos
6) dezenas de milhares de aplicativos para o iPhone.

, o cliente de Flash - que na maior parte das vezes usamos como um plug-in do navegador, é um software que: não tem o código disponível para o público em geral (fonte aberta) e nem é controlado pela Apple.

O cliente Flash é 100% controlado pela Adobe. O que significa e que ao contrário dos programas de Software Livre, não se tem acesso ao código fonte: você tem que executar a versão final que a adobe provê, já pronta pra rodar na sua combinação específica de CPU e Sistema Operacional.

Por quase 15 anos, muito infelizmente, essa abordagem era o suficietne para qualquer produtor de software: mais de 90% dos usuários estavam em uma única combinação de CPU (intel x86 32bits) e Software (Microsoft Windows compatível retroativamente com a versão 95).

O que significa que as empresas de software fechado que desejavam poder atingir "todos os usuários" só teria que fazer um software que rodasse num sistema específico. Os desafortunados seriam ns hippies fanáticos que insisitiam em usar esquisitices diferentes - como, olha só, não só os usuários de Linux - mas os próprios usuários de Macintosh. Mas com duas versões: uma pra Windows 95 32bit e uma pra Mac OS e posteriormente Mac OSX, subia-se de 90 pra mis de 97% --e pronto.

Bom, felizmente, por um lado, esse tempo acabou. Hoje se tem mais plataformas, se não para "desktop" literal, pelo menos para o ambiente de "desktop" nos netbooks. Se tem os smartphones, incluindo os Android e o iphone, se tem uma coleção de CPUs, incluindo as proóprias CPUs da Intel, mas em 64bit em vez de 32, as CPUs ARM e outras.

Ou seja: se você quer chegar em todo mundo, não pode mais criar um programa binário, caixa preta, em uma única versão. Tem que ou abrir seu código, para os interessados no sistema impulsionarem eles mesmos as modificações necessárias, ou entrar numa corrida louca tentando gerar todas as versões possíveis do seu programa caixa-preta.

Os ambientes mais abertos e livres, passaram por essa transição como uma transatlântico que passa poruma marola: o código aberto, exposto a todos, sempre está bem cuidado, sendo genérico, e com as partes específcias para cada sitema operacional ou cada CPU muito bem documentadas. Para cada novo ambiente, quem quer que queria portar o núcleo Linux em si, o pacote OpenOffice, o GIMP, o Firefox, etc... pode descobrir as partes que tem que ser re-escritas de forma bastante agil, e faze-lo com pouco trabalho.

Para programas fechados, não é só difícil a adaptação para uma nova CPU ou Sistema Operacional: é impossível! Apenas o detentor do código fonte pode fazer isso.

E mesmo assim, com um código fechado que tenha sido desenvolvido para uma única combinação de CPU e Sistema Operacional, numa atitude de "tem que funcionar só aqui e está pronto" é exponencialmente mais difícil, em função da complexidade do software, fazer com que o mesmo possa funcionar em outros ambientes. O desenvolviemtno específico, por si só, ainda leva em geral a todo o tipo de erro de design da aplicação, especificidades, e péssimas práticas de desenvolvimento: é muito fácil resolver um problema com uma gambiarra se você nunca vai precisar trocar aquilo de lugar.

Para o cliente Flash em particular, isso é tão verdade que só foi disponiblizado um cliente Flash para intel 64bit no ambiente Linux no primeiro semestre de 2009. Muitos sites e pessoas na internet comemoraram a "iniciativa" da Adobe. Só tem um detalhe: O pessoal que usa desktop sobre Linux já tinha todos os programas disponíveis em 64 bits desde pelo menos 3 anos antes. Eu mesmo, desde que troquei de máquina, sempre usei um sistema operacional de 64 bits - e sempre tive modo gráfico, pude escolher meu ambiente de janelas e entre vários navegadores. A única coisa que eu não tinha em 64 bits eram o Flash e o Java (não por acaso, uma outra tecnologia que é fornecida preferêncialmente na forma binária pelo seu fabricante).

Bom, então o fato é que a Apple não escolheu, nesse momento, excluir o Flash. A Adobe se excluiu, ao nao comapartilhar o desenvolviemento do Flash com o mundo. Nem de seu cliente interno - o "Flash" que todos tem, nem do formato de arquivo.

E aqui cabe um parágrafo interessante: os que acompanham essas notícias vão querer me chamar a tenção or que a Adobe publicou as especificações do formato de arquivo do Flash, e permite sem restrições legais, outras implementações. Na prática no entanto, ao se acompanhar as tentativas de desenvolvimento de clietnes alternativos par ao Flash (em aprticualr o Gnash) é que as informações da Adobe são incompletas e iinsuficientes pra implemetnação de um cliente funcional. E podem apostar que se fossem suficientes, a Apple já teria um cliente privativo dela para usar em seus appliances sem depender da Adobe pra isso.

Repito: Não á um ciente de Flash para o iPad nesse momento por que a Adobe não permite que ninguem que não seja ela crie um ciente Flash pra qualquer plataforma computacional. E Tanto quanto sabemos pode ter acontecido da Apple simplesmente não ter cedido acesso a um ambiente de desenvolvimento do iPad para a Adobe - ou isso, ou a Adobe pode simplesmente ter fracassado em ter o Flash funcionando em tempo hábil para a apresentação do iPad, o que condiz com a demora para o cliente 64 bits, por exemplo.

E não, não poderia ter sido usado o "Flash do iPhone" por que como eu disse,a Adobe só fornce os binários prontos: então mesmo que a versão do Flash já feita para o iPhone OS funcione sem a alteração de uma linah sequer de código no iPad, a Adobe ainda teria que gerar uma versão do mesmo para a CPU "A4" da Apple, que é diferente do chip ARM dos iPhones.

E por fim, não se preocupem, Apple Fans e Flash Maniacos: quando o iPad chegar as lojas, o cliente Flash vai estar lá e funcionando. Até lá a Adobe terá conseguido entregar o código binário para a Apple - que não tem tanto interesse assim em matar a Adobe nesse momento.

5 Comments:

At 12:10 AM, Anonymous Fernando Ike said...

Concordo com gênero, nũmero e grau. :)

 
At 7:34 AM, Blogger Erick T said...

Sem duvidas suite grafica da Adobe roda muito bem nos equipamentos da Apple. Não acredito que a Adobe vá comprar uma briga com a Apple não portando o Flash par o ipad, acredito realmente que a apple não quis liberar com antecedência as informações do ipad.. Mas fica na especulação. Preocupa claro essa dependência de flash player em tempos de html5

 
At 10:36 AM, Blogger LKRaider said...

Ótimo post, apenas adicionando: não existe flash para iphone, a nova versão (CS5, ainda não lançado) vai compilar diretamente para código nativo, ou seja, aplicações já existentes na web não vão rodar no iphone, terão que ser distribuídas via appstore.

 
At 12:20 PM, Anonymous Anônimo said...

> a Adobe não permite que ninguem que não seja ela crie um ciente Flash pra qualquer plataforma computacional

Como assim? Ela até publicou as especificações da plataforma e licenciou as patentes necessárias para implementá-la. Há diversas implementações de Flash em Software Livre. Se a Apple quisesse, podia muito bem ter investido em alguma delas, e não ficaria dependente da Adobe para fornecer os binários.

Nenhuma das duas é santinha nessa história.

 
At 10:41 PM, Blogger jsbueno said...

Ok - li mais alguma coisa a respeito hje - inclusive de gente que tem contatos dentro da Apple, e o blog do marketeiro-mor de Flash dentro da Adobe. Então: o Flash não existe sequerpara o iPhone, e a culpa não é (só) da Adobe: pelo visto a Apple não homologa o flash, por que quer manter o controle total dos aplicativos uqe podem rodar na plataforma. Bom, menos vários pontos pra Apple: reitero que esse post não era pra defende-la, só explicar as barreiras causadas pelo software privativo.

E @lxoliva: A Adobe publicou sim as specs do flash, mas incompletas. Não há nenhum outro cliente Flash com 100% de compatibilidade.

 

Postar um comentário

<< Home