Monica 1.0.0 with API, introductions and deceased contacts

Monica is finally ready for v1.0.0.

We try to follow the SemVer approach 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.

API

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.

Nothing can help developers jump in a project more than a good documentation. This is why we’ve also released a new documentation portal 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.

API

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.

How you’ve met someone (aka Introductions)

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.

introductions

Mark a contact as deceased

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.

mark a contact as deceased

Speed up the Add contacts screen

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.

Big changes under the hood

For v1.0.0, we’ve upgraded the codebase to Laravel 5.5, in order to take advantage of the great Resources functionality introduced in this version for our API.

Thanks to @mauricew, 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.

Final words

Version 1.0.0 is already in production, and as always, you can install it on a server that you own.

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.

Enjoy!

Status - September 2017

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.

What the hell am I doing right now

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.

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.

What’s next

In the coming days, a first draft of the API will be released - with new methods added after that.

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.

I’m sure this project has an enormous potential. If you are a current user, I’m still looking for feedback and testimonials. Thanks for your help!

Monica 0.6.3 with better contact management and markdown support

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.

How does it work

When you add a significant other or a kid, you now have access to two new things:

  • 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 “real” 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.

create complete contact

  • Instead of creating a new contact, you can simply link an existing contact to be a kid or a significant other of this contact.

create complete contact

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.

Other important changes in this release

  • For the ones who like polygamy, you can have more than one significant other per contact.
  • New translations added: Italian, German. Thank you to the community for this.
  • Add support for Markdown on the Notes and the Log calls. This will let you use lists, for instance.
  • We now support all the currencies in the world.
  • A lot of bug fixes as well as some security bugfixes.
  • We’ve started to use Tachyons as a new CSS framework. This will gradually replace Bootstrap.

Final words

Version 0.6.3 is already in production, and as always, you can install it on a server that you own.

Enjoy!

Monica 0.5.0 with version tracking and search

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.

How does this work

In short, your Monica instance will send a daily ping to https://version.monicahq.com. The ping contains three information:

  • a UUID: the unique, anonymous identifier of your instance.
  • the current version of your instance
  • the number of contacts in your instance.

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.

The code of https://version.monicahq.com is open-source, stored on GitHub like everything we do.

In return of this call, you will get a JSON with:

  • if a new version is available as a boolean,
  • what is the latest version available,
  • all the release notes for each release that has been made since the version of the ping,
  • the number of versions available since the version of the ping.

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.

footer

How to disable this feature

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 https://version.monicahq.com, simply add the following to your .env file:

  • CHECK_VERSION=false

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.

Search your contacts

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:

  • First and last name
  • Email
  • Street
  • City
  • Postal code
  • Province
  • Food preferencies
  • Job
  • Company

Searches should be pretty fast too. We are super excited about this feature.

(footer

Final words

Version 0.5.0 is already in production, and as always, you can install it on a server that you own.

Enjoy!

Monica 0.4.0 with phone calls

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.

Default blank screen

Contact view

Contact list filter

Version 0.4.0 is already in production, and as always, you can install it on a server that you own.

Enjoy!

Monica 0.3.0 with tags

Only 5 days since v0.2.0 and yet another big release. So big that it required a new version for this.

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.

Default blank screen

Tags can be entered right below the contact name.

Contact view

Once contacts have tags, you can see them on the contact list, and click on them to filter the list.

Contact list filter

Finally, you can delete tags either on the contact view, or in a new Settings panel created for this purpose.

Settings

Version 0.3.0 is already in production, and as always, you can install it on a server that you own.

Enjoy!

Monica 0.2.0 with vCard import

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.

Default import report

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.

Default import dashboard

You can click on a specific import to see what happened.

Default import dashboard

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.

Version 0.2.0 is already in production, and as always, you can install it on a server that you own.

Enjoy!

Introducing multi-user support

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.

To address this use case, we are introducing the support for multiple users in a single account.

Image representing the multi user support

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.

You’ll find user management when you click on the Settings tab in your account.

Subscriptions

This feature is the first paid feature. The paid plan is called Chandler and costs USD $10 per month. This plan is only available on https://monicahq.com and does not affect self hosted installations. If you host Monica on your own server, you have access to paid features for free.

Take a look at the pull request to know more about this.