Tableless - Desenvolvimento inteligente com Padrões Web

06/12/2010
Browsers

Desenvolvendo para IE6

Você ainda desenvolve para IE6? Você cobra mais por isso? Eu sim.

Por


Você ainda faz sites para IE6? Já me fizeram uma pergunta dessas certa vez. A resposta: Sim. Mas…
Desenvolver para Internet Explorer 6 já foi uma obrigação. Enquanto ele era o browser mais utilizado e ainda era o browser mais atual da série, nós tínhamos que desenvolver para ele. Não havia escolha. O cenário atual é outro.

Eu não desenvolvo sites para o Internet Explorer 6 se o cliente não pedir. Nas propostas e nas reuniões costumo deixar bem claro que o IE6 está fora da cartilha de browsers compatíveis. Nesse momento é bom conversar com o cliente para entender o mercado dele. Caso ele precise que o Internet Explorer 6 seja previsto, eu aviso duas coisas: 1. O valor da proposta vai aumentar. 2. O tempo de desenvolvimento também.
Claro que os motivos para estas decisões precisam ser explicados. Não vou aumentar o valor da proposta simplesmente porque sou contra o IE6. Mas porque eu terei mais trabalho pela frente.

É muito trabalho, para pouco retorno
Eu não preciso dizer para você que o Internet Explorer 6 é complicado. Você já sabe. Mas o seu cliente não deve saber.
Para que o IE6 passe no teste de satisfação, temos que seguir alguns longos passos:

1.    Previsão de bugs de compatibilidade de CSS e HTML.
2.    Previsão de CSS escrito exclusivamente para o IE6.
3.    Bateria de testes e pente fino de Design em comparação ao layout original e outros browsers.
4.    Manutenção exclusiva
5.    Muito código e limitações de tecnologia

Previsão de bugs de compatibilidade de CSS e HTML.
Não preciso dizer que o IE6 é uma colcha de retalhos. Há dezenas de bugs conhecidos  relacionados ao desenvolvimento com CSS e HTML. Todos estes bugs precisam ser previstos e solucionados.
Muitos desenvolvedores já tem conhecimento destes bugs já preparam o código para que eles sejam previamente solucionados e não haja surpresas posteriores. Infelizmente isso nos leva para o próximo tópico.

Previsão de CSS escrito exclusivamente para o IE6.
Não é nada inteligente escrever código CSS cheio de Hacks. Você acaba misturando código errado com código correto. Sem contar que que usuários de browsers atuais não precisam baixar um código com hacks para solucionar problemas de um browser descontinuado. Por isso, uma solução interessante é criar um arquivo CSS apenas para o Internet Explorer 6. Entenda que nesse arquivo não haverá todo o código do site, apenas o código que servirá para curar os bugs de layout exclusivos do IE6.
Atualmente essa solução é a mais interessante porque o IE6 está prestes a sumir. Quando isso acontecer, basta você retirar a linha que linka esse código e pronto, seu site não suporta mais IE6.

Bateria de testes e pente fino de Design
Invarialmente você precisará gastar um tempo para fazer uma bateria de testes em todo o layout para se certificar de que nada está fora do lugar.
É regra haver diferenças gritantes de alinhamento, medidas e distâncias no layout do Internet Explorer 6  em relação ao layout original e aos outros browsers.

Manutenção exclusiva
Prepare-se para ter alguém cuidando exclusivamente do Internet Explorer 6 durante tempo indeterminado.
Com os browsers atuais, é normal fazermos implementarmos um layout e o resultado ser homogêneo durante as versões posteriores dos browsers. Se você precisar fazer alguma alteração brusca no layout, prepare-se para a manutenção no IE6.

Muito código e limitações de tecnologia
Um exemplo clássico é o suporte ao PNG. Havia um trabalho terrível para replicar sombras e determinados tipos de gradiente por conta do efeito alpha que os designers aplicavam nas imagens. O desenvolvedor client-side precisava fazer tantos slices de imagens quanto nos tempos do desenvolvimento com tabelas. A ideia de que o design deveria trabalhar para o conteúdo era totalmente esquecida. O design deveria ser seguido ao pé da letra, mesmo que isso prejudicasse a informação.
Ainda com o exemplo do PNG. Se quisermos que o PNG funcione no IE6, é necessário a utilização de alguns códigos extras de Javascript. O resultado não é 100%, há um consumo desnecessário de banda e também o browser consome processamento de máquina do usuário. Escrevemos muito código para ter por resultado.

Os exemplos acima são decisivos para o desenvolvimento. Isso precisa ser explicado se seu cliente faz questão do IE6. Contudo, há clientes que precisam dessa compatibilidade por obrigação, por conta de um legado que não é simples de resolver. Aí não tem jeito. Você vai ter mais trabalho e o cliente vai gastar mais. Ninguém fica feliz.

O processo de evangelização é feito nas trincheiras. Então, mãos à obra!

Por Diego Eis

Diego Eis criou o Tableless para disseminar os padrões web no Brasil. Como consultor já treinou equipes de empresas como Nokia, Globo.com, Yahoo! e iG. É palestrante e empreendedor.

http://twitter.com/diegoeis/

Veja os outros posts de

  • http://rodrigofante.com Rodrigo Fante

    Vamos ver se agora vai =D
    Perfeito artigo, eu já faz 1 ano aproximadamente que cobro em média 30% a mais para dar suporte ao IE6, claro este valor varia de site para site, afinal, layouts diferentes irão gerar um impacto diferente no código gerado para dar compatibilidade ao IE6, designs mais complexos exigirão mais trabalho para esconder as limitações do IE6 e um design simples pouco trabalho me dará de adequação ao IE6.

    Mas a média 30% é um valor bastante justo e razoável, em média uns 80% dos cliente pedem para ignorar o IE6, e seja feita a escolha do cliente.

  • Mateus

    Curto ler o blog mas noto a falta de um texto mais transparente e que seja, de fato, voltado para a didática do desenvolvimento de interface. Quando se usam termos específicos é necessária a explicação deles, como em uma matéria jornalística, que deixa claro o significado de jargões. Atente para isso pois, simplificando a problemática da situação, alguém novato na área fica simplesmente perdido com termos que, para nós, já fazem parte do vocabulário comum. No mais, a idéia de um blog voltado para o desenvolvimento web, em português, é mais do que necessário, já que noto a grande dificuldade que muitos brasileiros tem ao lidar com programação e afins, simplesmente por não terem conhecimentos básicos de inglês (que de fato é fundamental para qualquer um que queira lidar com computação). Parabéns pelo Blog!

  • http://webgenium.com.br anselmo

    Aqui na @webgenium a quase 1 ano adotamos esta política! se quiser que o site fique no IE6 IGUAL aos demais sites o valor é maior.

  • Pingback: Desenvolvendo para IE6! « Diego Alves

  • http://@LeandroSNunes Leandro Nunes

    O Iéca 6 é realmente o carrasco dos desenvolvedores front-end, havia um ano que não fazia nada para ele, agora estou estruturando um ecommerce e o suporte a esse primata é necessário. Infelizmente não ha como deixar o visual parecido com os demais browsers sem o uso execivo de imagens e códigos extras (.js,.css), então minha política é priorizar as funcionalidade da interface e deixar o visual o mais parecido possível(apenas com CSS). O cliente irá clicar no produto independente se ele esteja em um box com shadow ou não, não é? Trocando de assunto, uma outra coisa que dar uma dorzinha de cabeça são fontes que sua renderização no Mac tem diferença em relação ao Windows, em menus com paddings no ‘li a’ tende a quebrar em algumas situações. Fica ai uma dica para um novo post aki no Tableless, ou se alguem tiver uma solução bacana, posta ai! :)

  • http://www.wallacerick.com.br Wallace Erick

    Realmente, não convém mais desenvolver um site sem cobrar mais pelo tempo gasto com IE6.
    Em alguns trabalhos, nem permito acesso ao usuário de IE6.

  • Pingback: Links interessantes da semana #21 | >> designerd.com.br

  • http://www.jusbrasil.com.br Shankar Cabus

    Onde trabalho (JusBrasil), infelizmente o IE6 ainda representa quase 6% dos usuários, o que significa mais de 90mil usuários por semana. Logo, não podemos dar uma bicuda nele. Mas de 6 meses para cá colocamos um aviso insistente em todas as páginas alertando o usuário sobre o browser desatualizado e oferecendo duas opções de download: Chrome e Firefox (IE não é nem citado). A mudança das estatísticas foram significativas, tivemos alguns meses em que o IE6 caiu mais de 1% (no começo do ano ele representava 15%).

    Outro dado importante é que a maioria dos computadores com IE6 pertencem a órgãos públicos e como nosso site tem foco jurídico, ele é acessado por muitos servidores públicos (TRT, TRF, TRE, TJ… etc). Em uma semana com feriado, o IE6 chega a menos de 4%, quase 3%.

    Apesar do fim do IE6 estar chegando, não me animo muito, pois, como sempre, apenas trocamos o problema. Em breve vamos nos livrar do IE6 e ter um novo calcanhar de Aquiles, o IE7.

    Feliz mesmo estarei quando todo mundo usar Chrome e Firefox e eu puder usar CSS3 e HTML5 sem medo de compatibilidade. Mas sei que isso ainda está longe, então, enquanto esse dia não chega, vamos brigando com os browsers.

  • http://www.chrisb.com.br Chris Benseler

    Olá Diego!

    No primeito item, faltou dizer que além de bugs próprios do IE6 relativos a marcação HTML e CSS há os de javascript. Um ponto a mais para dificultar a implementação, o que eleva o custo da mesma.

    Abs!

  • Danilo

    olá, Diego parabéns pelo post, e pela ousadia do que diz o post. Realmente, temos que trabalhar 2x mais por causa do Tio Bill, mas com certeza atitudes como essa que impeliremo a web para fora da caverna.

  • Felipe Volpatto

    Eu abandonei por completo o meu suporte a IE6 ano passado.
    Não aguentava mais ter que criar arquivos extras apenas para o IE.
    Resolvi direcionar todos os usuários para atualizar seu navegador ou baixar o Firefox. Inclusive, pus um aviso no topo da página caso o IE seja o 7, para o usuário ficar ciente que seu navegador está por fora.

    Conversei com outros desenvolvedores a respeito. Eles comentaram que é uma atitude um pouco drástica, mas penso que, deve estar bem claro ao usuário que há navegadores mais modernos, todos deveriam saber sobre isso, mesmo sendo leigo ou não.
    Há tanto do que desfrutar na atualidade, tantos novos recursos e temos que ficar presos a isso? Acho injusto :P

    Abraços!

  • estenio

    bom aqui onde eu trabalho nós não trabalhamos mais com ie6 ao inves disso substituimos por uma barra de browsers que contem links dos mais atuais. Outra coisa lugares que ainda usam ie6 normalmente são empresas que tem sofware proprietário onde este é baseado no navegador, assim então fazendo com que este mercado ainda exista por que até o windows do xing ling não vem mais com ie6 e acho que nem ie7

    O msn, youtube e muitos outros famosos ja não dão mais suporte mas é claro que sempre vai ter aquele cara mão de vaca que insiste em ficar no passado com um museu que da problema do que ter um novo huahuhauahha

  • http://tutorial-city.net Eduardo Matos

    Um erro muito comum é os desenvolvedores acharem que o site tem que ficar exatamente igual em todos os navegadores. Se o IE não suporta transparência, usa um background sólido! Se não tá conseguindo enviar os dados via AJAX, envia da maneira tradicional (recarregando a página)! Se tá teimando em não reconhecer algum seletor, usa uma biblioteca no estilo Selectivizr, ou usa um framework pra aplicar dinamicamente! Quando se trata de Internet Explorer eu não me importo se vai ficar mais lento ou diferente, boto pra funcionar da forma mais arcaica possível (mas mantendo um visual e comportamento decente), e isso não me impede, em nenhuma hipótese, de usar HTML5 e CSS3.

  • http://ramalhowebblog.blogspot.com Ramalho

    Alô FAMILIA WEB,

    Realmente o IE6 dá muito trabalho mas como trata-se da nossa profissão não há como evitá-lo, a não ser que tentemos convencer os clientes com as duas palavras do ponto 5 ” limitações de tecnologia “. Detalhando as limitações creio de será o suficiente para fazer entender porque sabe-se que quem usa a tecnologia sabe que o que se fez ontem ficou ultrapassado.

    As novas tendências tem muitas exigências e ninguem quer ficar longe.

    Grato pelo conteúdo é muito bom.

    Parabéns Diego e sucessos para sua equipa.

  • http://www.veigasantos.com Charles Veiga Santos

    Não consigo fechar os olhos e ver um futuro legal com o IE (6,7,8,9….)a não ser que a Microsoft adote os padrões existentes hoje, mas será que isto ocorrerá um dia?

    No próprio recem lançado IE9, usei um menu, que “roubei” de vocês ( http://tableless.com.br/criando-um-menu-horizontal-com-css ) mas ele não reconheceu o elemento NAV. Todos os outros navegadores renderizaram o menu perfeitamente, mas no IE9…..NADA!!!

    Todo o bafafa no lançamento do IE9 sobre suporte a css3 e html5 foi somente marketing, e que infelizmente da muito certo, pois muita gente que conheço já fez a atualização.

    Abraços.

  • Pingback: Seria o IE6, um câncer na internet? | Designando

  • http://www.finalizart.com/ Douglas W. P.

    Colocando de forma prática, devemos oferecer suporte a essa versão do IE ?