Saturday, September 26, 2009

Esse email eu escrevi em resposta a uma pergunta que uma pessoa fez na lista de discussão brasileira de usuários do Inkscape.

O cara perguntou sobre alternativas ao Flash. Algumas pessoas sugeriram usar
SVG com javascript e foram trocados alguns exemplos (eu, obviamente, também defendi o uso de SVG). Outra pessoa disse: "pois é... muito legal, mas SVG ainda não funciona no Internet Explorer então não rola fazer em SVG por que quem usa IE não vai conseguir ver". Então alguém falou sobre o projeto que o Google lançou recentemente chamado SVGWeb e que permite que usuários de IE consigam visualizar conteúdo SVG.

=======

Eu não sei se eu já falei a respeito disso aqui na lista, mas algum tempo atrás eu pesquisei sobre esse tema e descobri algumas coisas importantes.

* Flex é uma tecnologia implementada em software livre, mas as aplicações feitas com flex só são possíveis de ser executadas corretamente em uma máquina virtual Flash proprietária da Adobe.

* O SVGWeb é um software livre renderizador de SVG feito em flex.

Portanto, o SVGWeb tem tanto vantagens quanto desvantagens:

A grande qualidade do SVGWeb é que ele permite que conteúdo SVG seja acessado em praticamente qualquer browser sem a necessidade de instalar absolutamente nada no cliente. Todo mundo que tem um Flash player consegue acessar SVG, desde que o SVGWeb tenha sido habilitado pela pessoa que criou a página SVG.

A grande desvantagem é que hoje em dia não existe Flash player livre que seja capaz de rodar o SVGWeb.

Sendo assim, ao usar o SVGWeb na sua página você pode ter a certeza de que as pessoas que se beneficiarão disso serão aquelas que ainda estão presas a um Flash player proprietário. Em compensação, isso cria uma situação onde você não está mais impossibilitado de utilizar o SVG. Ou
seja, o SVGWeb retira o bloqueio que tínhamos no uso deste padrão aberto em função da não-aderência do Internet Explorer ao formato vetorial da W3C. Veja essa tabela de compatibilidade nativa a SVG nos principais browsers. Mas eu te pergunto: de quê adianta usar um padrão aberto, se ele depende duma máquina virtual Flash proprietária para ser exibido?

Na verdade não depende. É possível configurar o SVGWeb para ser usado apenas quando o browser do usuário não tem suporte nativo a SVG. E isso é uma coisa fantástica!

Bem... acho que isso deixa claro que eu considero sim o uso do SVGWeb benéfico, mas com fortes ressalvas, né? Acho que o SVGWeb não deve ser considerado uma solução definitiva. Mas
sim funcionar como "ponte" para uma web mais aberta em um futuro próximo.

Minha dica é: faça sua página usando SVG e coloque o SVGWeb lá configurado pra só ser usado no IE. O dia que o IE for varrido da face da Terra e todos os browsers tiverem suporte nativo a SVG, será possível simplesmente remover o SVGWeb, sem custos adicionais de desenvolvimento e teremos uma web melhor baseada em mais padrões abertos. Enquanto isso não se realiza, sejamos pelo menos amigáveis ao software livre. Tenha sempre em mente que você pode eventualmente ser o culpado por alguém ser obrigado a abrir mão da liberdade no uso de softwares (ou escolher a liberdade e ser excluído do acesso ao seu conteúdo).

Portanto, a regra de ouro é sempre usar tecnologias que não obriguem as pessoas a instalar software proprietário pra acessar o seu conteúdo. Quando se lida com o público, é necessário tomar decisões responsáveis. Talvez você não se preocupe com o seu uso pessoal de software proprietário. Mas não permita que suas opções pessoais se transformem em imposições sobre outras pessoas (efetivamente deixando elas sem opção).

Felipe "Juca" Sanches