Acessando o Evernote em um novo navegador. Recarregando a página após uma sessão expirada. Entrando novamente. Excluindo o cache…
Tudo isso são atividades de rotina que todo usuário Evernote Web conhece bem. Cada uma delas inicia um processo chamado downsync inicial, e durante este período, todo o conteúdo do usuário é baixado novamente no sistema de armazenamento do navegador para que o usuário possa acessar suas notas offline.
Para as contas Evernote maiores, o processo de downsync inicial inteiro estava levando até dez minutos (que é nove minutos mais longo do que deveria!).
Pensando em velocidade, decidimos tentar deixar o processo de downsync mais rápido. Estamos muito felizes com os resultados, e temos certeza que os clientes Evernote também ficarão!
Veja como deixamos nossa sincronização ultrarrápida
Ao contrário do Evernote Desktop e Mobile, que usam um sistema de armazenamento chamado SQLite, o Evernote Web usa IndexedDB, um sistema que não permite que registros sejam recuperados em lotes. Isso significa que o registro de cada cliente deveria ser baixado, processado e armazenado individualmente. (Registros de clientes podem se referir a cadernos, lembretes, metadados de notas, preferências, widgets e outros componentes importantes do Evernote.)
Quanto mais notas na conta de um cliente, maior o número de registros. E dado que alguns clientes possuem dezenas de milhares de notas, é claro que o processo inteiro pode levar bastante tempo.
Para resolver este problema, atualizamos o sistema de armazenamento Web de IndexedDB para SQLite/WASM, o produto web compatível do SQLite. Não só isso deixou o processo de downsync incrivelmente mais rápido, como também liberou sinergias importantes entre o Evernote Web e outros clientes.
Mas estamos falando de quanto mais rápido? Resolvemos testar o Evernote Web. Em contas com apenas algumas notas, a velocidade aumentou em 2x ou mais. Só que é nas contas maiores que a diferença é mais significativa. Usando o sistema antigo, levou 285 segundos (quase 5 minutos) para realizar o downsync inicial em uma conta com 17.265 notas. Com o novo sistema, o downsync da mesma conta levou apenas 17 segundos… deixando-o quase 17x mais rápido! 🚀
Algumas coisas para se ter em mente se você usa o Evernote Web
Somente as versões mais recentes dos grandes navegadores (Chrome, Safari, Firefox) oferecem suporte para o downsync neste momento. Versões mais antigas não são compatíveis com nosso novo sistema de armazenagem, então eles voltarão para o processo antigo de downsync.
O Evernote Web pode não funcionar em modo Anônimo ou outros navegadores privados. Como navegadores anônimos limitam a quantidade de dados que podem ser baixados a qualquer momento, é possível que o downsync inicial não será realizado em contas maiores. Neste caso, o Evernote precisará ser aberto em um navegador comum. Para outros modos de navegador privados, o downsync vai voltar para o processo antigo e mais lento. Estas limitações podem mudar ou serem removidas completamente no futuro, mas não podemos prometer nada (no final das contas, isso é mais uma decisão do navegador do que da Evernote).
Outro passo rumo a um Evernote mais rápido e mais confiável
Um downsync super rápido é muito emocionante. Alinhar todos os nossos clientes (Web, Desktop, Mobile) em um único tipo de sistema de armazenamento é algo que veio para mudar o jogo. Criar um sistema de armazenamento unificado em todos os clientes não só nos ajudou a remover um grande gargalo para melhorias futuras, como também marcou outro grande passo rumo a deixar o Evernote mais rápido, mais estável e mais confiável do que nunca.