In the past two months we've shipped a bunch of useful new features and we've been too silent about it.
Here are some of the most important changes:
- 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.
- Debts across all your contacts are now showed on the dashboard.
- 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.
- We've improved the import of contacts through CSV. The process should work better now.
- We've added a new kind of relationship between contact: ex-wife/husband.
- There is a new filter in the contact list that lets you see contacts who are not associated with a tag.
- We finally support nicknames for your contacts! You can also choose how you want to display the names in your account.
- Add Yubikey support - this is another security feature for those who want an extra layer of protection.
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.
All this to say that we will try to focus on quality in general.
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).
I receive emails asking for a mobile application almost every single day since the public launch in June 2017.
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.
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.
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,...).
And six months later we are proud to announce that the first version of the mobile application is available on iOS and Android.
There is one caveat though: this first version is read-only. 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).
Apart from this, this mobile app has everything you come to expect from us:
- A simple and friendly user interface.
- You can connect to our hosted version of Monica, or login to your own instance.
- 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.
- Open source means you can build and run the mobile application without having to go through the official Apple and Google stores - which is kind of amazing, in my opinion.
- We don't display ads, we don't resell your data.
- We don't have any tracking whatsoever in our code.
- The app is free. No strings attached.
How can you help?
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.
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).
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.
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.
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.
Version 2.1.0 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.
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).
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).
Redesign of relationships
Monica has always let you link contacts together. However this relation was limited to parent->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.
We've also tried to respect genders when we can. For instance, if contacts are women, we'll say "aunt" instead of "uncle", 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.
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.
Ability to define which feature you want to activate on a contact sheet
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.
Journal entry date
You can now specify a date for a journal entry - allowing you to have more control over your journal.
Right to left languages
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.
Markdown in activity comments
Markdown is a fantastic formatting tool. We were using it on a Call note, now we also use it in an activity's comment.
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.
Version 2.0.0 is already available as a download, and is live on our hosted version.
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.
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.
Those notifications can be disabled in your Settings panel, under Personalization.
Notifications only affect monthly and yearly reminders, not weekly.
Cherry on the cake: you also now have the possibility to define the hour in the day you want to receive the reminder emails.
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.
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.
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 https://crowdin.com/project/monicahq and will ask you to create an account if you want to contribute. Don't hesitate to create an issue if you want to translate a language that we don't support yet.
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.
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.
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.
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 release notes page.
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.
Launch the mobile application. 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 already on GitHub, and is 100% open source (obviously).
GraphQL support: 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.
Support for Carddav and Caldav. 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.
More love to reminders, with the possibility to be warned before an event actually happens.
Provide statistics about your social life: 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.
A calendar view that shows reminders, future events,…
The concept of “rich” activity sheets: 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.
The journal should become the place where your life is auto documented. This will be great once we’ll have rich activity sheets.
Stabilize the platform, add a lot of tests to make sure we don't break things as we move forward.
- If I have the time, but only if I do: make the app prettier. However I believe it’s more important to have a functional application than a good looking one.
- And last but not least: add more ways of importing data. 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.
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.
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.
This is why we have added the ability to set a date without knowing the year.
This change applies to birthdates, first met dates and deceased dates. Reminders for those dates will work the same way as before.
This feature was one of the most requested features in our issue tracker. We hope it will help you add more information about your friends and family members.