Build Zero load time apps
João Moura 
CTO at Palpiteros 
github.com/joaomdmoura 
twitter.com/joaomdmoura 
speakerdeck.com/joaomdmoura
O que mudou? 
Tempo! A coisa mais valiosa 
do mundo!
O que mudou? 
Tempo! A coisa mais valiosa 
do mundo!
O que mudou? 
Tempo! A coisa mais valiosa 
do mundo!
Webapps timeline 
Action! Action! 
Load Time Load Time
74% dos usuários mobile 
não esperam mais que 5 segundos 
para uma página carregar. 
http://www.strangeloopnetworks.com/resources/infographics/mobile-infographics/mobile-load-time-vs-user- 
expectations/
8 
6.4 
4.8 
3.2 
1.6 
2000 2006 2009 2012 
http://www.webperformancetoday.com/2013/03/27/top-ecommerce-sites-are-slower-than-they-were-last- 
year/
Yahoo!: 400 ms 
5 to 9% increase in the number of people 
who clicked “back” before the page even loaded. 
(source: Nicole Sullivan, Yahoo!)
Google: 500 ms 
20% fewer searches. 
(source: Marrissa Mayer, Google)
Amazon: 100 ms 
1% increase in sales. 
(source: Greg Linden, Amazon)
Amazon: 100 ms 
1% increase in sales. 
(source: Greg Linden, Amazon) 
US$ 61.093.000.000,00 
(2012)
Sua Aplicação 
?
Old but Gold! 
Tempo continua sendo dinheiro! 
é mais que
Velocidade x Sucesso 
Velocidade é mais que 
uma feature
O que fazer? 
Como construir uma aplicação 
com zero loadtime?
Habilitar GZIP
Habilitar GZIP Minify de JS e CSS
Habilitar GZIP Minify de JS e CSS Compressão de HTML
Habilitar GZIP Minify de JS e CSS Compressão de HTML 
Otimização de imagens
Habilitar GZIP Minify de JS e CSS Compressão de HTML 
Otimização de imagensDiminuir cookies e headers
Habilitar GZIP Minify de JS e CSS Compressão de HTML 
Otimização de imagensDiminuir cookies e headersUtilização de sprites
Overweight! 
Problema 1 
Grande número de assets 
e grandes assets.
Rede! 
Problema 2 
Diferentes conexões, velocidades 
e sinais
E agora? 
E se velocidade não for o segredo?
Perceived Speed! 
O usuário não se importa com o 
que acontece em backstage
Render in client 
Técnica 1 
Se você consegue bater 50 ms 
de loadtime sem render in client 
você tem minha atenção
Old Browsers 
Não suportam novas libs JS
Old Browsers 
Não suportam novas libs JS
Store data in client 
Técnica 2 
Capacidade de resposta, Acessibilidade 
e os Tempos de Carregamento reduzido
Database Cookies
Database Cookies X X
Local Storage 
FTW!
Intelligent Preload 
Técnica 3 
Como predizer a navegação do usuário 
melhora a experiência e pode lhe poupar 
Recursos
1.000.000.000
1.000.000.000
Make it asynchrony 
Técnica 4 
Separe suas interações com o servidor 
da sua interface
Elevator test 
Se vira nos 30!
Enriquecer a 
experiência do futebol!
Keep it lean!
Estamos contratando 
jmoura@palpiteros.com
RubySource
github.com/joaomdmoura/gioco
Thank you! 
João Moura 
CTO at Palpiteros 
github.com/joaomdmoura 
twitter.com/joaomdmoura 
speakerdeck.com/joaomdmoura

Construindo Aplicações com Zero Load Time