Centurial - 2021 Routekaart

22 januari 2021 door Fouke Boss

2021 wordt een druk en opwindend jaar voor Centurial. In deze blog nemen we vast een kijkje naar de vele nieuwe functies die op de rol staan voor 2021 en 2022, en de afhankelijkheden daartussen.

Een korte geschiedenis van Centurial

Voordat we beginnen vooruit te kijken, laten we eerst even terugkijken. De eerste ontwikkelingen rondom Centurial vonden plaats in 2016, en aangezien Centurial anders is dan alle andere genealogische software, duurde het meer dan een jaar voordat een eerste, stabiele maar nog heel ruwe versie 1.0 kon worden uitgebracht, in oktober 2017. Merk op hoezeer v1.0 op v1.18 lijkt, en toch ook weer niet:

Het grootste deel van 2018 werd besteed aan het verder uitbreiden van Centurial van een heel ruw product naar een meer gebruiksvriendelijke applicatie, met verbeterde kalenders, indirect bewijs, het Netwerkdiagram, bronvermeldingen, het auto-correlatie algoritme, en andere onderdelen. In v1.7 en v1.8 volgde de introductie van GEDCOM ondersteuning.

In de eerste helft van 2019 concentreerde ik me op het verbeteren van de data invoer, met vele uitbreidingen van het Beweringenpaneel (v1.9) en de introductie van de browserextensie (v1.10), waarmee voor het eerst de echte kracht van Centurial zichtbaar werd. De tweede helft van 2019 werd vooral gebruikt om Centurial te professionaliseren, door de Nederlandse en Duitse versies te introduceren (v1.13) en door, begin 2020, de betaalde versie te lanceren (v1.14), waardoor de toekomstige ontwikkeling zeker werd gesteld.

En in 2020 kwam ik dan eindelijk toe aan de introductie van een heel aantal nieuwe functies die al vanaf het allereerste begin op mijn lijstje stonden, zoals de tijdlijn en de verwantschappen (v1.16), het herontwerp van de Bronweergave en het Beweringenpaneel, en de introductie van tekstfragmenten (v1.17) en de interactieve tutorials (v1.18).

En zo start dus 2021, en Centurial staat er goed voor. Het allergrootste deel van de initiële, basale functies is volwassen geworden, en de gebruikersgroep blijft dagelijks groeien. Natuurlijk duikt er zo nu en dan een bug op, maar niks al te spannends. En dus houdt niets me tegen om Centurial naar een volgend niveau te brengen.

Het plannen van toekomstige uitgaves

Bij het ontwikkelen van een softwareproduct zoals Centurial, zijn er verschillende redenen om de bestaande software aan te passen:

  • De voornaamste drijfveer bij de ontwikkeling van Centurial is een lijst van user stories die ik te allen tijde bijhoud. Een user story is een groter idee, of een 'droom', over hoe Centurial zou moeten werken. Voorbeelden en user stories zijn 'De gebruiker zou in staat moeten zijn om vanuit Centurial rapportages te genereren' en 'Verbeterde ondersteuning voor het importeren vanaf het internet van de top 20 meestgebruikte online bronnen'. Meestal bestaat het afronden van een dergelijke user story uit het toevoegen van enkele nieuwe functies en het doorvoeren van vele kleine en grote wijzigingen in Centurial.
  • Daarnaast inspireert het werken met Centurial soms gebruikers om aanvullende functies, verbeteringen of aanpassingen aan te vragen. Deze verzoeken heten ook wel user requests. Sommige user requests zijn kleine aanpassingen die eenvoudig kunnen worden doorgevoerd in Centurial. Anderen vergen veel meer werk, of kunnen alleen worden doorgevoerd als onderdeel van een grotere user story. Centurial v1.19, die komende week verschijnt, bevat enkele van dergelijke user requests.
  • Net zoals ieder ander stukje software is ook Centurial niet perfect, en dus duikt zo nu en dan een fout op, of stuit de code op een onverwachte omstandigheid. Dit wordt een bug genoemd. Bij de ontwikkelingen van Centurial zijn enkele voorzieningen getroffen om bugs in een zo vroeg mogelijk stadium te detecteren. Allereerst is er een verzameling van handmatige en geautomatiseerde tests die ontworpen zijn om bugs op te sporen tijdens het ontwikkelen. Daarnaast wordt Centurial enkele dagen voor iedere release beschikbaar gesteld aan de beta testers, een groep Centurial gebruikers die een eerste gebruikerstest uitvoeren op de nieuwe versie.
    Maar de echte test vindt toch steeds weer plaats wanneer de gehele Centurial gebruikers-armada losgaat op een nieuwe versie. Aangezien Centurial op allerlei verschillende PC's en laptops draait, en iedere gebruiker daarbij Centurial net weer iets anders gebruikt, gebeurt er altijd ergens wel iets onverwachts. Gelukkig is Centurial ontworpen om alle fouten die optreden bij gebruikers door te sturen naar een centraal logbestand. Op deze manier kan ik zien wat er fout gaat, en het dan oplossen.
  • Een goede ontwikkelaar zal altijd proberen voor nieuwe functies een zo eenvoudig mogelijke oplossing te vinden. Soms zal software hierbij na verloop van tijd deze eenvoudige oplossing ontgroeien. In die gevallen wordt het aanpassen en uitbreiden van dat deel van de code steeds lastiger. En dus is het zo nu en dan nodig om een deel van de code te refactoren, wat neerkomt op het herontwerpen van het betreffende deel van de code en op het verplaatsen van de bestaande code naar een verbeterde structuur, op basis van de laatste kennis en inzichten.

Mijlpalen

Bij het plannen van een routekaart is het van belang om de afhankelijkheden te bepalen tussen alle user stories, user requests, bugs en refactorslagen. De meeste functies zijn afhankelijk van andere functies of wijzigingen, en kunnen dus pas worden geïmplementeerd nadat die andere aanpassingen zijn doorgevoerd.

Om al deze afhankelijkheden in kaart te brengen, heb ik alle nu bekende werkzaamheden verdeeld in eenheden werk die als één geheel kunnen worden uitgevoerd; deze eenheden zal ik aanduiden als mijlpalen. Iedere release zal één of meer van deze mijlpalen bevatten. Op dit moment zijn dit de mijlpalen voor 2021 en 2022:

Iedere rechthoek representeert een mijlpaal. De rechthoek in de linker bovenhoek representeert de huidige versie van Centurial, v1.18, en direct daaronder bevindt zich v1.19 die komende week uitkomt.

De pijlen in het diagram geven afhankelijkheden aan tussen de mijlpalen. De ontwikkeling van een bepaalde mijlpaal kan pas starten nadat alle mijlpalen, waarvan deze afhankelijk is, afgerond zijn. De grijze rechthoeken zijn refactoring mijlpalen, die dus in zichzelf geen aanvullende waarde voor de gebruiker hebben, maar die wel nodig zijn voor de daarvan afhankelijke mijlpalen.

Hieronder volgt de lijst met korte beschrijvingen van ieder van de mijlpalen:

centurial.net website
Accountbeheer (Website) De website voorzien van een accountpagina voor iedere gebruiker. De gebruiker in staat stellen zijn naam, gebruikersnaam en land aan te passen. Een proces toevoegen voor het resetten van een vergeten wachtwoord.
Forum (Website) De Centurial website uitbreiden met een forum, waarop gebruikers vragen kunnen stellen en kennis en ervaringen kunnen delen.
Ticketsysteem (Website) Voeg een ticketsysteem toe aan de Centurial website, waarmee gebruikers ingediende aanvragen voor nieuwe functies kunnen volgen. Het ticketsysteem koppelen aan de publicatiehistorie.
Uitbreidingen I
Gebeurtenissen & Anekdotes Promotie van gebeurtenissen naar een entiteit, net zoals personen en relaties. Meerdere voorkomens van een gebeurtenis ondersteunen, bijvoorbeeld huwelijksaankondigingen. De lijst met ondersteunde gebeurtenissen uitbreiden, zodat bijvoorbeeld ook andere religies worden ondersteund. De gebruiker toestaan om zelf gebeurtenistypes toe te voegen. Anekdotes kunnen toevoegen aan gebeurtenissen. Alle gebeurtenissen weergeven in de tijdlijn.
Rollen & Relaties De rollen van personen bij een gebeurtenis kunnen vastleggen, zoals de getuige bij een huwelijk. Ook aanvullende relatietypes toestaan in het Informatiepaneel, zoals vriend of neef. Een manier verzinnen om deze rollen en relaties op een zinvolle manier weer te geven; misschien een sociaal netwerk diagram introduceren?
Portretten & Foto's Ondersteuning toevoegen voor het concept van identificatie: voor portretten is het niet alleen relevant om te bepalen wie de foto aanleverde (de bron), maar ook door wie de personen op de foto werden geïdentificeerd. Portretten toevoegen aan de Persoonsweergave. De ondersteuning voor foto's en fotoalbums verbeteren. Misschien een Fotoweergave introduceren. Foto's aan gebeurtenissen kunnen koppelen.
Onderzoekslogboek Een onderzoekslogboek toevoegen waarin kan worden vastgelegd welk aanvullend onderzoek de gebruiker nodig acht, en welk onderzoek reeds heeft plaatsgevonden. Exporteer een onderzoeksplan per archief.
Uitbreidingen II
Refactoring (.NET Core) Een begin maken met de overgang van .NET Framework naar .NET Core. Migratie van XML naar JSON als intern opslagformaat.
Refactoring (Project & Entiteit) De huidige versie is geoptimaliseerd voor projecten tot ongeveer 3000 personen. Herontwerp het interne opslagschema zodat ook grotere projecten worden ondersteund, en de performance van deze projecten verbeterd.
Indirect & Negatief Bewijs Ondersteuning toevoegen voor negatief bewijs (vergelijk verwacht bewijs met daadwerkelijk bewijs). Ondersteun negatieve vondsten op basis van het onderzoekslogboek. Implementatie van aanvullende regels voor indirect bewijs.
Plaatsen & Geografie Promoveer plaatsen zodat deze entiteiten worden net zoals personen, relaties en gebeurtenissen. Ondersteuning voor kaarten als bron. Beweringen kunnen toevoegen voor plaatsen. Een Plaatslijst toevoegen aan het hoofdscherm. Een Kaartweergave toevoegen, waarmee plaatsen kunnen worden bekeken en gecorreleerd. De conclusies bij plaats feiten verbeteren door gebruik te maken van de conclusies over plaatsen.
GEDCOM & Onboarding Verbeterde ondersteuning voor het importeren van onderzoek uit andere genealogische software via GEDCOM. De GEDCOM import versnellen. De gebruiker actief helpen bij het overstappen naar Centurial, onder andere door to-do items aan te maken die helpen de kwaliteit van het onderzoek te verbeteren.
Bronnen
Refactoring (Bronnen) Herontwerp van de omgang met en opslag van de brongegevens in Centurial.
Web Scrapers De code voor de web scrapers opnieuw opzetten. Specifieke web scrapers toevoegen voor de top 20 meestgebruikte online bronnen. Het testen van web scrapers zo opzetten dat wijzigingen in websites automatisch worden opgemerkt.
Brondialoog & Wizard Herontwerp van de Brondialoog naar een Bronhulp, die helpt bij het bepalen van de juiste herkomst en vindplaatsen van een bron. Misschien de brondetails verplaatsen van de Brondialoog naar de Bronweergave, aangezien de Bronweergave het document weergeeft dat deze details bevat. Een verbinding leggen tussen sommige brondetails met de beweringen en gebeurtenissen in de bron.
Bronvermeldingen Bronvermeldingen vertalen in de ingestelde taal. De Bronverkenner verbeteren door de delen van de bronvermelding die specifiek zijn, dikgedrukt weer te geven. De export van bronvermeldingen naar GEDCOM verbeteren.
Rapportages
Refactoring (Cultuur) Herschikking van alle cultuur gerelateerde code van UI specifiek naar generiek. Vertalingen voor subculturen toestaan, zoals en-US vs. en-GB. Voorbereidingen treffen voor het genereren van rapportages en andere vormen van uitvoer.
Rapportages Introduceer een eerste serie rapportages in Centurial. Bepalen welke soorten uitvoer gebruikers nodig hebben. Websites? PDF? RTF? Misschien een rapportagetaal introduceren zodat gebruikers zelf de rapportages naar smaak kunnen aanpassen. Dataweergaven implementeren waarmee rapportages beperkt kunnen worden tot een specifiek deel van het project. De eerste Centurial versie met rapportages zal v2.0 worden genoemd.

Een minimale planning

Interessant genoeg dwingen deze afhankelijkheden niet een enkel ontwikkelpad af. In plaats daarvan kunnen de mijlpalen in vele verschillende volgordes worden gerealiseerd. Voor mij persoonlijk staan de volgende 2 mijlpalen vast in de tijd:

  1. In de eerste helft van 2021 zal ik werken aan de Gebeurtenissen en Anekdotes mijlpaal, aangezien om deze functie vaak wordt verzocht door gebruikers. Interessant aan deze mijlpaal is, dat deze eigenlijk gaat over het uitbreiden van de scope van Centurial. Tot op heden is Centurial gebaseerd op personen en relaties; de gebruiker voegt deze entiteiten toe aan het Informatiepaneel, en voegt er dan beweringen aan toe. Na de correlatie kan de gebruiker dan alle conclusies bekijken in de Persoonsweergave en de Relatieweergave
    Als onderdeel van deze mijlpaal worden gebeurtenissen gepromoveerd tot de derde entiteit, dus net zoals personen en relaties. En dan later in het jaar zal hetzelfde gebeuren met plaatsen, als onderdeel van de Plaatsen & Geografie mijlpaal.
  2. Dan in de tweede helft van 2021 zal in ieder geval de Rapportage mijlpaal aan bod komen. Tot nu toe heeft de nadruk bij de ontwikkeling van Centurial altijd gelegen op het invoeren van gegevens op een op bewijs gebaseerde manier. Maar nu is Centurial zo ver dat we kunnen gaan nadenken over manieren om de conclusies en het bewijs uit te voeren in mooie rapportages. Rapportages waren altijd een integraal onderdeel van het Centurial ontwerp, er was echter tot nu toe nooit tijd om ermee aan de slag te gaan. Om het moment waarop uitvoer een onderdeel van Centurial wordt te onderstrepen, zal deze eerste versie met rapportages Centurial v2.0 heten.

De stembussen zijn geopend!

De overige mijlpalen zijn waarschijnlijk te veel werk voor 2021 alleen, er zal ook in 2022 nog aan gewerkt gaan worden. Het is dus van belang om de volgorde te bepalen waarin deze mijlpalen zullen worden opgepakt, en hierin is ook voor jou een rol weggelegd. Ik ben namelijk benieuwd waar jij, de Centurial gebruiker, nu het eerst behoefte aan hebt. Vandaar bij deze de uitnodiging om te stemmen, door simpelweg een e-mail te sturen of door het contactformulier te gebruiken. Graag ontvang ik je persoonlijke top 3 van mijlpalen die je als eerste afgerond zou willen zien, of een top 5, eventueel met wat uitleg indien gewenst. Over enkele weken zal ik dan de hierop gebaseerde planning bekend maken!

En de uitslag is... (een update van 12 Februari 2021)

En zo zijn er in de 2 weken na het uitkomen van deze blog een mooi aantal stemmen binnengekomen! Sommigen van jullie stuurden een top 3 of top 5, anderen vereerden mij met een top 9. Sommigen stuurden een compact lijstje, anderen gaven uitgebreide uitleg bij hun keuzes, wat heel leerzaam was. Dank allen!

Ik heb een kleine berekening opgesteld, waarbij iedere gebruiker precies 1 punt te verdelen heeft. Wanneer je een top 3 hebt ingezonden, heeft je 1e keuze 3/6 punt gekregen, je nummer 2 kreeg 2/6 punt en je nummer 3 ontving 1/6 punt. Stuurde je een top 9, dan zijn daar respectievelijk 9/45, 8/45, 7/45, ..., 2/45 en 1/45 punten aan toegekend. Op deze manier hebben alle stemmers dezelfde invloed op het eindresultaat.

Na wat optellen en delen is dit de einduitslag van de 2021 Routekaart Peiling:

2021 Routekaart Peiling
1. Plaatsen & Geografie 21.7% 9. Brondialoog & Wizard 3.8%
2. Rollen & Relaties 20.6% 10. Web scrapers 3.7%
3. Gebeurtenissen & Anekdotes 11.1% 11. Forum (website) 3.5%
4. Rapportages 8.2% 12. GEDCOM & Onboarding 2.0%
5. Onderzoekslogboek 8.0% 13. Bronvermeldingen 1.2%
6. Portretten & Foto's 5.8% 14. Vindplaatsbeheer 1.0%
7. Refactoring (Project & Entiteit) 4.8% 15. Ticketsysteem (website) 0.0%
8. Indirect & Negatief Bewijs 4.5%

Belangrijkste conclusie: waar nu overduidelijk het eerst behoefte aan is, is de mogelijkheid om plaatsen, rollen en events op een meer gedetailleerde manier te beheren. Samen zijn deze 3 mijlpalen goed voor meer dan de helft van de stemmen!

Andere inzichten uit deze peiling:

  • Rapportages zijn belangrijk (nummer 4 in de peiling), maar bij lange na niet zo belangrijk als het beheer van plaatsen, rollen en gebeurtenissen.
  • Het onderzoekslogboek eindigde veel hoger dan ik verwachtte.
  • Het feit dat de projectgrootte in de huidige versie beperkt is tot 3000 personen (de enige reden waarom gebruikers stemden voor de Refactoring (Project & Entiteit) mijlpaal) is voornamelijk een belemmering voor nieuwe gebruikers van Centurial, aangezien zij vaak starten met het importeren van hun bestaande onderzoek in Centurial. Daarna komen de meeste gebruikers echter tot de conclusie dat ze liever hun onderzoek volledig opnieuw opzetten in Centurial, en daarmee is het geen belemmering voor gebruikers die Centurial al langer gebruiken.
  • De mijlpalen met betrekking tot de bronnen (Brondialoog & Wizard, Web scrapers, Bronvermeldingen) zijn niet veelgevraagd. Ook deze mijlpalen zijn vooral van belang voor nieuwe gebruikers, aangezien het invoeren van bronnen een wat stijle leercurve kent. Voor bestaande gebruikers speelt dit dan ook minder.
  • Meerdere gebruikers gaven aan dat ze hun vindplaatsen op een eenvoudigere manier willen kunnen beheren, en dus heb ik de mijlpaal Vindplaatsbeheer toegevoegd.

En wat betekent dit nu voor de vervolgstappen in de ontwikkeling van Centurial? Welnu:

  • Allereerst meld ik met plezier dat ik inmiddels begonnen ben met de realisatie van de Gebeurtenissen & Anekdotes mijlpaal, en wel om 2 redenen: dit onderwerp eindigde op nummer 3 in de pol, en belangrijker, het baant de weg voor de wijzigingen die nodig zijn voor plaatsen en rollen, de nummers 1 en 2 van de peiling. In dit kader heb ik ook een deel van het refactor werk naar voren gehaald, namelijk dat deel dat nodig is voor Plaatsen & Geografie.
  • Gebeurtenissen & Anekdotes wordt waarschijnlijk uitgebracht als Centurial v1.20, tenzij het refactor werk te lang op zich laat wachten; in dat geval zal ik het uitstellen tot v1.21, en een kleine v1.20 uitbrengen met enkele gebruikersverzoeken.
  • Na de gebeurtenissen zal ik mij gaan bezig houden met de Rollen, aangezien deze conceptueel gezien dicht bij de gebeurtenissen liggen.
  • Dan zal ik mijn focus richten op de Plaatsen & Geografie mijlpaal. Vanwege de omvang van die wijziging zou het kunnen dat ik deze over 2 releases verdeel.
  • Daarna komen dan allereerst de refactor werkzaamheden voor projecten, bronnen en cultuur aan de beurt, aangezien zij de basis vormen voor alle daaropvolgende uitbreidingen. Afhankelijk van de voortgang daarvan zal mijn werk zich dan concentreren op rapportages, negatief bewijs of de brongerelateerde mijlpalen.
  • Parallel aan dit alles zal ik, bij wijze van licht tussendoortje, de website verbeteren, als eerste de vormgeving en het accountbeheer door gebruikers.
  • De Onderzoekslogboek en Portretten & Foto's mijlpalen tenslotte zal ik als kleine verrassingen tussendoor uitbrengen, aangezien ze leuke onderwerpen zijn die redelijk onafhankelijk van de andere wijzigingen kunnen worden uitgevoerd.

Ik heb de routekaart aangevuld met een bijgewerkte grafiek, waarin de inzichten van deze peiling zijn verwerkt. Nogmaals dank voor alle stemmen!