2013/05/31

Imgix quer ser a Placa Gráfica da Cloud


Está visto; sou mesmo um visionário que nasci antes do tempo "certo". Literalmente no século passado, enquanto ia brincando com a programação web - e em parte devido à minha paranóia com a eficiência - decidi desde logo que era absurdo um site utilizar imagens com centenas de kilobytes ou mesmo megabytes caso estivesse a ser visto por um utilizador que tinha apenas uma ligação por modem (dos que apenas davam 8KB/s!)

Por isso, puxei do teclado e criei o que foi o meu primeiro "plugin" CGI para servidores (penso que na altura o fiz em Delphi), que era um componente que permitia redimensionar, recodificar, ou até cortar partes das imagens num site. Em vez de o utilizador levar com as imagens originais que o site tem, podia facilmente especificar que dispensava a qualidade e apenas as queria ver com 10% de qualidade, reduzindo substancialmente o seu tamanho e o volume de dados transferidos. Em vez de pedir a imagem original, a página web podia pedir algo do tipo: "scale.cgi?img=imagem.jpg&qualidade=10&largura=200px" (com mais opções para limitar o tamanho máximo resultante, fazer o crop de uma secção da imagem, e até converter para preto e branco e aplicar outros efeitos - décadas antes de se ouvir falar do Instagram! ;P)

Obviamente que isto carregava no CPU, mas considerando que era para ser utilizado num site com meia dúzia de visitas, e numa altura em que as velocidades de ligação à internet é que eram o elemento limitativo... funcionou como era suposto.

Porque motivo vos venho falar deste assunto? Porque é precisamente isto que faz este novo Imgix, que foi criado por um ex-Googler que também leva bem a sério a questão da eficiência (era o responsável pela criação do feather, uma página do YouTube ultra-leve para quem tem velocidades de internet muito reduzidas).

Claro que hoje em dia a questão não pode ser limitada a "um CPU", mas envolve  toda uma "cloud" de processamento capaz de dar resposta a milhões de pedidos que cheguem de todo o mundo... mas na essência, é precisamente um serviço que disponibiliza o redimensionamento dinâmico das imagens em função das necessidades de cada utilizador.

Tal como o Dropbox se tornou no disco rígido da web, o objectivo do Imgix é tornar-se na placa gráfica da web, processando não só imagens, como também vídeos e até jogos. Por exemplo, não faz sentido estar a carregar imagens de megabytes (sim, a praga continua ainda nos dias de hoje!) num site quando o estão a ver num telemóvel com uma resolução reduzida, ou usando uma ligação 3G que não é a melhor, ou que vos fará ultrapassar o limite de tráfego de dados que têm no vosso plano. Eventualmente, tornar-se-ia possível dizer em tempo real que queremos ver um filme do YouTube mas que não passasse dos 3MB de tráfego; ou abrir uma página do Flickr sem gastar mais 100KB; e deixar que um serviço como este tomasse conta do assunto.

... Eu bem sabia que devia ter patentado as minhas ideias... :)

2 comentários:

  1. Pois... lembro-me de um certo site rico em imagens que me gastava 5MB de tráfego no telemóvel por cada pageview. A partir daí passei a usar o Opera Mini sempre que não estou em wifi.

    ResponderEliminar
  2. Bom Artigo:) Penso que na altura da net de 56k existia alguns operadores (tipo clix) em que existia um tarifário que aderíamos e acelerava a abertura das páginas limitando a qualidade das imagens....

    ResponderEliminar