Blog

Dispositivos móveis e redes lentas: Inteligência no CDN

“Agora todo mundo usa 4G…” Quem disse isso mal sabe que menos de 30% da população mundial usam 4G. Agora imagine essa porcentagem no Brasil…

 

Embora não haja um consenso quanto a data, já estamos vivendo numa era em que há mais usuários na internet com celulares/tablets do que com desktops.

Dependendo do tipo de cliente, isso pode ser ainda mais dramático: Temos clientes que chegam a ter acesso 92% de dispositivos móveis!

Então vale a pergunta: Seu site abre rápido em qualquer dispositivo móvel e em qualquer rede?

2G, 3G, 4G e Wifi: Experiências muito diferentes

Certo, então já é claro que todos temos que nos preocupar que o nosso e-commerce, site ou streaming funcione bem em dispositivos móveis. Só que muitas vezes se gasta mais tempo buscando universalidade (que hoje em dia se resume a funcionar bem com Android, iOS e Windows Phone) do que outro aspecto fundamental da experiência do seu cliente: velocidade em redes distintas.

Já é óbvio pra todo mundo que navegar via Wifi e 3G é totalmente diferente em termos de velocidade, mas o quanto isso realmente influencia? Vamos olhar!

Coletamos por 10 minutos a latência (RTT) de dispositivos móveis pelos nossos POPs no Brasil, vamos dar uma olhada. Não pegamos nossos nodos internacionais para podermos analisar mais a internet brasileira:

Latência de dispositivos móveis na internet Brasileira

Lembrando que graças as nossas queridíssimas operadoras, mesmo o seu último iPhone 4G super legal, pode estar navegando em 2G sem você se der conta, quando você passa da franquia contratada.Na coleta atual, nota-se que existe uma enorme audiência com latência superior a 100ms (aqui já seria uma rede móvel boa pra mais ou menos). Se pegarmos todas requisições abaixo de 100ms, teríamos 422.104 requisições. E se somássemos todas as acima de 100ms, teríamos 361.223, então temos atualmente 46% de clientes reais em redes lentas! Esse grupo não pode ser ignorado.

Hmmm, então se preparar apenas para o tipo de dispositivo não é o suficiente para garantir uma ótima experiência!

Precisamos otimizar o site/sistema para essa classe de dispositivos móveis.

Versão light para redes lentas

Já tem um tempo que muita gente boa vem falando sobre esse assunto. O Patrick Meenan do Google fez uma ótima apresentação ano passado sobre o assunto, você pode dar uma [olhada com calma].(https://pt.slideshare.net/patrickmeenan/scaling-frontend-performance-velocity-2016)

Muita gente usa CDN para entregar um site feito para dispositivos móveis e outro para dispositivos desktop (mesmo com versões responsivas), certo? E para dispositivos móveis E lentos? Aí que começa a brincadeira.

No Singular, permitimos detectar automaticamente a latência da conexão e entregar conteúdo personalizado baseado nisso.

Aí finalmente o usuário vai ter uma excelente experiência para a latência que ele tem no momento! E não precisamos sacrificar ninguém: A pessoa em rede rápida recebe o melhor design (e mais pesado) e a pessoa numa rede mais lenta recebe o mesmo conteúdo num design mais modesto.

Mas o que colocar nessa versão light? Vamos as dicas:

1) HTTP/2 com TLS 1.3 0-RTT e links em um único domínio

Usar HTTP/2 é a melhor solução para redes mais lentas, pelo fato do browser abrir apenas 1 conexão com o nodo na ponta e requisitar todo o mundo. O suporte a HTTP/2 já é grande em dispositivos móveis

Mesmo com RTT alto, passando a fase de slow start tende a ficar tudo mais rápido. Um detalhe: o ideal é usar tudo no mesmo domínio, pra justamente o browser não ficar abrindo mais de 1 conexão com o nodo.

Fora isso, usar um CDN que possui TLS 1.3 com 0-RTT é fundamental, já que é justamente um RTT a menos.

De cara, o TLS 1.3 por padrão já corta de 4xRTT para 3xRTT a negociação de criptografia. Isso numa rede móvel ou satelital de digamos, 200ms de latência, já significa um ganho bom. O Chrome já habilita por padrão, Safari.

Se mesmo assim o CDN tiver suporte a 0RTT, fica melhor ainda, pois cai pra 2xRTT a negociação. É literalmente a metade do tempo pra negociar a criptografia do site. Todos ganham.

O Singular suporta essa funcionalidade habilitando TLS 1.3 e HTTP/2 na interface, quando o cliente quiser. 0-RTT também é suportado pelo Singular com TLS 1.3, mas os browsers ainda não habilitam.

2) Use anúncio em texto

Ao invés versão de anúncio com imagens, nessa versão light migre para anúncios via texto. Onde possível, use menos anúncios também.

3) Carregue imagens com método lazy

Esse método permite não trancar a renderização do site antes do carregamento pleno das imagens, permitindo sensação de maior velocidade.

4) Evite usar fontes externas

Enquanto a fonte não chegou para dar aquele super efeito que você quer, o DOM do seu site vai aumentando…efeito final: Site lento. Use fontes simples que permitem o browser não precisar carregar nada externo numa versão leve do seu site.

Resultados práticos

Suportar redes lentas é fundamental no Brasil, já que temos muitos provedores no país com redes wireless de qualidade flutuante, redes satelitais e os 4G que parecem 3G mas muitas vezes não tem nem meio G 🙂

O impacto na audiência do site é imediato: Empresas chegam a ter relato de 50% mais audiência em determinado grupo ou região.

Considerando que o Brasil tem redes muito diversas e como vemos latência maior de 100ms é bem comum, vale o investimento em ter um design mais simples para redes mais lentas e um CDN inteligente capaz de detectar cenários adversos e entregar conteúdo de acordo.