Degradação graciosa, mas com progressive enhancement
04 de novembro de 2009, 21:58Graceful degration, ou degradação graciosa, é forçar o usuário a atualizar seu browser, pelo bem dos avanços. Mas vale também o progressive enhancement, ou melhoria progressiva, uma forma de não deixar de fora parte dos usuários.
Por
É 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 esta 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.
Projeto de baixo para cima
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. [Webinsider]
.
Acompanhe o Webinsider no Twitter.
.

1° Pedro Data: 05/11/2009 às 8:49 am
Atividade:
Cidade:
Concordo com seu artigo.
Mas particularmente sou mais adepto do ‘Graceful degration’ pois não podemos nos limitar por um navegador antigo que não possue tal funcionalidade, mesmo porque, se o usuário não tiver um empurrãozinho ele nunca vai atualizar seu navegador.
Acho que é pior vc construir um site que só funcione em um navegador (só IE, só FF) do que um que não funcione em uma versão antiga destes.