<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US">
                        <id>https://www.monicahq.com/feed</id>
                                <link href="https://www.monicahq.com/feed" rel="self"></link>
                                <title><![CDATA[Monica&#039;s Blog]]></title>
                    
                                <subtitle>All the articles on Monica.</subtitle>
                                                    <updated>2023-06-08T07:29:00+00:00</updated>
                        <entry>
            <title><![CDATA[Introducing multi-user support]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/1</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>Monica is meant to host all the private information about your contacts. By
nature, this is personal, and private. However, there are some cases where you
would want to share these information to someone else - your spouse for
instance. It's easy how Monica, in a context of a couple, can help the couple as
a single entity to organize the relationships they have with their loved ones.</p>
<p>To address this use case, we are introducing the support for multiple users in a
single account.</p>
<p><img src="/img/posts/2017-06-20-multi-user-support.png" alt="Image representing the multi user support" /></p>
<p>Adding users happens via email. As a security measure, the person you invite by
email will have to enter the email of the user who has invited her upon
registering.</p>
<p>You'll find user management when you click on the <strong>Settings</strong> tab in your
account.</p>
<h2>Subscriptions</h2>
<p>This feature is the first paid feature. The paid plan is called <strong>Chandler</strong> and
costs USD $10 per month. This plan is only available on
<a href="https://monicahq.com">https://monicahq.com</a> and does not affect self hosted
installations. If you host Monica on your own server, you have access to paid
features for free.</p>
<p><a href="https://github.com/monicahq/monica/pull/359">Take a look at the pull request</a>
to know more about this.</p>
]]>
            </summary>
                                    <updated>2017-06-20T03:03:03+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Do you need to import your data?]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/2</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>The two most requested features on Monica so far are:</p>
<ul>
<li>the ability to import contacts from an external source,</li>
<li>automating as much as possible the recording of <em>things</em> about your
relationships.</li>
</ul>
<p>I totally understand why people want it. Monica is all about recording and
documenting social interactions with the people you care about. Having to enter
all the contact names one by one is considered by many to be a painful task.
Moreover, having to record everything manually after a phone conversation for
instance, is even more painful.</p>
<p>However, think about this. Monica is designed to help you have better
relationships. Building relationships is not something that we should automate
and make it easier. <strong>Building relationships is a conscious effort</strong>. It is not
easy. It does require a bit of work. If you had the ability to import 500
contacts, what it would do to you? You would have now 500 people in Monica,
ready to be documented. Will you really take the effort of entering all the
information for those 500 persons? Can you even be friends with that many
people?</p>
<p>I like the idea of having to enter my contact one by one, because <strong>it forces
me to think of who is more important to me</strong>. For every person that I add to
Monica, I conscientiously choose if this person somehow <em>deserves</em> (the word is
definitely too strong but you get the idea) that I take the effort of
documenting our relationship. Then for every person I add, I have to fill all
those information for which I have to actively look for. I would go as far as
saying that having a mass import, without the ability of pick and choose, would
even ruin the main purpose of the application.</p>
<p>But this is how I personally see the product. How I see it, is perhaps not how
you see it. Hence the need for an importer. We'll built it, definitely. But
before importing your contacts, think about this. Do you need to keep
information about that many people?</p>
]]>
            </summary>
                                    <updated>2017-06-26T03:03:03+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why open source? Are you crazy?]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/growing" />
            <id>https://www.monicahq.com/3</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>A lot of people have sent me emails about why Monica is open source. There are
a lot of reasons for this that I want to describe at length here. Open sourcing
a consumer product and at the same time trying to make money out of it is not
something that is that common (unfortunately) and perhaps this will inspire
others to do the same. I've been personally inspired by how <a
href="https://sentry.io">Sentry</a>, <a
href="https://about.gitlab.com">GitLab</a> and many others have created
companies around open source products and even if Monica doesn't generate any
revenues yet, I wanted to share my own thoughts on the topic.</p>
<p><strong>The pros of open sourcing your product</strong></p>
<ul>
<li>I've always wanted to create an open source product. Probably by idealism.
I've been using open source products for as long as I can remember and I wanted
to humbly contribute to the open source ecosystem in return. I also thought it
was cool on the CV.</li>
<li>Monica contains a lot of personal data. I would argue that this data is way
more potentially harmful than what people put on Facebook. For some it's a huge
privacy concern. By making Monica open source, and providing ways to install it
yourself on something that you own and control, it's up to you to decide
whether you want to take the risk of letting someone else host your data, or if
you want to keep it under your control.</li>
<li>Because of the sensitive nature of data hosted by Monica, and because I'm a
single developer who is not as good as the community as a whole, I needed to
open source the product to make sure hundred of eyes scrutinize the code and
look for bugs, potential breaches and improvements. And find things that should
be fixed or enhanced much quicker than what I could do myself.</li>
<li>When people have access to your source code, and become users of the
platform, you will be astonished by how much they will contribute. They will
submit pull requests with great ideas and concepts, that you can immediately
put in the product for everyone to profit from it. It's awesome. Of course, all
ideas are not great and you will refuse pull requests from time to time, for
various reasons. But globally it's extremely positive and you will receive
great new features.</li>
<li>In an age where social networks are extremely opaque in what they collect and
how they use the data, people are more and more concerned about their privacy.
For a very good reason. Monica doesn't display ads and does not resell any
data. But why take my word for it? For one reason: the freely available <a href="https://github.com/monicahq/monica">source
code</a> is exactly what is in production. I
don't maintain a second fork with private modifications. Therefore, everything
I do is transparent and users can control that I don't do anything nasty. It's
all about transparency and creating a relationship based on trust.</li>
<li>Developers are the most important part of an ecosystem. When developers like
what you do, they will create an ecosystem around it and cool things that you
would have never thought about. This is a very strong magical moment when that
happens. Developers are also powerful influencers and your best ambassadors.
Non geeks people reach out to them often to ask for the latest tech advice. And
if they like Monica, they will talk about it with almost the same reach as a
post from a Kardashian would in a gossip magazine.</li>
</ul>
<p><strong>The cons of open sourcing your product</strong></p>
<ul>
<li>Regardless of your license, there is a risk that people take your code and
spin off a company around it, and take the market you wanted to address. There
is nothing you can do about it. A popular maxim says that an idea is worth
nothing, only the execution matters. In Monica's case, it's more than an idea -
the code is already there and it's already an execution. The more mature the
product will be, the more it'll be tempting for other people to steal the code.
I'm ready to live with it, as long as the community benefits from the results
of this.</li>
<li>If you get big, you might become less attractive to either venture
capitalists or potential buyers. But you know what? In my case it is good news
because I'm not building something for them, I'm building something for users.
I don't care about what VCs will think about the product.</li>
<li>It is time consuming to deal with the community. Don't get me wrong. I love
interacting with them, and I feel extremely blessed that there is a passionate
community around Monica already. But while I'm trying to build what's next for
the product, I spend a lot of time every day checking issues, verifying pull
requests and answering emails. Like, a significant part of my time actually.
Again, I'm not saying it's bad. Actually I'm enjoying it greatly. But this time
sink is something to consider if you decide to open source your product and you
need to be willing to participate and take care of your community.</li>
</ul>
<p>I can't think of any other drawbacks. You should consider open sourcing your
next idea.</p>
]]>
            </summary>
                                    <updated>2017-06-29T03:03:03+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Monica 0.2.0 with vCard ]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/4</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>One of the biggest feature request is the ability to import contacts from
Google. Google allows to export data about your contacts in the vCard format,
which is the universal standard for exchanging contact information. Monica
0.2.0 adds the ability to import your data from a vCard file (either .vcard or
.vcf), so you can populate your account with most of your data instead of
having to add your friends one by one.</p>
<p><img src="/img/posts/2017-06-30-v0.2.0-blank.png" alt="Default import report" /></p>
<p>Right after your contacts are imported, you are redirected to a dashboard where
you can see the status of the import. Because users might have thousands of
contacts, Monica imports them asynchronously. You'll have to wait a bit before
all the contacts are imported.</p>
<p><img src="/img/posts/2017-06-30-v0.2.0-dashboard.png" alt="Default import dashboard" /></p>
<p>You can click on a specific import to see what happened.</p>
<p><img src="/img/posts/2017-06-30-v0.2.0-report.png" alt="Default import dashboard" /></p>
<p>Also, we've added a feature to reset your account, which will be handy if you
do import thousands of contacts and something goes wrong. Resetting an account
deletes everything, except you.</p>
<p>Version 0.2.0 is already in production, and as always, you can install it on a
server that you own.</p>
<p>Enjoy!</p>
]]>
            </summary>
                                    <updated>2017-06-30T03:03:03+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Monica 0.3.0 with tags]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/5</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>Only 5 days since v0.2.0 and yet another big release. So big that it required a
new version for this.</p>
<p>When you have a lot of contacts in your account, you can now categorize your
contacts with tag. Tags are like folders, but you can have multiple tags for
one contact. This allows maximum flexibility to manage contacts the way you
want it to do.</p>
<p><img src="/img/posts/2017-07-04-v0.3.0-blank.png" alt="Default blank screen" /></p>
<p>Tags can be entered right below the contact name.</p>
<p><img src="/img/posts/2017-07-04-v0.3.0-enter.png" alt="Contact view" /></p>
<p>Once contacts have tags, you can see them on the contact list, and click on
them to filter the list.</p>
<p><img src="/img/posts/2017-07-04-v0.3.0-list.png" alt="Contact list filter" /></p>
<p>Finally, you can delete tags either on the contact view, or in a new Settings
panel created for this purpose.</p>
<p><img src="/img/posts/2017-07-04-v0.3.0-settings.png" alt="Settings" /></p>
<p>Version 0.3.0 is already in production, and as always, you can install it on a
server that you own.</p>
<p>Enjoy!</p>
]]>
            </summary>
                                    <updated>2017-07-04T03:03:03+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why Laravel?]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/6</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>Note: this is a technical post.</p>
<p>After launching Monica on Hacker News, I received a lot of questions about why
I chose to write the tool with PHP and Laravel in particular.
I was actually surprised to receive so many questions about this topic because
I consider that a language does not matter - only counts what you do with it.</p>
<p>In this post I'll share why I chose PHP and Laravel and the difficulties I had
to overcome to build the first version of the product. This post is not meant
to start a war between languages.</p>
<p>PHP has an interesting history. A lot of great web developers, who probably do
not use PHP anymore, have learned the basics of programing with it. It was so
simple to use and get started with, and while it wasn't an elegant language, it
paved the way for making a career in web development. Then over time, PHP
became less loved, to the point where it was almost shameful to use PHP or even
say in meetups that your company was using it. Other languages, arguably more
elegant, gain a lot of popularity (Python, Ruby) thanks to wonderful frameworks
built upon them. At the same time, new PHP frameworks appeared. Symfony for
instance. But Symfony was still hard to learn and use. And then PHP died. Or so
that's what people said, ignoring apparently the fact that a <strong>lot</strong> of
business was still using it and loving it. Then PHP 5.5 was created, followed
by PHP 7, and a new framework with a weird name appeared, Laravel. And things
changed entirely in people's mindset. PHP is still not as elegant as other
popular languages, but things got a lot better. It became also fast.</p>
<p>But regardless of this, PHP is still the language people love to hate,
especially on Hacker News. They say PHP is not scalable. This is probably why
Facebook and Mailchimp, amongst other big names, use PHP today, at great
scale.</p>
<h3>Why this context in mind - why did I chose PHP and Laravel?</h3>
<ul>
<li>PHP is simple to learn, and simple to use.</li>
<li>There are a lot of PHP developers out there, and if people want to work with
me on the project, there is a potential larger pool of PHP developers, at least
from where I live, than Ruby or Python developers. Also, there are a lot of
people on GitHub using PHP, and if I wanted this open source project to gain
any traction, I had to write it in a language where people with different
coding level skills could contribute easily.</li>
<li>The most important thing to consider when choosing a technology stack for a
new project, is how easy it'll be to maintain it on the long run. PHP is
simple. It's easy to debug (although it could be better) and easy to scale
(although it's not my concern right now at all).</li>
<li>Laravel is by far the best PHP framework I've ever used. It makes it so easy
to do complex things. It's clear that the framework has been created to start
new web applications really quickly, and it's truly a pleasure to use. But
Laravel's killer feature is the quality of the documentation, compared to other
PHP frameworks or even a lot of frameworks in other languages. Everything is
extremely well documented. I can't emphasize how important a good documentation
is (this reminds me that I should document Monica even more).</li>
<li>There is a huge community around PHP and Laravel in particular: Laracasts,
Forge, Envoyer, a strong Slack community to name a few. If you need help, there
is a lot of people out there ready to give a hand.</li>
</ul>
<h3>What are the challenges I faced during the development of this project?</h3>
<p>Overall I didn't have that many challenges while developing the current version
of Monica. It's not a complex application, and I don't have scaling challenges
as the user base is quite small still (around 7800 users total and 4300
active). But there are some implementation details that I did wrong - not
because it was bad coding practice, but because my technical skills were not
good enough to overcome those problems on the short term. Hopefully, listing
those mistakes will help others not make them - or nice people will send me
emails on how I could have  fixed them.</p>
<ul>
<li>In an earlier versions, I used a lot of events and listeners. While the
concept is awesome, I had a lot of problems with unit testing the base classes
because to them. Moreover, the more I was using them, the more magic happened
behind the hood. I thought that people who would jump in the codebase would
struggle to understand how come some stuff happened when an object was created
for instance. In my mind events and listeners would make the application harder
to understand, so I decided to remove them all (well, 99% of them, there is
still two listeners that I need to get rid off).</li>
<li>At the beginning, the database was entirely encrypted. For reasons I still
haven't understood, from time to time there were bugs with the decryption
process, leading to data I couldn't recover. Because I didn't want to deal with
this problem at this stage, I decided to remove the encryption. Moreover,
having data encrypted made it impossible to operate any kind of sorting or
search in my queries, which could have been problematic on the long run. I'm
sure there are solutions to these two problems but I wanted to focus on
creating new features instead of fixing this single one problem.</li>
<li>I didn't write unit tests before launching the application. This really hurt
me bad. I don't think we should aim for 100% test coverage, but at least, have
some kind of tests for the main features of your site. Otherwise you end up
with a s**t ton of bugs that you didn't think about, and while you try to fix
it, other parts of the application are affected by your fix. This becomes
quickly a nightmare. Laravel makes unit testing super easy - I should have
taken this more seriously. Starting with the next version of Laravel, no pull
request will be merged unless there are unit tests and perhaps even functional
tests.</li>
</ul>
<h3>Conclusion</h3>
<p>These are some reasons why I chose Laravel. As I said at the beginning of this
post, your project is not about the language. Unless your project is about
learning a new language, you should not spend weeks choosing a language or
framework. Stick with what you know, and just make something. Your users won't
care that your code is ugly or that you chose Python over Ruby.</p>
]]>
            </summary>
                                    <updated>2017-07-10T03:03:03+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Monica 0.4.0 with phone calls]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/7</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>Keeping track of what you said to the people you care about is important. It was
already possible to store notes about your contacts. Now you can also log a
phone call, which will be super convenient to know when you last called someone
and what you talked about during this call.</p>
<p><img src="/img/posts/2017-07-13-v0.4.0-blank.png" alt="Default blank screen" /></p>
<p><img src="/img/posts/2017-07-13-v0.4.0-log.png" alt="Contact view" /></p>
<p><img src="/img/posts/2017-07-13-v0.4.0-result.png" alt="Contact list filter" /></p>
<p>Version 0.4.0 is already in production, and as always, you can install it on a
server that you own.</p>
<p>Enjoy!</p>
]]>
            </summary>
                                    <updated>2017-07-13T03:03:03+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Monica 0.5.0 with version tracking and search]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/8</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>If you install Monica on a server that you own, chances are that you will want
to be aware when a new version is available. With Monica 0.5.0, this is exactly
what you get.</p>
<h3>How does this work</h3>
<p>In short, your Monica instance will send a daily ping to
<a href="https://version.monicahq.com">https://version.monicahq.com</a>. The ping contains three information:</p>
<ul>
<li>a UUID: the unique, anonymous identifier of your instance.</li>
<li>the current version of your instance</li>
<li>the number of contacts in your instance.</li>
</ul>
<p>The last information is used to know the size of the instances of the people who
download Monica. I need to know this information (and only this information) so
I can move forward with better knowledge of how people use Monica. Also, there
is no way to know who you are: the UUID is random, unique and anonymous.</p>
<p>The code of <a href="https://version.monicahq.com">https://version.monicahq.com</a> is open-source, stored
<a href="https://github.com/monicahq/version">on GitHub</a> like everything we do.</p>
<p>In return of this call, you will get a JSON with:</p>
<ul>
<li>if a new version is available as a boolean,</li>
<li>what is the latest version available,</li>
<li>all the release notes for each release that has been made since the version of
the ping,</li>
<li>the number of versions available since the version of the ping.</li>
</ul>
<p>This information will be used in the UI. In the footer, a new link will appear
if a new version is available. If you click on this link, a popup will appear,
with the release notes of the new version.</p>
<p><img src="/img/posts/2017-07-25-v0.5.0-footer.png" alt="footer" /></p>
<h3>How to disable this feature</h3>
<p>Every feature that changes how Monica fundamentaly works can be disabled, and
this feature is no different. If you want to disable sending any information
to <a href="https://version.monicahq.com">https://version.monicahq.com</a>, simply add the following to your <code>.env</code> file:</p>
<ul>
<li>
<code>CHECK_VERSION=false</code>
</li>
</ul>
<p>And that's it. No information will ever leave your server. The drawback is that
you won't be able to be automatically alerted when a new release is available.</p>
<h3>Search your contacts</h3>
<p>You can now search your contacts with a new search box in the header. The search
will look at the following information in your contacts:</p>
<ul>
<li>First and last name</li>
<li>Email</li>
<li>Street</li>
<li>City</li>
<li>Postal code</li>
<li>Province</li>
<li>Food preferencies</li>
<li>Job</li>
<li>Company</li>
</ul>
<p>Searches should be pretty fast too. We are super excited about this feature.</p>
<p>(<img src="/img/posts/2017-07-25-v0.5.0-search.png" alt="footer" /></p>
<h3>Final words</h3>
<p>Version 0.5.0 is already in production, and as always, you can install it on a
server that you own.</p>
<p>Enjoy!</p>
]]>
            </summary>
                                    <updated>2017-07-25T03:03:03+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[50 000 contacts]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/growing" />
            <id>https://www.monicahq.com/9</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>We've just reached an amazing milestone.</p>
<p><img src="/img/posts/2017-08-17-50000-contacts.png" alt="footer" /></p>
<p>This is amazing and a great milestone that I'd like to share with you all. Users
have uploaded more than 50 000 contacts on Monica so far, and it keeps growing
every day. This doesn't include the instances that have been downloaded and
installed on their own servers.</p>
<p>On a personal note, I'm amazed by the community around the project. On GitHub,
we've received over 200 pull requests from the community and people seem to
share the project all around Internet to spread the good news.</p>
<p>I can wait to see where we'll be one year from now. Thank you all for your
trust.</p>
]]>
            </summary>
                                    <updated>2017-08-17T03:03:03+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Monica 0.6.3 with better contact management and markdown support]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/10</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>The most requested feature on Monica (since the last one) was the ability to
designate an existing contact as a significant other or a child. With 0.6.3,
this is now possible.</p>
<h3>How does it work</h3>
<p>When you add a significant other or a kid, you now have access to two new
things:</p>
<ul>
<li>You can either create a partial contact, or a real contact when adding this
new person. A partial contact is the old way of doing things: those contacts
are not listed in the list of contacts, and you can't add specific reminders or
notes about them. A &quot;real&quot; contact will actually create a new contact entry for
this person, and you will be able to add their own children or significant
others to them.</li>
</ul>
<p><img src="/img/posts/2017-08-19-add-contact.png" alt="create complete contact" /></p>
<ul>
<li>Instead of creating a new contact, you can simply link an existing contact to
be a kid or a significant other of this contact.</li>
</ul>
<p><img src="/img/posts/2017-08-19-link-contact.png" alt="create complete contact" /></p>
<p>This change was the biggest change in the codebase so far, and the one that
took the most time. For the ones who host Monica themselves, be careful when
updating your instance - make sure you backup the database before upgrading.</p>
<h3>Other important changes in this release</h3>
<ul>
<li>For the ones who like polygamy, you can have more than one significant other
per contact.</li>
<li>New translations added: Italian, German. Thank you to the community for this.</li>
<li>Add support for Markdown on the Notes and the Log calls. This will let you
use lists, for instance.</li>
<li>We now support all the currencies in the world.</li>
<li>A lot of bug fixes as well as some security bugfixes.</li>
<li>We've started to use <a href="http://tachyons.io/">Tachyons</a> as a new CSS framework.
This will gradually replace Bootstrap.</li>
</ul>
<h3>Final words</h3>
<p>Version 0.6.3 is already in production, and as always, you can install it on a
server that you own.</p>
<p>Enjoy!</p>
]]>
            </summary>
                                    <updated>2017-08-19T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Monica 1.0.0 with API, introductions and deceased contacts]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/11</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>Monica is finally ready for v1.0.0.</p>
<p>We try to follow the <a href="http://semver.org/">SemVer approach</a> here at Monica.
Changing a major version number indicates major API changes. This is why I'm
really excited to announce the release of v1.0.0. It adds a lot of features and
will serve as a foundation for all the great things I'm planning to ship in the
coming months. Let's talk first about the features, then the technical changes
that are introduced in this version.</p>
<h3>API</h3>
<p>Monica finally has an API. Not everything is available right now through the
API, but most of the data about contacts are. A future version will bring all
the Settings and Account data as well. My goal is that everything is available
through the API. We do support Oauth 2.0 and personal tokens. Under the hood,
Laravel Passport deals with everything Oauth.</p>
<p>Nothing can help developers jump in a project more than a good documentation.
This is why we've also released a <a href="https://monicahq.com/api/overview">new documentation
portal</a> that tries to be as exhaustive as
possible. On each page, we also indicate the date of last update, so you know
how fresh the documentation is.</p>
<p><img src="/img/posts/2017-11-09-api.png" alt="API" /></p>
<p>It's going to be up to the developers now to be creative in using Monica's data
and do great things with it. On our end, we are working on the first official
mobile application for Monica, both for Apple and Android, but you will have
more details on this later this year.</p>
<h3>How you've met someone (aka Introductions)</h3>
<p>Monica's purpose is to help everyone remember important information about the
ones you care about, privately and for your eyes only. Sometimes, when you do
have a lot of contacts, it's hard to remember how and where you've met them.
This is why you can indicate how you've met someone or if you've been
introduced by another contact. You can even ask to be reminded of the
anniversary of this encounter if you want.</p>
<p><img src="/img/posts/2017-11-09-introductions.png" alt="introductions" /></p>
<h3>Mark a contact as deceased</h3>
<p>Sometimes life is unfair and people die. We've added the possibility to mark a
contact as deceased, and indicate an optional date for this sad event.
Moreover, you can be reminded of this event if you choose to. When a contact is
marked as deceased, there is a small ⚰ next to the name of the contact
throughout the application.</p>
<p><img src="/img/posts/2017-11-09-deceased.png" alt="mark a contact as deceased" /></p>
<h3>Speed up the Add contacts screen</h3>
<p>Our goal is to help you achieve what you want as fast as possible. This is why
we've added a small button on the Add contact screen to let you save the
current contact and add another one right after this one. It'll save you
precious seconds.</p>
<h3>Big changes under the hood</h3>
<p>For v1.0.0, we've upgraded the codebase to Laravel 5.5, in order to take
advantage of the great <a href="https://laravel.com/docs/5.5/eloquent-resources">Resources
functionality</a> introduced in
this version for our API.</p>
<p>Thanks to <a href="https://github.com/monicahq/monica/pull/597">@mauricew</a>, we've also
replaced the previous front end build system based on Gulp and Bower with mix,
the default build system that ships with Laravel now. We've been able to remove
lots of dependencies, clean up the code and more importantly, make sure that
there won't be any conflicts of CSS and JS files in our pull requests in the
future.</p>
<h3>Final words</h3>
<p>Version 1.0.0 is already in production, and as always, you can install it on a
server that you own.</p>
<p>v1.0.0 has litteraly thousands of new lines of codes. It's the product of an
healthy community. On a personal level, I feel really blessed that Monica helps
so many people. Your continuous feedback helps me tremendously to continue
working as hard as I can on this product. The upcoming months will be very
busy: lots of new features, a mobile application and other surprises. The
future will be bright for our community.</p>
<p>Enjoy!</p>
]]>
            </summary>
                                    <updated>2017-11-09T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Status - September 2017]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/growing" />
            <id>https://www.monicahq.com/12</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>I've been a bit less active on the communication side in the last 40 days. I'm
also slower at responding to issues and merging pull requests. This is not a
situation that I like, but it's difficult for me to change it in the next month
or so. It'll get better though.</p>
<h2>What the hell am I doing right now</h2>
<p>I'm working as much as I can on the project. Every free hour that I have is
invested on Monica. To reassure all the people who keep sending me emails about
my commitment on the project and the fact that I won't let it die soon: I'm
still extremely motivated about it as I was before and this is still a priority
for me.</p>
<p>However I'm working at the moment on the API and making sure that it works like
it should. I'm also building the documentation around it, because documentation
has to be excellent in order for people to use the API. For these reasons, and
also because this is still a side project at the moment until I find ways to
make it my full-time job, I don't want to be distracted by the feedback, bugs
or new features right now. As soon as the API will be done, I'll go back to
answering to the community. Unfortunately, I simply don't have the physical
time to do all the things I would like to do, and I need to focus extremely
aggressively if I want to get things done.</p>
<h2>What's next</h2>
<p>In the coming days, a first draft of the API will be released - with new methods
added after that.</p>
<p>Once the API is done, we need to focus on giving some love to the notion of
activities done with your contacts. We should also make the dashboard more
useful, and change the Journal so it becomes something actually useful. Also,
we need to implement the Carddav protocol, although I'm unsure at this point how
well it will integrate in the current stack.</p>
<p>I'm sure this project has an enormous potential. If you are a current user, I'm
still looking for <a href="https://docs.google.com/forms/d/e/1FAIpQLSfaAds4I5F9zLisQpC221pcF0KEkjTPH-koN96D64QFem6uZg/viewform?usp=sf_link">feedback and testimonials</a>. Thanks for your help!</p>
]]>
            </summary>
                                    <updated>2017-09-27T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing multiple contact fields]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/13</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>Some people have one physical address and one Twitter account. Others have multiple addresses, no Twitter at all and one Quora account. It's hard to take all use cases into account, but we want to let users organize their contacts the way they want it.</p>
<p>A physical address, a Twitter account,... we call all these ways of contacting someone a <strong>contact field</strong>.</p>
<p>Starting now, you can add as many contact fields per contact as you want. Previously you could only have 5 pre-defined fields.</p>
<p><img src="/img/posts/2017-11-28-inline.gif" alt="image" /></p>
<p>Each contact field has a type: it can be an email, a Facebook account, a fax number. Each account comes with 6 generic contact field types:</p>
<ul>
<li>Email</li>
<li>Phone number</li>
<li>Facebook</li>
<li>Twitter</li>
<li>Whatsapp</li>
<li>Telegram</li>
</ul>
<p>You can add or remove contact field types on your account at your leisure, and set their names as you want, in the new <a href="https://app.monicahq.com/settings/personalization">Personalization tab</a> under Settings.</p>
<p>Each contact field type can also have a protocol associated with it. A protocol is what the browser should do when you click on a contact field. For instance, for a phone number, the <code>tel:</code> protocol will tell the browser to launch the software that you use on your computer to make phone calls.</p>
<p><img src="/img/posts/2017-11-28-personalization.png" alt="image" /></p>
<p><a href="https://monicahq.com/api/overview">The API</a> has been updated to support those two new concepts (contact fields and contact field types).</p>
<p>We've also reordered a little bit the sidebar when viewing a contact. Information about the partners and children are now at the top of the sidebar, as I believe this is a much more important information that knowing the address of the contact for instance.</p>
<p>These changes are in the version 1.1.0 which is already in production, and as always, you can install it on a server that you own.</p>
<p>Enjoy!</p>
]]>
            </summary>
                                    <updated>2017-11-28T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A better way to manage tasks]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/14</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>Adding and managing tasks is now easier than ever in Monica.</p>
<p>We've leveraged our work on <a href="https://monicahq.com/v1.1.0.html">v1.1</a> to allow the management of the tasks right from the contact view page, instead of having to open a new screen to enter task info, or having to wait for a page reload when you delete a task.</p>
<p>Also, and this is an important change, tasks now use checkboxes. Finally. This is something that we wanted to do for a long time.</p>
<p><img src="/img/posts/2017-11-29-tasks.gif" alt="image" /></p>
<p>These changes are in the version 1.2.0 which is already in production, and as always, you can install it on a server that you own.</p>
<p>Enjoy!</p>
]]>
            </summary>
                                    <updated>2017-11-29T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing favorites for notes]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/15</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>Notes can now be set as a favorite. Favorites are a great way to keep track of notes that you find interesting.</p>
<p><img src="/img/posts/2017-12-04-inline-notes.png" alt="image" /></p>
<p>When a note is set as favorite, it will appear in a new tab on the dashboard, called <code>Important notes</code>.</p>
<p><img src="/img/posts/2017-12-04-notes-dashboard.png" alt="image" /></p>
<p>In this release, we've also released some goodies:</p>
<ul>
<li>Some actions in the UI now have dynamic notifications when adding/updating/deleting data.</li>
<li>It's now possible to change account's owner first and last names</li>
</ul>
<p>These changes are in the version 1.3.0 which is already in production, and as always, you can install it on a server that you own.</p>
<p>Enjoy!</p>
]]>
            </summary>
                                    <updated>2017-12-04T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Add a date without knowing the year]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/16</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>A birthdate is composed of a day, a month and a year. Well, in an ideal world, because in practice, most of the time you don't know the year of birth. If it's the birthday of a dear friend of yours who refuses to give you her age, you will only know the day and month to celebrate her birthday every year.</p>
<p>This is why we have added the ability to set a date without knowing the year.</p>
<p>This change applies to birthdates, first met dates and deceased dates. Reminders for those dates will work the same way as before.</p>
<p><img src="/img/posts/2017-12-14-year-unknown.png" alt="image" /></p>
<p>This feature was one of the <a href="https://github.com/monicahq/monica/issues/75">most requested features</a> in our <a href="https://github.com/monicahq/monica/issues">issue tracker</a>. We hope it will help you add more information about your friends and family members.</p>
]]>
            </summary>
                                    <updated>2017-12-14T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Year in review]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/growing" />
            <id>https://www.monicahq.com/17</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>I’m Regis Freyd and I’ve been developing Monica for one year and a half now. Monica is an open-source personal relationship management software and is currently a side project, as it doesn't generate enough revenues to allow me to work on it full time. The journey of 2017 has been pretty great and this is what I’d like to write about today.</p>
<h3>How Monica became popular</h3>
<p>Monica was built originally in June 2016. I worked on and off on it for a couple of months, then submitted it to Reddit. Few people cared, even fewer people registered (a dozen of people) so I stopped working on it and focused on my career. In May 2017, after having changed jobs, I wanted to go back to work on something I love very much: side projects. So every day after work, I worked on Monica. I did this for a month, open sourced it on GitHub, and got discouraged again. I called a friend, told him that I’d been working on a project for a year now and told him that I wanted to delete the project because no one cared at all. I said that I would delete the entire repository on Monday (we were Sunday). I went to bed, and in the morning, before deleting the project, I wanted to try one last thing: posting the project to Hacker News. Since all my other projects in the past never caught any interest on HN, I didn't have any optimism for this story. I posted the link, and went away for two hours.</p>
<p>When I came back to make sure that no one cared, I saw that I was on page 2 on Hacker News. I was mind blown. I got like 30 upvotes and a few comments. I couldn’t believe it. People seemed to like the project and the idea behind it. They also loved the open source aspect of it. Then it escalated quickly.</p>
<p>In less than an hour, Monica reached the first page on Hacker News. Then, a few minutes later, I reached #3, #2. And then it reached #1. And stayed number 1 for two days in a row, with almost 1100 upvotes and hundreds of comments.</p>
<p>We went from 10 users to 5600 users in a couple of hours.</p>
<p>The next day we bumped at 7000 users. Monica became the most trending repository on GitHub, went from 0 star to 1700 stars in an hour.</p>
<p>And then, people started to send emails. I spent the next three days replying to hundred of emails of users saying that they’ve been waiting for a tool like that for years now. A few VCs reached out to me and wanted to talk. All in all, I talked to 4 venture capitalists from New York and San Francisco. I quickly realized that VCs didn’t have at all the same vision that I had for the product, and wanted to put ads and other “intelligent” ways of feeding data to Monica. This was so against my values that the discussion stopped there.</p>
<p>Today, Monica has around 10,300 users and 90,000+ contacts. The repository on GitHub has 3788 stars and 409 forks. We’ve received hundreds of pull requests, and the community has opened 300+ issues. It’s clear that the project has become popular and that there is a clear interest. The Docker images have been pulled more than 13,000 times - it’s almost impossible right now to know how many instances of Monica run in the wild, but I guess a few hundreds. I have around 45 paying customers - but to be fair, at the moment, there is almost no incentive in having a paying account, so people who take a paying account are doing so to support the development, basically.</p>
<p>I hesitated a lot before open sourcing Monica. My biggest fear was that people would criticize my code, see how bad it was. I had no unit tests. I took some shortcuts to reach my goals, and the code was far from being great. To my surprise, only one person mentioned the quality of the code. No one else even talked about it. People were just grateful that the tool was there and open. The secret is to not be scared of sharing your work in the fear of being judged.</p>
<h3>What now?</h3>
<ul>
<li>The initial growth has slowed down. Around 10-20 users subscribe each day. Keep in mind that I have done no marketing whatsoever except this one post on Hacker News. So while the number is low, I find it quite incredible to have that many signups.</li>
<li>I receive a lot of feature requests. I’m really grateful for them, but I can’t do everything. In part because this is to much work, and in part because I want to focus on features that people will want to pay for. This is the only way to make this project sustainable in the long term. Keep in mind that I work on this at night and on the weekend, but at 20-30 hours per week, it will be harder and harder to keep this rhythm in the future.</li>
<li>Letterbox is a huge source of inspiration for me in terms of business model, and their Pro offering is probably something I’ll copy.</li>
<li>One of the things I’d like to do is to ship a mobile application in 2018. I believe this is what people want the most, and this is why I’ve shipped an API two months ago. I have a lot of work to do for this, and the first part would be to learn how to actually develop a native mobile application.</li>
<li>I think Monica can become the only source of truth about your contacts and your agenda. This is where we are going in 2018, as well as a great place to store your feelings.</li>
</ul>
]]>
            </summary>
                                    <updated>2018-01-02T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Don&#039;t be smarter than me]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/growing" />
            <id>https://www.monicahq.com/18</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>Most sites these days make use of all the data they gather. Amazon recommends other articles I might like based on what I’ve already bought or consulted. Twitter, Instagram and Facebook try to suggest new friends or content I might like.</p>
<p>While it makes sense for a shopping website to use all the data it knows about me to help me buy better things for me, I find it extremely disturbing that social networks do that for me.</p>
<p>Everything social is way too personal for companies to mess up with it. They don’t have all the cards at hands to determine what those recommandations will do to me. Moreover, they think they know what we’ll want, but in my experience they are very often wrong.</p>
<p>The trend these days is to help users by doing all the work for them - including all the work they didn’t want the site to do in the first place.</p>
<p>On Twitter I don’t want to know what content other users have liked.</p>
<p>On Facebook I don’t want to be suggested to have more friends. I’m fine with the friends I already have - and if I’m not friends with other people it’s probably for a reason.</p>
<p>I don’t want this to happen on Monica. I think we need to provide a tool that does only what the users want the tool to do.</p>
<p>This doesn’t mean we shouldn’t provide features that help the users by analyzing their data. But these features should never be a surprise to people. And they should never give the feeling that the site knows too much about its users.</p>
]]>
            </summary>
                                    <updated>2018-01-14T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Monica in 2018]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/19</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>When you are working every day on something, you don't take the time very often to think about the big picture. I don't want to lose sight of what I would like Monica to accomplish - so here is what I’d like to do in 2018. This post is not a roadmap per se. Think of it as my very own Wishlist.</p>
<ul>
<li>
<strong>Launch the mobile application</strong>. The work has already started and we are close to a v1 that should ship in the coming weeks. The first version will be read only, and v2 will allow the edition of data. The code of the mobile application is <a href="https://github.com/monicahq/chandler">already on GitHub</a>, and is 100% open source (obviously).</li>
<li>
<strong>GraphQL support</strong>: we already have a REST API that the v1 of the mobile application will use. If we truly want a great mobile application, we need to make sure that all the requests made to the API are efficient and GraphQL is the best solution for this.</li>
<li>
<strong>Support for Carddav and Caldav</strong>. I believe this is what will make Monica shine on the long run. These two protocols will let you sync your contacts and calendar entries with your existing mail and calendar apps on mobile or desktops. Monica would become the central source of your social data.</li>
<li>
<strong>More love to reminders</strong>, with the possibility to be warned before an event actually happens.</li>
<li>
<strong>Provide statistics about your social life</strong>: how much time you went out a given month, who do you see the most, where do you hangout the most, etc… The more data you feed to Monica, the more insights you’ll have.</li>
<li>
<strong>A calendar view</strong> that shows reminders, future events,…</li>
<li>
<strong>The concept of “rich” activity sheets</strong>: for instance, if you indicate that you went to a restaurant, have the ability to set where it was (with automatic placement on a map), what you’ve eaten, how long it took, etc… Each type of activities would have specific information to fill.</li>
<li>
<strong>The journal</strong> should become the place where your life is auto documented. This will be great once we’ll have rich activity sheets.</li>
<li>
<strong>Stabilize the platform</strong>, add a lot of tests to make sure we don't break things as we move forward.</li>
<li>If I have the time, but only if I do: <strong>make the app prettier</strong>. However I believe it’s more important to have a functional application than a good looking one.</li>
<li>And last but not least: <strong>add more ways of importing data</strong>. This will be a real pain as, surprisingly, most social networks or systems are not open source and don't provide you with the data they have on you.</li>
</ul>
<p>I hope to accomplish all the points above this year. I also know that things are constantly changing for a variety of reasons, so take it with a grain of salt.</p>
]]>
            </summary>
                                    <updated>2018-01-22T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mark a gift as offered]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/20</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>Monica has the ability to manage gifts related to a contact. You can easily remember gift ideas for your best friend, or gifts that you've received from your grand mother that year. Now you have the ability to mark a gift idea as being offered. The section has been slightly redesigned to reflect this new feature.</p>
<p><img src="/img/posts/2018-01-25-gifts.png" alt="image" /></p>
<p>A lot of other smaller additions have been recently added. We'll cover those in upcoming blog posts - but you can always read about all the changes we make on Monica on the <a href="https://www.monicahq.com/changelog">release notes page</a>.</p>
]]>
            </summary>
                                    <updated>2018-01-25T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing custom genders]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/21</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>When I launched Monica last year, I didn't realize that only offering two genders (man and woman) to identify contacts wasn't enough. We received a lot of feedback about this very specific point. The reality is that gender is not a binary option. Monica needs to represent reality, and it is more complex than what I originally thought.</p>
<p>This is why we are introducing the notion of custom genders. By default, each account still comes with three genders (male, female and other), but now you can customize this list, add or remove genders at will. You will be the one deciding which gender people should have. While we should be careful not to add too many options in Monica, this is a case where we need to put you, the user, in control of what your reality is.</p>
<p><img src="/img/posts/2018-02-16-custom-genders.png" alt="image" /></p>
]]>
            </summary>
                                    <updated>2018-02-16T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Translations just got an upgrade]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/22</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>Maintaining translations is really painful. I've yet to find a project where it's an easy and painless process. Until now, to translate Monica, you needed to clone the repository, update the language file and finally submit the result as a pull request. Well, no more.</p>
<p>Thanks to Crowdin and their generous open source program, you can now use a very simple tool to translate Monica in the language you want. The project is available at <a href="https://crowdin.com/project/monicahq">https://crowdin.com/project/monicahq</a> and will ask you to create an account if you want to contribute. Don't hesitate to <a href="https://github.com/monicahq/monica/issues">create an issue</a> if you want to translate a language that we don't support yet.</p>
<p><img src="/img/posts/2018-02-25-crowdin.png" alt="image" /></p>
]]>
            </summary>
                                    <updated>2018-02-25T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing notifications]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/23</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>Reminders are a convenient and popular feature on Monica. Before today, they were sent the day events happen. If your goal was to buy a gift for your friend who has his birthday today, it would have been be too late to find and buy the gift. From now on, you will be reminded some time in advance that an event is coming. We call this a notification - or a reminder of reminder.</p>
<p>By default, notifications are sent 30 days before the event happens, then 7 days before, then the day the event happens. That way, you’ll have plenty of time to plan for whatever the event is.</p>
<p>Those notifications can be disabled in your Settings panel, under Personalization.</p>
<p><img src="/img/posts/2018-03-02-reminder-rule.png" alt="image" /></p>
<p>Notifications only affect monthly and yearly reminders, not weekly.</p>
<p>Cherry on the cake: you also now have the possibility to define the hour in the day you want to receive the reminder emails.</p>
<p><img src="/img/posts/2018-03-02-hour.png" alt="image" /></p>
<p>These new features are already in production, and will be available in v1.8.1, which will be released in a few days, if you are into running Monica on a server that you own.</p>
]]>
            </summary>
                                    <updated>2018-03-02T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[On product design]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/growing" />
            <id>https://www.monicahq.com/24</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>A while ago I posted this formula:</p>
<p>Good product design: value for users &gt; ease of use &gt; speed &gt; design</p>
<p>I’d like to explain my reasonings behind it.</p>
<p>What is product design? It’s the combination of what a product does, and how it does it.</p>
<p>Product designers have more responsibility than simply choosing how things should look or behave. They build the way users interact with the product. They need to take into account a large amount of criteria to do their job effectively. However, it’s worth asking the question of which criteria should be prioritized over others in the design process, if you can’t afford to cover the whole spectrum of what constitutes a good product design practice.</p>
<p>The most important thing a product (or feature) should do is bring value to the user. Any other consideration comes second. Your product can be slow, ugly, not easy to use, buggy - if your work is going to help users solve a specific problem they suffer with, they will endure anything to use it. You can’t say the same thing for a beautiful product that does not bring any value - no one will use it.</p>
<p>Once you are sure that the product or the feature brings value, you can put your energy on creating a great user experience. This doesn’t mean making it beautiful, or even pretty. Just really simple to use, or really easy to understand. Users will come to your product because you’ve promised them something - this can be summed up by either making their lives easier, or their jobs simpler. They will want to take advantage of your solution as quickly as possible and will value less your product if they can’t do what you are asking them to do in a simple way, or if it’s so complex that it makes them feel stupid.</p>
<p>Once your product brings enough value and is simple to use, you will want to focus on speed. Great products are fast. They don't waste the precious time of their users. The faster a product is, the more confident you feel about it. Most of the teams I’ve worked with think a feature is shipped once the code is done and the quality assurance passes. However a feature should not be considered as complete if it’s not as fast as it could be. Your product is the sum of your features. If you start to introduce slow features here and there, the whole will suffer eventually. Users devaluate slow products.</p>
<p>Finally, once a product brings enough value, is easy to use and is fast, you can make it pretty if you have time left or enough money to afford this process. But it’s not necessary per se. I would go as far as saying that if something brings enough value to the user, design is irrelevant. How things look is cherry on the cake. Design in itself shouldn’t be your main differentiator. It will help to differentiate a little bit your product from its competitors when you’ll become successful and many copycats will do exactly what you do exactly the same way. That being said, if your main differentiator is just a matter of design, you have other problems to solve first. Design is a trend that change often and quickly. What’s seen as beautiful today will be less valued tomorrow, just because.</p>
<p>Every day, I use Monica. And every day, I wished it had a better design, a better UX and it was faster. But I don't prioritize those aspects at all - and while it pains me a lot, I prefer creating value as much as possible first and foremost. When Monica will reach a state where we can afford taking some time to make things better, that means we would have created a product that brings tremendous value, that is extremely easy to use and fast enough for everyone. We are not there yet.</p>
<p>To sum up, what would you like your users to say about your work? Is it “Ok, it’s not pretty, but it’s so useful that I don't mind”, or “Ok, it’s beautiful, but I don't see why this product even exists”.</p>
]]>
            </summary>
                                    <updated>2018-03-13T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Our first award]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/growing" />
            <id>https://www.monicahq.com/25</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>We have received <a href="https://www.infoworld.com/article/3263736/open-source-tools/the-best-open-source-rookies-of-2018.html">our first award</a>: Open Source Rookie of the Year 2018, which recognizes some of the most innovative and influential open source projects launched each year. It’s great to see Monica being recognized, but the community should be recognized as well. It’s thanks to you, the community, that we are here today. You are the driving force behind this project, the reason we are building it, and you help decide what we should build next. I’m proud to be part of this adventure. Let’s make a great story with it.</p>
]]>
            </summary>
                                    <updated>2018-03-21T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[On having too many settings]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/growing" />
            <id>https://www.monicahq.com/26</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>As time passes, we’ve added more and more settings in Monica. This is against what I believe in and something I’ve tried to avoid for many years: do not pollute your software with an endless number of settings and personalization options.</p>
<p>A product should be opinionated and follow its own vision, at the risk of pushing back potential users. Why would people sign up for your product if it doesn’t have an unique voice or ways of doing things? My vision includes a simple, powerful product with the least amount of settings possible.</p>
<p>How on earth then have we added a Personalization tab under Settings?</p>
<p>I intend to allow personalization for things that I can’t control or decide myself. Monica is not a business tool. It’s supposed to mimic real lives of people and adapt to the unique situation of everyone. One of the mistakes I made early on was about genders for instance: I only allowed at first two genders, male and female. This was my own reality - but it wasn’t the reality of many, many people out there. Instead of deciding for my users, we’ve added the flexibility to define your own genders, that match your reality, not ours. I intend to do that for every concept that represent important aspects of our lives.</p>
<p>Note that settings won't include to personalize the number of elements to display on a page or any insignificant details like that. They just don't matter.</p>
<p>I hope that this clarifies a little bit where we are going with the personalization of the product in general.</p>
]]>
            </summary>
                                    <updated>2018-04-09T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Monica 2.0.0 with better relationships]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/27</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>Last week we've released a major new version. So major in fact that we had to bump the version number to 2.0.0. Here is a list of the major changes that have shipped with this release (read the complete changelog for a list of all the changes).</p>
<p>Redesign of relationships</p>
<p>Monica has always let you link contacts together. However this relation was limited to parent-&gt;child relationships, or love relationships. This wasn't the most flexible system. Starting now, you can now link contacts with many different relationship types, like uncle/nephew, coworker, mentor/protege, etc... The complete list of the possible relationships is defined here.</p>
<p>We've also tried to respect genders when we can. For instance, if contacts are women, we'll say &quot;aunt&quot; instead of &quot;uncle&quot;, and so on. This is a real challenge for contacts who have a custom gender though. We do not support this case yet, but we are working on finding a good solution to manage this specific case.</p>
<p>This change was the biggest change we've made to Monica yet. Despite an extensive testing period, we had some bumps in the road while deploying this new feature, and I hope things are more stable now.</p>
<p>Ability to define which feature you want to activate on a contact sheet</p>
<p>We now have an option to customize which feature you want to use with your contacts. Under the Personalization tab in the Settings panel, you can now toggle features you care about. If you don't want to display the Gifts section, for instance, you can now hide it.</p>
<p>Journal entry date</p>
<p>You can now specify a date for a journal entry - allowing you to have more control over your journal.</p>
<p>Right to left languages</p>
<p>We now support right to left languages, starting with Hebrew. We'd like to thank our amazing community of translators for making this happen and their contributions to the translation process in general.</p>
<p>Markdown in activity comments</p>
<p>Markdown is a fantastic formatting tool. We were using it on a Call note, now we also use it in an activity's comment.</p>
<p>Final note</p>
<p>We are very lucky to have a great community around this project. I'd like to thank every contributor (above 100 now) who've helped by contributing to the code, every translator for their insane effort in translating the thousands of words we have in the app, every subscriber and donator for their monetary contributions. Everything helps. In a world who finally realizes how big social media platforms destroy the privacy of users and affect relationships between people, we need independent, open source projects like Monica to restore our faith in how great human relationships can be.</p>
<p>Version 2.0.0 is already available as a download, and is live on our hosted version.</p>
]]>
            </summary>
                                    <updated>2018-04-16T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Stay in touch with the ones you love]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/28</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>There are people in your life who are especially important and you don't want to miss anything about them. Now, you can use the new Stay in touch feature to receive an alert about a specific person at a regular interval, defined by you.</p>
<p><img src="/img/posts/2018-05-03-stayintouch.gif" alt="image" /></p>
<p>The feature sends an email that is sent every few days - it's not affected by the last time you've interacted with someone or recorded an activity.</p>
<p><a href="https://github.com/monicahq/monica/releases/tag/v2.1.0">Version 2.1.0</a> also brings the support for markdown in the Journal and on the Notes. We've also fixed many bugs and continued our work on improving our Docker and Vagrant images.</p>
<p>Thanks for all the emails you send and issues you fill on GitHub. That helps greatly in knowing what we should work on next (although we have a good idea of what we want to do).</p>
]]>
            </summary>
                                    <updated>2018-05-03T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The mobile application is here]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/29</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>I receive emails asking for a mobile application almost every single day since the public launch in June 2017.</p>
<p>I understand why. A mobile app for Monica makes so much sense. You want to have the information immediately available wherever you are, at the right moment. Not when you are at home in front of your desktop.</p>
<p>We started working on the mobile application 6 months ago. It’s a long time. However, I don't think most people realize the work that needs to be done to ship a mobile application. Especially when 99.9% of the code is made by one person (the awesome @mokto). Who has a daily job. Who is not paid to work on it.</p>
<p>In those months, we've put a lot of efforts to create all the things the mobile application would need. The API has changed a lot to allow some features. We've stabilized the backend to make sure it will work flawlessly. We've also spent a lot of time setting up everything the right way on the mobile app repository on GitHub, that will allow us to move faster in the future (here we are talking about a great CI, unit tests, auto publishing in the stores,...).</p>
<p>And six months later we are proud to announce that the first version of the mobile application is available <a href="https://itunes.apple.com/ca/app/monica-personal-crm/id1339447754?mt=8">on iOS</a> and <a href="https://play.google.com/store/apps/details?id=com.monicahq.app">Android</a>.</p>
<p><img src="/img/posts/2018-05-28-mobile-app.png" alt="image" /></p>
<p>There is one caveat though: <em>this first version is read-only</em>. That means you can't add or edit something. We want to have a great application, but we want to move slowly and make sure it's working well. As soon as we are confident this version works for everyone, we'll add features that will let you completely manipulate your data as you want (hint: we’ve already started working on a new version).</p>
<p>Apart from this, this mobile app has everything you come to expect from us:</p>
<ul>
<li>A simple and friendly user interface.</li>
<li>You can connect to our hosted version of Monica, or login to your own instance.</li>
<li>The code is open source. You can read the code, submit issues, contribute to the code. Everything we do is open and transparent, and we believe that only collaboration can lead to the best product.</li>
<li>Open source means you can <em>build and run the mobile application without having to go through the official Apple and Google stores</em> - which is kind of amazing, in my opinion.</li>
<li>We don't display ads, we don't resell your data.</li>
<li>We don't have any tracking whatsoever in our code.</li>
<li>The app is free. No strings attached.</li>
</ul>
<h3>How can you help?</h3>
<p>We need people who want to test the application and <a href="https://github.com/monicahq/chandler/issues">tell us if there are bugs</a>, basically. Also, we'd like your opinion on what we should build next, or how we could make the app better (in terms of user experience or in terms of layout).</p>
<h3>What's next?</h3>
<p>In the coming days we'll improve the documentation on the official GitHub repository, in order to make it super easy for developers who want to help to join the project.</p>
<p>In the coming months we'll add the possibility to modify your data within the mobile application. The end goal is that everything you can do on the web, you can do on mobile (with the exception of exporting your data, because how would you store a file on iOS for instance...). This is why we are now building features in the API first, then in the UI (both web and mobile).</p>
<p>As a conclusion, I'd say that I'm very proud of what we've accomplished so far, and even prouder by the community who help us every single day. Your feedback and your help make Monica possible.</p>
]]>
            </summary>
                                    <updated>2018-05-28T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Monica 2.4.0]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/30</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>In the past two months we've shipped a <a href="https://www.monicahq.com/changelog">bunch of useful new features</a> and we've been too silent about it.</p>
<p>Here are some of the most important changes:</p>
<ul>
<li>Remove automatic birthday reminder creation when editing a contact: this was something that irritated a lot of users. From now on, when you add/edit a contact and specify a birthdate, we don't automatically create a reminder for this event.</li>
<li>Debts across all your contacts are now showed on the dashboard.</li>
<li>We've added GDPR compliance. This is a new European law that forces us to confirm your email address on signup. I wanted to avoid it, but we don't have the choice legally.</li>
<li>We've improved the import of contacts through CSV. The process should work better now.</li>
<li>We've added a new kind of relationship between contact: ex-wife/husband.</li>
<li>There is a new filter in the contact list that lets you see contacts who are not associated with a tag.</li>
<li>We finally support nicknames for your contacts! You can also choose how you want to display the names in your account.</li>
<li>Add Yubikey support - this is another security feature for those who want an extra layer of protection.</li>
</ul>
<p>On another note, it's been more than a year now that Monica has been launched on Hacker News. The growth has been pretty incredible, especially regarding the community on GitHub. We have now more than 110 contributors who help build Monica, which is awesome. That being said, there is a drawback to this: we've been shipping new features a lot, and because of this pace, we haven't been careful enough in the last months. Monica is not as stable as it should be. Nothing dramatic or critical, but the last two releases have seen some stupid bugs that we could have prevented, and we will put measures in place to increase the chances that this doesn't happen again. It's especially important to ship bug free releases as Monica is still a side project, and the worst that can happen is noticing something is very wrong on the platform while you are at work, and having to wait to find the time to actually fix and deploy to production (usually when we come back home and have to deal with kids etc...). On a daily basis, trust me, it's the kind of worries you don't want to have.</p>
<p>All this to say that we will try to focus on quality in general.</p>
<p>Please continue to send your feedback via email or through an issue on GitHub. We read every message and your opinion is important to us (really).</p>
]]>
            </summary>
                                    <updated>2018-07-25T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing conversations]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/31</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>At its core, Monica is about logging information about the people you care about. While you can log a lot of stuff already, you didn't have a way to easily record what you said to someone at any point of time.</p>
<p>With our <a href="https://www.monicahq.com/changelog">latest update</a>, you can now log a conversation that you have had with someone on social media, by SMS or using Telegram, for instance. The interface we've chosen for this mimics the user interface used by popular chatting tools.</p>
<p><img src="/img/posts/2018-09-05-conversations.png" alt="image" /></p>
<p>When you log a conversation, you can indicate the mean of communication you've had this conversation with. This list of means is pulled from the contact field types defined in your Settings page.</p>
<p>We hope that you will make good use of this new feature.</p>
]]>
            </summary>
                                    <updated>2018-09-05T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing Life events]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/32</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>I don't like Facebook. It's not a secret. But despite their general evilness, they have some nice features here and there. One of them is the ability to track life events that happened to you. Such as indicating when you had a surgery or when you did renovations in your home. While I don't understand why you would give this information to Facebook, it makes sense to record this type of information about people you care about. So this is what we just shipped.</p>
<p>Life events is now a new tab in the Profile page of a contact.</p>
<p><img src="/img/posts/2018-10-12-life-events-blank.png" alt="image" /></p>
<p>You have access to 45+ life events that you can document. You can also set a reminder for each one of these events.</p>
<p><img src="/img/posts/2018-10-12-life-events-list.png" alt="image" /></p>
<p>Note that you can add an event without knowing the month or the day it happened.</p>
<p>Once a life event is added, it will appear on a timeline that will be improved in an upcoming release.</p>
<p><img src="/img/posts/2018-10-12-life-events-details.png" alt="image" /></p>
<p>I hope you will like this feature and have fun with it.</p>
]]>
            </summary>
                                    <updated>2018-10-12T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Monica 2.10.0 with document uploads]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/33</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>Version 2.10.0 is our 51th release. It contains a significant amount of new features and is the result of a month of work from 10 developers, not counting all the translators who are nice enough to translate Monica in 11 languages. Here are some highlights of the changes.</p>
<p><strong>Tag autocompletion</strong></p>
<p>Tags are a great way to categorize people. With 2.10.0, finally, we support tag autocompletion. Go to a contact and edit the tags in the header - as you type, a menu will appear showing your tags. A small change for Monica - a big help for users.
A technical note: this feature has been entirely developed with VueJS, without other dependancy. We are moving away from JQuery and over the course of the next months, we'll sunset JQuery entirely.</p>
<p><img src="/img/posts/2018-11-26-tags.gif" alt="image" /></p>
<p><strong>New header</strong></p>
<p>Speaking of the header, as we were changing how tags work, we've taken this opportunity to redesign the header of a contact profile. This will let us add much more useful information in the future. It's also easier to read.</p>
<p><img src="/img/posts/2018-11-26-new-header.png" alt="image" /></p>
<p><strong>Documents</strong></p>
<p>You can now attach documents to a contact. There is a configurable limit per instance on how much storage an account can use. On our hosted version, the limit is 512Mb per paid account (storage is cheap - but not when you host ten of thousands of accounts).</p>
<p>There is also a new tab in your Settings page called Storage that shows your current account usage and your account limit.</p>
<p><img src="/img/posts/2018-11-26-documents.gif" alt="image" /></p>
<p><strong>Archive a contact</strong></p>
<p>Sometimes you want to add a contact but not have him appear on the contact list. Archiving a contact lets you do that. You can access this feature from the bottom left of the contact profile.</p>
<p><strong>Other improvements</strong></p>
<ul>
<li>We've fixed a lot of bugs.</li>
<li>We've improved how we support S3 to store assets (images, documents,...)</li>
<li>We've dramatically increased our test coverage. 6 months ago we were at 25% test coverage. With our continuous effort of increasing them, we are now at 65%. This gives us much more confidence that we don't break things as we move forward.</li>
<li>We now automatically set the currency and the timezone for new users, based on their location.</li>
<li>We've rewritten how we import/export vCard.</li>
<li>We also now parse FN properties correctly when we import vCards.</li>
</ul>
<p>Have fun with version 2.10!</p>
]]>
            </summary>
                                    <updated>2018-11-26T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[State of the mobile apps]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/34</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>I've just removed the mobile applications from both Apple Store and Play Store. The only way to get them is now to build them from the GitHub repository.</p>
<p>While <a href="https://github.com/Mokto">Theo</a> has done an amazing job on the first version of those apps, the development has stopped at the beginning of this summer while the development of Monica, the platform, has moved forward. We are now in a situation where the mobile app is not on par with the platform and worse, we will break things in the API that the mobile app won't support.</p>
<p>I still strongly believe that the growth and adoption of Monica will be through a mobile app.</p>
<p>I would like to promise wonderful things and announce that you'll have a new app in 2 months - but in reality, I don't know how much time it will take. Since Monica is still at the side project stage, it might take 6 months, or 2 years. But one day we'll have a great mobile application, as good as the web version (if not better).</p>
<p>Thanks for your patience.</p>
]]>
            </summary>
                                    <updated>2018-11-28T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Monica 2.11.0]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/35</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>After more than a month of work, I am happy to announce the new version of Monica, with photo upload, improved security, improved phone calls management, weather support, the introduction of emotions and many more enhancements.</p>
<h3>Photo upload</h3>
<p>You can now upload photos on a contact’s profile page. The number of photos you can store depends on your account’s storage limit, which is 512 Mb on <a href="https://monicahq.com">https://monicahq.com</a> (and is configurable per instance). The ability to upload photos unlocks a lot of possibilities in the future.</p>
<p><img src="/img/posts/2018-12-04-photo-upload.png" alt="image" /></p>
<h3>Recovery codes</h3>
<p>Security is so important, especially in a tool like Monica which stores many intimate details. Monica already supports two-factor authentication (also known as 2FA) and U2F to help you secure your account. Starting with Monica 2.11, you can now generate recovery codes to unlock your account in the case you’ve lost the ability to login with 2FA. Beware though - as those codes can help access your account, make sure you keep them in a very secure place.</p>
<p><img src="/img/posts/2018-12-02-recovery-codes.png" alt="image" /></p>
<h3>Phone calls</h3>
<p>Phone calls have had a lot of love in this release. First of all, we’ve redesigned the flow to record them. Then we’ve (finally) added the possibility to edit a phone call that was made in the past. And as a bonus, you can now indicate who initiated the call.</p>
<h3>Emotions</h3>
<p>Wouldn’t it be awesome to be able to tell how you felt when something happened, in a very precise manner? Monica 2.11 introduces the notion of emotions, based on the work of <a href="http://changingminds.org/explanations/emotions/basic%20emotions.htm">Dr. Phillip Shaver</a>. In his work, emotions are sorted into 3 main categories:</p>
<ul>
<li>Primary emotions (love, joy, surprise, anger, sadness, and fear),</li>
<li>Secondary emotions (Love -&gt; Affection, Lust, Longing),</li>
<li>Tertiary emotions (Love -&gt; Affection -&gt; Adoration, Love, Fondness, Attraction).</li>
</ul>
<p>We’ve added those concepts in Monica, starting with phone calls. There is a new drop-down menu that lets you choose as many emotions you want, in order to represent very precisely what you felt during a call. We plan to add emotions to other key elements as well, like activities.</p>
<p><img src="/img/posts/2018-12-13-emotions.png" alt="image" /></p>
<h3>Weather</h3>
<p>When you are talking with a friend that lives in another area than you, chances are you will eventually talk about the weather. Monica will help you here, by showing the current weather of the place your friend lives in. This information comes from the first address found on the contact profile page. That also means that if no address is currently set, no weather information will be shown.</p>
<p>Weather data is pulled from Darksky and is refreshed every 6 hours. The only information that is shared with Darksky is the latitude/longitude, and nothing else. For instance owners, Darksky has a free plan that lets you make 1,000 calls per day for free, which should be plenty enough.</p>
<p><img src="/img/posts/2018_12_22_weather.png" alt="image" /></p>
<h3>GPS coordinates</h3>
<p>Speaking of latitude and longitude, we had to find a mechanism to get those two pieces of information for each address entered in Monica if we wanted to display the weather data. Monica 2.11 now has the ability to automatically geocode any address to find their latitude and longitude coordinates.</p>
<p>When you enter an address, and if the service is configured at your instance level, we’ll automatically try to geocode it - unless you provide the latitude/longitude for a given place yourself.</p>
<p>Geocoding is done by LocationIQ, a great and independent company that offers a very generous free plan of 10,000 calls per day for free. We don’t share any information with LocationIQ other than the address in order to fetch coordinates.</p>
<h3>Tasks</h3>
<p>On your dashboard, you can now add tasks that are not linked to any contacts.</p>
<p><img src="/img/posts/2018-11-17-custom-tasks.png" alt="image" /></p>
<h3>Enhancements</h3>
<p>We refactored a lot of how things are written internally. This is to continue our quest of having the most stable platform possible. Also, we've continued to increase the code coverage (i.e. the fact that our code is actually tested automatically). We are now at 66% code coverage for the entire codebase.</p>
<p>We hope you will like 2.11 as much as we do.</p>
]]>
            </summary>
                                    <updated>2018-12-23T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Monica 2.16 and what is next for Monica]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/36</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>It’s been a long time. Actually, it’s been one year since the last blog post. In this post, we'll talk about the new 2.16 release that we just made, what happened during 2019 and what's next for Monica.</p>
<p>Version 2.16 contains 226 changes, most of them being bug fixes or improvements on the codebase. But we also have a bunch of new features, explained below.</p>
<h3>New way of adding activities</h3>
<p>You can now add activities inline, instead of going to a new page to do so. Like the Call feature, you can now indicate the emotions you felt during an activity.</p>
<p><img src="/img/posts/2019-12-31-inline-activities.png" alt="image" /></p>
<h3>Enhance API settings page</h3>
<p>Most of what you can do with Monica can be achieved through the API. It is extremely important for us to let people manipulate their data at will. This is why it was time to enhance the API settings page a little bit, by giving it more love.</p>
<p><img src="/img/posts/2019-12-31-api.png" alt="image" /></p>
<p>Also, we've added <a href="https://github.com/monicahq/monica/pull/3302">many new API methods</a> to continue our openness to other systems.</p>
<h3>Lots of changes under the hood</h3>
<p>We've also completely changed how data is stored by adding foreign keys to every table in the database. While this will have no impact on the end-user experience, it’s pretty major for us developers as it will allow us more control and flexibility overall. This was a huge change for us and the pull requests took almost 11 months to get merged.</p>
<p>We've also completely changed how the export process of data is handled and it should work flawlessly from now on (or as they say: 60% of the time, it works every time).</p>
<h3>What happened in 2019?</h3>
<p>In 2019, we kind of slowed down a little bit in terms of annual releases. Also, the activity on this blog has been nonexistant. However, this didn't affect the number of signups, or the number of downloads, or the love of people on the Internet for this project.</p>
<p>Basically, Monica has never been stronger. We have nearly 5 million downloads of our official docker image. We have tens of thousands of users on <a href="https://app.monicahq.com">our hosted version</a>. Monica keeps popping on <a href="https://news.ycombinator.com/item?id=21850155">Hacker News</a> and <a href="https://github.com/monicahq/monica/issues">our issue tracker on GitHub</a> is as active as ever. Also, we've merged 875 pull requests in 2019.</p>
<p>So why this silence? This is mainly because of me (Regis). I've started Monica almost four years ago now. Having a popular project is a lot of fun, but it also takes a lot of energy and motivation. Especially since Monica is still a side project for both me and Alexis. But this year, Monica was too much for me to handle, and I’m usually the one writing on this blog, or on social media. I had a side-project burnout, if you will. Alexis has taken a lot of work on his shoulders to maintain and evolve the product, but I couldn't work on it as much as before, and I couldn't post any news about the project. I had to do something else, clear my head and come back only when I'd be ready. Now I am, and I’m more than motivated to get back to work and have fun again.</p>
<h3>Monica in 2020</h3>
<p>Four years ago, Monica was one of the first popular personal CRMs. Fast forward to today, and the competition is now bigger than ever (a dozen, last time I checked). But I do believe that we have an advantage that can not be overtaken by our competitors: we are open source, and we have no charges, no costs or almost, and we are not greedy. Everything we do, we do it for the community first. The more Monica instances there are out there, the happier we are: this means we don't have any control over our users' data.</p>
<p>In 2020:</p>
<ul>
<li>We want to continue our work of openness and transparency. That means more ways to export or import data in a standard format.</li>
<li>We want to provide webhooks so external systems can be aware when data changes in your account (if you so desire, of course).</li>
<li>I believe Monica is currently the best tool out there to document your personal contacts. You can log anything, really. Now that we have a very strong foundation, I believe it’s time for us to expand on that. It’s time we let you do something more with your contacts, by creating groups (or families), events, opportunities, etc... We will focus on simple concepts that will be gradually added to the platform, that will provide the most flexibility for you.</li>
</ul>
<p>Monica is a tool for you. Please keep sharing ideas, keep sending me emails about what we should do next. We are here for you.</p>
<p>Also, happy new year 😀</p>
]]>
            </summary>
                                    <updated>2019-12-31T00:00:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Moving away from Stripe with our own customer portal]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/growing" />
            <id>https://www.monicahq.com/37</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>Right now we use Stripe to manage our subscriptions. While we adore Stripe from a developer standpoint, it’s a complete mess to deal with taxes worldwide, especially at the end of the fiscal year. Our accountant hates us.
We need to move to another payment processor which will deal with all the taxes the right way. This payment processor is called <a href="https://paddle.com">Paddle</a>.</p>
<p>There is another reason why we want to change our current approach. Monica is first and foremost an open-source product. We have a huge community. Many of you host Monica on your servers. Because we also host the product ourselves so we can monetize it, we currently have included all the code required to manage subscriptions in the main codebase. That’s a lot of code. We deal with subscribing, editing, and deleting a subscription, with all the permissions around it, and so on. It’s not ideal.</p>
<p>We’ve decided to remove all the billing code from the main codebase, and create a new portal, called the Subscription portal, to manage your Monica subscriptions. You will have to create an account on this website and purchase a license key that you will need to paste into your Monica account. Nothing else is required.</p>
<p>If you currently have a subscription, we’ll allow you to easily transition your account to the new one. Further instructions will follow by email for each one of you.</p>
<p>We plan to transition to this new customer portal in the upcoming weeks.</p>
<p>Like everything we do at Monica, our customer portal is completely open-source and the code is <a href="https://github.com/monicahq/customers">available on Github</a>. And once the customer portal will be live, the main Monica codebase will be completely free of the notion of billing.</p>
]]>
            </summary>
                                    <updated>2022-03-31T17:20:39+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A new Monica is coming]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/38</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p><a href="https://twitter.com/asbin">Alexis</a> and I <a href="https://twitter.com/maazarin">(Regis)</a> have been working for a few months now (well, since January 2022 actually) on a a brand new version of Monica. The actual first new major version since we launched a few years ago.</p>
<p>I’m super tempted to call it a “faster, newer, better version”, because it is, but I’m not good at marketing, so I’ll just say that it’s a new version and I’ll answer the questions you might have below.</p>
<p><strong>What do we mean by new version?</strong></p>
<p>A complete rewrite, from scratch, of Monica.</p>
<p><strong>Are you insane?</strong></p>
<p>Yes, but also, Monica is an old code base now. Old in the sense that it’s 7 years old and it has been touched by hundred of contributors. There are some concepts in the code that we let through, because we either didn’t know any better back then or because we didn’t want to piss off contributors, that we don’t want anymore. The project has way too many dependencies, and maintaining the code has become harder than it was before. Changing something is riskier, and takes more time. Also, we’ve seen how people use Monica, what they want to do with it, and the current code limits us way too much if we want to support what people want to use Monica for. Finally, Monica is still a side project for us. We are extremely passionate about it, and we want to also have fun building it. And the current version wasn’t that fun.</p>
<p><strong>What do you mean by rewrite?</strong></p>
<p>We mean that we’ve started from an empty code base, and we started from there. Previously, it was a Laravel app (so, PHP), with Blade views and some Vue here and there. Now, it’s still a Laravel app (so, still PHP), with Vue 3 entirely. We’ve simplified a lot of stuff, we’ve made some stuff more flexible and therefore a bit more complex, but we believe we can support the future of Monica with it.</p>
<p>This also means we have a brand new data structure, supported by a new database schema.</p>
<p><strong>Will the new version be called Monica?</strong></p>
<p>Right now, the new Monica's code name is Chandler. We won’t keep this name though–the official name of the new Monica will be Monica. For the sake of clarity, we'll call the new version Chandler throughout the rest of the article.</p>
<p><strong>You choose PHP despite &lt;insert new language/framework&gt;?</strong></p>
<p>PHP is a great language. It’s not the PHP 4 or 5 era anymore. Also, it’s a very simple language –this means that there are a lot of people in the world that read and understand PHP. Choosing PHP means it’s easier to contribute to the project, easier to debug, easier to maintain and easier for us to find people to help us, if needs arise in the future. Finally, the PHP ecosystem is just great, with Laravel paving the way for one of the best Developer Experience I know.</p>
<p><strong>What features will Chandler contain?</strong></p>
<p>At launch, we want to match 100% (or almost) the feature set that Monica v1 offers. Even if we match features, we wanted to either simplify them (tasks for instance), or make them more robust (reminders, for example).</p>
<p>Once this is done, we have so many ideas for what Monica should become that it’s overwhelming. Basically, Monica was born as the first personal CRM (or PRM–personal relationship manager) out there. So we branded it that way. But after years of working on it and talking to people and reading the thousands of emails you’ve sent us, we realized that Monica really is a way to document your life, whatever that means for you. So, Monica will be about documenting your life, and giving you tools to help you document it the way you want it.</p>
<p>We read everywhere that products should be opinionated, and have a strong personality so people use your tools the way you want them to use it. This was the direction of v1. Now we want to change that statement. We want people to use and configure Monica the way they want. Who are we to tell you that you should use only 3 pronouns for your contacts, or tell you which relationship types you should have? Chandler will be completely customizable, from what you see in the UI, to the type of data you can enter. Marketing people would say &quot;Chandler is all about you” and it’s true, in a sense. The drawback: from a technical point of view, it’s harder to manage, but this one is on us.</p>
<p><strong>When will it be ready? Can I try it?</strong></p>
<p>It’ll be ready when it’s ready. Remember, we don’t work full time on this, at all. Alexis and I have both demanding day jobs, and we have families, and friends, and Monica (and OfficeLife, as well).</p>
<p>HOWEVER.</p>
<p>We have done a lot already. Some big features that you know and love are still missing from the new version: life events, activities, gifts and CalDav/CardDav, to name a few. Life events, in particular, is really big because we want to completely rethink the concept and make it really useful. Also, and this is a huge “also”, right now, we don’t have an API yet. Since this is a new code base, we can’t simply copy and paste your existing v1 contacts and expect them to show in v2. So, if we were to release something now, you couldn’t import your data. And we think this is a problem.</p>
<p>THAT BEING SAID.</p>
<p>We still need testers to help us find bugs, even though we don’t do bugs here (lol). We need people to help fix docs spelling errors. So what we could do, is launch Chandler in a very alpha state, free for all until it’s not alpha anymore.</p>
<p><strong>Is it still open source? Can I use it for free?</strong></p>
<p>Yes, it’s still open source, with the same license as before. That means Monica is free, of course, unless you use the version that we host, that eventually will cost something, like the current version. Yes, you can install it wherever you like, on your own server. Since Chandler is not the same code base, we haven’t the same rich ecosystem that we had before and all those many different ways to install it everywhere, but we’ll get there. Yes, you can still contribute to the code, fix bugs, add features – even though we still have the right to refuse your pull requests if we think we don’t want to support what you want us to support.</p>
<p><strong>What is the future of Monica v1?</strong></p>
<p>We’ll support v1 until Chandler is out of alpha/beta. Then, it’ll be deprecated but people who have hosted it will be able to continue use it if they want. The v1 version we host ourselves will not be supported after this.</p>
<p><strong>Can you contribute to the code base already?</strong></p>
<p>The repository is already <a href="https://github.com/monicahq/chandler">available on Github</a>, but we are far from being as mature as the current main repo. That means we are not yet ready to support contributions from everyone, as things change almost every day, but if you accept this, go ahead.</p>
<p><strong>What's next?</strong></p>
<p>First of all, thank you so much for having read this blog post entirely. We are super grateful for our community, how you are still passionate about this little tool that we have fun building. Alexis and I are still super motivated about this tool, and we thank you for caring with us. We'll keep in touch.</p>
]]>
            </summary>
                                    <updated>2022-08-28T20:44:00+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Chandler is in beta]]></title>
            <link rel="alternate" href="https://www.monicahq.com/blog/category/new-feature" />
            <id>https://www.monicahq.com/39</id>
            <author>
                <name><![CDATA[Regis Freyd]]></name>
            </author>
            <summary type="html">
                <![CDATA[<p>We are delighted to announce that after 18 months of hard work, our new version, codename Chandler, is now available in beta: <a href="https://beta.monicahq.com">https://beta.monicahq.com</a></p>
<p>Monica was born 7 years ago with the goal of being a personal CRM. This new version is about documenting your life, including what your contacts are doing, but not only.</p>
<p>What does beta mean? It's like having a bunch of mischievous little bugs hiding in our software, playing hide-and-seek with us. We're pretty sure they're there, but we have no idea which ones or where they're hiding! So, we need all the brave souls out there to join our bug-hunting squad and help us flush them out before we release it to the public.</p>
<p>Chandler is a complete reimagining of Monica, built from the ground up. We eliminated the extensive technical debt we had accrued over the years and added or improved many new features. Despite the fact that we did not promote Chandler, we’ve had a lot of users who tested Chandler already and found some bugs that we’ve fixed, but we haven’t tested this software at scale. So please, create an account, and have fun.</p>
<p>The version available on the beta server can be considered stable. We will not reset the database. We’ll backup your data daily, and we will keep the data once we’ll launch the final version officially.</p>
<p>Chandler comes with some limitations:</p>
<ul>
<li>You can’t use your current Monica login,</li>
<li>You can’t import your data,</li>
<li>There is no mass import of contacts available,</li>
<li>We don’t have an API yet.</li>
</ul>
<p>We have plenty of new features, a new layout, and the highly requested dark mode.</p>
<p>On a personal note, the feature I’m most proud of is the ability to customize almost everything in Chandler: from the layout, to the modules you can enable, to the data you can enter about your life.</p>
<p>Chandler is still open source and can be installed on your server for free, if you know how to use Docker or the command line. You can still modify the code if you so desire. Monica is, and always will be, open source. This is the way.</p>
<p>For now, Monica is free on our hosted instance (<a href="https://beta.monicahq.com">https://beta.monicahq.com</a>), but we will have the same pricing as the current version as soon as we consider the product stable.</p>
<p>I'm incredibly proud of what we've achieved in the past eight years. Back then, I was scared to make my code public because I knew it was of poor quality. Surprisingly, people didn't seem to care. Now, our codebase is still open to the public, and we're no longer concerned about people judging it. The app is still a Laravel application, with VueJS on the front end, using InertiaJS between the front and the back. It’s a super simple stack. We strive to keep our codebase as simple as possible to facilitate maintenance, evolution, and finding developers to assist us.</p>
<p>We will soon migrate our official Docker image to Chandler. We have had over 25 million downloads of the image, which makes us humble.</p>
<p>On behalf of the entire Monica team, thanks for sticking with us all this time. The « entire Monica team » is basically two friends, Alexis and I, who are really passionate about providing cool tools for people to improve their lives. Monica is still a side project for us, we have full time jobs « on the side ». While some people play computer games or watch Netflix, we « play » in Monica’s codebase. And we love it.</p>
]]>
            </summary>
                                    <updated>2023-06-08T07:29:00+00:00</updated>
        </entry>
    </feed>
