A Monica v3 chega antes do fim de 2026. Reconstruída do zero. Continua de código aberto. Veja o que vem por aí
Monica

Blog

Notas sobre construir a Monica, manter dados pessoais privados e a pequena mecânica de continuar em contato.

Feed RSS

Página 2 de 5

2 min de leitura
Monica 2.10.0 com envio de documentos
Regis Freyd

A versão 2.10.0 é o nosso 51º lançamento. Ela traz uma quantidade expressiva de novidades e é resultado de um mês de trabalho de 10 desenvolvedores, sem contar todos os tradutores que têm a gentileza de traduzir o Monica para 11 idiomas. Aqui estão alguns destaques.

Autocompletar tags

As tags são uma ótima maneira de categorizar pessoas. Com a 2.10.0, finalmente damos suporte ao autocompletar de tags. Abra um contato e edite as tags no cabeçalho: enquanto você digita, um menu aparece mostrando suas tags. Uma pequena mudança para o Monica, uma grande ajuda para os usuários. Uma nota técnica: esse recurso foi desenvolvido inteiramente com VueJS, sem outra dependência. Estamos nos afastando do JQuery e, ao longo dos próximos meses, vamos aposentá-lo por completo.

Tags sendo adicionadas pelo cabeçalho de uma ficha, com sugestões aparecendo enquanto você digita.

Novo cabeçalho

Falando em cabeçalho, já que estávamos mudando o funcionamento das tags, aproveitamos para redesenhar o cabeçalho do perfil de um contato. Isso vai permitir incluir muito mais informações úteis no futuro. Ele também ficou mais fácil de ler.

O novo cabeçalho de uma ficha: a foto, o nome e os dados da pessoa em uma única linha.

Documentos

Agora você pode anexar documentos a um contato. Existe um limite configurável por instância de quanto armazenamento uma conta pode usar. Na nossa versão hospedada, o limite é de 512 MB por conta paga (armazenamento é barato, mas não quando você hospeda dezenas de milhares de contas).

Há também uma nova aba nas Configurações, chamada Armazenamento, que mostra o uso atual da sua conta e o limite dela.

O painel de documentos de um contato, com um arquivo sendo enviado.

Arquivar um contato

Às vezes você quer adicionar um contato sem que ele apareça na lista de contatos. Arquivar o contato permite isso. Você encontra esse recurso no canto inferior esquerdo do perfil do contato.

Outras melhorias

  • Corrigimos muitos bugs.
  • Melhoramos o suporte ao S3 para armazenar arquivos (imagens, documentos e afins).
  • Aumentamos bastante nossa cobertura de testes. Seis meses atrás estávamos em 25%. Com nosso esforço contínuo, agora estamos em 65%. Isso nos dá muito mais confiança de que não quebramos as coisas conforme avançamos.
  • Agora definimos automaticamente a moeda e o fuso horário dos novos usuários com base na localização deles.
  • Reescrevemos a importação e a exportação de vCard.
  • Também passamos a interpretar corretamente as propriedades FN ao importar vCards.

Divirta-se com a versão 2.10.

1 min de leitura
Chegaram os acontecimentos de vida
Regis Freyd

Eu não gosto do Facebook. Não é segredo. Mas, apesar da maldade geral deles, há recursos bacanas aqui e ali. Um deles é a possibilidade de registrar acontecimentos de vida que ocorreram com você. Como indicar quando você fez uma cirurgia ou quando reformou sua casa. Embora eu não entenda por que alguém daria essa informação ao Facebook, faz sentido registrar esse tipo de informação sobre as pessoas de quem você gosta. Então foi isso que acabamos de lançar.

Os acontecimentos de vida agora são uma nova aba na página de perfil de um contato.

A aba de acontecimentos de vida de um contato, vazia, oferecendo adicionar o primeiro.

Você tem acesso a mais de 45 acontecimentos de vida que pode documentar. Também pode definir um lembrete para cada um deles.

A lista de acontecimentos de vida para escolher, na categoria casa e moradia.

Vale notar que você pode adicionar um acontecimento sem saber o mês ou o dia em que ele ocorreu.

Depois de adicionado, o acontecimento aparece em uma linha do tempo que será aprimorada em uma versão futura.

Dois acontecimentos de vida na ficha de um contato, um casamento e uma reforma, cada um com sua data.

Espero que você goste desse recurso e se divirta com ele.

1 min de leitura
Chegaram as conversas
Regis Freyd

No fundo, o Monica serve para registrar informações sobre as pessoas de quem você gosta. Já dava para anotar muita coisa, mas você não tinha um jeito fácil de registrar o que disse a alguém em determinado momento.

Com a nossa última atualização, agora você pode registrar uma conversa que teve com alguém nas redes sociais, por SMS ou usando o Telegram, por exemplo. A interface que escolhemos lembra a dos aplicativos de mensagem mais conhecidos.

O formulário para registrar uma conversa, mensagem por mensagem, indicando quem escreveu cada uma.

Ao registrar uma conversa, você pode indicar por qual meio ela aconteceu. Essa lista vem dos tipos de campo de contato definidos na sua página de Configurações.

Esperamos que você faça bom proveito dessa novidade.

3 min de leitura
Monica 2.4.0
Regis Freyd

Nos últimos dois meses lançamos um monte de novidades úteis e ficamos silenciosos demais sobre isso.

Aqui estão algumas das mudanças mais importantes:

  • Remoção da criação automática de lembrete de aniversário ao editar um contato: isso irritava muitos usuários. De agora em diante, quando você adicionar ou editar um contato e informar uma data de nascimento, não criaremos automaticamente um lembrete para esse evento.
  • As dívidas de todos os seus contatos agora aparecem no painel.
  • Acrescentamos a conformidade com o GDPR. Essa nova lei europeia nos obriga a confirmar seu endereço de e-mail no cadastro. Eu queria evitar isso, mas legalmente não temos escolha.
  • Melhoramos a importação de contatos por CSV. O processo deve funcionar melhor agora.
  • Acrescentamos um novo tipo de relacionamento entre contatos: ex-esposa/ex-marido.
  • Há um novo filtro na lista de contatos que permite ver os contatos que não estão associados a nenhuma tag.
  • Finalmente damos suporte a apelidos para seus contatos. Você também pode escolher como quer exibir os nomes na sua conta.
  • Suporte a Yubikey, mais um recurso de segurança para quem quer uma camada extra de proteção.

Em outra nota, já faz mais de um ano que o Monica foi lançado no Hacker News. O crescimento foi bem incrível, especialmente no que diz respeito à comunidade no GitHub. Agora temos mais de 110 pessoas contribuindo para construir o Monica, o que é ótimo. Dito isso, há uma contrapartida: lançamos muitas novidades e, por causa desse ritmo, não fomos cuidadosos o bastante nos últimos meses. O Monica não está tão estável quanto deveria. Nada dramático ou crítico, mas as duas últimas versões tiveram bugs bobos que poderíamos ter evitado, e vamos adotar medidas para aumentar as chances de que isso não se repita. Lançar versões sem bugs é especialmente importante porque o Monica ainda é um projeto paralelo, e o pior que pode acontecer é perceber que algo está muito errado na plataforma enquanto você está no trabalho e ter que esperar até arrumar tempo para corrigir e implantar em produção (geralmente quando voltamos para casa e temos que lidar com as crianças e afins). No dia a dia, acredite, é o tipo de preocupação que ninguém quer ter.

Tudo isso para dizer que vamos tentar focar em qualidade de modo geral.

Continuem enviando feedback por e-mail ou abrindo uma issue no GitHub. Lemos cada mensagem e a opinião de vocês é importante para nós (de verdade).

4 min de leitura
O aplicativo móvel chegou
Regis Freyd

Recebo e-mails pedindo um aplicativo móvel quase todo dia desde o lançamento público em junho de 2017.

Eu entendo o motivo. Um app móvel para o Monica faz muito sentido. Você quer ter a informação disponível na hora, onde quer que esteja, no momento certo. Não quando está em casa na frente do computador.

Começamos a trabalhar no aplicativo móvel 6 meses atrás. É bastante tempo. Ainda assim, acho que a maioria das pessoas não imagina o trabalho necessário para lançar um aplicativo móvel. Especialmente quando 99,9% do código é feito por uma única pessoa (o incrível @mokto). Que tem um emprego. E que não é pago para fazer isso.

Nesses meses, dedicamos muito esforço a criar tudo o que o aplicativo móvel precisaria. A API mudou bastante para permitir certos recursos. Estabilizamos o backend para garantir que tudo funcione sem falhas. Também passamos bastante tempo configurando direito o repositório do app no GitHub, o que vai nos permitir avançar mais rápido no futuro (estamos falando de uma boa integração contínua, testes unitários, publicação automática nas lojas e assim por diante).

E seis meses depois temos orgulho de anunciar que a primeira versão do aplicativo móvel está disponível no iOS e no Android.

O aplicativo móvel da Monica em três telefones: a ficha de um contato, a lista de contatos vazia e a tela de atividades.

Há uma ressalva: esta primeira versão é somente leitura. Ou seja, você não pode adicionar nem editar nada. Queremos ter um ótimo aplicativo, mas queremos ir devagar e garantir que ele funcione bem. Assim que tivermos confiança de que esta versão funciona para todo mundo, vamos acrescentar recursos que permitirão manipular completamente seus dados como quiser (dica: já começamos a trabalhar em uma nova versão).

Fora isso, este app móvel tem tudo o que você espera de nós:

  • Uma interface simples e amigável.
  • Você pode se conectar à nossa versão hospedada do Monica ou entrar na sua própria instância.
  • O código é aberto. Você pode ler o código, abrir issues, contribuir. Tudo o que fazemos é aberto e transparente, e acreditamos que só a colaboração leva ao melhor produto.
  • Código aberto significa que você pode compilar e rodar o aplicativo móvel sem precisar passar pelas lojas oficiais da Apple e do Google, o que é bem incrível, na minha opinião.
  • Não exibimos anúncios e não revendemos seus dados.
  • Não temos rastreamento nenhum no nosso código.
  • O app é gratuito. Sem pegadinhas.

Como você pode ajudar?

Precisamos de pessoas que queiram testar o aplicativo e nos contar se há bugs, basicamente. Também gostaríamos da sua opinião sobre o que devemos construir em seguida, ou como poderíamos melhorar o app (em termos de experiência ou de layout).

O que vem a seguir?

Nos próximos dias vamos melhorar a documentação do repositório oficial no GitHub, para que fique bem fácil para os desenvolvedores que quiserem ajudar entrarem no projeto.

Nos próximos meses vamos acrescentar a possibilidade de alterar seus dados dentro do aplicativo móvel. O objetivo final é que tudo o que você faz na web possa ser feito no celular (com exceção da exportação dos seus dados, porque como guardar um arquivo no iOS...). É por isso que agora construímos os recursos primeiro na API e depois na interface (web e móvel).

Para concluir, diria que tenho muito orgulho do que realizamos até aqui, e ainda mais da comunidade que nos ajuda todos os dias. O feedback e a ajuda de vocês tornam o Monica possível.

1 min de leitura
Mantenha contato com quem você ama
Regis Freyd

Há pessoas na sua vida que são especialmente importantes e sobre as quais você não quer perder nada. Agora você pode usar o novo recurso "Manter contato" para receber um aviso sobre uma pessoa específica em intervalos regulares, definidos por você.

A ficha de um contato com o link de manter contato abaixo do nome.

O recurso envia um e-mail a cada poucos dias. Ele não leva em conta a última vez que você interagiu com alguém ou registrou uma atividade.

A versão 2.1.0 também traz suporte a Markdown no diário e nas notas. Além disso, corrigimos muitos bugs e continuamos melhorando nossas imagens Docker e Vagrant.

Obrigado por todos os e-mails que vocês enviam e pelas issues que abrem no GitHub. Isso ajuda muito a saber no que devemos trabalhar em seguida (embora já tenhamos uma boa ideia do que queremos fazer).

3 min de leitura
Monica 2.0.0 com relacionamentos melhores
Regis Freyd

Na semana passada lançamos uma nova versão importante. Tão importante que precisamos subir o número da versão para 2.0.0. Aqui está a lista das principais mudanças que vieram com este lançamento (leia o changelog completo para ver todas as mudanças).

Redesenho dos relacionamentos

O Monica sempre permitiu ligar contatos entre si. Só que essa ligação se limitava a relações de mãe ou pai com filho, ou a relações amorosas. Não era o sistema mais flexível. A partir de agora, você pode ligar contatos com muitos tipos diferentes de relacionamento, como tio/sobrinho, colega de trabalho, mentor/pupilo e assim por diante. A lista completa dos relacionamentos possíveis está definida aqui.

Também tentamos respeitar os gêneros quando é possível. Se os contatos forem mulheres, por exemplo, diremos "tia" em vez de "tio", e assim por diante. Isso é um desafio e tanto para contatos com gênero personalizado. Ainda não cobrimos esse caso, mas estamos buscando uma boa solução.

Essa foi a maior mudança que já fizemos no Monica. Apesar de um longo período de testes, tivemos alguns solavancos ao implantar a novidade, e espero que agora tudo esteja mais estável.

Escolher quais recursos ficam ativos na ficha de um contato

Agora existe uma opção para personalizar quais recursos você quer usar com seus contatos. Na aba Personalização, dentro das Configurações, você pode ligar e desligar os recursos que interessam a você. Se não quiser exibir a seção Presentes, por exemplo, pode escondê-la.

Data nas entradas do diário

Agora você pode indicar uma data para uma entrada do diário, o que dá mais controle sobre ele.

Idiomas da direita para a esquerda

Agora damos suporte a idiomas escritos da direita para a esquerda, começando pelo hebraico. Agradecemos à nossa incrível comunidade de tradutores por tornar isso possível e por suas contribuições ao processo de tradução em geral.

Markdown nos comentários de atividade

O Markdown é uma ferramenta de formatação fantástica. Já o usávamos nas notas de ligação e agora também no comentário de uma atividade.

Nota final

Temos muita sorte de ter uma ótima comunidade em torno deste projeto. Quero agradecer a cada pessoa que contribuiu (já são mais de 100) com código, a cada tradutor pelo esforço enorme de traduzir os milhares de palavras do aplicativo e a cada assinante e doador pela contribuição financeira. Tudo ajuda. Num mundo que finalmente percebe o quanto as grandes plataformas sociais destroem a privacidade dos usuários e afetam as relações entre as pessoas, precisamos de projetos independentes e de código aberto como o Monica para recuperar nossa fé em como os relacionamentos humanos podem ser bons.

A versão 2.0.0 já está disponível para download e está no ar na nossa versão hospedada.

2 min de leitura
Sobre ter configurações demais
Regis Freyd

Com o passar do tempo, acrescentamos cada vez mais configurações ao Monica. Isso vai contra o que acredito e contra algo que tentei evitar por muitos anos: não polua seu software com um número interminável de configurações e opções de personalização.

Um produto deve ter opinião e seguir a própria visão, mesmo correndo o risco de afastar usuários em potencial. Por que alguém se cadastraria no seu produto se ele não tem uma voz ou um jeito próprio de fazer as coisas? Minha visão inclui um produto simples e poderoso, com o mínimo possível de configurações.

Como diabos, então, fomos acrescentar uma aba de Personalização dentro das Configurações?

Minha intenção é permitir personalização para coisas que eu não posso controlar nem decidir sozinho. O Monica não é uma ferramenta corporativa. Ele deve refletir a vida real das pessoas e se adaptar à situação única de cada uma. Um dos erros que cometi no começo foi com os gêneros, por exemplo: a princípio eu só permitia dois, masculino e feminino. Essa era a minha realidade, mas não a de muitas e muitas pessoas. Em vez de decidir pelos nossos usuários, acrescentamos a flexibilidade de definir seus próprios gêneros, os que correspondem à sua realidade e não à nossa. Pretendo fazer isso para cada conceito que represente aspectos importantes das nossas vidas.

Vale notar que as configurações não incluirão personalizar o número de elementos exibidos em uma página nem detalhes insignificantes assim. Eles simplesmente não importam.

Espero que isso esclareça um pouco para onde estamos indo com a personalização do produto em geral.

1 min de leitura
Nosso primeiro prêmio
Regis Freyd

Recebemos nosso primeiro prêmio: Open Source Rookie of the Year 2018, que reconhece alguns dos projetos de código aberto mais inovadores e influentes lançados a cada ano. É ótimo ver o Monica sendo reconhecido, mas a comunidade também merece esse reconhecimento. É graças a vocês, a comunidade, que estamos aqui hoje. Vocês são a força motriz deste projeto, a razão pela qual o construímos, e ajudam a decidir o que devemos fazer em seguida. Tenho orgulho de fazer parte desta aventura. Vamos escrever uma bela história com ela.

4 min de leitura
Sobre design de produto
Regis Freyd

Há um tempo publiquei esta fórmula:

Bom design de produto: valor para o usuário > facilidade de uso > velocidade > design

Gostaria de explicar o raciocínio por trás dela.

O que é design de produto? É a combinação do que um produto faz com a forma como ele faz.

Quem faz design de produto tem mais responsabilidade do que simplesmente escolher como as coisas devem parecer ou se comportar. Essas pessoas constroem a maneira como os usuários interagem com o produto. Para fazer bem o trabalho, precisam levar em conta uma enorme quantidade de critérios. Ainda assim, vale a pena perguntar quais critérios devem ter prioridade sobre outros no processo de design, quando não dá para cobrir todo o espectro do que constitui uma boa prática.

O mais importante que um produto (ou funcionalidade) deve fazer é trazer valor para o usuário. Qualquer outra consideração vem depois. Seu produto pode ser lento, feio, difícil de usar, cheio de bugs: se o seu trabalho ajudar as pessoas a resolver um problema específico que as incomoda, elas vão aguentar qualquer coisa para usá-lo. Não se pode dizer o mesmo de um produto lindo que não traz valor nenhum: ninguém vai usar.

Uma vez que você tenha certeza de que o produto ou a funcionalidade traz valor, pode colocar sua energia em criar uma ótima experiência de uso. Isso não significa deixá-lo bonito, nem mesmo agradável. Só realmente simples de usar, ou realmente fácil de entender. As pessoas chegam ao seu produto porque você prometeu algo a elas, o que costuma se resumir a tornar a vida delas mais fácil ou o trabalho mais simples. Elas vão querer aproveitar sua solução o mais rápido possível e vão valorizá-la menos se não conseguirem fazer de forma simples o que você pede, ou se for tão complexo que as faça se sentir burras.

Quando seu produto traz valor suficiente e é simples de usar, é hora de focar na velocidade. Grandes produtos são rápidos. Eles não desperdiçam o tempo precioso dos usuários. Quanto mais rápido é um produto, mais confiança ele passa. A maioria dos times com que trabalhei acha que uma funcionalidade está entregue assim que o código está pronto e passa no controle de qualidade. No entanto, uma funcionalidade não deveria ser considerada completa se não for tão rápida quanto poderia. Seu produto é a soma das suas funcionalidades. Se você começar a introduzir funcionalidades lentas aqui e ali, o conjunto vai acabar sofrendo. Os usuários desvalorizam produtos lentos.

Por fim, quando um produto traz valor suficiente, é fácil de usar e é rápido, você pode deixá-lo bonito se sobrar tempo ou dinheiro para isso. Mas não é necessário em si. Eu iria até mais longe: se algo traz valor suficiente para o usuário, o design é irrelevante. A aparência é a cereja do bolo. O design em si não deveria ser seu principal diferencial. Ele ajuda a distinguir um pouco o seu produto dos concorrentes quando você fizer sucesso e muitos imitadores fizerem exatamente o que você faz, exatamente do mesmo jeito. Dito isso, se o seu principal diferencial é só uma questão de design, você tem outros problemas para resolver antes. Design é uma tendência que muda com frequência e rapidez. O que hoje é visto como bonito será menos valorizado amanhã, simplesmente porque sim.

Todos os dias eu uso o Monica. E todos os dias eu gostaria que ele tivesse um design melhor, uma experiência melhor e fosse mais rápido. Mas não priorizo esses aspectos de forma alguma e, embora isso me doa bastante, prefiro criar o máximo de valor possível antes de tudo. Quando o Monica chegar a um ponto em que possamos nos dar ao luxo de dedicar tempo a melhorar as coisas, isso significará que teremos criado um produto que traz um valor enorme, extremamente fácil de usar e rápido o bastante para todo mundo. Ainda não chegamos lá.

Resumindo: o que você gostaria que seus usuários dissessem sobre seu trabalho? "Tá, não é bonito, mas é tão útil que nem ligo" ou "Tá, é lindo, mas não entendo nem por que este produto existe".