QuickRead

Quem me acompanha no Twitter deve ter visto eu comentando sobre o Spritz, um projeto que permite que você leia mais rápido utilizando um pequeno widget que mostra as palavras de um texto no mesmo lugar. Como as palavras se sobrepõe, você consegue ler mais rápido, já que estima-se que 80% do tempo da leitura seja movendo os olhos de lugar, e com o widget você não precisa.

Pois é, eu adorei a ideia. Eu leio muito. Muito. Muito mesmo. Artigos, emails, blogs. Leio muito. E se eu conseguisse deixar minha leitura mais rápida seria incrível. Testei, e funciona. No site dos caras você consegue testar a ideia, os textos deles já oferecem a funcionalidade.

spritz

Só que fiquei frustrado porque ela não está disponível ainda. E logo depois descobri que já haviam diversas implementações FOSS da ideia, que por acaso, não era dos caras da Spritz, é uma técnica chamada de Rapid Serial Visual Representation (RSVP, que não é répondez s’il vous plaît). Alguns que eu descobri e testei:

  • Jetzt (extensão pro Chrome, ainda nào publicada)
  • Readline (extensão pro Chrome)
  • OpenSpritz (biblioteca JavaScript)

Das 3, preferi a primeira, ainda que a extensão não esteja publicada, com um git clone você tem ela disponível. A partir daí passei a ler tudo no Chrome com ela. O legal dela é que com ALT-S você seleciona a parte da página que quer ler.

Mas ainda assim eu continuava lendo e-mails, feeds, etc, sem a leitura rápida. E muitas coisas leio em apps do Windows 8, como emails e feeds, e navegação em geral, que só é no Chrome quando minha máquina, que é um notebook conversível, está no modo notebook. No Surface ou com a máquina em modo tablet eu só uso o IE, no Metro. Foi frustrante de novo.

Aí pensei que podia resolver isso. E resolvi. Fiz uma app para Windows 8 que é um share target, chamada QuickRead. Com ela você consegue enviar qualquer texto que ela transforma numa leitura rápida. Usei o código do Jetzt, sem alterações, pra rodar, e foi perfeito! Apesar de ser focado no Chrome, o código do Jetzt é bem modular, e rodou na app de Windows 8 sem erros, afinal uma app JavaScript roda sobre o IE 11, que está muito bom com relação ao suporte a EcmaScript 5, HTML 5 e CSS 3.

Além disso tudo estou usando um serviço de extração de artigos HTML chamado Boilerpipe, que permite que você mande uma url pra ele ele te devolve só o html do artigo, tirando menus, propagandas, etc. Isso permite compartilhar urls a partir do IE, ou de qualquer lugar, na verdade.

Aqui a aplicação rodando:

Lendo com QuickRead

Aqui ela sendo share target do meu news reader favorito, o NextGen Reader (clique para ampliar):

Compartilhando com QuickRead

A aplicação também permite que você cole um texto ou url, não funciona só a partir de compartilhamento:

Tela inicial QuickRead

Submeti ela para a AppStore, e o fluxo todo levou apenas 2 dias, e isso porque eu tive problemas na validação (havia esquecido de submeter uma política de privacidade, por exemplo). Na prática, em algumas horas ela foi inteiramente revisada e publicada. Se você quiser utilizá-la você pode instalar ela diretamente aqui: http://apps.microsoft.com/windows/pt-br/app/1ce37353-16d5-47a4-b9c6-577703004b59. Também pode puxar o código e pegar a última versão em desenvolvimento, o projeto é FOSS, Free e Open Source, e está no Github. É só instalar as dependências (bower e tsd), gerar os arquivos pfxs que faltam e rodar. Está tudo em TypeScript. Foi um MVP (Minimum Viable Product), o código está razoável, mas posso organizá-lo melhor. Foi minha primeira tentativa séria com uma app de Windows 8 usando JavaScript e HTML (na verdade, TypeScript), já que até agora vinha usando C# e XAML.

Feedbacks e pull requests são bem vindos. O que acharam?

Giovanni Bassi

Arquiteto e desenvolvedor, agilista, escalador, provocador. É fundador e CSA da Lambda3. Programa porque gosta. Acredita que pessoas autogerenciadas funcionam melhor e por acreditar que heterarquia é mais eficiente que hierarquia. Foi reconhecido Microsoft MVP há mais de dez anos, dos mais de vinte que atua no mercado. Já palestrou sobre .NET, Rust, microsserviços, JavaScript, TypeScript, Ruby, Node.js, Frontend e Backend, Agile, etc, no Brasil, e no exterior. Liderou grupos de usuários em assuntos como arquitetura de software, Docker, e .NET.