Degradação graciosa, mas com progressive enhancement

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on pocket

É 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.
.

Luiz Tiago Oliveira (luiztiago@luiztiago.com) é sócio e gerente de Front-End da MGR Tecnologia, graduado em Webdesign e pós-graduando em Desenvolvimento Mobile.

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on pocket

Mais lidas

6 respostas

  1. Amigo, eu acho que estes assuntos são assuntos importantes, mas esta discussão já foi e veio por todo canto e eu acho que as informações contidas aqui estão meio que Encher linguiça.

    Sem ofensas, só melhorando o conteúdo do website.

    Abraços.

  2. Luiz,

    Concordo plenamente com seu ponto de vista. Muitos desenvolvedores se dizem a favor de acessibilidade, usabilidade, mobilidade entre outros. Mas não conseguem fazer um site acessível para o IE6 que comparado a muitos navegadores mobile é um Firefox, Opera, Safari etc… No Brasil as taxas de crescimento mobile já são grandes, o que esses desenvolvedores vão fazer? Duas versões do site? Ou criar uma campanha no mobile.

    Rodrigo Sebold

  3. Pedro,

    O conceito principal defende que os sites funcionem em todos os navegadores, afinal as funcionalidades não devem ser afetadas. O que pode ser afetado são alguns efeitos e propriedades visuais (como bordas arredondadas, posicionamento fixo, etc.)

    Abraços,

    Luiz Tiago

  4. 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.

  5. Luiz,

    Importante suas considerações. Especialmente se as características do site/portal tiverem forte viés de serviço ou informações em consultas a bases dinâmicas.
    Por vezes, perde-se tempo preenchendo um formulário, seja de compra ou de comunicação, e ao submetê-lo verificar-se que nada aconteceu. Negócios e contatos importantes podem deixar de ocorrer pela desistência nesses casos.

    Abraços,
    Daniel

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *