LuizTiago.com - WebDeveloper

Blog

Progressive Enhancement: melhoria necessária na web

Particularmente noto que os designers e desenvolvedores gostam de exagerar na defesa de alguns pontos de usabilidade em meio a alguma discussão sobre determinada teoria. Termos como "pular na cara do usuário", "frustrar", "gritar", entre outros são comuns nestas conversas, aumentando bastante o problema apresentado apenas para melhorar sua defesa. Apesar de eu estar neste meio, isto não é este o ponto principal do post.

É realmente frustrante quando não conseguimos acessar determinada funcionalidade de um site por causa de um navegador ou sistema operacional que está sendo utilizado. Penso que isto não é uma opinião pessoal, e sim da maioria dos humanos. Com isto, irei explicar rapidamente um conceito meio antigo, porém pouco utilizado na realidade do nosso mundo virtual. Para entender melhor o que significa o Progressive Enhancement, ou Melhoria Progressiva, é preciso conhecer também o conceito de Graceful Degradation, ou Degradação Graciosa.

Os desenvolvedores, na sua maioria, estão acostumados a criar páginas para os navegadores atuais que não funcionam completamente em versões antigas de alguns navegadores (como grande exemplo, o IE6). Como sempre tento defender, é preciso analisar bastante o público-alvo do projeto em que está sendo desenvolvido antes de tomar qualquer decisão precipitada. Se em determinado caso, é esperado um grande público formado pelos navegadores antigos, é loucura deixar esta parcela de lado. Esta atitude é tomada na sua maioria pela falta de tempo, orçamento e em algumas vezes pelo conhecimento limitado do próprio desenvolvedor. Além disso, é observado também o aumento no uso de dispositivos móveis, em que em alguns casos a ausência de determinadas tecnologias (Javascript, Flash, etc.) pode frustrar o usuário.

A técnica do Graceful Degradation defende a teoria em que determinadas funcionalidades não devam funcionar em algumas plataformas. Pensam que se o navegador do cliente não tem suporta à Javascript ou está sem o Flash instalado é problema dele. O pensamento egoísta obriga o cliente a fazer o update de seus aplicativos, caso ele queira ver perfeitamente o "grande projeto desenvolvido". Às vezes levo na brincadeira e apoio estas idéias pela raiva particular principalmente do IE6, mas todos nós devemos ter em mente que isto pode ser decréscimo significante no resultado do projeto.

Baseada no pensamento colaborativo, a estratégia do Progressive Enhancement foi criada onde o conceito principal é justamente o inverso da Graceful Degradation. O projeto é feito de baixo para cima, pensando no menor denominador comum entre as funcionalidades dos browsers (sempre me lembro das aulas de matemática do colégio), para em seguida o desenvolvedor adicionar funcionalidades e melhorias para o comportamento e apresentação do site que só são possíveis nos navegadores mais atuais. Desta forma, em nenhum caso o cliente perde as funcionalidades principais do site devido a falta de upgrade de seu browser, que muitas vezes é de responsabilidade do "carinha da ti" da empresa.

Se vai ser feito um simples formulário tendo o submit com Ajax, pensando na beleza da resposta a ser dada sem a necessidade de atualizar a página, este mesmo formulário pode ter um "sistema defensivo" que funcione independentemente da presença do JavaScript na máquina do cliente. O uso de linguagens de back-end (PHP, ASP, ASP.NET, etc.) independe do navegador do cliente e garante a funcionalidade principal do caso, mesmo se a apresentação dela não for a melhor possível. Tem que ter em mente em que o ponto fundamental é a funcionalidade. É muito mais difícil você perder um usuário por não ter visto a resposta deste formulário aparecendo com um "fadeIn" em jQuery do que um que não conseguiu fazer a ação principal desejada.

É preciso colocar na cabeça algumas coisas, estudar um pouco mais estes conceitos e se imaginar na posição do usuário. Ele é sua platéia e tem que estar em primeiro lugar! Por isso, não frustre-o.

Comentários

Julio Fragoso
Belíssimo post sobre, como você já disse, um assunto antigo e pouco falado.

Parabéns.

Quero ver posts falando sobre HTML 5 e CSS 3 !!!
Roque Junior
Apesar de ser um grande defensor do "IE6 die" tenho que concondar com você. Como sempre um belo post e não esqueça de atender ao pedido de Júlio Fragoso que também é um desejo meu.
Djalma Araújo
O que eu vou falar parece ficar batendo na mesma tecla mas tudo isso se resume a: PÚBLICO ALVO.

Se vai aplicar a teoria "egoista", aplique-a se naquele publico alvo, nao vai haver dispositivos moveis, browsers antigos, em fim, o que for de "sucata".

Mas basicamente é isso: PUBLICO ALVO.

Outro ponto importante é o pessoal do atendimento criar vergonha e passar 2 horas explicando por que um browser antigo pode prejudicar a visualização de um projeto. Não importa se no cliente todo mundo usa ie6 e afins "ecas". Conscientiza!!!

Bom post, abs.
Beth
Parabéns Tiago, meu filho. Você tem uma visão muito ampla e atualizada do tema. Essa interação, através de artigos, é um caminho que amplia e direciona conhecimentos para um melhor desempenho e eficiência do profissional de sua área. Continue assim brilhando, com esse espírito colaborador.
Luiz Felipe Alves
Parabens!
Muitos desenvolvedores pensam mais no seu sucesso em ter um site ?bonito?, moderno, atual no ar que funcional, conforme exemplificou com o caso do formulário. A primeira pergunta a ser respondida após concluir o site é: está funcional? Cumpriu os requisitos do briefing?
Carlos Baptistella
Concordo em partes com esse post...
Longe de mim criar qualquer discordia no nosso lindo mundo virtual onde sempre quem tem a razão é o usuário. Mas deixo aqui minha humilde opinião.
O grande vilão de nós desenvolvidores atualmente é o (IE 6) pelo manos aqui no Brasil, há alguns outros probleminhas mas são só coisinhas rotineiras. O fato é que aproximadamente 36% dos usuários do globo ainda usam esse navegador. Agora vem a pergunta devemos nos preocupar com esse pessoal e a resposta é não.
Defendo sim a Usabilidade, Tipologia bem empregada e a Comunicação certa para seu Publico Alvo mas de geito maneira me esquento de o cara usa o IE 6 e fica chorando porque o seu web site não funciona correto...
O IE 6 foi um ótimo navegador para sua época em meados de (2001) mas agora estamos em 2009 logo logo uma década depois e ainda estamos presos. E ao contrario que voceis imaginam não ponho a culpa na Microsoft pois afinal eles já estão com duas versões acima deste portanto o que deveriamos fazer é (orientar) esses usuários sem conhecimento.
Há varias campanhas mundo a fora pedindo o fim deste vilão mas recentemente só depois que alguns grandes decidirem não dá mais suporte ao IE 6 é que a coisa parece que pelo menos ganha rumos mais certos, só para voceis ter uma ídeia um que não da mais suporte ao IE 6 é o You Tube.
Há muito sobre o que falar mais só para finalizar ... as gambiarras que somos obrigados a fazer para que os sites rodam no IE 6 não são aprovadas pela W3C só ai ja é um probleminha bem interessante.
Luiz Tiago
Olá Carlos,

Perfeitamente. Por isto que é importante que todas as funcionalidades do site funcione em todos os navegadores, indepente de versão, pois o visual pode sofrer alguma perda com isto, mas nunca a funcionalidade.
Obrigado pelo comentário e volte sempre!! :)

Comente