Limpeza do cliente: Seleção de Campeões

Finalizamos o polimento na inicialização do cliente e agora é hora de focar a Seleção de Campeões.

No início deste ano, nos comprometemos a falar mais sobre o trabalho que temos feitos nos bastidores para melhorar o desempenho e a confiabilidade do cliente de League of Legends.

A atualização de hoje é a quarta parte dessa série. (Confira também o primeiro, o segundo e o terceiro artigos.)

RESUMÃO: melhoramos de forma significativa o tempo de inicialização do cliente e agora podemos nos concentrar inteiramente em outra área importantíssima do jogo, que é a Seleção de Campeões. Também compartilharemos aqui alguns dados das pesquisas sobre os problemas do cliente.

TEMPO DE INICIALIZAÇÃO DO CLIENTE

No começo do ano, dissemos que o objetivo era reduzir o tempo de inicialização do cliente a menos de 15 segundos, até mesmo para quem joga em uma máquina menos potente.

Desde então, investigamos a fundo a arquitetura do cliente, cortando pela raiz todos os principais problemas com os plugins e aplicativos que fazem o cliente funcionar. Fizemos mais alguns ajustes nas últimas semanas e chegamos bem perto de atingir nosso objetivo.

timeseries_por-BR.png

Agora a inicialização leva cerca de 18,5 segundos para quem está no 90º percentual. Ou seja, para esses 90%, o tempo de inicialização é ainda mais rápido (embora o ganho de desempenho seja mais relevante para quem não tem um computador tão rápido).

Dissemos em uma publicação anterior que alguns dos atrasos no tempo de inicialização se deviam ao maior tráfego de pessoas por conta da pandemia. Você verá que, no gráfico acima, há um pico que começa no meio de março deste ano.

Melhoramos muito o tempo de inicialização nos meses seguintes ao pico, mas a melhor foi na Atualização 10.16. Isso pode ser explicado por alguns passos importantes.

Primeiro, na Atualização 10.14, implementamos uma tecnologia que nos mostrava a contribuição dos 68 plugins para o aumento no tempo de inicialização do cliente. Com isso, descobrimos que alguns plugins não estavam na mesma velocidade que os outros, e que meros oito plugins davam conta de 75% do tempo de carregamento, enquanto os outros 60 davam conta dos 25% restantes.

Sabendo disso, ficou muito mais fácil descobrir quais plugins deveríamos consertar primeiro. Também decidimos tentar coisas novas ao lado do nosso trabalho principal: na Atualização 10.16, implementamos uma tecnologia que nos permite adiar o carregamento de certos plugins e aplicativos do Ember até que sejam utilizados.

Agora que chegamos tão perto do nosso objetivo quanto ao tempo de inicialização, estamos preparados para finalmente nos concentrar na segunda fase da nossa campanha: melhorar a responsividade e a confiabilidade na Seleção de Campeões e em outras partes importantes do cliente.

Antes de mais nada, compartilharemos um pouco dos dados sobre o cliente que obtivemos fazendo pesquisas no mundo todo.

DADOS DA PESQUISA SOBRE O CLIENTE

Você deve estar se perguntando: "Mas, Rito, por que vocês precisam fazer uma pesquisa sobre o cliente? Vocês já sabem que ele não presta!".

Hum... pois é. Mas nosso objetivo com a pesquisa é justamente saber mais sobre esses problemas. Será que são frequentes? E quais são os mais graves? Sabendo dessas respostas, podemos otimizar nosso plano de trabalho. Além disso, ao coletarmos informações sobre o que as pessoas estão achando do cliente, podemos saber o quanto a opinião delas mudou ao longo do tempo.

Nosso primeiro conjunto de pesquisas foi ao ar apenas em algumas regiões, mas provavelmente faremos mais pesquisas no futuro (adaptando, acrescentando ou removendo perguntas se necessário) para que possamos acompanhar nosso progresso.

Então, com esse contexto, temos alguns gráficos para mostrar.

Para começar, uma das coisas que gostaríamos de acompanhar são as opiniões a respeito do cliente a cada mês.

chart1_por-BR.png

O resultado não é surpresa para ninguém, né? Mas é um dado muito importante e, se continuarmos rodando essas pesquisas por mais tempo, teremos uma visão maior do nosso progresso. E, é claro, compartilharemos esses dados com você nos próximos meses.

Com a pergunta a seguir, começamos a procurar problemas específicos:

chart2_por-BR.png

Embora alguns problemas sejam mais comuns do que outros, aproximadamente 50% das pessoas disseram que passam por, pelo menos, um deles.

Depois, pedimos para as pessoas que passaram por um problema técnico avaliarem o nível de frustração que sentiram a cada um deles numa escala de 0 a 5, ou seja, de "nem um pouco frustrante" a "extremamente frustrante", respectivamente. Abaixo, você verá o percentual de quem identificou os problemas como muito ou extremamente frustrantes.

chart3_por-BR.png

Neste outro gráfico, você verá a frequência relatada de cada problema e a avaliação que as pessoas entrevistadas fizeram deles:

chart4_por-BR.png

Os gráficos acima mostram, sem sombra de dúvida, que dois problemas se destacam.

Primeiro, o problema que impede você de escolher ou banir um Campeão na Seleção de Campeões é, de longe, o mais frustrante. Segundo, é extremamente comum que o tempo de carregamento da tela de fim de partida seja longo.Com essas informações, agora sabemos exatamente onde vamos nos concentrar durante a próxima fase do projeto.

PRÓXIMOS PASSOS

Ao longo dos próximos meses, focaremos nossos esforços em resolver os problemas mais comuns e mais frustrantes do cliente. Então, nosso próximo passo na Campanha de Limpeza do Cliente tratará de melhorar a Seleção de Campeões e a transição do fim da partida para o cliente.

Primeiro, vamos falar da Seleção de Campeões.

Lá em meados de fevereiro, dissemos que nosso objetivo maior era melhorar a responsividade da interface de usuário na Seleção de Campeões. Mais especificamente, queríamos que o tempo de resposta do botão "confirmar" fosse de menos de 100 ms, mesmo para as pessoas que estão dentro do 90º percentual.

Contudo, se quisermos que nosso público fique realmente satisfeito, teremos que refazer os componentes principais da Seleção de Campeões.

Nosso projeto para melhorar a Seleção de Campeões pode ser classificado em três fases, que são:

  • Tornar a Seleção de Campeões mais simples e confiável. Já faz um bom tempo que estão pedindo uma Seleção de Campeões mais responsiva. Gostaríamos de refazer os componentes já existentes para melhorar a responsividade, reduzir o consumo de memória, simplificar a arquitetura e reduzir ao máximo os abandonos de fila não intencionais.
  • Reavaliar a experiência de usuário (UX) e a interface de usuário (UI) da Seleção de Campeões. Trabalharemos em conjunto com nossa equipe de design para saber onde podemos remover ou otimizar animações de baixo desempenho e componentes que consomem muitos recursos.
  • Consertar a maior quantidade possível de bugs, dando prioridade aos que são mais frustrantes.

Ao mesmo tempo que trabalhamos na Seleção de Campeões, também dedicaremos parte do tempo a simplificar a transição entre a tela de honra e o saguão de fim de jogo. Muita gente relatou problemas com essa parte do jogo, então já estamos pensando em planos para resolvê-los.

Esse processo levará tempo, e bem mais do que gostaríamos. Porém, nos comprometemos a falar para você sobre o nosso trabalho da mesma forma que falamos sobre ele internamente: com sinceridade e transparência.

Traremos novidades do nosso progresso em outra publicação como esta daqui a alguns meses. Enquanto isso, como sempre, valeu por jogar!