O Passado da tecnologia

A tecnologia é algo que eu acho realmente impressionante, agora final de agosto eu completei 10 anos de mercado de TI, e fui fazer uma análise em de alguns marcos de lá pra cá.

3G & Smartphone

O ano era 2008, um ano após o lançamento do iPhone a Google em parceria com a HTC lançou o primeiro Android comercialmente disponível.

HTC G1

Na época, eu estava no ensino médio fazia 6 meses estudando no COTEMIG, e fiquei maravilhado de que seria possível utilizar um celular pra acessar o Google, na minha mente, seria o auge das colas nas provas, imagina, poder pesquisar durante a prova? Poder mandar SMS como se fosse no MSN com o teclado QWERTY sem apertar mil vezes a mesma tecla porque você passou da letra que queria? Quem sabe até poder jogar os jogos flash da época? Utilizar GPS no próprio aparelho, sem ter um dedicado pra isso? Assistir vídeos, escutar música e tirar fotos como se fosse no MP5? Era um sonho realizado.

Aplicativos

A febre de aplicativos se iniciou principalmente em 2009, na época era moda todas as empresas queriam ter um, principalmente por causa de alguns poucos sucessos milionários como o Angry Birds. 

Neste ano iniciei o meu caminho de desenvolvimento mobile para Android.

Jogo Angry Birds em 2009

Whatsapp

Entre final de 2009 e 2010, a febre do Whatsapp começou a explodir, era impressionante, e somente por convite, para o pessoal que não queria pagar o rio de dinheiro que eram gastos em SMS, onde apenas por um dólar (que nunca foi cobrado de ninguém que conheço) você podia trocar mensagens instantaneamente com os outros (O que ainda não acontecia com SMS, onde as vezes uma mensagem chegava antes da outra ou então as vezes nem chegava)

Whatsapp na Apple Store

Bitcoin

O bitcoin hoje é uma das maiores decepções da minha vida, meu primeiro contato com o bitcoin foi em 2010, onde eu comecei a minerar ele em máquinas locais, e por incrível que pareça, eu consegui 50 BTC na época, o que não me valia nem 10 reais, sem contar a dificuldade de conseguir vender um bitcoin na época por dinheiro, lembro de uma matéria da época, onde alguém comprou uma pizza por 10.000 bitcoins.
Por desinteresse meu eu não salvei os arquivos de chave privada gerados na época, impossibilitando o meu aproveitamento e aposentadoria de R$ 1,5 milhões hoje. 1

Primeira software/carteira Bitcoin

Facebook e a morte do Orkut

Nossa geração que vivia de scraps e gostava de ver quem acessou o seu perfil teve disponível uma nova plataforma. Não sei dizer quando exatamente começou a migração porém entre 2010 e 2011 quase todo mundo só usava o Facebook, principalmente depois da repaginação visual do Orkut que acho que ninguém na época gostou, junto também com o messenger interno dele, iniciou a morte do MSN 2.

Facebook 2010
Orkut 2010

Netflix e Spotify

Em 2011 começou a história do Netflix no Brasil, mais ou menos a época que assinei o Spotify também (este pago em dólar valendo R$ 1,80), junto com meu primeiro cartão de crédito internacional.

Os serviços de streaming praticamente acabaram a pirataria do brasileiro de classe média.

Netflix no lançamento do Brasil em 2011

Porque a internet é lenta?

Quem nunca brincou com o autocompletar do Google? Recentemente estive fazendo uma pesquisa com a pesquisa “porque o(s)”, juntando com vários substantivos, como por exemplo “porque os americanos”3. Em uma dessas, me deparei com o Facebook:

Fonte: Auto-completar do Google Chrome

 

Tentando ver algum padrão, procurei pelo Twitter:

Fonte: Auto-completar do Google Chrome

 

Podemos ver alguns resultados parecidos, como “fica lento”, “trava”, “não funciona”, “parou”, logo fiquei curioso, e tentei aumentar a abrangência com outros temas:

Fonte: Auto-completar do Google Chrome

Fonte: Auto-completar do Google Chrome

 

Logo fui pro mais abrangente possível:

Fonte: Auto-completar do Google Chrome

 

Para analisar isso, seria necessário antes definir o que é “ficar lento”.
Depois de algumas pesquisas234, constatei alguns “marcos” temporais importantes na experiência do usuário:

  • 0,1 segundo, que é aproximadamente o limite de onde o usuário sente o sistema reagindo de forma instantânea.
  • 1 segundo é aproximadamente o limite para que a linha de pensamento do usuário não seja interrompida, onde apesar de notar a “pausa”, não irá realmente incomodar o usuário5.
  • 10 segundos é o limite da “atenção” do usuário, ou seja, mais que isso o usuário percebe que realmente está demorando, e “resultados” de futuras interações são esperados (telas de carregamento ou exibição de alguma informação).

Tendo nossos marcos, vamos ás possíveis causas:

  • Primeiro e mais importante, é a distância entre seu computador e o servidor6. Hoje, o limite máximo é a velocidade da luz, o que significa que é impossível transmitir qualquer informação por exemplo de Sydney na Austrália para Londres na Inglaterra em um tempo menor que ~0,056 segundos, e já que o processo de carregamento de um website representa uma requisição e uma resposta, efetivamente dobrando o tempo.
  • Hoje, sites não são somente o arquivo HTML,possuindo diversos arquivos estáticos como imagens, arquivos JavaScript e CSS, ou seja, são várias requisições, efetivamente uma para cada arquivo. O navegador possuí um limite no número de arquivos que ele busca em paralelo.7
  • Um outro problema é que o próprio protocolo HTTP não suporta que uma única conexão busque vários arquivos em paralelo.
  • Hoje muitos sites são HTTPS8, o problema é que o SSL tem um processo longo de requisição, sendo necessário uma validação do certificado, utilizando mais da CPU quando enviando e recebendo informação.
  • Outro problema é a sincronização desnecessária das aplicações Web. Faz um longo tempo que é possível que os desenvolvedores atualizem somente as porções dos sites que realmente precisam ser atualizadas, porém antigamente além de complicado de fazer o controle de estado, as ferramentas disponíveis ainda não ajudavam muito nesse controle.9
  • Um problema grave também é a mal utilização dos recursos de cache, seja do servidor ou do próprio navegador. Entender o conceito de desenvolvimento e como a web funciona é bem fácil, porém utilizar corretamente os recursos de cache é relativamente complicado.
  • Muitas aplicações ainda não utilizam uma CDN10. Se todos utilizassem, os usuários teriam uma chance bem maior de ter os arquivos comuns como bibliotecas CSS e frameworks JavaScript já no cache do navegador.
  • Outro problema são as estruturas complexas dos sites, ao utilizar o recurso “selectors” seja do CSS, ou de bibliotecas JavaScript como o JQuery, deixa a renderização do site bem lenta devido ao longo processamento necessário da estrutura.
  • Diversos dos servidores atuais não entregam o conteúdo das respostas HTTP de forma comprimida, utilizando o GZip por exemplo.
  • Muitos desenvolvedores não entendem as implicações de utilizar recursos lentos de terceiros. Sim, estou falando de você empresas de Analytics e Ad. Estes tipos de recurso quando lentos fazem com que o visitante ache que o carregamento está lento porém o site já pode ter carregado todos os recursos necessários e estão somente aguardando este.
  • Muitos desenvolvedores utilizam recursos JavaScript quando não são realmente necessários. Hoje o CSS3 já permite algumas lógicas simples sem a utilização do mesmo.
  • Porque estamos enviando cookies em diversos conteúdos que não precisam de cookies.
  • Porque fazemos o HTML maior do que precisa realmente ser. A utilização correta das classes e hierarquias CSS, principalmente sua reutilização possibilita uma ótima redução do HTML final.
  • Porque ainda utilizamos também imagens que poderiam muito bem ser um CSS11.

Por que eu acreditaria em Deus?

Considerando tudo o que está escrito nos livros religiosos, como a Bíblia, o Alcorão e a Torá e em qualquer outro não citado, eu sou ateu pela mesma razão que sou ateu quando leio os mitos gregos: Eles foram escritos por pessoas, há muito tempo, que sabiam muito menos sobre o mundo do que nós sabemos hoje. Por exemplo, o relâmpago não é causado por Zeus lançando-os quando está com raiva, e não, os fósseis, as montanhas e os cânions não foram criados por uma grande enchente há 6000 anos, eles foram criados por um monte de outras coisas que aconteceram nos últimos cinco bilhões de anos, coisas que agora entendemos. Logo, quando se trata de vários deuses descritos nas religiões do mundo, sim, eu sou tão ateu quanto pode-se ser. Claro, com esses deuses, a questão não é “Por que não acredita em Deus?”, e sim “Por que iria acreditar em Deus?”

Continuar lendo “Por que eu acreditaria em Deus?”