12 apps em 1 ano: Deep Words

Já faz mais de um mês desde o último update do desafio de criar 12 aplicativos em 1 ano.

Tenho me surpreendido bastante com o número crescente de pessoas interessadas em saber o andamento do desafio. Inicialmente imaginei que apenas pessoas mais técnicas iriam se interessar por um desafio desse estilo, mas muitas pessoas das mais variadas formações têm acompanhado os artigos. Vou começar o post de hoje com as duas principais perguntas que essas pessoas me fazem. Se você está chegando agora, comece por aqui.

“Como você encontra tempo para programar?”

Uma pergunta frequente que recebo é  “como você acha tempo para fazer isso?”.  Invariavelmente minha resposta tende a ser “como você acha tempo para TV/futebol/filmes/beber-com-seus-amigos?”. Sou muito cético com relação à famosa desculpa do “não tenho tempo”: falta de tempo é falta de prioridade, e não de tempo em si. Todos temos as mesmas 24 horas no dia. Para mim, criar coisas novas não é um trabalho, e sim um passatempo, criar é um prazer, e não um esforço, então fico muito feliz em trocar outros tipos de lazer por algumas horas programando.

Eu vejo muitas pessoas “criativas” que gostam de se imaginar escrevendo, criando vídeos, games, apps e uma miríade de outros tipos de projetos criativos, mas que nunca parecem achar tempo para colocá-los em prática — apesar de sempre acharem tempo para fazer outras atividades.

Se divertir é essencial para uma vida saudável o que me surpreende sempre é a capacidade do ser humano para o autoengano. Você não precisa fazer mais do que já faz hoje, em algum momento essa “necessidade” de sempre fazer mais passou a fazer parte do espírito de nossa época, mas você pode ficar satisfeito sem fazer absolutamente nada a mais do que você faz hoje. Me surpreende que pessoas bastante inteligentes com quem convivo achem isso algo muito “místico”, quando em realidade é algo bastante material.

Se assumir que o cérebro não é capaz de perceber a realidade diretamente, então tudo o que você vive são resultados das suas percepções sobre os estímulos que recebe, e não a realidade em si, você provavelmente tem mais tempo do que acha que tem. E no fundo você sente que não tira aquele sonhado projeto do papel por falta de tempo. Talvez você goste mais da ideia ou fantasia de realizar algum ato criativo do que do ato em si, e isso é completamente OK.

“Qual o seu objetivo fazendo isso?”

A segunda pergunta que mais escutei no último mês foi essa: “mas afinal para que fazer isso tudo?”. Para essa pergunta existem duas respostas:

  1. Nenhum, absolutamente nenhum objetivo. Nem tudo na vida precisa de um objetivo. Se você precisa de uma finalidade para tudo o que faz, você é muito chato e a sua vida deve ser um tédio.
  2. Eu sou uma dessas pessoas chatas que têm um objetivo para tudo. Meu trabalho como CEO da Rock Content e minha carreira até aqui sempre foram pautadas por conquistar meus objetivos. Ambição de realizar mais é uma das caracteristicas que mais admiro nas pessoas, e, por isso, gosto de cultivá-la em mim mesmo. Mas meu trabalho como CEO e minha carreira na Rock é apenas parte da minha vida, a mais importante no momento, mas não necessariamente a única. Pessoas ambiciosas têm uma tendência grande a se tornarem cegas com relação à sua própria vida.

Agora que já respondemos às perguntas, vamos ao aplicativo:

Deep Words

Quando criamos conteúdo para marketing digital, é muito comum usarmos as famosas “keyword tools” para encontrar palavras-chave interessantes para os nossos artigos. A escolha de palavras-chave é importante para conseguirmos um bom tráfego de buscadores — não apenas mais visitas, e sim visitas de pessoas que estão interessadas nos assuntos que queremos.  

Na Rock Content produzimos milhares de artigos por mês e usamos múltiplas ferramentas quando planejamos criar novos artigos. Suponhamos que vamos escrever para um blog cujo tema seja “content marketing”. Esses são os resultados de uma dessas ferramentas:

Todas são ideias úteis, mas acabam sendo apenas variações de “content marketing”. Se prestarmos atenção, são frases que muitas vezes apenas contêm “content marketing”, e não frases sobre “content marketing”.

Se quisermos encontrar palavras-chave sobre “content marketing”, precisamos pesquisar sobre o tema e ler artigos para encontrar outros termos-chave que se relacionam com o nosso assunto. E se conseguíssemos criar uma ferramenta para ajudar nessa pesquisa inicial?

Ideia inicial

Mesmo depois de pesquisar um pouco, não encontrei uma ferramenta que me mostrasse tópicos relacionados facilmente. Resolvi então criar uma eu mesmo. A premissa do app é muito simples:

  1. O usuário insere uma palavra-chave;
  2. O app computa tópicos relacionados;
  3. O app mostra na interface os tópicos encontrados.

Planejando a interface

Considerando as nossas premissas, não precisamos de uma interface muito complexa. Uma caixa de busca e uma lista de resultados são o bastante para o que precisamos:

Screen Shot 2016-06-26 at 8.20.36 PM

Mesmo sendo uma interface muito simples eu considero um passo essencial projetar primeiro antes de desenvolver. Muitas vezes na nossa cabeça o projeto é bastante simples, mas quando desenhamos percebemos que existem complexidades escondidas. No nosso caso aparentemente não temos requisitos ocultos. A maior parte do trabalho ficará em conseguir encontrar os tópicos relacionados, e não na interface.

Implementação

Como vamos encontrar os tópicos relacionados? A maioria das “keyword tools” do mercado usam basicamente duas fontes de informação:

  1. Google Suggest: são as as sugestões que o Google fornece quando você faz uma busca.
  2. Google Keyword Tool: essa ferramenta é fornecida pelo Google para facilitar a compra de publicidade em seu buscador (AdWords) ou pela rede de anúncios (AdSense).

Essas duas fontes são muito ricas, mas muitas vezes limitadas quando estamos estudando tópicos e não palavras-chave. Seu uso é importante porque elas trazem informações sobre o que as pessoas estão buscando mais (o volume de busca das palavras), seja em absoluto (Keyword Tool), seja relativamente (Google Suggest).

Ao pesquisar um novo assunto, você não consegue encontrar novos tópicos apenas olhando para palavras-chave. O que fazemos nessa situação é encontrar artigos e textos sobre o tema da nossa pesquisa e encontrar novos termos-chave dentro deles. Por que não fazer um programa que faz o mesmo?

Minha hipótese inicial é que se encontrarmos múltiplos artigos que falem sobre o tópico em que temos interesse e analisarmos as palavras usadas neles poderíamos encontrar tópicos interessantes.

Uma das formas mais usadas para encontrar palavras-chave dentro de um texto é uma técnica conhecida como TDF-IDF. A ideia é contar quantas vezes uma determinada palavra ou frase aparece dentro de um artigo e comparar a frequência nos outros artigos da sua coleção. Basicamente se um termo é muito frequente em seu texto, mas raro nos outros textos, isso significa que ele é potencialmente um dos termos mais importantes do seu texto.

Depois de vários testes com algumas variações, cheguei a esse resultado:

Screen Shot 2016-06-26 at 8.06.14 PM 1

Criando um aplicativo desktop

O nosso aplicativo anterior foi um app web, para testar tecnologias novas resolvi desenvolver esse como app desktop para Mac, Windows e Linux. Escrever aplicações desktop tem uma série de particularidades diferentes de desenvolver para web, além de cada sistema operacional ter suas APIs e linguagens próprias. Felizmente uma tendência recente é a de criar ferramentas que permitam usar as mesmas tecnologias que usamos para criar websites para criar aplicações nativas.

O pessoal do Github criou um framework chamado Electron, que permite que você crie um aplicativo desktop para Windows, Linux e Mac usando tecnologias web, como Javascript e HTML. Muitos aplicativos conhecidos, como o Slack, usam essa mesma tecnologia. Aproveitando que estava desenvolvendo em Javascript e HTML, testei também o React, um framework criado e usado pelo Facebook em seus aplicativos.

Resultado final

Para finalizar o processo, criei uma interface semelhante à interface nativa do Mac usando HTML e CSS. O resultado final ficou assim:

Screen Shot 2016-06-27 at 8.08.05 AM

Conclusão

Criar um aplicativo desktop é algo que eu não fazia há muitos anos, e é muito interessante ver como os frameworks e bibliotecas evoluíram. Criar um aplicativo desktop usando ferramentas web nunca foi tão fácil e com resultados tão bons.

Fazia muito tempo que não aprendia um framework novo do zero e essa experiência foi muito rica. É um pouco triste considerar que muitas pessoas param de aprender quando chegam à fase adulta de suas vidas ou se resumem a aprender o minímo necessário para atingir suas ambições.

E você, quando foi a última vez que aprendeu uma coisa nova ? E, o mais importante, quando foi a última vez que você aprendeu algo novo apenas porque você quis ?

FIQUE ATUALIZADO!

Insira aqui o seu email para receber gratuitamente as atualizações do blog!

Powered by ConvertKit

Edmar Ferreira é Co-Fundador e CEO da Rock Content, líder em Marketing de Conteúdo no Brasil, e é membro ativo do SanPedroValley, comunidade auto-gerenciada de startups de Belo Horizonte.

  • Olá, Edmar

    Que ótimo artigo, você pretende disponibilizar o app Deep Words?

    Aguardo

    • Oi Leonardo, tudo joia ?

      Sim, pretendo disponibilizar ele em uma versão mais finalizada, talvez web.

      Abraço

Site Footer