Webinsider

Desenvolvimento

Degradação graciosa, mas com progressive enhancement

04 de novembro de 2009, 21:58

Graceful 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 Luiz Tiago Oliveira

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

Sobre o autor

Luiz Tiago Oliveira (luiztiago@luiztiago.com) é é instrutor na iMedia Brasil & Extensiva, gerente de projetos na Agitz Web e mantém o site Luiztiago.com.

Apoio:

  • LayerDev Serviços de Webhosting Profissional

Palavras-chave relacionadas a este texto: [ programação ] [ microsoft ] [ formulários ] [ acessibilidade ]

Comentários

6 pessoas comentaram o artigo "Degradação graciosa, mas com progressive enhancement"

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.

Daniel Gomes Lopes Filho Data: 05/11/2009 às 9:24 am

Atividade: Analista Sistemas

Cidade: Brsília

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

Luiz Tiago Oliveira Data: 05/11/2009 às 9:30 am

Atividade: Gerente de Projetos / Instrutor

Cidade: Recife

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

god Data: 05/11/2009 às 11:42 am

Atividade: observador atento.

Cidade: acima

Na boa cristão?

Tanto Degradação graciosa quanto progressive enhancement são assuntos datados. Não há novidade alguma por aqui.

Rodrigo Sebold Data: 05/11/2009 às 12:23 pm

Atividade:

Cidade: Jaraguá do Sul

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

Pedro Augusto Data: 05/11/2009 às 2:29 pm

Atividade:

Cidade: Uberlandia

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.

Avisos
Os ítens com asterisco ( * ) são campos de preenchimento obrigatório.
Todos os links inseridos nos comentários possuem o atributo rel="nofollow" para impedir com que user agents (como os mecanismos de busca) sigam os links inseridos para desestimular spammers.
Todos devem se identificar através de e-mail válido.
Os e-mails dos usuários não serão divulgados no site.
Comentários:

Preencha os dados abaixo e clique em enviar

Webinsider