Monica v3 komt voor het eind van 2026. Opnieuw opgebouwd. Nog steeds open source. Bekijk wat eraan komt
Monica

Blog

Aantekeningen over het bouwen van Monica, het privé houden van persoonlijke gegevens en de kleine mechaniek van contact houden.

Pagina 2 van 4

3 min lezen
Monica 2.4.0
Regis Freyd

De afgelopen twee maanden hebben we een hoop nuttige nieuwe functies uitgebracht en daar veel te weinig over verteld.

Hier volgen enkele van de belangrijkste wijzigingen:

  • Geen automatische verjaardagsherinnering meer bij het bewerken van een contact: daar ergerden veel gebruikers zich aan. Vanaf nu maken we niet meer automatisch een herinnering aan als je bij het toevoegen of bewerken van een contact een geboortedatum invult.
  • Schulden bij al je contacten worden nu op het dashboard getoond.
  • We voldoen nu aan de AVG. Die nieuwe Europese wet verplicht ons je e-mailadres bij de aanmelding te bevestigen. Ik wilde dat vermijden, maar juridisch hebben we geen keus.
  • We hebben het importeren van contacten via CSV verbeterd. Dat zou nu beter moeten gaan.
  • We hebben een nieuw soort relatie tussen contacten toegevoegd: ex-partner.
  • Er is een nieuw filter in de contactenlijst waarmee je contacten zonder label kunt zien.
  • We ondersteunen eindelijk bijnamen voor je contacten. Je kunt ook kiezen hoe je namen in je account wilt weergeven.
  • Ondersteuning voor Yubikey toegevoegd, nog een beveiligingsfunctie voor wie een extra laag bescherming wil.

Verder is het inmiddels meer dan een jaar geleden dat Monica op Hacker News werd gelanceerd. De groei is behoorlijk ongelooflijk geweest, vooral wat de gemeenschap op GitHub betreft. We hebben nu meer dan 110 bijdragers die aan Monica meebouwen, wat prachtig is. Daar zit wel een keerzijde aan: we hebben veel nieuwe functies uitgebracht, en door dat tempo zijn we de laatste maanden niet zorgvuldig genoeg geweest. Monica is niet zo stabiel als het zou moeten zijn. Niets dramatisch of kritieks, maar in de laatste twee releases zaten domme fouten die we hadden kunnen voorkomen, en we gaan maatregelen nemen om de kans te verkleinen dat dat opnieuw gebeurt. Foutloze releases zijn extra belangrijk omdat Monica nog steeds een project naast mijn werk is, en het ergste wat er kan gebeuren is dat je op je werk merkt dat er iets flink mis is op het platform en moet wachten tot je tijd hebt om het echt op te lossen en naar productie te brengen (meestal als we thuiskomen en met de kinderen bezig zijn). Geloof me, dat is niet het soort zorgen dat je dagelijks wilt hebben.

Dit alles om te zeggen dat we ons in het algemeen op kwaliteit gaan richten.

Blijf je feedback alsjeblieft per e-mail of via een issue op GitHub sturen. We lezen elk bericht en je mening is belangrijk voor ons (echt waar).

3 min lezen
De mobiele applicatie is er
Regis Freyd

Sinds de openbare lancering in juni 2017 krijg ik bijna elke dag mails met de vraag om een mobiele applicatie.

Ik begrijp dat wel. Een mobiele app voor Monica is heel logisch. Je wilt de informatie meteen bij de hand hebben, waar je ook bent, op het juiste moment. Niet pas als je thuis achter je computer zit.

We zijn 6 maanden geleden aan de mobiele applicatie begonnen. Dat is lang. Toch denk ik dat de meeste mensen zich niet realiseren hoeveel werk er nodig is om een mobiele applicatie uit te brengen. Zeker als 99,9% van de code door één persoon wordt gemaakt (de geweldige @mokto). Die een dagelijkse baan heeft. En er niet voor betaald wordt.

In die maanden hebben we veel moeite gestoken in alles wat de mobiele applicatie nodig zou hebben. De API is flink veranderd om bepaalde functies mogelijk te maken. We hebben de backend gestabiliseerd om te zorgen dat het foutloos werkt. We hebben ook veel tijd besteed aan het goed inrichten van de repository van de mobiele app op GitHub, zodat we in de toekomst sneller kunnen werken (denk aan een goede CI, unittests, automatisch publiceren in de winkels, enzovoort).

En zes maanden later zijn we er trots op te kunnen melden dat de eerste versie van de mobiele applicatie beschikbaar is voor iOS en Android.

De mobiele applicatie van Monica op drie telefoons: het profiel van een contact, de lege contactenlijst en het activiteitenscherm.

Er is wel één kanttekening: deze eerste versie is alleen-lezen. Dat betekent dat je niets kunt toevoegen of bewerken. We willen een goede applicatie, maar we willen rustig te werk gaan en zeker weten dat het goed werkt. Zodra we er vertrouwen in hebben dat deze versie voor iedereen werkt, voegen we functies toe waarmee je je gegevens volledig kunt bewerken (tip: we zijn al aan een nieuwe versie begonnen).

Verder heeft deze mobiele app alles wat je van ons gewend bent:

  • Een eenvoudige, vriendelijke interface.
  • Je kunt verbinden met onze gehoste versie van Monica, of inloggen op je eigen installatie.
  • De code is open source. Je kunt de code lezen, issues insturen en aan de code bijdragen. Alles wat we doen is open en doorzichtig, en wij geloven dat alleen samenwerking tot het beste product leidt.
  • Open source betekent dat je de mobiele applicatie kunt bouwen en draaien zonder langs de officiële winkels van Apple en Google te gaan, wat ik nogal bijzonder vind.
  • We tonen geen advertenties en verkopen je gegevens niet door.
  • Er zit geen enkele vorm van tracking in onze code.
  • De app is gratis. Zonder addertjes.

Hoe kun je helpen?

We hebben vooral mensen nodig die de applicatie willen testen en ons willen laten weten of er fouten in zitten. Ook horen we graag wat we hierna zouden moeten bouwen, of hoe we de app beter kunnen maken (qua gebruikerservaring of qua indeling).

Wat komt er hierna?

De komende dagen verbeteren we de documentatie in de officiële repository op GitHub, zodat ontwikkelaars die willen helpen heel makkelijk kunnen aanhaken.

De komende maanden voegen we de mogelijkheid toe je gegevens binnen de mobiele applicatie te bewerken. Het uiteindelijke doel is dat alles wat je op het web kunt doen ook op mobiel kan (behalve je gegevens exporteren, want hoe bewaar je op iOS een bestand...). Daarom bouwen we functies nu eerst in de API en daarna in de interface (zowel web als mobiel).

Tot slot: ik ben erg trots op wat we tot nu toe hebben bereikt, en nog trotser op de gemeenschap die ons elke dag helpt. Jullie feedback en hulp maken Monica mogelijk.

1 min lezen
Blijf in contact met de mensen van wie je houdt
Regis Freyd

Er zijn mensen in je leven die extra belangrijk zijn en over wie je niets wilt missen. Met de nieuwe functie Contact houden krijg je met een door jou gekozen tussenpoos een seintje over een specifiek persoon.

Het profiel van een contact met de link 'contact houden' onder de naam.

De functie stuurt om de zoveel dagen een e-mail. Die staat los van wanneer je voor het laatst contact hebt gehad of een activiteit hebt genoteerd.

Versie 2.1.0 brengt ook ondersteuning voor markdown in het dagboek en in notities. We hebben daarnaast veel fouten opgelost en verder gewerkt aan onze Docker- en Vagrant-images.

Bedankt voor alle e-mails die je stuurt en de issues die je op GitHub aanmaakt. Dat helpt enorm om te weten waar we hierna aan zouden moeten werken (al hebben we wel een goed idee van wat we willen doen).

3 min lezen
Monica 2.0.0 met betere relaties
Regis Freyd

Vorige week hebben we een grote nieuwe versie uitgebracht. Zo groot zelfs dat we het versienummer naar 2.0.0 moesten tillen. Hier volgt een lijst met de belangrijkste wijzigingen in deze release (lees de volledige changelog voor alles wat er veranderd is).

Relaties opnieuw ontworpen

Met Monica kon je contacten altijd al aan elkaar koppelen. Maar die relatie was beperkt tot ouder-kindrelaties of liefdesrelaties. Dat was niet het meest flexibele systeem. Vanaf nu kun je contacten koppelen met allerlei soorten relaties, zoals oom/neef, collega, mentor/leerling, enzovoort. De volledige lijst met mogelijke relaties staat hier.

We hebben ook geprobeerd genders te respecteren waar dat kan. Zijn de contacten vrouwen, dan zeggen we "tante" in plaats van "oom", enzovoort. Dat is wel een echte uitdaging bij contacten met een eigen gender. Dat geval ondersteunen we nog niet, maar we werken aan een goede oplossing.

Dit was de grootste verandering die we ooit in Monica hebben doorgevoerd. Ondanks een uitgebreide testperiode liepen we bij het uitrollen van deze functie tegen wat hobbels aan, en ik hoop dat het nu stabieler is.

Zelf bepalen welke functies je op een contact wilt gebruiken

We hebben nu een optie om aan te passen welke functies je bij je contacten wilt gebruiken. Op het tabblad Personalisatie in de instellingen kun je de functies aan- en uitzetten die je belangrijk vindt. Wil je het onderdeel Cadeaus bijvoorbeeld niet zien, dan kun je het nu verbergen.

Datum bij een dagboeknotitie

Je kunt nu een datum bij een dagboeknotitie opgeven, waarmee je meer grip op je dagboek krijgt.

Talen die van rechts naar links lopen

We ondersteunen nu talen die van rechts naar links lopen, te beginnen met Hebreeuws. We willen onze geweldige gemeenschap van vertalers bedanken voor het mogelijk maken hiervan en voor hun bijdragen aan het vertaalproces in het algemeen.

Markdown in opmerkingen bij activiteiten

Markdown is een fantastisch hulpmiddel om tekst op te maken. We gebruikten het al bij notities van gesprekken, nu ook in de opmerkingen bij een activiteit.

Tot slot

We hebben veel geluk met de mooie gemeenschap rond dit project. Ik wil elke bijdrager bedanken (het zijn er inmiddels meer dan 100) die aan de code heeft meegewerkt, elke vertaler voor de waanzinnige inspanning om de duizenden woorden in de app te vertalen, en elke abonnee en donateur voor hun financiële bijdrage. Alles helpt. In een wereld die eindelijk beseft hoezeer grote socialemediaplatforms de privacy van gebruikers aantasten en de relaties tussen mensen beïnvloeden, hebben we onafhankelijke, open source projecten als Monica nodig om ons vertrouwen te herstellen in hoe mooi menselijke relaties kunnen zijn.

Versie 2.0.0 is al te downloaden en draait op onze gehoste versie.

2 min lezen
Over te veel instellingen
Regis Freyd

In de loop van de tijd hebben we steeds meer instellingen aan Monica toegevoegd. Dat druist in tegen waar ik in geloof en tegen iets wat ik jarenlang heb geprobeerd te vermijden: vervuil je software niet met een eindeloze reeks instellingen en aanpassingsmogelijkheden.

Een product moet een eigen mening hebben en zijn eigen visie volgen, ook al schrikt dat sommige mogelijke gebruikers af. Waarom zouden mensen zich aanmelden voor je product als het geen eigen stem of eigen manier van doen heeft? Mijn visie omvat een eenvoudig, krachtig product met zo weinig mogelijk instellingen.

Hoe komen we dan in vredesnaam aan een tabblad Personalisatie onder Instellingen?

Ik wil personalisatie toestaan voor dingen die ik zelf niet kan bepalen of beslissen. Monica is geen zakelijk hulpmiddel. Het hoort het echte leven van mensen te weerspiegelen en zich aan ieders unieke situatie aan te passen. Een van de fouten die ik vroeg maakte ging bijvoorbeeld over gender: in het begin stond ik maar twee genders toe, man en vrouw. Dat was mijn eigen werkelijkheid, maar niet die van heel veel andere mensen. In plaats van voor mijn gebruikers te beslissen, hebben we de vrijheid toegevoegd om je eigen genders vast te leggen, passend bij jouw werkelijkheid en niet bij de onze. Dat wil ik doen voor elk begrip dat belangrijke kanten van ons leven weergeeft.

Let wel: instellingen gaan niet over het aantal elementen per pagina of dat soort onbelangrijke details. Die doen er gewoon niet toe.

Ik hoop dat dit iets duidelijker maakt welke kant we met personalisatie in het algemeen op gaan.

1 min lezen
Onze eerste prijs
Regis Freyd

We hebben onze eerste prijs ontvangen: Open Source Rookie of the Year 2018, een onderscheiding voor de meest vernieuwende en invloedrijke open source projecten die elk jaar van start gaan. Het is mooi dat Monica erkenning krijgt, maar die erkenning is ook voor de gemeenschap. Dankzij jullie, de gemeenschap, staan we hier vandaag. Jullie zijn de drijvende kracht achter dit project, de reden dat we het bouwen, en jullie helpen bepalen wat we hierna zouden moeten maken. Ik ben er trots op deel uit te maken van dit avontuur. Laten we er een mooi verhaal van maken.

4 min lezen
Over productontwerp
Regis Freyd

Een tijd geleden plaatste ik deze formule:

Goed productontwerp: waarde voor gebruikers > gebruiksgemak > snelheid > vormgeving

Ik leg graag uit hoe ik daarbij kom.

Wat is productontwerp? Het is de combinatie van wat een product doet en hoe het dat doet.

Productontwerpers hebben meer verantwoordelijkheid dan alleen kiezen hoe dingen eruitzien of zich gedragen. Zij bouwen de manier waarop gebruikers met het product omgaan. Om hun werk goed te doen moeten ze met een groot aantal criteria rekening houden. Toch is het de moeite waard je af te vragen welke criteria voorrang zouden moeten krijgen in het ontwerpproces, als je je niet het hele spectrum van goed productontwerp kunt veroorloven.

Het belangrijkste wat een product (of functie) moet doen is waarde brengen voor de gebruiker. Al het andere komt daarna. Je product mag traag zijn, lelijk, lastig te gebruiken, vol fouten: als je werk gebruikers helpt een specifiek probleem op te lossen waar ze onder lijden, verdragen ze alles om het te kunnen gebruiken. Datzelfde geldt niet voor een prachtig product dat geen waarde brengt: dat gebruikt niemand.

Zodra je zeker weet dat het product of de functie waarde brengt, kun je je energie richten op een goede gebruikerservaring. Dat betekent niet dat het mooi of zelfs maar aardig moet zijn. Alleen echt eenvoudig in gebruik, of echt makkelijk te begrijpen. Gebruikers komen naar je product omdat je ze iets hebt beloofd, en dat komt neer op hun leven makkelijker of hun werk eenvoudiger maken. Ze willen zo snel mogelijk van je oplossing profiteren en waarderen je product minder als ze niet op een eenvoudige manier kunnen doen wat je van ze vraagt, of als het zo ingewikkeld is dat ze zich er dom door voelen.

Zodra je product genoeg waarde brengt en eenvoudig in gebruik is, wil je je op snelheid richten. Goede producten zijn snel. Ze verspillen de kostbare tijd van hun gebruikers niet. Hoe sneller een product is, hoe meer vertrouwen je erin hebt. De meeste teams waarmee ik heb gewerkt vinden een functie af zodra de code klaar is en de kwaliteitscontrole is doorstaan. Maar een functie zou niet af mogen heten als hij niet zo snel is als hij kan zijn. Je product is de som van je functies. Introduceer je hier en daar trage functies, dan lijdt het geheel daar uiteindelijk onder. Gebruikers waarderen trage producten minder.

Zodra een product genoeg waarde brengt, makkelijk te gebruiken is en snel is, kun je het mooi maken, als je tijd overhoudt of genoeg geld hebt om je dat te veroorloven. Maar noodzakelijk is het niet. Ik zou zelfs zover willen gaan te zeggen dat als iets genoeg waarde brengt voor de gebruiker, de vormgeving er niet toe doet. Hoe dingen eruitzien is de kers op de taart. Vormgeving op zichzelf zou niet je belangrijkste onderscheid moeten zijn. Het helpt je product een beetje te onderscheiden van de concurrentie als je succesvol wordt en veel navolgers precies doen wat jij doet, precies zoals jij het doet. Dat gezegd hebbende: als je belangrijkste onderscheid alleen een kwestie van vormgeving is, heb je eerst andere problemen op te lossen. Vormgeving is een mode die vaak en snel verandert. Wat vandaag mooi wordt gevonden, wordt morgen minder gewaardeerd, gewoon omdat het zo gaat.

Ik gebruik Monica elke dag. En elke dag zou ik willen dat het een betere vormgeving had, een betere gebruikerservaring, en dat het sneller was. Maar ik geef die aspecten totaal geen voorrang, en hoezeer me dat ook pijn doet, ik maak liever eerst en vooral zoveel mogelijk waarde. Als Monica op een punt komt waarop we ons de tijd kunnen veroorloven om dingen mooier te maken, betekent dat dat we een product hebben gemaakt dat enorme waarde brengt, dat uiterst eenvoudig te gebruiken is en voor iedereen snel genoeg. Zover zijn we nog niet.

Kortom: wat zou je willen dat je gebruikers over je werk zeggen? Is dat "Oké, het is niet mooi, maar het is zo nuttig dat ik dat niet erg vind", of "Oké, het is prachtig, maar ik zie niet in waarom dit product bestaat".

1 min lezen
Meldingen vooraf
Regis Freyd

Herinneringen zijn een handige en populaire functie in Monica. Tot vandaag werden ze verstuurd op de dag zelf. Was je van plan een cadeau te kopen voor je vriend die vandaag jarig is, dan was het te laat om er nog een te vinden en te kopen. Vanaf nu word je enige tijd van tevoren gewaarschuwd dat er iets aankomt. Dat noemen we een melding, oftewel een herinnering aan een herinnering.

Standaard worden meldingen 30 dagen voor de gebeurtenis verstuurd, dan 7 dagen ervoor, en dan op de dag zelf. Zo heb je ruim de tijd om te plannen wat er ook aankomt.

Die meldingen kun je uitschakelen in je instellingen, onder Personalisatie.

De instellingen voor herinneringen, met de meldingen 7 en 30 dagen vooraf allebei aangezet.

Meldingen gelden alleen voor maandelijkse en jaarlijkse herinneringen, niet voor wekelijkse.

De kers op de taart: je kunt nu ook instellen op welk tijdstip van de dag je de herinneringsmails wilt ontvangen.

De accountvoorkeuren, met daarbij het tijdstip waarop de herinneringsmails worden verstuurd.

Deze nieuwe functies staan al in productie, en komen beschikbaar in v1.8.1, die over een paar dagen uitkomt, mocht je Monica op een eigen server draaien.

1 min lezen
Vertalen is net een stuk makkelijker geworden
Regis Freyd

Vertalingen onderhouden is echt een crime. Ik moet het project nog tegenkomen waar het een eenvoudig en pijnloos proces is. Tot nu toe moest je om Monica te vertalen de repository klonen, het taalbestand bijwerken en het resultaat als pull request insturen. Dat is voorbij.

Dankzij Crowdin en hun genereuze programma voor open source projecten kun je nu een heel eenvoudig hulpmiddel gebruiken om Monica in de taal van je keuze te vertalen. Het project staat op https://crowdin.com/project/monicahq en vraagt je een account aan te maken als je wilt bijdragen. Aarzel niet een issue aan te maken als je een taal wilt vertalen die we nog niet ondersteunen.

Het Crowdin-project van Monica, met per taal hoe ver de vertaling is.

1 min lezen
Eigen genders instellen
Regis Freyd

Toen ik Monica vorig jaar lanceerde, besefte ik niet dat slechts twee genders (man en vrouw) om contacten mee aan te duiden niet genoeg was. We hebben over dat ene punt veel feedback gekregen. De werkelijkheid is dat gender geen keuze uit twee is. Monica moet de werkelijkheid weergeven, en die is ingewikkelder dan ik oorspronkelijk dacht.

Daarom introduceren we eigen genders. Standaard begint elk account nog steeds met drie genders (man, vrouw en anders), maar nu kun je die lijst aanpassen en naar believen genders toevoegen of verwijderen. Jij bepaalt welk gender mensen krijgen. We moeten oppassen dat we niet te veel keuzes aan Monica toevoegen, maar dit is een geval waarin jij, de gebruiker, moet bepalen hoe jouw werkelijkheid eruitziet.

Het instellingenscherm met de genders in het account, elk met het aantal contacten dat het gebruikt.

11 tot 20 van 40 berichten