2012/12/21

O "Peso" das Imagens na Web


Eu sei que sou um pouco "fanático" quanto à optimização de recursos - e fico doente quando vejo má programação - mas o que é certo é que todos os dias passo por inúmeros exemplos na web que me deixam horrorizado e para os quais, sinceramente, não imagino qual possa ser a justificação possível.




Refiro-me a sites que se gabam de usar todas as últimas tecnologias, com layout dinâmicos e "responsivos", que se ajustam automaticamente a todo o tipo de ecrãs de forma a apresentar os conteúdos de forma eficiente (até aqui tudo bem), mas que por outro lado são capazes de usar como thumbnails imagens com vários Megabytes de tamanho!

Já por cá falei que existem diversos formatos de imagens, uns mais adequados para uns tipos de imagens que outros. Mas parece-me que o puro bom senso deveria ditar que algo de errado se passa quando num site se usa uma imagem com tamanho obscenamente desproporcionado para o fim a que se destina.

Uma imagem com alguns megabytes poderia justificar-se caso fosse para ser exibida em fullscreen e com alta qualidade: mas para servir apenas de ilustração a acompanhar um texto, será que faz sentido? Não serviria a mesma imagem, redimensionada para a dimensão desejada, e a ocupar algumas dezenas ou poucas centenas de kilobytes?

É que nem todos terão ligações de megabits em suas casas, e cada "kb" adicional é algo que "pesa" na rede - e possivelmente no bolso de cada cliente, se estivermos a falar de planos de dados com tráfego contabilizado. Bastará referir os nossos planos de dados mobile, onde, com sites deste tipo, se poderão gastar dezenas de megabytes a visitar um único site sem "nada de especial"... e assim gastar logo grande parte do tráfego disponível.

Mesmo em casos não tão exagerados com as imagens de Megabytes, há igualmente inúmeros casos de imagens com centenas de MB que podem ser recomprimidas sem perda de qualidade aparente para metade do tamanho.


Há muitos anos, quando a web começava a dar os primeiros passos no sentido das páginas dinâmicas, cheguei a criar um plugin para servidores que fornecia cada imagem com o tamanho e qualidade pedida pelo browser. Ou seja, um cliente com ligação "banda-larga" podia pedir as imagens com maiores dimensões e qualidade; outro num velhinho modem de 14.4Kbps podia definir que queria as imagens a 10% da qualidade. E o que é certo é que a coisa funcionava bastante bem (embora à custa de mais utilização do CPU - mas poupando na largura de banda).

O mais caricato é que o próprio standard HTTP já contempla uma forma de cada browser poder informar o servidor quanto ao tipo de imagens que aceita, usando o header "accepts" - mas infelizmente, apenas o Opera lhe parece dar uso, e é por isso quase completamente ignorado.

Muito gosto eu que a web evolua, e se discutam novos grandes avanços e funcionalidades. Mas por vezes interrogo-me se, antes de dar esses passos em frente, não seria igualmente necessário tentar resolver alguns destes casos pendentes que se vêem a arrastar há tantos anos.

2 comentários:

  1. Creio que, após esta leitura, seja o caso de redimensionar o tamanho das fotos do meu blog. Obrigada e bom sábado.

    ResponderEliminar
  2. por acaso somos constantemente assediados a colocar cada vez informação maior nos sites, quando, para visualização, poderíamos/deveríamos fazê-lo na resolução correta. Lembro-me de reduzir ao máximo videos antes de fazer o upload para o Youtube.. agora o Youtube é o 1º a avisar-me para colocar a filmagem com a máxima qualidade possível...

    ResponderEliminar