Adobe, Flash Player, Apple, iPad, HTML5 – os Mitos
Regra geral, evito colocar posts de opinião pessoal. Mas desta vez, não consigo não dar a minha opinião.
O anúncio do iPad sem suporte para o Flash Player originou um movimento na blogosfera onde tenho lido de tudo um pouco. Circulam por aí tantos disparates, tantos mitos e pessoas de horizontes limitados, que desta vez não consigo ficar quietinho sem dar a minha opinião sobre o tema. Pior ainda, quando vi alguns comentários perfeitamente rídiculos de tugas de “renome” (que não vou específicar) em blogs, no facebook, twitter e outros.
É sabido que a minha vida roda em redor das RIAs na plataforma Flash, que sou Adobe Certified bla bla, Adobe Community bla bla, etc. Mas também tenho cabecinha para tentar olhar para o mundo de forma imparcial, e acima de tudo pragmática. Até porque, não esqueçamos, há uns anos eu era anti-Flash. E depois ganhei juízo, e aprendi que não se deve criar preconceitos sem conhecermos realmente aquilo de que falamos. E é consoante essa visão que faço este post.
Prólogo
Antes de mais, um pouco de background na coisa. A Apple lançou este mês o iPad, um meio termo entre um iPhone e um netbook, que em teoria é um dispositivo que se diz por aí ser revolucionário. Porém, o iPad, tal como o iPhone, não traz – nem se prevê que venha a trazer – suporte ao Flash Player. Imediatamente, a blogosfera e o twitter, encheram-se de reacções, onde muitos ditos puristas dos standards, apple-fanboys, ou simplesmente anti-flashers, começaram a festejar o início da morte do Flash. A atitude da Apple é sem dúvida uma afronta à Adobe que vai mexer com a taxa de penetração e credibilidade do Flash Player. E no meio deste hype, li e reli centenas de vezes um conjunto de mitos que por aí circulam, que não me conseguiram deixar impávido e sereno.
Flash vs HTML
Em duas palavras: comparação ridícula. Alhos com bugalhos. Resume-se a:
- HTML-> Documentos
- Flash -> Estados.
Enquanto que o primeiro (HTML), serve para definir estruturas de dados, o segundo serve para criar aplicações. São duas tecnologias distintas com propósitos distintos. E o problema surge quando um começa a entrar no território do outro: não faz sentido usar o Flash para fazer um blog da mesma forma que não faz sentido usar o HTML para fazer uma ferramenta de manipulação de imagem.
Ambas as tecnologias devem complementar-se.
Para os menos atentos, nós na Webfuel desenvolvemos RIAs na plataforma Flash para a banca (gestão de finanças pessoais) e investimentos (plataformas de trading). Fazêmo-lo usando as boas práticas de Engenharia importadas do mundo J2EE, e puxamos a plataforma ao seu limite (interfaces interactivos e animados, com multimédia, e paradigmas de usabilidade complexos). E fazêmo-lo desta forma porque é possível; porque a plataforma o permite. Perdoem-me os puristas, mas nunca seria possível actualmente fazermos o que fazemos – e como o fazemos – em HTML. Talvez daqui a… 5 anos. E aí o Flash já terá evoluido outros 5 anos…
“O Flash atrasa a minha navegação na net, faz o meu CPU disparar, e os banners irritam”
Verdade seja dita: banners são irritantes. Especialmente aqueles que aparecem sobre o conteúdo das páginas que queremos ver, não nos deixando clicar em nada até que o banner desapareça. Ou aqueles que fazem as ventoinhas do CPU disparar. Ou mesmo aqueles que crasham o browser. Mas a realidade é que tudo é um negócio, e os banners são a maior fonte de receita na internet. E os senhores do marketing ficam todos excitados com animações, sons, e interactividade, e lá surgem os banners em Flash por todo o lado. Colocando realmente a navegação mais irritante. E lenta. E problemática.
E se não existisse Flash (ou outro plugin com penetração semelhante)?
Seria tudo igual. Haveriam banners na mesma. Em Javascript, ou outra tecnologia. Igualmente irritantes, mas possivelmente igualmente (ou mais) pesados para o processador (a performance do Flash Player é superior à do Javascript ).
A culpa não é do Flash Player. Só se for culpado de ser o runtime com a maior taxa de penetração do mercado, e de ser tão fácil e rápido implementar algo impressionante na plataforma Flash.
HTML 5 vai matar o Flash
Há quem julgue que sim, mas Flash não é sinónimo de vídeo. O Flash serve para construir experiências multimédia e software. O HTML 5 não vem para substituir o Flash. Poderá, sim, (e provavelmente assim será) começar a substituir/ser alternativa ao Flash em muitos sites de vídeo (Youtube, etc). Mas mais uma vez, é comparar alhos com bugalhos. É dizer que, assim que o HTML 5 sair, será a plataforma preferencial para fazer aplicações de trading, com realtime data push, advanced charting, acesso à câmara e microfone, etc. Enfim. Nem é fácil comentar este mito, por ser completamente díspare da realidade. O HTML 5 será, na melhor das hipóteses, um substituto daquilo que foi o Flash Player 5. Para não deixar de referir que há sempre o risco das várias implementações de cada browser se tornarem na habitual dor de cabeça dos developers – algo que não existe no mundo da plataforma Flash.
O Flash Player encrava o MacOS…
… tal como o JAVA, o C++, ou mesmo o Javascript ou qualquer outra plataforma. Claro que é rídiculo comparar a estabilidade da Virtual Machine do Flash Player com a da JVM, mas é suficientemente robusta para suportar aplicações críticas de trading a fazer transacções de milhares de dólares diariamente. A acusação à estabilidade do Flash Player não se deve à tecnologia em si, mas sim aos maus developers que andam por aí. E, verdade seja dita, o mundo Flash está repleto deles. Developers que não sabem (nem querem saber) o que são boas práticas. Ou designers que decidiram aventurar-se pelo mundo do desenvolvimento. E aqui, a culpa do Flash Player é mais uma vez a sua alta taxa de penetração, e o facto de ser tão fácil fazer algo impressionante na plataforma Flash.
E depois entram as estatísticas. Se passarmos um dia em frente ao computador, abrimos o Word 4 ou 5 vezes, mas arrancamos o Flash Player umas 50 vezes – pelo menos. Cada SWF – banners, websites, RIAs, vídeos, etc – é uma aplicação diferente feita por pessoas diferentes (sejam bons ou maus developers). Não é preciso ser-se expert em estatística para terminar o raciocínio. A realidade é que diariamente me deparo com tanta coisa mal implementada na web que pessoalmente até fico admirado com a robustez do Flash Player.
Aqui na Webfuel somos pelo menos 6 pessoas a puxar diariamente o Flash Player aos limites, de onde pelo menos uma é adepta (quase fanática) da Apple. E a realidade é que o Flash Player se aguenta perfeitamente com as nossas experiências e produtos.
Ainda assim, admito que há margem de melhoria na robustez do Flash Player, talvez começando por distribuir melhor os recursos consumidos por cada SWF, impedindo que um SWF problemático possa afectar outro.
Falta ainda dizer que, verdade seja dita, o Flash Player não encrava nenhum sistema operativo. Encrava, sim, o browser. E nos melhores browsers encrava apenas o tab onde o SWF ranhoso encravou.
O Flash Player é demasiado lento para correr no iPhone. E no iPad.
A Apple acusa a Adobe do Flash Player consumir demasiados recursos, pelo que não o poderia colocar a correr no iPhone. Mas a realidade é que o Flash Player 10.1 – que foi especificamente optimizado para dispositivos móveis – corre em telemóveis com poder de processamento teoricamente inferior ao do iPhone. O que é suspeito.
No entanto, para piorar, o iPad também não suporta o Flash Player. Quer isto dizer que a Apple lançou um produto de $600 que não tem poder de processamento para o Flash Player?
Segundo a Adobe, ao contrário da Microsoft, a Apple nunca ajudou a Adobe a optimizar o Flash Player para o MacOS. Segundo a Apple, a Adobe é preguiçosa.
Conclusões
A minha preocupação é desenvolver produtos que façam sentido para o consumidor final. Produtos de software ubíquos, acessíveis de qualquer local, computador, sistema operativo, ou browser, com um único codebase, e com preocupações acrescidas ao nível do interface e interactividade. Rich Internet Applications. Este é o futuro, podermos aceder às nossas aplicações e dados a partir de qualquer local.
E estando a trabalhar para isso há alguns anos, a realidade é que me sinto ofendido de ser apanhado no meio de uma guerrazinha de egos (e de milhões de dólares) onde no fundo quem fica a perder somos todos nós – tanto developers como consumidores.
14 Comments
Make A CommentComments RSS Feed TrackBack URL
This entry was written by
February 1st, 2010 at 6:15 pm
Mais:
http://chris.cfwebtools.com/index.cfm/2010/2/1/Apples-credibility-flashing-by
February 1st, 2010 at 6:29 pm
Ola João,
Bem, antes de mais deixa-me dizer que o artigo esta mto bom e interessante porque finalmente ouvi algo de alguem conheceder a fundo da plataforma flash que foi imparcial na sua analise… Concordo com tudo, inclusive com as duas ridiculas historias que a apple e o html5 vao matar o flash… aiinda à pouco tempo era o silverlight e depois o iphone, enfim, mais um tema de conversa para muitas horas…
Abraço.
February 1st, 2010 at 6:30 pm
Clap! Clap! Clap! (palmas) Concordo que a Adobe pode (e deverá) melhorar muito o FP, mas – como dito no seu artigo – a culpa nem sempre é da tecnologia mas das más implementações (creationPolicy=All, por exemplo) feito pelos gambiarreiros de plantão! =D
Parabéns pelo artigo, irei referenciá-lo.
February 1st, 2010 at 7:10 pm
“Mas também tenho cabecinha para tentar olhar para o mundo de forma imparcial, e acima de tudo pragmática.”
Engraçado, alguem afirmar isto quando depois diz uma imparcialidade destas:
Em duas palavras: comparação ridícula. Alhos com bugalhos. Resume-se a:
* HTML-> Documentos
* Flash -> Estados.
Ainda nao deves ter Esperimentado o Google WAVE… só pode…
Pá nao digo que o HTML5 + JavaScript vai substituir o flash ou algo do genero, ah espaço para os dois mercados, mas uma verdade indiscutivel é que vez muito site em flash (grande parte) que é desperdicio de técnologia com HTML5 + Javascript actualmente fazes o mesmo com menos de metade dos recursos…mas é como em tudo pode-se usar bem e mal.
já agora fica aqui mais um exemplo de HTML e JavaScript que ganhou um FWA (e sim usa flash para Video)
http://www.momkai.com/
e mais um pequeno experiment de html5…
http://9elements.com/io/projects/html5/canvas/
Para finalisar… acho que este post foi tudo menos imparcial.
February 1st, 2010 at 8:32 pm
Bruno,
quando escrevi o post já estava à espera das opiniões contrárias. A realidade é que há anos que ando nisto, e apesar de não ser proficiente em Javascript (já o fui em tempos), conheço o suficiente das tecnologias que refiro para sentir que estou a fazer comparações justas. É óbvio que conheço o Google Wave, o Google Docs, ou mesmo as utilizações exemplares de javascript que o próprio Facebook faz. Mas isso não invalida o que eu disse: a web, tal como foi originalmente pensada, é baseada em páginas. Em documentos interligados entre si. As evoluções que os standards sofreram fizeram com que hoje seja possível manipular esses documentos do lado do cliente. A plataforma Flash sempre foi, por outro lado, virada para o conceito de estado, e direccionada ao desenvolvimento multimédia, possuindo portanto paradigmas diferentes de desenvolvimento. Infelizmente, a realidade é que ainda não consegues fazer com HTML o mesmo que fazes com Flash, por muitos giros que sejam os exemplos que mostrem por aí.
Dizeres que com javascript fazes tudos com menos de metade dos recursos é uma falácia (a não ser que, por recursos, não estejas a falar de processador e memória), porque na realidade os recursos consumidos pelo javascript na maioria dos browsers continuam a ser superiores aos recursos consumidos pelo Flash Player.
Se achas que o post foi imparcial, por favor fundamenta a tua afirmação porque gostaria (mesmo) de saber onde discordamos, e o que é que “eu não estou a ver”.
February 1st, 2010 at 9:22 pm
Html5, css3 e js tudo junto é espectacular e um sinónimo directo de progresso da web não vêm matar ninguém nem nada, pelo contrário, só vêm nos dizer que estamos a dar mais um passo para a frente. É uma alegria podermos usar um player de vídeo sem ter que recorrer a um plugin, quem fala em vídeo fala nas outras funcionalidades como audio, canvas, guardar 5 megas de dados offline, geolocation e etc, … mas espera… pára o baile e vamos pensar:
.
Nisto tudo ninguém reparou que se não fossem os plugins estaríamos a ver agora por primeira vez vídeos num browser, que a experiência multimédia que hoje temos online estaria nos primeiros passos. Teriamos perdido anos!
É verdade que existiu muito mau uso dos plugins, e entre ele está o flash player, eu próprio me entusiasmei e tive as minhas contribuições menos boas
Não me parece que criar um sistema fechado, num momento que a tendência das aplicações é estarem on-line, que este sistema vá contribuir para o aperfeiçoamento do que hoje conhecemos. Estaremos dispostos esperar até 2020 para ver mais um passo? Será que como o steve está a fazer, irradicarmos os plugins vai realmente contribuir para uma melhor internet a curto,médio e longo prazo?
A minha opinão é que não, os plugins existirem é bom e a opção final deve ser do utilizador e o correcto será “só instala quem quer” ao contrário do que muitos defendem “não instalas porque eu não quero”. (pelo que tenho lido é o caso do esteves dos empregos é um deles, mais conhecido por steve jobs.. não resisti á tradução directa lol )
Embora estejamos a falar de coisas diferentes a verdade é que o o html5 traz algumas funcionalidade só permitidas até á data por plugins e portanto por vezes recorre-se a comparações. Desenganem-se aqueles que pensam que vão ter experiências ricas em multimédia, com um processador a nunca passar os 30%. O processador existe e é para ser usado, determinadas aplicações precisam intensamente dele. Se queremos ter um jogo em 3D, ser audazes numa animação, dar um passo para o desconhecido e para isso é preciso sacrificar um processador, paciência, é por estas pseudo-necessidades que existe uma bola de neve entre hardware e software, melhor hardware puxa por melhor software que por sua vez puxa por melhor hardware e rola a dita bola de neve… Isto é válido para flash, js+html5 ou para qualquer outra forma de produção. Infelizmente tenho que vos uma má noticia: vão a curto espaço de tempo ver aplicações em html5 a “matar” processadores e a causar loops infinitos que cracham os browsers.
Este crases não são propositados, existe muito teste para que eles não aconteçam (pelo menos quero acreditar que sim), mas alguns factores contribuem para que eles aconteçam como a complexidade dos projectos, os tempos diminutos para manter competitividade neste mundo cruel, falta de optimização, falhas e mais umas lista delas que são o desafio de qualquer programador…
Se o flash ainda é mais rápido que o js, acho que este problema pode-se agravar.
A publicidade, os banners, bem esses felizmente vão ter que ser feitos em html5+javascript para que todos os possam ver, eles são pagos e os clientes querem um retorno, portanto não os vão querer ver a necessitarem de um plugin que nem toda a gente vai ter instalado ou então que possa ser facilmente cancelado por um addon do firefox ..
Já estava aqui entretido e escrevia o resto da noite mas como não sou, nem pretendo ser, um evangelista, como tenho outras coisas para fazer fico-me por aqui. Sejam críticos, mostrem a vossa opinião mas fundamentem o porque.. deixem o “porque não” e sejam educados porque somos todos amigos
.
ps: desculpem os erros
ps2: bom post Saleiro
February 1st, 2010 at 11:44 pm
Excelente POST João, já dei a minha opinião na mailing list, concordo contigo completamente.
February 2nd, 2010 at 1:10 pm
Caro, João, excelente post, concordo com tudo o que você falou.
Acho que o html+javascript as vezes se aproxima do flash, mas sem dúvida o tempo de desenvolvimento, depuração, incompatibilidades com diferentes navegadores, etc, os tornam incomparaveis ao flash.
Em um outro site, li que o Steve Jobs disse que o flash era buggy, mas mais buggy do que o quicktime player em uma máquina windows impossível.
Acredito ainda que a Apple não vai acabar cedendo a Adobe, fato que depois do Flex, a comunidade Flash Plataform tem aumentado muito.
E pra finalizar, se o site monkai fosse feito em flash, seria extremamente mais rápido e com certeza mais simples de se desenvolver. Mas devem ter feito ele para o iphone !! rsrsrs
Grande abraço.
February 2nd, 2010 at 1:36 pm
O Paulo Moreira colocou na mailing list este link que é um dos melhores posts que li sobre o tópico:
http://richardleggett.co.uk/blog/index.php/2010/02/01/the-world-is-moving-to-html5
February 4th, 2010 at 1:02 pm
[...] http://www.riapt.org/2010/02/01/adobe-flash-player-apple-ipad-html5-os-mitos/ [...]
April 6th, 2010 at 2:34 pm
gostei!
April 23rd, 2010 at 6:17 pm
Excelente artigo. Finalmente alguém que argumenta de forma sustentada as potencialidades da plataforma flash sem entrar em fanatismos. De facto, comparar o flash com html é comparar um Aston Martin com um Renault 5. A meu vêr, o flash é perfeito para determinados objectivos e o binómio html + js para outros. Concordo que a má imagem que alguns têm do flash provem de animações inúteis que por aí andam e só dificultam a utilização de algumas aplicações. Nada mais irritante que ter de ultrapassar uma animação ou esparar pelo fim de um filme para obter uma informação básica. É como ter de passar pela Rua Sésamo quando só queremos chegar à farmácia…
A culpa nunca pode ser da ferramenta, é sempre do carpinteiro.
O HTML5 há-de ser um espectáculo mas para já, não é grande coisa. Basta ver uma das demos mais puxadas que por aí andam, aí sim a ventoinha dispara e o processador chega a ganir. É esperar para ver. Por enquanto não serve para nada, sabendo que multinacionais, bancos e organizações estatais continuam a usar o IE6, e antes de utilizarem o 8 ainda vão passar pelo 7 durante uns anos (estão agora a testar). Infelizmente, é assim a vida.
April 29th, 2010 at 5:03 pm
Talvez isto ajude a esclarecer o ponto da situação..
http://www.apple.com/hotnews/thoughts-on-flash/
May 19th, 2010 at 1:56 pm
Html5, css3 e js tudo junto é espectacular e um sinónimo directo de progresso da web não vêm matar ninguém nem nada, pelo contrário, só vêm nos dizer que estamos a dar mais um passo para a frente. É uma alegria podermos usar um player de vídeo sem ter que recorrer a um plugin, quem fala em vídeo fala nas outras funcionalidades como audio, canvas, guardar 5 megas de dados offline, geolocation e etc, … mas espera… pára o baile e vamos pensar:
.
Nisto tudo ninguém reparou que se não fossem os plugins estaríamos a ver agora por primeira vez vídeos num browser, que a experiência multimédia que hoje temos online estaria nos primeiros passos. Teriamos perdido anos!
É verdade que existiu muito mau uso dos plugins, e entre ele está o flash player, eu próprio me entusiasmei e tive as minhas contribuições menos boas
Não me parece que criar um sistema fechado, num momento que a tendência das aplicações é estarem on-line, que este sistema vá contribuir para o aperfeiçoamento do que hoje conhecemos. Estaremos dispostos esperar até 2020 para ver mais um passo? Será que como o steve está a fazer, irradicarmos os plugins vai realmente contribuir para uma melhor internet a curto,médio e longo prazo?
A minha opinão é que não, os plugins existirem é bom e a opção final deve ser do utilizador e o correcto será “só instala quem quer” ao contrário do que muitos defendem “não instalas porque eu não quero”. (pelo que tenho lido é o caso do esteves dos empregos é um deles, mais conhecido por steve jobs.. não resisti á tradução directa lol )
Embora estejamos a falar de coisas diferentes a verdade é que o o html5 traz algumas funcionalidade só permitidas até á data por plugins e portanto por vezes recorre-se a comparações. Desenganem-se aqueles que pensam que vão ter experiências ricas em multimédia, com um processador a nunca passar os 30%. O processador existe e é para ser usado, determinadas aplicações precisam intensamente dele. Se queremos ter um jogo em 3D, ser audazes numa animação, dar um passo para o desconhecido e para isso é preciso sacrificar um processador, paciência, é por estas pseudo-necessidades que existe uma bola de neve entre hardware e software, melhor hardware puxa por melhor software que por sua vez puxa por melhor hardware e rola a dita bola de neve… Isto é válido para flash, js+html5 ou para qualquer outra forma de produção. Infelizmente tenho que vos uma má noticia: vão a curto espaço de tempo ver aplicações em html5 a “matar” processadores e a causar loops infinitos que cracham os browsers.
Este crases não são propositados, existe muito teste para que eles não aconteçam (pelo menos quero acreditar que sim), mas alguns factores contribuem para que eles aconteçam como a complexidade dos projectos, os tempos diminutos para manter competitividade neste mundo cruel, falta de optimização, falhas e mais umas lista delas que são o desafio de qualquer programador…
Se o flash ainda é mais rápido que o js, acho que este problema pode-se agravar.
A publicidade, os banners, bem esses felizmente vão ter que ser feitos em html5+javascript para que todos os possam ver, eles são pagos e os clientes querem um retorno, portanto não os vão querer ver a necessitarem de um plugin que nem toda a gente vai ter instalado ou então que possa ser facilmente cancelado por um addon do firefox ..
Já estava aqui entretido e escrevia o resto da noite mas como não sou, nem pretendo ser, um evangelista, como tenho outras coisas para fazer fico-me por aqui. Sejam críticos, mostrem a vossa opinião mas fundamentem o porque.. deixem o “porque não” e sejam educados porque somos todos amigos
.
ps: desculpem os erros
ps2: bom post Saleiro