quinta-feira, 20 de janeiro de 2011

Internet Explorer, até nunca mais, ao menos por enquanto

Hoje no meu trabalho, eu tinha uma missão simples: fazer aparecer e desaparecer um anúncio com um clique .

Só que meu foco nunca foi muito interface, então eu ainda estou me familiarizando com os hacks de css para IE, além de tentar aceitar coisas bizarras, como o IE não lidar tranquilamente com a propriedade "z-index".

Apliquei o bom, velho e conciso javascript, tudo funcionando no Firefox.
Fui testar no IE8... e nada.
Tentei usar Jquery e depois Prototype.
Nada ainda.

Fui pedir socorro ao Google. Descobri uma multidão de desesperados, tentando descobrir porque vários procedimentos corriqueiros de css + javascript em outros browsers, no IE, simplesmente não funcionavam.

Foi então que me deparei com uma "maravilha". O Internet Explorer, além de ignorar o W3C em tantos casos e agir de forma exclusivista, na mão contrária da idéia de uma internet plural e comunitária, ainda conseguiu bolar um conceito de perfil de browser vs. perfil de documento, que me deixou perplexo, nada mais, nada menos do que isso.

Agora, além de hackear o CSS e se conformar com a perda de uma série de possibilidades de interatividade com os usuários, temos que nos empenhar em colocar uma tag <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" /> a mais logo depois do </head>, para garantir, que mesmo que um usuário incauto tenha trocado o perfil de documento de seu browser, o mínimo que o IE possibilita funcione.

Não foi a tal tag a mais em si, mas em certo nível, a gota d'água foi ela mesmo.

Eu não odeio a Microsoft. Eu não odeio o IE.

Só acho que se uma comunidade imensa de pensamento e desenvolvimento se move em direção a tornar a internet universal e pluralista da forma mais coerente possível, ir contra isso, me parece no mínimo brega e cafona.

Se pensarmos no número de horas trabalhadas a mais, apenas para que as coisas mais ordinárias no IE funcionem... Se pensarmos no aborrecimento dos usuários, que não têm obrigação nenhuma de saber o que é W3C, CSS, compatibilidade, etc...

É quase adotar uma postura insensível continuar utilizando este browser.

Por isso, sem ódio, o abandono.

Quem sabe a Microsoft reavalia sua postura com relação à internet como um todo algum dia?

Na dúvida, quero distância do IE e incentivo todos que o utilizam a trocar de browser, ao menos por enquanto.

Internet Explorer 8 e os sites "antigos"

Se você desenvolve ou desenha para a internet, já deve ter passado por uma situação bem desgastante: o fato de descobrir que seu trabalho funciona em todos os navegadores, exceto pelo Internet Explorer, justamente o navegador preferido por usuários que não gostam de se "aventurar", alterando o que vem "pronto" em seus computadores, e pelos ambientes onde a necessidade de padronização se sobrepõe a usabilidade, funcionalidade, agilidade e democracia no aperfeiçoamento de recursos de navegador.

Às vezes, pode ser bem difícil explicar a um usuário o motivo de um recurso qualquer simplesmente não funcionar em seu site quando ele navega no IE, mas com o advento do IE8 e posteriores, a Microsoft foi muito "gentil" em documentar em seu site de suporte uma solução para este dilema.

Através do link http://support.microsoft.com/kb/956197/pt-br, fica claro que a empresa classifica de "antigos" os sites que não funcionam no IE8 e posteriores.

Como se não bastasse esta conduta no mínimo questionável, ela ainda sugere um procedimento "padrão" bem simples, de habilitar no menu ferramentas o "Modo de Exibição de Compatibilidade" para que os sites "antigos" funcionem como se fossem "atuais" em poucos segundos.

Na prática, quando um usuário reclamar que algo não funciona no IE8 ou posteriores, pode-se sugerir que ele siga o procedimento padrão contido no link acima, uma vez que a própria Microsoft sugere oficialmente isto, e em dois cliques, os sites "antigos" passarão a funcionar.

Como alguém que tem uma experiência considerável em programação, acho incrivelmente estranho tudo isso. Pensando lá nos zeros e uns do IE, como em dois cliques, quase como mágica, sites "antigos" possam passar a funcionar? Realmente deve ter uma tecnologia pra lá de avançada este navegador! Provavelmente se trata de engenharia reversa do browser encontrado na nave do Caso Roswell(se bem que se o navegador fosse bom, a nave não teria caído).

Concluindo, antes de ficarmos aborrecidos, desmotivados e investir tempo em fazer algo funcionar no IE8 de qualquer jeito, entre suor e lágrimas, podemos pensar mais friamente, e se eventualmente o usuário conseguir discernir e aceitar que seu browser bloqueia por padrão vários recursos modernos e atualizados, classificando-os surpreendentemente de "antigos", e que em dois cliques este "problema" pode, de maneira quase mística, se solucionar, podemos indicar o link http://support.microsoft.com/kb/956197/pt-br, o procedimento nele sugerido, e lavar as mãos, afinal, quem vai questionar o navegador mais "atual" da galáxia?

Ou, podemos no futuro, agir preventivamente e implementar em nossos sites funcionalidades que detectem os IE, e através de avisos, elucidem os clientes sobre o que está acontecendo, recomendando dois cliques a mais, para que toda a parte "antiga", comunitária, democrática, livre e progressista da Internet, volte a funcionar em um navegador específico, e a força que impulsiona internet, esteja de volta, presente, sempre conosco, como nunca deveria deixar de ter sido.

quinta-feira, 15 de janeiro de 2009

Tecnologia não é mágica

A filosofia de codificação ainda não evoluiu tanto como a filosofia de usabilidade e design, apesar da expansão do universo de certificações e metodologias que deveriam colaborar com isto.

Qual a diferença fundamental entre a Soyuz soviética e o Space Shuttle norte americano?
Resposta:A segunda nave tem muito mais tecnologia que a primeira, o que não a impediu de sofrer mais vexames públicos do que o arcaico aparato espacial da finada URSS. A primeira foi desenvolvida para o básico, realizar missões espaciais, a segunda, além do básico, sempre pretendeu dar um show de tecnologia.

Às vezes é assim mesmo, tecnologia demais, riscos demais, resultados, quase os mesmos. É por isso que em pleno século 21, ainda existem ferramentas extremamente simples e funcionais como réguas, lápis, canetas esferográficas e chaves de fenda.

Embora "qualquer tecnologia suficiente avançada possa parecer mágica"(Sir. Arthur C. Clarke), uma coisa é bem diferente da outra.

Se os projetos web tratassem as sofisticações como melhorias, deixando para dar "show" depois de o básico estar garantido, tudo seria mais fácil e feliz no mundo da TI.

Mas não. Todo mundo quer ver "efeito" na tela. Então se o que vale é impressionar, vamos aplicar tecnologias que gerem firulas para o usuário, sem pensar se isso está ou não tomando o tempo e o foco das funcionalidades básicas do projeto, ou se vai funcionar no ambiente final da aplicação, nas condições finais e mais estressantes de utilização.

Nada contra dar espetáculo, mas que tal garantir o básico primeiro? De que adianta usar a melhor tecnologia, seja para fins de excelência, padronização, pesquisa ou para simplesmente impressionar o usuário se o sistema entregue não cumprir o mínimo que devia atender?

Houve um tempo em que quanto mais a página fosse povoada de texto e elementos gráficos, mais era valorizada. Hoje é consenso que em geral, quanto mais "limpa" uma página web, mais ela tende a prover ao usuário o que ele precisa.

Em geral muitos desenvolvedores ainda se apegam aos marabalismos e pirotecnias, incorporando-os nas funcionalidades básicas dos projetos, ao invés de tratá-los como upgrades. A filosofia de codificação ainda não evoluiu tanto como a filosofia de usabilidade e design, apesar da expansão do universo de certificações e metodologias que deveriam colaborar com isto.

Trabalhando com web desde 1999, já passei por várias experiências onde o uso de tecnologias que pareciam "mágica" para o usuário, como Remote Script ou Magic Ajax, acabou atrasando bastante certos projetos, pois embora independentemente fossem atrativas, havia outros fatores de arquitetura ou infraestrutura envolvidos que criaram muita dor de cabeça, atrasos e frustrações para o cliente e toda a equipe que entrou no embalo de dar show antes de garantir o básico.

Voltando ao universo de Arthur C. Clarke, no filme 2001 - Uma odisséia no espaço, onde ele colabora com o diretor Stanley Kubrick, um dos detalhes mais interessantes de se observar, é que o computador vilão HAL, desenvolvido com a mais alta tecnologia e que se torna perigosamente poderoso e inteligente, acaba sendo subjulgado pela determinação humana aliada à uma simples chave de fenda.