Uma conspiração para matar o Internet Explorer 6



Incrível história de como engenheiros do YouTube secretamente iniciaram um movimento para matar o IE6

= = =

UMA CONSPIRAÇÃO PARA MATAR O IE6 (MICROSOFT INTERNET EXPLORER 6)

- por CHRIS ZACHARIAS

2019-05-01

A consequência agridoce do incrível crescimento do YouTube é que muitas histórias serão perdidas sob todas as camadas da nova pintura. É por isso que eu queria contar a história de como, dez anos atrás, uma pequena equipe de desenvolvedores da web conspirou para matar o IE6 de dentro do YouTube e se safar.

Eu não me lembro do evento desencadeador exato que levou a nossa equipe de desenvolvimento web a planejar planos para matar o IE6 durante o almoço no refeitório do YouTube. Talvez tenha sido a vez em que lancei uma folha de estilo CSS que incluía um seletor de atributos em um elemento HTML sem suporte. Qualquer desenvolvedor web razoável espera que isso seja ignorado pelos navegadores que não estão à altura da tarefa. Este não foi o caso com versões mais antigas do IE. Sob condições muito específicas, um seletor de atributos em um elemento HTML não suportado no IE criaria uma recursão interna que, na melhor das hipóteses, faria com que o navegador travasse e, na pior das hipóteses, acionasse uma tela azul da morte. Ou talvez tenha sido a centésima vez que um de nossos engenheiros de software havia injetado inocentemente uma tag <img> com um atributo src vazio. Espera-se que ninguém se junte à equipe para saber que nas primeiras versões do IE, o navegador carregaria o caminho raiz “/” para atributos src vazios. A tag <img> de repente se comportaria como um <iframe>, carregando nossa página inicial e todos os seus recursos dependentes no que poderia se tornar um loop recursivo em expansão exponencial. Sempre que uma tag de imagem vazia chegava à página inicial, era uma emergência para todas as mãos no deck para localizar e substituir o código incorreto antes de fundir nossos servidores em pesos de papel.

Independentemente de qualquer que seja o evento naquele momento, ele foi brutal e estava relacionado ao IE6. O IE6 tinha sido a ruína da existência da nossa equipe de desenvolvimento web. Pelo menos uma a duas semanas todos os grandes ciclos de sprint tinham que ser dedicados a consertar a nova interface do usuário que estava quebrando no IE6. Apesar dessa dor, nos disseram que tínhamos que continuar apoiando o IE6 porque nossos usuários talvez não pudessem atualizar ou poderiam estar trabalhando em empresas que estavam bloqueadas. Os usuários do IE6 representavam cerca de 18% de nossa base de usuários naquele momento. Nós entendemos que não poderíamos simplesmente desistir do suporte para isso. No entanto, sentado naquele refeitório, tendo apenas dormido cerca de algumas horas cada um nos dias anteriores, nossa compaixão por esses usuários havia desaparecido completamente. Começamos a fantasiar sobre como poderíamos nos vingar do IE6. Uma ideia surgiu na superfície e capturou rapidamente a atenção de todos. Em vez de abandonar completamente o suporte do IE6, e se apenas ameaçássemos? Como os usuários reagiriam? Eles se revoltariam contra o YouTube? Eles enviariam ameaças de morte para a nossa equipe como aconteceu no passado? Ou, de repente, eles se tornariam fortes defensores dos navegadores modernos? Nós sonhamos abertamente sobre os trabalhadores de cubículos em todo o mundo inventando de repente razões criativas de “negócios” para a necessidade de navegadores atualizados. Os avós manterão reféns seus netos tecnicamente experientes, exigindo que eles consertem seus “YouTubes”. O que começou como uma sessão de terapia em equipe começou a se materializar em um plano real, um plano que rapidamente percebemos que estávamos posicionados de maneira única para executar.

O plano era muito simples. Colocaríamos um pequeno banner acima do player de vídeo que só apareceria para os usuários do IE6. Ele dizia: “Estaremos eliminando o suporte ao seu navegador em breve. Atualize para um desses navegadores mais modernos. ”Ao lado do texto, há links para as versões atuais dos principais navegadores, incluindo Chrome, Firefox, IE8 e, eventualmente, Opera. O texto foi intencionalmente vago e a linha do tempo ficou completamente indefinida. Esperávamos que isso fosse ameaçador o suficiente para motivar os usuários finais a fazer o upgrade sem nos forçar a nos comprometer com qualquer plano de depreciação real. Os usuários teriam a capacidade de fechar este aviso se quisessem ignorá-lo ou lidar com isso mais tarde. O código foi projetado para ser o mais sutil possível, de modo que não captasse a atenção de ninguém que monitorasse nossos checkins. Ninguém, exceto a equipe de desenvolvimento da Web, usava o IE6 com alguma regularidade real, por isso sabíamos que era improvável que alguém notasse nosso banner aparecer no ambiente de preparação. Nós até atrasamos a tradução do texto para usuários internacionais, de modo que um tradutor pedindo por um contexto adicional não pudesse revelar o que estávamos fazendo. Em seguida, só precisávamos de uma maneira de colocar o código em produção sem que ninguém percebesse.

Legenda da foto 1, no topo do post: Banner de depreciação do YouTube IE6 - O banner de depreciação do IE6 no YouTube em 2009

Descobrimos que um punhado de pessoas tinha entrado no YouTube em um momento interessante... vários meses depois de o YouTube ter sido adquirido pelo Google, mas antes de o Google começar a integrar profundamente o YouTube à sua organização maior. Os primeiros engenheiros do YouTube eram legitimamente territoriais e inicialmente hesitantes em adaptar-se à infraestrutura e às normas do Google. Com suas propensões por hackers de chapéu cinza, carros velozes e uísque duro e um número incomum de piercings, tatuagens e pequenos registros de prisão, muitos foram rejeitados durante as entrevistas anteriores do Google. Terminando no YouTube, eles viram-se quebrando as costas para ficar à frente do tráfego crescente exponencialmente, tendo que se defender constantemente contra os críticos, explicando como o Google Video iria matá-los em breve. No momento em que foram adquiridos no Google, muitos desses engenheiros passaram a ver sua identidade proscrita como um componente crítico de seu eventual sucesso.

Para cimentar sua autoridade sobre a base de código do YouTube durante a integração no Google, os primeiros engenheiros criaram um conjunto de permissões especializadas chamado “OldTuber”. O OldTuber concedeu-lhe a capacidade de ignorar completamente as novas políticas de aplicação de código orientadas para o Google, permitindo que qualquer pessoa que detenha o código comete diretamente para a base de código do YouTube, com apenas as análises mais rápidas de código de qualquer pessoa. Não há necessidade de legibilidade de código. Não há necessidade de testes exaustivos. Não há necessidade de manter a cobertura de código. Se você quebrou o site incorretamente usando o status do OldTuber, ele estava na sua cabeça e você perderia o privilégio imediatamente, se não o seu trabalho. Então você só tem que ser um bom cidadão e nunca quebrar o site. Nosso chefe, um dos primeiros engenheiros do YouTube, fez de tudo para agradar a equipe de desenvolvimento da Web aos demais engenheiros do YouTube. Através de seus esforços, alguns de nós acabaram nos encontrando em posse do status do OldTuber, apesar de nunca terem feito parte da equipe original. Era como se estivéssemos andando pela rua quando alguém nos confundiu com manobristas e nos entregou as chaves da Ferrari. Para melhor ou para pior, não éramos exatamente os tipos de apenas entregar as chaves de volta e ir embora. Vimos uma oportunidade à nossa frente de aleijar permanentemente o IE6 que talvez nunca voltássemos a ter. Se tudo desse errado, muitos de nós certamente seriam demitidos. Nosso desenvolvedor web mais renegado, um croata de fala mansa, insistiu em verificar o código em seu nome, como um distintivo de honra pessoal, e o resto de nós aproveitou nosso status do OldTuber para aprovar a revisão do código. O código foi mesclado em produção e nosso banner foi publicado alguns dias depois.

A primeira pessoa a passar pelas nossas mesas foi o líder da equipe de relações públicas. Ele era um homem inteligente e elegante, sempre borbulhando de energia e entusiasmo. Exceto desta vez. Desta vez ele estava estranhamente espinhoso. Ele entrara em um dia normal para encontrar e-mails de todas as grandes publicações de tecnologia perguntando por que o segundo maior site do planeta ameaçava cortar o acesso a quase um quinto de sua base de usuários. Felizmente para nós, as publicações já tinham estabelecido em uma narrativa que isso era um grande benefício para a Internet. Por sua ligação, o YouTube liderou a tarefa de tornar a Web uma experiência mais rápida e segura para todos os usuários. Toda a equipe de relações públicas tinha Macs rodando o Chrome e não conseguia nem ver o que tínhamos feito, quanto mais emitir comentários para a imprensa sobre qualquer coisa. Eles foram pegos completamente inconscientes. Nós avidamente contamos a eles tudo sobre o que havíamos lançado e os ajudamos a elaborar os pontos de discussão necessários para expandir a narrativa já estabelecida pela mídia. Satisfeito por poder voltar na frente da história, o líder da equipe de relações públicas virou-se e nos alertou para que nunca fizéssemos algo assim sem contar a ele primeiro. Ele não queria deixar grandes oportunidades de relações públicas como essa passarem novamente.

Em seguida vieram os advogados. Dois advogados seniores correram para as nossas mesas em estado de pânico abotoado. Eles imediatamente exigiram que removêssemos o banner. Nós explicamos como precisaríamos dos SREs para fazer um push de emergência e que levaria pelo menos algumas horas para ser feito. Frustrado, um dos advogados perguntou “Por que você teve que colocar o Chrome primeiro?” Confuso, expliquei que não damos prioridade ao Chrome. Nosso chefe, na conspiração com a gente, recomendou cuidadosamente que randomizássemos a ordem dos navegadores listados e, em seguida, boleasse a semente aleatória para cada visitante, de modo que a interface do usuário não saltasse entre as páginas, o que havíamos feito. Por sorte, esses dois advogados ainda usavam o IE6 para acessar certos sistemas legados e acabaram tendo sementes aleatórias que colocaram o Chrome na primeira posição. Seu temor era que, ao mostrar um tratamento preferencial ao Chrome, pudéssemos apertar os ouvidos dos reguladores europeus já à procura de qualquer comportamento anticoncorrencial. Embora os advogados admitissem que nada do que havíamos feito, provavelmente teriam subido para esse nível de ofensa, isso acontecera em seu turno e eles não gostaram disso. Eu limpei os cookies repetidamente em minha cópia do IE6 e mostrei os navegadores que estavam reorganizando a cada atualização. Com o conteúdo da demonstração, os advogados rapidamente se retiraram de volta para suas mesas sem mais preocupações.

Eu esperava que as próximas pessoas fossem os gerentes de engenharia e que eles ficassem mais irritados, considerando claramente como abusamos do nosso status de OldTuber. Suspeito, ninguém apareceu naquele dia. No dia seguinte, um punhado de engenheiros parou para nos parabenizar pelo lançamento do banner depois de ler artigos pela Internet, mas foi isso. Perguntei ao meu chefe se ele estava sofrendo algum golpe e ele deu de ombros, indicando que ninguém o havia puxado para o lado ainda. Parecia que no momento estávamos a salvo. Surpreso e incapaz de entender isso, perguntei a um dos gerentes sobre o que ele achava do lançamento do banner. Ele respondeu: “Oh, eu só imaginei que vocês copiaram o banner que o Google Docs tinha colocado”. Eu estava confuso. Como o Google Docs conseguiu nos surpreender? Eu abri o Google Docs no IE6 e, com certeza, um banner muito parecido com o nosso estava aparecendo no topo. Ele implorou aos usuários que fizessem upgrade para evitar a quebra de recursos em termos semelhantes aos nossos.

Eu conheci alguns engenheiros na equipe do Google Docs enquanto trabalhava em algumas bibliotecas JavaScript compartilhadas. Eu estendi a mão para um e perguntei como eles haviam chegado à decisão de lançar sua própria bandeira. Ele me explicou que eles estavam querendo preterir o suporte do IE6 por muito tempo, mas seus gerentes não os deixavam pelas mesmas razões que sempre ouvimos. Um de seus engenheiros testando no IE6 havia notado o banner do YouTube logo depois que ele foi ao ar e imediatamente o levou ao seu gerente como evidência de por que eles deveriam fazer o mesmo. Pouco tempo depois, os engenheiros do Google Docs prepararam sua própria bandeira do IE6 e a colocaram em produção, presumivelmente sob a suposição equivocada de que havíamos feito nossa diligência e recebido todas as aprovações necessárias. A primeira vez que muitos Googlers ouviram conversas sobre os banners do IE6 foi por e-mails, onde outras equipes começaram a perguntar se poderiam reprovar o IE6, como o Google Docs. A sorte seria que isso incluísse muitos de nossos gerentes. Surpreendentemente, nós de alguma forma ignoramos a detecção como os criadores do banner IE6 dentro do Google.

Eventualmente, a administração de engenharia do YouTube se perguntou como a decisão de desaprovar o IE6 foi finalmente tomada, dado que isso aconteceu tão rapidamente e parecia visivelmente prematuro para um site de mídia de nossa escala e com uma base de usuários tão ampla. Uma vez que eles perceberam o que havia acontecido, eles encurralaram nosso chefe em busca de detalhes, lidaram com as conseqüências de nossas ações e, a contragosto, chegaram à conclusão de que os fins haviam justificado os meios. Entre o YouTube, o Google Docs e várias outras propriedades do Google postando banners do IE6, o Google deu permissão a todos os outros sites da web para adicionar seus próprios. Os banners do IE6 de repente começaram a aparecer em todos os lugares. Em um mês, nossa base de usuários do IE6 do YouTube foi reduzida pela metade e mais de 10% do tráfego global do IE6 caiu, enquanto todos os outros navegadores aumentaram em valores correspondentes. Os resultados foram melhores do que a nossa equipe de desenvolvimento da Web jamais pretendeu.

Legenda da foto 2: Historical IE6 browser share - O compartilhamento histórico de diferentes versões do navegador IE (https://www.w3counter.com/trends)

De alguma forma, conseguimos o nosso plano para matar o IE6 sem enfrentar nenhuma ação corretiva significativa. Poucas pessoas sequer sabiam que estávamos envolvidas e aquelas que o faziam, não queriam chamar a atenção para isso ou arriscar-se a encorajar um comportamento semelhante. Em uma cervejaria em São Francisco, nosso chefe, piscando o olho mais forte, nos fez jurar que nunca mais faríamos algo assim. Nós concordamos, brindamos com o IE6 caindo em porcentagens de um dígito, e nunca mais colocamos nada em produção.

Fonte: http://blog.chriszacharias.com/a-conspiracy-to-kill-ie6

Tragooção*: http://bit.ly/2ZXufff

{ via Christian Haagensen Gontijo <http://bit.ly/2UY1bk4> }


---
(*) Tragooção: Tradução pelo Google Translator
Share:

Nenhum comentário:

Postar um comentário

Ouça este texto

This Blog is protected by DMCA.com

Popular Posts

Entre em contato

Nome

E-mail *

Mensagem *

Pesquisar este blog

Marcadores

Arquivo do blog

Recent Posts