Atributo srcset pode carregar imagens maiores no mobile do que no desktop

Alguém notou algo engraçado enquanto a prévia acima era carregada na tela do seu celular?

Por que a imagem demorou tanto para finalmente preencher todo o quadrado de prévia?

Isso porque é uma imagem muito grande!

Então, por que uma imagem muito grande precisa consumir o plano de dados do usuário, demorando tanto quando uma prévia pequenininha teria aparecido antes mesmo que você a notasse?

Não, não tenho certeza de quem culpar.

Não. Não é um bug. A imagem chega mais cedo ou mais tarde. Estou apenas dizendo que é uma má experiência do usuário. O usuário pensa que ninguém se importa com o plano de dados dele, e a página não termina de carregar tão rápido quanto outras páginas.

2 curtidas

Eu não notei o tempo de carregamento, o que sugere que é o seu navegador ou rede.

Primeira vez de um dispositivo diferente:

Esse foi o Chrome no iOS

2 curtidas

Espere aí. Você, em sua Torre de Marfim em seu país de primeiro mundo, nunca saberia a diferença. Mas eu, na minha não Torre de Marfim, no meu país não de primeiro mundo, noto muito a diferença!

Use as Ferramentas do Desenvolvedor, defina o País para segundo ou terceiro mundo, :smile:, desative o cache e recarregue a página.

1 curtida

Então sua reclamação é com seu provedor de internet e o peering deles?

Para ser claro, a imagem original tem 3,4 MB, essa miniatura é servida pelo Cloudfront, tem 690x460 e pesa 164 KB.

De qualquer forma, o que você está propondo? Que o Cloudfront é um CDN ruim para usuários em sua região? Que o Discourse não baixou e criou as imagens otimizadas rápido o suficiente?

3 curtidas

Tudo que sei é que essas dimensões são maiores que a própria tela do celular!

1 curtida

Eu tenho um smartphone pequeno (4,6 polegadas | 720 x 1.280 pixels). Minha tela não é menor que a miniatura. Qual o tamanho da sua tela?

1 curtida

No seu país fora da torre de marfim, onde os dados são 8x mais baratos que nos EUA e ainda assim 2,5 vezes mais baratos que na Europa? (source) ou você quer dizer no seu país fora da torre de marfim com a internet banda larga mais rápida do mundo (source)? Ou talvez você quisesse dizer o seu país fora da torre de marfim que, para dados móveis, ainda ocupa o 28º lugar, muito acima de muitos países de primeiro mundo? (source)

Parece que você só precisa de um telefone maior.

4 curtidas

Com base em postagens anteriores, Jidanni tem um Galaxy A13 5G e um Zenfone 3:

Galaxy A13 5G: 6,5”, 1600 x 720
Asus Zenfone 3: 5,5”, 1920 x 1080

Como a miniatura otimizada é 690x460 e suas dimensões são ainda mais restritas pelo onebox, ela não é maior que a tela deles. Eles usam escalonamento do navegador, então quem sabe :man_shrugging:t2:

1 curtida

Algo pode estar suspeito aqui.

Na visualização para desktop, o onebox carrega uma imagem de 690x460px, 160 KB, enquanto no celular carrega uma imagem de 1380x920, 500 KB. :thinking:


Movi o tópico para Bug. Parece um bug para mim, talvez seja recategorizado mais tarde :slight_smile:

4 curtidas

Posso estar errado, mas acho que faz sentido.
Se você olhar o srcset do HTML, as seguintes imagens são servidas com base na proporção de pixels do dispositivo (x1, x1,5, x2).

https://...2f50d4ad9f5f865b783b02d392de75bdceec01da_2_690x460.jpeg,
https://...2f50d4ad9f5f865b783b02d392de75bdceec01da_2_1035x690.jpeg 1.5x,
https://...2f50d4ad9f5f865b783b02d392de75bdceec01da_2_1380x920.jpeg 2x

Normalmente, o celular tem uma proporção x2 (ou mais) porque eles têm uma densidade de pixels maior.
Portanto, você vai querer servir imagens com maior resolução.

Proporção de Pixels do Dispositivo

A Proporção de Pixels do Dispositivo (DPR) é um número fornecido pelos fabricantes de dispositivos e é usado para displays HiDPI (High Dots Per Inch) ou Retina (marca registrada da Apple), que fazem parte de smartphones modernos, tablets e até alguns laptops e monitores.
A DPR está em correlação direta com a densidade de pixels do display, quanto maior a densidade, maior o valor da DPR.

A DPR é a razão entre pixels físicos (do dispositivo) e pixels lógicos (CSS) na direção horizontal (largura) ou vertical (altura) de uma tela.
Em outras palavras, a DPR é um número usado para calcular a resolução CSS da tela. A partir da DPR, podemos ver diretamente quantos pixels de hardware reais compõem um pixel CSS.

Exemplo:
Apple iPhone 12
Resolução em pixels do dispositivo (físicos): 1170 x 2532
DPR: 3
Largura: 1170/3 = 390, Altura: 2532/3 = 844
Portanto, resolução em pixels CSS: 390 x 844

Como a DPR é 3, na grade de pixels: 3 (largura) x 3 (altura) = 9; 9 pixels físicos são usados para formar um pixel CSS.

5 curtidas

Sim, eu não acredito que isso seja um bug. Meu iPad na visualização móvel carrega fotos de maior resolução do que meu desktop porque ele pode. Eu posso estar errado, mas eu entendia que isso depende da capacidade do dispositivo, não do tamanho da tela.

Além disso, ainda não está claro se este tópico é sobre a miniatura da caixa única em si ou sobre a foto real que carrega quando você clica no link da caixa única?

2 curtidas

Boa observação.

Você provavelmente não notará uma imagem de menor resolução em smartphones devido ao tamanho da tela deles e, acho que, em geral, eles são mais propensos a ter uma conexão de internet mais lenta via rede móvel do que uma conexão de internet doméstica. Nesse sentido, eu não esperaria que uma experiência móvel carregasse uma imagem maior do que em um computador desktop.

Mas scrset dita qual imagem carregar para qual proporção de pixels. :confused:

Definitivamente não é um bug, vou movê-lo de volta para UX :person_shrugging:

2 curtidas

A miniatura.

De fato, aqui vemos nos resultados das Ferramentas do Desenvolvedor no navegador Kiwi,

Sim, estamos falando de uma miniatura de 500 kilobytes.
O que Tim Berners-Lee pensaria?

Ok, fiz uma pesquisa na web e, de fato, é um tamanho razoável para uma miniatura - se você a estiver enviando para o YouTube.

Quero dizer, deve ser uma miniatura de holograma 50 dimensional fantástica ou algo assim. Você tem certeza de que não poderia fazer o mesmo com cerca de 5000 bytes? O usuário seria capaz de detectar alguma diferença? Não estou culpando ninguém pela crise energética ou por desacelerar a web. Acho que, com o destino sendo um pequeno celular, algo poderia ser feito melhor.
Quero dizer, tem que haver algum ponto em que simplesmente adicionar mais bytes, não importa o tamanho do dispositivo celular que eles tenham, não fará diferença para os seres humanos, a menos que eles tenham olhos de águia, mas eles não são águias, são humanos.

2 curtidas

Concordo que algo está errado aqui, com certeza… essa imagem é muito grande. Nossa implementação de onebox está solicitando uma imagem superdimensionada quando uma muito menor seria suficiente.

Vamos dar uma olhada no próximo mês ou mais.

7 curtidas

Este PR acabou de ser mesclado e aborda o problema do tamanho da miniatura do onebox especificamente para links do Wikimedia.

E aqui está um link do Wikimedia para testá-lo:

Uma correção mais geral aplicável a todos os tamanhos de miniaturas de onebox ainda precisará ser desenvolvida.

4 curtidas

Uma correção mais geral para todos os oneboxes foi criada:

Para testes, usei artigos deste site não-wikimedia: Read the latest Great Reads stories from car lovers like you - Hagerty Media pois eles tinham imagens razoavelmente grandes para onebox.

Antes:

Depois:

Antes desta alteração, as imagens do onebox tinham cerca de 400kb. Após a minha alteração, elas têm cerca de 100kb.

Aqui está um exemplo de onebox que está usando o tamanho de miniatura reduzido
https://www.hagerty.com/media/car-profiles/driving-the-prodrive-p25-brought-out-my-inner-car-crazy-kid/

4 curtidas

Este tópico foi automaticamente fechado após 41 horas. Novas respostas não são mais permitidas.