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 3 van 4

1 min lezen
Een cadeau als gegeven markeren
Regis Freyd

Monica kan cadeaus bijhouden die bij een contact horen. Zo onthoud je makkelijk cadeau-ideeën voor je beste vriend, of cadeaus die je dat jaar van je oma hebt gekregen. Nu kun je een cadeau-idee markeren als gegeven. Het onderdeel is licht opnieuw ontworpen om die nieuwe mogelijkheid te laten zien.

Het cadeaupaneel bij een contact, met cadeau-ideeën en per idee een link om het als gegeven te markeren.

Er zijn onlangs veel andere kleinere dingen bij gekomen. Die behandelen we in volgende berichten, maar je kunt alle wijzigingen in Monica altijd nalezen op de pagina met releasenotes.

3 min lezen
Monica in 2018
Regis Freyd

Als je elke dag aan iets werkt, neem je niet vaak de tijd om naar het grotere geheel te kijken. Ik wil niet uit het oog verliezen wat ik met Monica wil bereiken, dus hier staat wat ik in 2018 zou willen doen. Dit bericht is geen roadmap. Zie het als mijn eigen verlanglijstje.

  • De mobiele applicatie lanceren. Het werk is al begonnen en we zijn dicht bij een v1 die de komende weken zou moeten verschijnen. De eerste versie is alleen-lezen, in v2 kun je gegevens bewerken. De code van de mobiele applicatie staat al op GitHub en is (uiteraard) 100% open source.
  • Ondersteuning voor GraphQL: we hebben al een REST-API die v1 van de mobiele applicatie gaat gebruiken. Als we echt een goede mobiele applicatie willen, moeten alle verzoeken aan de API efficiënt zijn, en GraphQL is daar de beste oplossing voor.
  • Ondersteuning voor CardDAV en CalDAV. Ik denk dat Monica daar op de lange termijn het meest bij wint. Met die twee protocollen kun je je contacten en agenda-items synchroniseren met je bestaande mail- en agenda-apps op mobiel of desktop. Monica zou daarmee de centrale bron van je sociale gegevens worden.
  • Meer aandacht voor herinneringen, met de mogelijkheid gewaarschuwd te worden voordat een gebeurtenis plaatsvindt.
  • Statistieken over je sociale leven: hoe vaak je in een bepaalde maand bent uitgegaan, wie je het meest ziet, waar je het vaakst afspreekt, enzovoort. Hoe meer gegevens je Monica geeft, hoe meer inzicht je krijgt.
  • Een agendaweergave die herinneringen, komende gebeurtenissen enzovoort toont.
  • Het idee van "rijke" activiteitenfiches: geef je bijvoorbeeld aan dat je in een restaurant bent geweest, dan kun je invullen waar dat was (met automatische plaatsing op een kaart), wat je hebt gegeten, hoe lang het duurde, enzovoort. Elk type activiteit zou eigen informatie krijgen om in te vullen.
  • Het dagboek zou de plek moeten worden waar je leven zich vanzelf documenteert. Dat wordt mooi zodra we rijke activiteitenfiches hebben.
  • Het platform stabiliseren, met veel extra tests zodat we onderweg niets kapotmaken.
  • Als ik de tijd heb, maar alleen dan: de app mooier maken. Toch vind ik een werkende applicatie belangrijker dan een mooie.
  • En tot slot: meer manieren om gegevens te importeren. Dat wordt echt een crime, want de meeste sociale netwerken en systemen zijn verrassend genoeg niet open source en geven je de gegevens die ze over je hebben niet terug.

Ik hoop dit jaar alle punten hierboven af te ronden. Ik weet ook dat dingen om allerlei redenen voortdurend veranderen, dus neem het met een korrel zout.

2 min lezen
Wees niet slimmer dan ik
Regis Freyd

De meeste sites gebruiken tegenwoordig alle gegevens die ze verzamelen. Amazon beveelt me andere artikelen aan die ik leuk zou kunnen vinden op basis van wat ik al heb gekocht of bekeken. Twitter, Instagram en Facebook proberen nieuwe vrienden of inhoud voor te stellen die me zou kunnen bevallen.

Dat een webwinkel alles wat hij over me weet gebruikt om me te helpen betere dingen voor mezelf te kopen, is nog te begrijpen. Maar dat sociale netwerken dat voor me doen, vind ik uiterst verontrustend.

Alles wat sociaal is, is veel te persoonlijk voor bedrijven om zich mee te bemoeien. Ze hebben niet alle kaarten in handen om te bepalen wat die aanbevelingen met me doen. Bovendien denken ze te weten wat we willen, maar in mijn ervaring zitten ze er heel vaak naast.

De trend is tegenwoordig gebruikers te helpen door al het werk voor ze te doen, ook al het werk waarvan ze nooit hebben gevraagd of de site het wilde doen.

Op Twitter wil ik niet weten welke inhoud andere gebruikers leuk hebben gevonden.

Op Facebook wil ik geen suggesties krijgen om meer vrienden te maken. Ik ben tevreden met de vrienden die ik al heb, en als ik met anderen geen vrienden ben, is dat waarschijnlijk niet voor niets.

Ik wil niet dat dit in Monica gebeurt. Ik vind dat we een hulpmiddel moeten bieden dat alleen doet wat de gebruikers willen dat het doet.

Dat wil niet zeggen dat we geen functies zouden moeten bieden die gebruikers helpen door hun gegevens te analyseren. Maar zulke functies mogen nooit een verrassing zijn. En ze mogen nooit het gevoel geven dat de site te veel over zijn gebruikers weet.

5 min lezen
Terugblik op het jaar
Regis Freyd

Ik ben Regis Freyd en ik ontwikkel Monica nu anderhalf jaar. Monica is open source software om je persoonlijke relaties bij te houden en is op dit moment een project naast mijn werk, omdat het niet genoeg oplevert om er fulltime aan te kunnen werken. De reis van 2017 is behoorlijk mooi geweest en daar wil ik het vandaag over hebben.

Hoe Monica populair werd

Monica is oorspronkelijk in juni 2016 gebouwd. Ik werkte er een paar maanden met tussenpozen aan en zette het toen op Reddit. Weinig mensen vonden er iets aan, nog minder mensen meldden zich aan (een stuk of twaalf), dus stopte ik ermee en richtte ik me op mijn loopbaan. In mei 2017, na een baanwissel, wilde ik weer aan de slag met iets waar ik erg van houd: projecten naast mijn werk. Dus werkte ik elke dag na het werk aan Monica. Dat deed ik een maand lang, ik zette het open source op GitHub, en raakte opnieuw ontmoedigd. Ik belde een vriend, vertelde hem dat ik nu een jaar aan een project werkte en dat ik het wilde verwijderen omdat het niemand iets kon schelen. Ik zei dat ik de hele repository op maandag zou verwijderen (het was zondag). Ik ging naar bed, en 's ochtends, vlak voor het verwijderen, wilde ik nog één ding proberen: het project op Hacker News zetten. Omdat al mijn eerdere projecten daar nooit enige belangstelling hadden gekregen, was ik er niet optimistisch over. Ik plaatste de link en ging twee uur weg.

Toen ik terugkwam om vast te stellen dat het niemand iets kon schelen, zag ik dat ik op pagina 2 van Hacker News stond. Ik was met stomheid geslagen. Ik had een stuk of 30 upvotes en een paar reacties. Ik kon het niet geloven. Mensen leken het project en het idee erachter leuk te vinden. Ze waren ook enthousiast over het open source karakter. En toen ging het snel.

Binnen een uur haalde Monica de voorpagina van Hacker News. Een paar minuten later stond ik op #3, toen op #2. En toen op #1. En daar bleef het twee dagen achter elkaar staan, met bijna 1100 upvotes en honderden reacties.

We gingen in een paar uur van 10 gebruikers naar 5600 gebruikers.

De dag erna zaten we op 7000 gebruikers. Monica werd de meest trending repository op GitHub en ging in een uur van 0 naar 1700 sterren.

En toen begonnen mensen te mailen. Ik bracht de volgende drie dagen door met het beantwoorden van honderden e-mails van gebruikers die zeiden dat ze al jaren op zo'n hulpmiddel wachtten. Een paar investeerders namen contact op en wilden praten. Alles bij elkaar heb ik gesproken met 4 durfkapitalisten uit New York en San Francisco. Ik merkte al snel dat investeerders totaal niet dezelfde visie op het product hadden als ik, en advertenties en andere "intelligente" manieren om Monica van gegevens te voorzien wilden invoeren. Dat druiste zo tegen mijn waarden in dat het gesprek daar ophield.

Vandaag heeft Monica ongeveer 10.300 gebruikers en meer dan 90.000 contacten. De repository op GitHub heeft 3788 sterren en 409 forks. We hebben honderden pull requests ontvangen en de gemeenschap heeft meer dan 300 issues geopend. Het is duidelijk dat het project populair is geworden en dat er echte belangstelling is. De Docker-images zijn meer dan 13.000 keer opgehaald; het is op dit moment vrijwel onmogelijk te weten hoeveel installaties van Monica er in het wild draaien, maar ik gok een paar honderd. Ik heb zo'n 45 betalende klanten, al moet ik eerlijk zeggen dat er op dit moment nauwelijks reden is om een betaald account te nemen, dus wie dat doet, doet dat vooral om de ontwikkeling te steunen.

Ik heb lang getwijfeld voordat ik Monica open source maakte. Mijn grootste angst was dat mensen kritiek op mijn code zouden hebben en zouden zien hoe slecht die was. Ik had geen unittests. Ik had bochten afgesneden om mijn doelen te halen en de code was verre van goed. Tot mijn verbazing zei slechts één persoon iets over de kwaliteit van de code. Verder had niemand het er zelfs maar over. Mensen waren gewoon dankbaar dat het hulpmiddel er was en open was. Het geheim is niet bang te zijn je werk te delen uit angst beoordeeld te worden.

En nu?

  • De aanvankelijke groei is afgevlakt. Er melden zich zo'n 10 tot 20 gebruikers per dag aan. Bedenk daarbij dat ik geen enkele marketing heb gedaan, afgezien van dat ene bericht op Hacker News. Dus hoe laag dat getal ook is, ik vind het behoorlijk bijzonder dat er zoveel aanmeldingen zijn.
  • Ik krijg veel verzoeken voor nieuwe functies. Ik ben daar echt dankbaar voor, maar ik kan niet alles doen. Deels omdat het te veel werk is, en deels omdat ik me wil richten op functies waar mensen voor willen betalen. Dat is de enige manier om dit project op de lange termijn houdbaar te maken. Bedenk dat ik hier 's avonds en in het weekend aan werk, maar dat het bij 20 tot 30 uur per week steeds moeilijker wordt dat tempo vol te houden.
  • Letterbox is voor mij een enorme inspiratiebron als het om het verdienmodel gaat, en hun Pro-aanbod ga ik waarschijnlijk kopiëren.
  • Een van de dingen die ik graag wil doen is in 2018 een mobiele applicatie uitbrengen. Ik denk dat mensen daar het meest naar verlangen, en daarom heb ik twee maanden geleden een API uitgebracht. Daar ligt nog veel werk, en het eerste deel is leren hoe je eigenlijk een native mobiele applicatie ontwikkelt.
  • Ik denk dat Monica de enige bron van waarheid kan worden over je contacten en je agenda. Dat is de richting voor 2018, net als een fijne plek om je gevoelens te bewaren.
1 min lezen
Een datum toevoegen zonder het jaar te kennen
Regis Freyd

Een geboortedatum bestaat uit een dag, een maand en een jaar. In een ideale wereld dan, want in de praktijk weet je het geboortejaar meestal niet. Gaat het om de verjaardag van een goede vriendin die weigert haar leeftijd te noemen, dan ken je alleen de dag en de maand waarop je haar elk jaar feliciteert.

Daarom hebben we de mogelijkheid toegevoegd een datum in te stellen zonder het jaar te kennen.

Dat geldt voor geboortedatums, datums van de eerste ontmoeting en overlijdensdatums. Herinneringen voor die datums werken net als voorheen.

Het formulier voor de geboortedatum, met een maand en een dag gekozen en het jaar als onbekend gelaten.

Deze functie was een van de meest gevraagde functies in onze issuetracker. We hopen dat het je helpt meer informatie over je vrienden en familieleden vast te leggen.

1 min lezen
Favorieten voor notities
Regis Freyd

Notities kunnen nu als favoriet worden gemarkeerd. Favorieten zijn een prima manier om notities bij te houden die je interessant vindt.

Notities in het profiel van een contact, waarvan er één met een ster als favoriet is gemarkeerd.

Is een notitie als favoriet gemarkeerd, dan verschijnt hij op een nieuw tabblad op het dashboard, Belangrijke notities.

Het tabblad met belangrijke notities op het dashboard, waar de notities met een ster van al je contacten samenkomen.

In deze release zitten ook een paar extraatjes:

  • Sommige acties in de interface tonen nu meldingen bij het toevoegen, bijwerken of verwijderen van gegevens.
  • Het is nu mogelijk de voor- en achternaam van de accounteigenaar te wijzigen.

Deze wijzigingen zitten in versie 1.3.0, die al in productie staat, en je kunt hem, zoals altijd, installeren op een server die van jou is.

Veel plezier ermee.

1 min lezen
Een betere manier om taken te beheren
Regis Freyd

Taken toevoegen en beheren gaat nu makkelijker dan ooit in Monica.

We hebben ons werk aan v1.1 gebruikt om taken direct vanaf de contactpagina te kunnen beheren, in plaats van een nieuw scherm te moeten openen om taakgegevens in te voeren of te moeten wachten op het herladen van de pagina als je een taak verwijdert.

En, dat is een belangrijke verandering, taken gebruiken nu vinkjes. Eindelijk. Dat wilden we al een hele tijd doen.

De taken van een contact als vinklijst, met daaronder het paneel met cadeau-ideeën.

Deze wijzigingen zitten in versie 1.2.0, die al in productie staat, en je kunt hem, zoals altijd, installeren op een server die van jou is.

Veel plezier ermee.

2 min lezen
Meerdere contactvelden
Regis Freyd

Sommige mensen hebben één fysiek adres en één Twitter-account. Anderen hebben meerdere adressen, helemaal geen Twitter en één Quora-account. Het is lastig met alle situaties rekening te houden, maar we willen gebruikers hun contacten laten ordenen zoals zij dat willen.

Een fysiek adres, een Twitter-account: al die manieren om iemand te bereiken noemen we een contactveld.

Vanaf nu kun je zoveel contactvelden per contact toevoegen als je wilt. Eerder had je alleen 5 vaste velden.

Het profiel van een contact met aan de zijkant het e-mailadres, het postadres, hoe je elkaar kent en de werkgegevens.

Elk contactveld heeft een type: het kan een e-mailadres zijn, een Facebook-account of een faxnummer. Elk account begint met 6 algemene typen contactvelden:

  • E-mail
  • Telefoonnummer
  • Facebook
  • Twitter
  • WhatsApp
  • Telegram

Je kunt naar believen typen contactvelden toevoegen of verwijderen in je account, en hun namen instellen zoals je wilt, op het nieuwe tabblad Personalisatie onder Instellingen.

Aan elk type contactveld kan ook een protocol worden gekoppeld. Een protocol bepaalt wat de browser moet doen als je op een contactveld klikt. Bij een telefoonnummer zorgt het tel:-protocol er bijvoorbeeld voor dat de browser het programma opent waarmee je vanaf je computer belt.

Het instellingenscherm met de typen contactvelden, elk met het protocol dat hun links gebruiken.

De API is bijgewerkt om die twee nieuwe begrippen te ondersteunen (contactvelden en typen contactvelden).

We hebben ook de zijbalk bij een contact iets anders ingedeeld. Informatie over partners en kinderen staat nu bovenaan de zijbalk, omdat dat volgens mij veel belangrijker is dan bijvoorbeeld het adres van het contact.

Deze wijzigingen zitten in versie 1.1.0, die al in productie staat, en je kunt hem, zoals altijd, installeren op een server die van jou is.

Veel plezier ermee.

3 min lezen
Monica 1.0.0 met API, kennismakingen en overleden contacten
Regis Freyd

Monica is eindelijk klaar voor v1.0.0.

We proberen bij Monica de SemVer-aanpak te volgen. Een nieuw hoofdversienummer duidt op grote wijzigingen in de API. Daarom ben ik erg blij de release van v1.0.0 aan te kondigen. Er komen veel functies bij en het vormt de basis voor alle mooie dingen die ik de komende maanden wil uitbrengen. Eerst de functies, daarna de technische veranderingen in deze versie.

API

Monica heeft eindelijk een API. Nog niet alles is via de API beschikbaar, maar de meeste gegevens over contacten wel. Een volgende versie brengt ook alle instellingen en accountgegevens. Mijn doel is dat alles via de API beschikbaar is. We ondersteunen OAuth 2.0 en persoonlijke tokens. Onder de motorkap regelt Laravel Passport alles rond OAuth.

Niets helpt ontwikkelaars beter een project in te duiken dan goede documentatie. Daarom hebben we ook een nieuw documentatieportaal uitgebracht dat zo volledig mogelijk probeert te zijn. Op elke pagina staat ook de datum van de laatste wijziging, zodat je weet hoe actueel de documentatie is.

De voorpagina van de API-documentatie van Monica.

Het is nu aan de ontwikkelaars om creatief met de gegevens van Monica om te gaan en er mooie dingen mee te doen. Aan onze kant werken we aan de eerste officiële mobiele applicatie voor Monica, voor zowel Apple als Android, maar daarover later dit jaar meer.

Hoe je iemand hebt leren kennen (oftewel kennismakingen)

Monica bestaat om iedereen te helpen belangrijke informatie te onthouden over de mensen die hun dierbaar zijn, privé en alleen voor eigen ogen. Als je veel contacten hebt, is het soms lastig te onthouden hoe en waar je ze hebt leren kennen. Daarom kun je nu noteren hoe je iemand hebt ontmoet, of dat een ander contact jullie aan elkaar heeft voorgesteld. Je kunt zelfs vragen om aan de verjaardag van die ontmoeting herinnerd te worden.

Het paneel 'hoe je elkaar kent' bij een contact: wie jullie aan elkaar voorstelde, wanneer en waar.

Een contact als overleden markeren

Soms is het leven oneerlijk en gaan mensen dood. We hebben de mogelijkheid toegevoegd een contact als overleden te markeren, met eventueel een datum voor die trieste gebeurtenis. Je kunt er bovendien aan herinnerd worden als je dat wilt. Is een contact als overleden gemarkeerd, dan staat er in de hele applicatie een klein ⚰ naast de naam.

Een als overleden gemarkeerd contact, met een kistsymbool naast de naam en de datum in het profiel.

Sneller contacten toevoegen

Ons doel is je zo snel mogelijk te helpen doen wat je wilt. Daarom hebben we een kleine knop toegevoegd aan het scherm om een contact toe te voegen, waarmee je het huidige contact opslaat en er meteen daarna een nieuw contact bij zet. Dat scheelt je kostbare seconden.

Grote veranderingen onder de motorkap

Voor v1.0.0 hebben we de code bijgewerkt naar Laravel 5.5, om voor onze API gebruik te maken van de mooie Resources-functionaliteit die in die versie is geïntroduceerd.

Dankzij @mauricew hebben we ook het vorige buildsysteem voor de front-end, gebaseerd op Gulp en Bower, vervangen door mix, het standaard buildsysteem dat nu bij Laravel zit. We hebben veel afhankelijkheden kunnen verwijderen, de code kunnen opschonen en, belangrijker nog, ervoor kunnen zorgen dat er in de toekomst geen conflicten meer ontstaan tussen CSS- en JS-bestanden in onze pull requests.

Tot slot

Versie 1.0.0 staat al in productie en je kunt hem, zoals altijd, installeren op een server die van jou is.

v1.0.0 bevat letterlijk duizenden nieuwe regels code. Het is het resultaat van een gezonde gemeenschap. Persoonlijk voel ik me erg bevoorrecht dat Monica zoveel mensen helpt. Jullie voortdurende feedback helpt me enorm om zo hard mogelijk aan dit product te blijven werken. De komende maanden worden erg druk: veel nieuwe functies, een mobiele applicatie en andere verrassingen. De toekomst ziet er goed uit voor onze gemeenschap.

Veel plezier ermee.

2 min lezen
Stand van zaken - september 2017
Regis Freyd

Ik ben de afgelopen 40 dagen wat minder actief geweest in de communicatie. Ik ben ook trager met het beantwoorden van issues en het samenvoegen van pull requests. Dat is geen situatie die me bevalt, maar het is moeilijk voor me om daar de komende maand iets aan te veranderen. Het wordt wel beter.

Waar ben ik in vredesnaam mee bezig

Ik werk zoveel ik kan aan het project. Elk vrij uur dat ik heb gaat naar Monica. Om alle mensen gerust te stellen die me blijven mailen over mijn betrokkenheid bij het project en of ik het niet snel laat doodbloeden: ik ben er nog net zo gemotiveerd voor als eerst en het blijft een prioriteit voor me.

Op dit moment werk ik echter aan de API en zorg ik dat die werkt zoals het hoort. Ik bouw ook de documentatie eromheen, want de documentatie moet uitstekend zijn wil iemand de API gaan gebruiken. Om die redenen, en ook omdat dit voorlopig nog een project naast mijn werk is totdat ik manieren vind om het mijn fulltimebaan te maken, wil ik me nu niet laten afleiden door feedback, bugs of nieuwe functies. Zodra de API klaar is, ga ik weer met de gemeenschap in gesprek. Ik heb simpelweg niet de fysieke tijd om alles te doen wat ik zou willen, en ik moet me heel scherp richten als ik dingen af wil krijgen.

Wat komt er hierna

De komende dagen verschijnt er een eerste opzet van de API, met daarna nieuwe methodes erbij.

Zodra de API klaar is, moeten we aandacht besteden aan het idee van activiteiten met je contacten. We zouden het dashboard nuttiger moeten maken en het dagboek zo veranderen dat het echt bruikbaar wordt. Ook moeten we het CardDAV-protocol implementeren, al weet ik op dit moment niet hoe goed dat in de huidige opzet past.

Ik ben ervan overtuigd dat dit project enorme mogelijkheden heeft. Ben je nu al gebruiker, dan zoek ik nog steeds feedback en ervaringen. Bedankt voor je hulp.

21 tot 30 van 40 berichten