1. Introductie
Dit document beschrijft de plannen en ideeën van het project Inside Out Time Machines (IOTM). Het is bedoeld om discussie te stimuleren en kan op elk moment veranderen. Het wordt samengesteld op basis van content in de Design repository.
2. Salespitch voor het Jottem platform
Voor organisaties (historische verenigingen, erfgoedhuizen en archieforganisaties) is er een niet-technische salespitch als losse pagina: Jottem voor organisaties - wat het platform oplevert en wat het vraagt (jaarlijkse bijdrage, communicatie en moderatie).
2.1. Hoofdboodschap
Jottem: Maak erfgoed van iedereen, door iedereen
Jottem is het participatieve digitale erfgoedplatform dat gemeenschappen in staat stelt hun eigen lokale geschiedenis te verzamelen, te delen en te verrijken. Van de homepage van je huis tot de verhalen van je buurt – Jottem brengt erfgoed terug waar het thuishoort: midden in de samenleving.
2.2. Het probleem
Mensen voelen zich sterk verbonden met hun leefomgeving en willen graag hun verhalen delen. Maar traditionele erfgoedzorg is:
-
Eenrichtingsverkeer: Instellingen bepalen wat erfgoed is en hoe het ontsloten wordt
-
Ontoegankelijk: Te veel technische en mentale drempels voor burgers om bij te dragen
-
Gefragmenteerd: Iedereen deelt via Facebook, WhatsApp of in eigen systemen – erfgoed verdwijnt
-
Niet duurzaam: Foto’s en verhalen gaan verloren omdat er geen beheersbare oplossing is
2.3. De oplossing: het Jottem platform
Jottem draait het perspectief om: niet de collectie staat centraal, maar de gemeenschap.
2.3.1. Kernfunctionaliteiten
Voor burgers (uploaders & annoteerders):
-
Upload eigen foto’s met metadata (wie, wat, waar, wanneer)
-
Verrijk bestaande erfgoedmateriaal met herinneringen en kennis
-
Annoteer foto’s: identificeer personen, gebouwen, bedrijven op afbeeldingen
-
Markeer locaties op kaarten en koppel gebeurtenissen
-
Reageer op elkaars bijdragen en bouw samen aan verhalen
Voor organisaties (historische verenigingen, Time Machines, archieven):
-
Laagdrempelige moderatieomgeving voor kwaliteitscontrole
-
Duurzaam bewaard met open exportstrategie (externe preserveringskopie via Internet Archive in een latere fase)
-
Bestaande collecties eenvoudig importeren (IIIF-ondersteuning, fase 2)
-
Statistieken en community management tools (dashboards in fase 2)
Voor hergebruik (API’s):
-
IIIF Collection & Manifest ondersteuning
-
W3C Web Annotation Protocol
-
RSS feeds en harvesting mogelijkheden
-
Elasticsearch zoekfunctionaliteit
-
Schema.org conforme datasets
2.4. Onderscheidende kenmerken
2.4.1. Participatie in de volle breedte
Van expert tot buurtbewoner – iedereen kan bijdragen op zijn eigen niveau. De visueel aantrekkelijke, laagdrempelige interface maakt meedoen makkelijk en leuk.2.4.2. Duurzaam en betrouwbaar
-
Duurzame permanente link per bijdrage (ARK-identifiers in een latere fase)
-
Externe preserveringskopie via Internet Archive (latere fase)
-
Professionele moderatie en kwaliteitscontrole
-
Privacy en auteursrecht geborgd
2.4.3. Open en herbruikbaar
-
Open source technologie
-
Linked Data en standaarden (IIIF, W3C Annotations)
-
Naadloze integratie met bestaande systemen
-
Data harvesting voor aggregators (bijv. Netwerk Digitaal Erfgoed)
2.4.4. Bewezen concept
Ontwikkeld vanuit concrete behoefte van vier Time Machines:-
Amsterdam Time Machine (RingA10: "homepage van je huis")
-
Utrecht (OUD Utrecht, Museum Van Zuilen)
-
Hilversum (grafisch atelier, ontwerpers)
-
Gouda (historische vereniging) – met Smaak van Gouda als eerste concrete pilot
2.4.5. Van aanbod naar vraag
Niet: "Wat kunnen wij ontsluiten?" Maar: "Wat willen mensen delen, bewaren en doorgeven?"2.5. Wat levert het op?
2.5.1. Voor gemeenschappen:
-
Meer verbondenheid met de leefomgeving
-
Gedeeld eigenaarschap van lokaal erfgoed
-
Intergenerationele samenwerking: jong helpt oud met digitaliseren, oud deelt kennis
-
Zingeving: erfgoed als bron van identiteit en welzijn
2.5.2. Voor organisaties:
-
Rijkere collecties door burgerparticipatie
-
Grotere betrokkenheid van de lokale gemeenschap
-
Lagere beheerslast door slimme workflows
-
Schaalvoordeel door herbruikbare componenten
2.5.3. Voor de erfgoedsector:
-
Democratisering van erfgoed
-
Nieuwe coalities tussen instellingen, vrijwilligers en burgers
-
Innovatie door kennisdeling en open source
-
Structurele verandering: van bewaren naar samen maken
2.6. Oproep tot actie
Voor organisaties: Wil jouw historische vereniging, archief of Time Machine ook participatiever worden? Sluit je aan bij Jottem en geef je gemeenschap de tools om zelf erfgoed te maken.
Voor gemeenschappen: Heb je verhalen, foto’s of herinneringen over je buurt? Word deel van een groeiende beweging die lokale geschiedenis levend houdt.
2.7. Slogan opties
-
"Verbindt inwoners, verhalen en erfgoed"
-
"Jottem: Jouw verhaal, onze geschiedenis"
-
"Maak erfgoed van iedereen, door iedereen"
-
"Van de homepage van je huis tot het verhaal van je stad"
-
"Samen bouwen aan lokale geschiedenis"
-
"Erfgoed dat leeft, door mensen die delen"
3. Activiteitenplan
Dit deel komt uit het activiteitenplan (versie 31 augustus 2025, opgesteld door Ingeborg Verheul, Bob Coret, Toine Pieters, Elsbeth Kwant) dat onderdeel was van de aanvraag voor de Subsidieregeling Uitvoeringsagenda Faro. De oorspronkelijke tekst is intact gelaten; waar van toepassing staat onder een deelactiviteit een statusnoot (augustus 2026) met de inmiddels opgeleverde producten en genomen besluiten.
3.1. Hoofdactiviteit en doel
Mensen voelen zich vaak sterk verbonden met de omgeving waarin ze wonen en de geschiedenis daarvan. Ze vinden het interessant om erover te leren, maar ook om hun eigen verhalen te vertellen. De vier Time Machines die actief zijn in hun stad, ervaren deze behoefte regelmatig. Zo vertelde de Amsterdam Time Machine bij een event op de RingA10 (tijdens het jubileumjaar Amsterdam 750) over de ‘homepage van je huis’ en vroegen mensen of ze ook hun eigen foto’s daaraan konden toevoegen. In Hilversum is er een groep vrijwilligers die een grafisch atelier runt, dat allerlei erfgoedmateriaal van ontwerpers en drukkerijen bezit en dat graag zou digitaliseren op een makkelijke manier. In Utrecht zijn de vrijwilligers van OUD Utrecht, Museum Van Zuilen en het Utrechts Geveltekenfonds geïnteresseerd om zo bij te dragen en in Gouda deelt de historische vereniging momenteel vooral informatie via Facebook. Zij zouden graag bereid zijn dat in samenwerking met de Time Machine aan te leveren als het daarmee duurzamer toegankelijk is.
De Time machines willen geschiedenis relevant maken voor de inwoners van hun steden / omgevingen. We willen bestaande tijdmachines participatiever maken door de mogelijkheid te creëren foto’s, verhalen en informatie te delen of bestaande informatie te verrijken. Dit project creëert een publieksvriendelijke en visueel aantrekkelijke interactie-omgeving (we denken aan een annotatieomgeving, zoals die nu in demo door het Netwerk Digitaal Erfgoed wordt gehost). We verkennen in dit project wat de meest laagdrempelige en beheersbare oplossing is, zowel aan de voor- als aan de achterkant. Ook wisselen we (open source) software uit om succesvolle applicaties van de ene Time Machine te kunnen hergebruiken in een andere. We maken het zo mogelijk dat inwoners zich meer verbinden met de geschiedenis van hun stad, wijk, straat en huis.
3.2. Beoogde eindresultaat
We maken het mogelijk dat mensen zelf informatie gaan bijdragen aan lokale time machines. Door op deze manier technologie, lokale geschiedenis en burgerparticipatie te combineren, maken we het voor inwoners makkelijker en leuker om actief betrokken te zijn bij het erfgoed van hun eigen leefomgeving. Daarmee dragen we bij aan het gevoel van verbondenheid met die leefomgeving.
3.3. Deelactiviteiten
3.3.1. Uitvraag behoefte
Aard & wijze van uitvoering:
Uitvoeren van gesprekken, workshops en digitale enquêtes met belanghebbenden in de vier steden (bewoners, erfgoedinstellingen, vrijwilligers bij historische vereniging, enz.).
Onderzoek naar gebruiksbehoefte m.b.t. toevoegen van beeldmateriaal en verhalen, en het verrijken van bestaande erfgoeddata.
Parallel verkenning van auteursrechtelijke vraagstukken in samenwerking met o.a. Wikimedia Nederland.
Doelstelling:
Inzicht verkrijgen in gebruikersbehoeften en voorwaarden voor participatie.
Risico’s op auteursrechtinbreuk ondervangen via kennisdeling en samenwerking.
Resultaten/Producten:
Uitgewerkte lijst met functionele en niet-functionele requirements.
Aanpak auteursrecht & participatie.
Status (augustus 2026): de functionele en niet-functionele requirements en usecases per rol zijn uitgewerkt. Voor auteursrecht en participatie liggen er juridische conceptdocumenten (o.a. risico’s en wet- en regelgeving, algemene voorwaarden en een handreiking moderatie), nog te toetsen door een jurist.
3.3.2. Verkenning technische oplossingsrichting
Aard & wijze van uitvoering:
Technische analyse op basis van de requirements.
Verkenning bestaande oplossingen (bijv. via open source, Linked Data, crowdsourcing-tools). Gebruik maken van de kennis van het Netwerk Digitaal Erfgoed en de ervaringen van de Amsterdam Time Machine met Meaningful Memories in samenwerking met SURF.
Interviews met technische partners, leveranciers en gebruikers. Hier wordt een breed netwerk van partners ingezet in elk van de vier locaties.
Doelstelling:
Vaststellen welke (generieke of lokale) technische oplossing het meest geschikt is.
Resultaten/Producten:
-
Architectuurschets.
-
Applicatiebeschrijving per scenario (generiek of maatwerk per tijdmachine).
Status (augustus 2026): de architectuurschets is uitgegroeid tot een volwaardige systeemarchitectuur en data-architectuur. De scenario-afweging is uitgevoerd in de infrastructuuranalyse (vier richtingen); er is gekozen voor één generiek platform (Jottem) voor alle tijdmachines, in plaats van maatwerk per tijdmachine.
3.3.3. Keuze oplossingsrichting
Aard & wijze van uitvoering:
Afweging van technische en functionele varianten op basis van geschiktheid, schaalbaarheid en duurzaamheid.
Besluitvorming in overleg met lokale partners en gebruikers.
Doelstelling:
Vaststellen van een gedragen en uitvoerbare oplossingsrichting.
Resultaten/Producten:
-
Document met onderbouwing en selectie van gekozen oplossingsrichting.
Status (augustus 2026): opgeleverd als het keuzedocument: alles op de Jottem-server met een expliciete exit-/exportstrategie, een gekozen technologiestack en besliste openstaande vragen (o.a. ARK uitgesteld naar een latere fase).
3.3.4. Implementatie per tijdmachine
Aard & wijze van uitvoering:
Gefaseerde implementatie in vier steden (Amsterdam, Utrecht, Gouda, Hilversum), afhankelijk van lokale infrastructuur en partners.
Aansluiten op bestaande platforms of ontwikkelen van aanvullende modules.
Training van lokale beheerders en vrijwilligers.
Doelstelling:
Functionele toepassing waarmee gebruikers foto’s/verhalen kunnen toevoegen en/of erfgoeddata kunnen verrijken.
Resultaten/Producten:
-
Werkende participatievoorziening binnen elke tijdmachine.
Status (augustus 2026): het ontwerp voor de realisatie is gereed (usecases, API-specificaties, klikbaar prototype). De eerste implementatie start met de pilot Smaak van Gouda, als eerste project op de organisatiejottem van Streekarchief Midden-Holland. Voor het aansluiten van (meer) organisaties is er een salespitch voor organisaties (jaarlijkse bijdrage €100, inzet op communicatie en moderatie). De MVP-afbakening en fasering staan in het § 15 Realisatieplan.
3.3.5. Testen en nazorg
Aard & wijze van uitvoering:
Uitvoeren van gebruikerssessies met diverse doelgroepen (jong, oud, expert, leek)
Inrichting aanspreekpunt per Time Machine bij knelpunten.
Verzamelen van feedback via surveys en interviews.
Doelstelling:
Verbeterpunten identificeren en gebruikservaring meten.
Resultaten/Producten:
-
Gebruikersrapportage met inzichten in gebruiksgemak, barrières en kansen.
Status (augustus 2026): de aanpak voor geautomatiseerd testen en monitoring is uitgewerkt in de systeemarchitectuur; gebruikerssessies volgen tijdens de pilot.
3.3.6. Evaluatie en leerpunten
Aard & wijze van uitvoering:
Interne evaluatie met projectteam en partners.
Reflectie op aanpak, werkwijze en samenwerking.
Doelstelling:
Vastleggen van leerpunten en bepalen van vervolgscenario’s (zoals vervolg in andere steden of opschaling).
Resultaten/Producten:
-
Eindrapportage met conclusies, aanbevelingen en opschalingsopties.
3.3.7. Communicatie & kennisdeling
Aard & wijze van uitvoering:
Regelmatige updates via nieuwsbrieven, sociale media van de verschillende tijdmachines en partnersites.
Organiseren van minimaal twee kennissessies/webinars over participatief digitaal erfgoed.
Doelstelling:
Transparantie in het proces, kennisdeling en communityvorming bevorderen.
Resultaten/Producten:
-
Verspreide publicaties, presentaties en opnames van sessies.
3.3.8. Beheer & borging
Aard & wijze van uitvoering:
Afspraken maken over beheer en actualisatie van functionaliteit.
Inbedding in organisatie/partnerstructuren (bijv. via erfgoedhuizen, bibliotheken of burgerinitiatieven).
Doelstelling:
Duurzame borging van de oplossing.
Resultaten/Producten:
-
Beheersplan en samenwerkingsovereenkomsten met lokale partners.
Status (augustus 2026): er ligt een concept-samenwerkingsovereenkomst; duurzame borging is verankerd in de exit-/exportstrategie van het keuzedocument en de e-depot-export per project (BagIt + RO-Crate).
3.4. Relatie met de Faro-kernwaarden
Participatie in de volle breedte: Door het delen en taggen van foto’s, verhalen en kennis ontstaat er een directe en laagdrempelige vorm van erfgoedparticipatie. Dit past bij het idee van “mee kunnen doen” en “mee mogen bepalen”. Door te werken aan een publieksvriendelijke, visuele annotatieomgeving verlagen we de drempel om deel te nemen – zowel technisch als mentaal. We creëren een webomgeving waarbij vrijwilligers zelf informatie kunnen toevoegen, verbeteren of kunnen linken naar andere bronnen. Niet alleen experts, maar ook buurtbewoners, jongeren of incidentele bezoekers kunnen meedoen, hun stem laten horen en hun perspectieven toevoegen. Daarmee groeit het besef dat iedereen eigenaar is van erfgoed en dat erfgoed gevormd wordt door de gemeenschap zelf.
Erfgoed midden in de samenleving: Dit initiatief plaatst erfgoed letterlijk en figuurlijk midden in de samenleving. De lokale Time Machines brengen de geschiedenis van de stad, wijk, straat of zelfs het huis dichtbij bewoners, en maken het tastbaar, zichtbaar én persoonlijk relevant. Door mensen uit te nodigen hun eigen foto’s en verhalen te delen, verandert erfgoed van iets ‘van een instelling’ in iets van en voor iedereen. Het project erkent dat erfgoed onlosmakelijk deel uitmaakt van de leefomgeving, en maakt dat zichtbaar op plekken waar mensen dagelijks zijn.
De Time Machines functioneren als platforms voor ontmoeting, herinnering en kennisdeling, en sluiten daarmee aan op de gedachte dat erfgoed bijdraagt aan identiteit, zelfbewustzijn en gemeenschapszin. Inwoners herkennen hun eigen geschiedenis in het grotere verhaal van hun stad en voelen zich daardoor meer verbonden met hun omgeving. Dit versterkt het gevoel van eigenaarschap en draagt bij aan het welzijn van mensen - erfgoed als bron van zingeving en verbondenheid.
3.5. Omschrijving hoofdthema en aanluiting bij de Uitvoeringsagenda Faro
Het Time Machine-initiatief sluit goed aan bij het kantelende perspectief op dienstverlening zoals geformuleerd in de NDE-agenda: niet de collectie of technologie staat centraal, maar de gemeenschap als belanghebbende. In dit project draait het om wat inwoners zelf belangrijk vinden in hun leefomgeving, welke verhalen ze willen vertellen en hoe ze dat digitaal willen doen. De vraag is niet: “Wat kunnen wij ontsluiten?” maar: “Wat willen mensen delen, bewaren en doorgeven?” Daarmee sluit het project direct aan op het idee om erfgoedgemeenschappen mede vorm te laten geven aan digitaal erfgoed.
Het initiatief bevordert ‘Ondersteuning erfgoedparticipatie’ doordat het de voorwaarden schept voor inwoners, vrijwilligers en erfgoedgemeenschappen om actief bij te dragen aan het zichtbaar maken van erfgoed. Mensen kunnen laagdrempelig meedoen. Het project ondersteunt erfgoedparticipatie door mensen niet alleen te betrekken als publiek, maar hen daadwerkelijk in staat te stellen zelf mede-eigenaar, bijdrager en medevormgever van het erfgoed te worden.
Tegelijkertijd is er ruimte voor intergenerationele samenwerking. Jongeren kunnen bijvoorbeeld ouderen helpen met het digitaliseren van oude foto’s, terwijl ouderen hun lokale historische kennis delen. Zo ontstaat een dynamische uitwisseling van digitale nieuwsgierigheid en historische ervaring, waarin beide groepen waardevol zijn voor het erfgoedproces.
De Time Machines maken het mogelijk dat lokale bewoners - jong en oud, digitaal vaardig of juist minder - actief bijdragen aan erfgoed door eigen foto’s te delen, deze te taggen, of verhalen toe te voegen. Er is aandacht voor een laagdrempelige en beheersbare interactieomgeving, zodat mensen eenvoudig kunnen meedoen, zonder dat technische barrières hen uitsluiten. Dit draagt bij aan digitale inclusie en erkent dat niet iedereen dezelfde toegang of vaardigheden heeft. De tools die ontwikkeld en gedeeld worden binnen dit project zijn dan ook gericht op gebruiksvriendelijkheid, herbruikbaarheid en brede toepasbaarheid, zodat ook kleinere erfgoedinitiatieven of vrijwilligersgroepen ermee aan de slag kunnen. Dit maakt dat digitaal erfgoed het hoofdthema is waarbinnen we aanvragen.
3.6. Structurele verandering ten opzichte van het huidige functioneren van de erfgoedzorg
In plaats van erfgoed slechts te bewaren en ontsluiten, draait het in de lokale Time Machines om actieve betrokkenheid, samenwerking en gedeeld eigenaarschap. Inwoners kunnen hun eigen foto’s en verhalen toevoegen en taggen, waardoor erfgoed dynamisch, persoonlijk en meervoudig wordt. Dit vraagt om een systeemaanpassing: van aanbod- naar vraaggericht werken en van erfgoed beheren naar erfgoed samen maken.
Het project ontwikkelt en test een laagdrempelige, visueel aantrekkelijke annotatieomgeving waarin burgers op toegankelijke wijze kunnen participeren. Dit instrument biedt een concrete methodiek voor participatieve digitale erfgoedzorg, die breed toepasbaar en herbruikbaar is. Door technische samenwerking en uitwisseling tussen Time Machines ontstaat bovendien een schaalsprong: succesvolle toepassingen kunnen eenvoudig elders worden ingezet. Dit maakt het mogelijk om met beperkte middelen meer gemeenschappen te bedienen.
Daarnaast stimuleert het project nieuwe coalities tussen erfgoedinstellingen, vrijwilligersorganisaties, burgerinitiatieven, ontwerpers, techpartners en educatieve instellingen. Een voorbeeld is de samenwerking in Hilversum met Hilversummers.nl, een een online platform dat zich inzet voor het versterken van de lokale gemeenschap in Hilversum; of de samenwerking in Gouda met een game-ontwikkelaar. Deze netwerken zorgen voor verankering, maar ook voor verrijking van het erfgoed met diverse perspectieven en kennisvormen. Zo wordt het erfgoedveld inclusiever, creatiever en beter verbonden met de samenleving.
Kortom, het initiatief is geen tijdelijk experiment, maar een bouwsteen voor een digitale, meer democratische en participatieve erfgoedsector. Het laat zien hoe erfgoed midden in de samenleving kan staan als iets dat mensen samen vormgeven, betekenis geven en levend houden.
3.7. Plan voor kennisontwikkeling en kennisdeling en de daarbij beoogde doelgroep(en)
Het project zet actief in op kennisdeling met erfgoedprofessionals, burgers en beleidsmakers. Dit gebeurt via twee sporen: doorlopende communicatie via online kanalen van de participerende time machines (en partnerorganisaties) en het organiseren van kennissessies.
3.7.1. Doorlopende communicatie
-
Nieuwsbrieven: Er verschijnen vier digitale nieuwsbrieven (elk kwartaal) met updates over het project, ervaringen uit de deelnemende steden, technische keuzes en leerpunten. De nieuwsbrieven worden verspreid via partnerorganisaties en netwerken in de erfgoedsector. De doelgroep wordt gevormd door erfgoedprofessionals.
-
Sociale media: Via LinkedIn, Mastodon en Bluesky delen we regelmatig korte berichten met foto’s, citaten van deelnemers en aankondigingen. Dit is afhankelijk van het onderwerp communicatie naar vrijwilligers en naar erfgoed professionals.
-
Partnersites: We maken gebruik van bestaande kanalen van partners (bijvoorbeeld historische verenigingen en erfgoedorganisaties) om nieuws en oproepen tot participatie te delen. Communicatie met vrijwilligers en bewoners vindt plaats via bestaande kanalen en social media. Naar verwachting zal deze communicatie specifiek voor het project zijn, de werkelijke uitnutting van de gecreërde participatieve mogelijkheden zal na het project plaatsvinden.
3.7.2. Kennissessies en webinars
Er worden minimaal twee kennissessies georganiseerd:-
Sessie 1 (halverwege het project): Online bijeenkomst over het betrekken van burgers bij digitale erfgoedprojecten. Hier delen we ervaringen en eerste resultaten met andere professionals.
-
Sessie 2 (aan het einde van het project): Fysieke bijeenkomst over de impact, leerpunten en toekomstmogelijkheden van participatief erfgoed. Met demonstraties en ruimte voor uitwisseling. Beide sessies worden opgenomen en gepubliceerd. Ook worden presentaties en samenvattingen online beschikbaar gesteld.
4. Pilot: Smaak van Gouda
Smaak van Gouda – Verhalen achter verdwenen restaurants in de stad is een participatief erfgoedproject over de horecageschiedenis van Gouda. Het is de eerste concrete pilot waarmee het IOTM/Jottem platform van begin tot eind wordt beproefd.
4.1. Aanleiding & doel
Restaurants, cafés, snackbars, lunchrooms, koffiehuizen, ijssalons en afhaalzaken zijn al generaties lang onderdeel van het dagelijks leven in Gouda. Veel van deze zaken zijn verdwenen, terwijl nieuwe ondernemers en keukens hun intrede deden. Het project wil de geschiedenis van de Goudse horeca documenteren, bewaren en toegankelijk maken - van koffiehuizen en melkbars tot Chinese restaurants, shoarmazaken, pizzeria’s, Surinaamse eethuizen en moderne wereldkeukens - met bijzondere aandacht voor de rol van ondernemers met verschillende culturele achtergronden en de ontwikkeling van internationale keukens. Zo ontstaat niet alleen een overzicht van eetgelegenheden, maar ook een sociaal-culturele geschiedenis van smaak, ondernemerschap, migratie en ontmoeting.
4.2. Pilot voor IOTM
De pilot draait als eerste project op de organisatiejottem van Streekarchief Midden-Holland, met een eigen projectpagina, oproep en datasetbeschrijving. Inwoners dragen bij via het Jottem platform: foto’s, menukaarten, advertenties en persoonlijke herinneringen worden verzameld, gemodereerd en duurzaam ontsloten. De pilot valideert de bestaande platformfunctionaliteit (zie § 7 Usecases per rol) en brengt een aantal eisen scherp in beeld.
4.3. Wat dit van het platform vraagt
-
Getypeerd bronmateriaal - naast foto’s ook menukaarten, advertenties, folders, krantenartikelen en vergunningen, via het materiaaltype/genre op een jottem (zie § 6.1 Functionele requirements).
-
Interactieve kaart, gekoppeld aan de Gouda Tijdmachine - bezoekers navigeren door tijd en plaats; per pand zijn de opeenvolgende eetgelegenheden zichtbaar als tijdlijn (zie § 7.8 Als bezoeker kan ik). De tijdlijn wordt afgeleid uit locatiemetadata (adres, openings-/sluitingsjaar) op de jottems; er is geen apart locatiemodel nodig.
-
Koppelingen naar archiefbronnen - per jottem kunnen verwijzingen naar externe archiefbronnen worden vastgelegd (zie § 7.6 Als gebruikers/annoteerder (binnen een organisatie) kan ik).
-
Privacy, authenticiteit & auteursrecht - zorgvuldige omgang met persoonsgegevens en herkenbare personen, en onderscheid tussen herinnering en verifieerbaar feit (zie § 6.4 Privacy, authenticiteit & auteursrecht).
-
Crowdsourcing-workflow - uploaden, aanvullen, corrigeren en reageren, met redactionele beoordeling vóór publicatie (zie § 7 Usecases per rol).
4.4. Te verzamelen materiaal
-
Foto’s van gevels, interieurs en personeel
-
Menukaarten, advertenties, folders en openings-/jubileumuitgaven
-
Krantenartikelen, vergunningen en bedrijfsdocumenten
-
Locatiegegevens: adressen, openings- en sluitingsjaren, opvolgende horecazaken
-
Herinneringen van bezoekers, medewerkers en (oud-)eigenaren - als annotaties of, bij interviews, als audio-jottems
4.5. Participatie
Het project wordt samen met inwoners opgebouwd via verzameldagen en scansessies, oproepen via lokale media en interviews met oud-horecaondernemers, in samenwerking met wijkverenigingen en erfgoedorganisaties zoals Stichting Gedeeld Verleden, Gezamenlijke Toekomst.
5. Praatplaten
5.1. Belanghebbenden
5.2. Mediaproces
5.3. Processtappen
5.4. Platformonderdelen
5.5. Annotaties
5.6. Technische onderdelen
6. Requirements
6.1. Functionele requirements
-
inloggen door gebruikers moet zeer laagdrempelig zijn, dus inclusief social login
-
inloggen door beheerders moet zijn te beveiligen via 2FA (TOTP) of een passkey
-
duurzame link per gepubliceerde jottem, in HTML weergave (die IIIF afbeelding / metadata / annotaties toont) en RDF (volgens schema.org AP NDE, annotaties via API) op basis van content-negotiation; het koppelen van een ARK (met objectname op basis van NOID of UUID) aan deze link is uitgesteld naar een latere fase (zie § 12.2 Besliste openstaande ontwerpvragen)
-
elke jottem behoort tot precies één project (een campagne op organisatieniveau, bijv. Smaak van Gouda); elke organisatie heeft minstens één project en elk project draagt een eigen datasetbeschrijving
-
elke jottem kan een materiaaltype/genre dragen (bijv. foto, menukaart, advertentie, folder, krantenartikel, vergunning), zodat divers bronmateriaal naast foto’s kan worden verzameld en gefilterd
-
elke jottem kan koppelingen naar externe archiefbronnen bevatten (label + URI)
-
elke gepubliceerde jottem heeft deelknoppen naar sociale media en de HTML-weergave bevat de juiste Open Graph-metadata (
og:title,og:description,og:image,og:url), zodat een gedeelde link een nette preview toont -
elke annotatie en reactie is te rapporteren (spam, reclame, ongepast), ook zonder in te loggen; meldingen komen in de moderatieomgeving van de organisatie en de afhandeling wordt gelogd
-
ondersteunde bestandstypen in de MVP: JPG, PNG en TIFF; PDF en audio (met bijbehorende conversiepipeline) volgen in fase 2
-
bij het uploaden bevestigt de uploader de licentie van het project; die wordt op de jottem vastgelegd
-
de uploader prikt de locatie als speld op de kaart (coördinaten); adres en openings-/sluitingsjaren zijn metadata
6.2. Niet-functionele requirements
Onderstaande waarden zijn richtwaarden (concept), vast te stellen door de projectgroep.
-
taal: de interface en redactionele content zijn Nederlandstalig
-
toegankelijkheid: de publieke site voldoet aan WCAG 2.2 niveau AA
-
browsers: de laatste twee versies van evergreen browsers (Chrome, Firefox, Safari, Edge) op desktop en mobiel (iOS Safari, Android Chrome); de site is responsive
-
performance: publiekspagina’s laden binnen 2 seconden (LCP); IIIF-tiles en manifests worden uit cache geserveerd; zoekresultaten binnen 1 seconde
-
capaciteit: eerste jaar orde van grootte 10.000 jottems verdeeld over 4 organisaties; uploads tot 50 MB per bestand; opslag- en verwerkingsgebruik per organisatie wordt gemonitord met alerts (harde quota per organisatie in een latere fase)
-
beschikbaarheid: richtwaarde 99,5% per maand; gepland onderhoud wordt aangekondigd
-
beveiliging: OWASP Top 10 wordt aantoonbaar afgedekt, TLS op alle verbindingen, rate limiting op publieke endpoints, verplichte 2FA (TOTP of passkey) voor beheer- en moderatorrollen
-
privacy: verwijderverzoeken worden binnen 30 dagen afgehandeld, inclusief depublicatie en cache-purge
-
back-up & herstel: nachtelijkse offsite back-ups; RPO 24 uur, RTO 1 werkdag; jaarlijkse hersteltest
-
duurzaamheid/exit: periodieke publieke datadumps en een exportstrategie, zie § 12.1 Infrastructuurrichting: alles op de Jottem-server
-
monitoring: uptime-, logging- en alertvoorzieningen conform de systeemarchitectuur
6.3. Standaarden & API’s
-
IIIF Image API (info.json)
-
IIIF Presentation API (manifest/collection)
-
Herkenbaar API (eigen dienst: detectie van herkenbare personen op afbeeldingen)
-
NDE Termennetwerk GraphQL API (term-lookups; genres via de Cultuurhistorische Thesaurus)
-
geo-annotaties (plek fotograaf, zichtveld, locatie) worden vastgelegd als WKT/GeoJSON
-
de publieke weergave kan gekoppeld worden aan een externe kaart-/tijdmachine (bijv. de Gouda Tijdmachine) om door plaats én tijd te navigeren
6.4. Privacy, authenticiteit & auteursrecht
-
persoonsgegevens worden verwerkt conform de AVG
-
recente foto’s van herkenbare personen worden alleen gepubliceerd met toestemming
-
elke upload wordt bij binnenkomst automatisch gecontroleerd op herkenbare personen via de Herkenbaar API (i.v.m. portretrecht); bij herkenbare personen wordt de uploader direct om een toestemmingsverklaring gevraagd en ziet de moderator het detectiesignaal (ja/nee + betrouwbaarheid) bij de kwaliteitscontrole; de detectie draait volledig op de eigen server, beelden verlaten het platform niet
-
inzenders kunnen verzoeken om verwijdering van hun materiaal
-
bijdragen worden waar mogelijk voorzien van bronvermelding
-
persoonlijke herinneringen worden onderscheiden van historisch verifieerbare feiten
-
het auteursrecht blijft bij de inzender; door inzending wordt toestemming gegeven voor publicatie binnen het project, hergebruik door derden alleen onder de aangegeven voorwaarden
6.5. (Sub)domeinen
-
www.iotm.nl - publieksfrontend
-
api.iotm.nl - publieke API (en beheer-API)
-
auth.iotm.nl - identity provider
-
iiif.iotm.nl - IIIF Image API
-
anno.iotm.nl - W3C annotatieserver
-
data.iotm.nl - RDF, SPARQL en datadumps
-
status.iotm.nl - status en monitoring
-
ark.iotm.nl - gereserveerd voor de ARK-resolver (latere fase, zie § 12.2 Besliste openstaande ontwerpvragen)
7. Usecases per rol
Ter ondersteuning van onderstaande usescases is er een prototype.
7.1. Als platformbeheerder kan ik
-
inloggen, profiel (naam, afbeelding, privacy instellingen, wachtwoord, 2FA/passkey) inzien en wijzigen en uitloggen
-
een organisatiejottem definiëren, deze heeft een naam (van vereniging, archiefinstelling, instituut, enz.), slug, favicon, logo, kleurenpalet (primary, secondary, background, …); het instellen van een ARK NAAN volgt in de latere ARK-fase (zie § 12.2 Besliste openstaande ontwerpvragen)
-
gebruikers (naam, e-mail) in de rol organisatiebeheerder van een organisatiejottem toevoegen, bewerken en verwijderen
-
bij toevoegen van een gebruiker ontvangt deze een e-mail bericht met de regels en bevestigingslink, de link bevat een acceptatie knop waarna een wachtwoord (en 2FA of passkey) ingesteld kan worden
-
kan ik statistieken bekijken, zoals het aantal logins per dag, het aantal geuploadde jottems/afgekeurd/goedgekeurd/annotaties per organisatie en per project
7.2. Als organisatiebeheerder kan ik
-
inloggen, profiel (naam, afbeelding, privacy instellingen, wachtwoord, 2FA/passkey) inzien en wijzigen en uitloggen
-
gebruikers (naam, e-mail) in de rol moderater binnen de organisatiejottem toevoegen, bewerken en verwijderen
-
bij toevoegen van een gebruiker ontvangt deze een e-mail bericht met de regels en bevestigingslink, de link bevat een acceptatie knop waarna een wachtwoord (en 2FA of passkey) ingesteld kan worden
-
kan ik statistieken bekijken, zoals het aantal logins per dag, het aantal geuploadde jottems/afgekeurd/goedgekeurd/annotaties, ook per project
-
kan ik projecten aanmaken en beheren (naam, slug, beschrijving, oproep, periode, afbeelding, datasetlicentie, status); elke organisatie heeft minstens één project en elke jottem hoort bij precies één project
-
kan ik per project instellen welke terminologiebronnen uit het NDE Termennetwerk beschikbaar zijn voor term-URI’s (standaard: alle bronnen)
-
kan ik een reeds bestaande collectie (met metadata en online afbeeldingen > IIIF) als project toevoegen
-
kan ik per project de datasetbeschrijving bewerken en - indien er openbare (gepubliceerde) data is - deze valideren en aanmelden bij (of afmelden van) het NDE Datasetregister
-
kan ik per project een e-depot-export (BagIt met RO-Crate-beschrijving) laten aanmaken; het aanmaken is een asynchrone job en zodra het pakket klaar is ontvang ik een e-mail met een directe downloadlink
7.3. Als moderator kan ik
-
alle jottems (afbeelding + metadata + verrijkingen) bekijken
-
de status van een jottem aanpassen van nieuw naar goedgekeurd of afgekeurd op basis van de kwaliteitscontrole op afbeelding, metadata, privacy (incl. toestemming herkenbare personen), auteursrecht en het onderscheid tussen herinnering en verifieerbaar feit
-
ik word daarbij ondersteund door het automatische detectiesignaal van de Herkenbaar API (herkenbare personen ja/nee + betrouwbaarheid) en de toestemmingsverklaring van de uploader
-
bij afkeuring ontvangt de uploader een e-mail bericht met de reden en wordt de mogelijkheid geboden om meer informatie aan te leveren
-
bij goedkeuring krijgt de jottem een duurzame link en wordt deze gepubliceerd (ARK-minting en een externe preserveringskopie volgen in een latere fase, zie § 3.3.3 Keuze oplossingsrichting) en ontvangt de uploader een e-mail bericht dat de jottem online is geplaatst en oproep om deze te delen via sociale media om reacties en aanvullende informatie bij de jottem te krijgen door annoteerders
-
gerapporteerde annotaties en reacties beoordelen: verbergen/verwijderen bij misbruik, of de melding afwijzen; de afhandeling wordt gelogd
-
kan ik statistieken bekijken, zoals het aantal geuploadde jottems/afgekeurd/goedgekeurd/annotaties
7.4. Als gebruiker (binnen een organisatie) kan ik
-
inloggen ook via social login, profiel (naam, afbeelding, privacy instellingen, wachtwoord) inzien en wijzigen en uitloggen
-
kan ik lezen wat een jottem is en welke eisen hieraan gesteld worden
-
kan ik een overzicht krijgen van geuploadde afbeeldingen, status een #annotaties en deellinks
-
kan ik jottems markeren als favoriet, het overzicht van favorieten bekijken en de favoriet markering verwijderen
-
kan ik mijn favoriete jottems als openbaar instellen waardoor er een deelbare link beschikbaar komt (is geen duurzame link)
7.5. Als gebruiker/uploader (binnen een organisatie) kan ik
-
kan ik een afbeelding uploaden en voorzien van metadata (beschrijving, vervaardiger, datum, plaats, personen op afbeelding leven mogelijk nog) en steekwoorden, en kies ik daarbij het project (van de organisatie) waaraan ik bijdraag
-
bij het uploaden wordt de afbeelding automatisch gecontroleerd op herkenbare personen (Herkenbaar API); zijn die er, dan krijg ik direct de vraag of ik een toestemmingsverklaring van de afgebeelde personen kan afleggen
-
kan ik die verklaring niet afleggen, dan kies ik zelf: de upload annuleren, of tóch indienen; in dat laatste geval gaat de jottem met de vlag "herkenbaar: ja, toestemming: nee" de moderatiewachtrij in en weegt de moderator af of publicatie kan
-
bevestig ik bij het indienen de licentie van het project (vastgelegd op de jottem)
-
kan ik bij het uploaden een materiaaltype/genre kiezen (bijv. foto, menukaart, advertentie, folder, krantenartikel, vergunning)
-
kan ik locatiemetadata toevoegen (adres, openings-/sluitingsjaar) en de locatie als speld op de kaart prikken (dat levert de coördinaten), zodat de jottem op de kaart en in een pand-tijdlijn kan verschijnen
-
kan ik een afgekeurde jottem aanpassen (n.a.v. de afkeurreden) en opnieuw indienen ter beoordeling
-
kan ik afgekeurdde jottems verwijderen (goedgekeurde jottems niet!)
7.6. Als gebruikers/annoteerder (binnen een organisatie) kan ik
-
kan ik een extra metadata aan de gehele jottem toevoegen, waarbij term-URI’s gezocht worden via het NDE Termennetwerk binnen de voor het project ingestelde terminologiebronnen, zoals
-
een plaatsnaam (label+URI)
-
de plek waar de fotograaf stond (op de kaart) plus zichtveld (WKT)
-
gebeurtenis (label+URI)
-
koppeling naar een externe archiefbron (label+URI)
-
vrije tekst: herinnering, aanvulling of correctie
-
kan ik een extra metadata aan een getekend vlak op de jottem toevoegen, zoals
-
identificatie van persoon, gebouw, bedrijf (naam+URI)
-
kan ik reageren op een annotatie in de vorm van vrije tekst (herinnering, aanvulling of correctie)
-
kan ik mijn eigen annotaties bewerken en verwijderen; de wijzigingsgeschiedenis blijft daarbij bewaard in de annotatieserver
Zie § 8 Verrijkingen voor de volledige catalogus van verrijkingsmogelijkheden, met per mogelijkheid de call-to-action, de technische impact en de vorm als Web Annotation.
7.7. Als API gebruiker kan ik
-
per organisatie nieuwe/bijgewerkte (=ook nieuwe annotaties) jottems harvesten via IIIF CD
-
per organisatie nieuwe jottems via RSS
-
kan ik jottems doorzoeken op basis van elasticsearch
-
kan ik annotaties zoeken
-
annotaties ophalen via het W3C Web Annotation Protocol: per jottem (AnnotationCollection uit de container) en per organisatie (aggregerende AnnotationCollection)
-
per organisatie / project een IIIF collection opvragen
-
per project een datasetbeschrijving, RSS-feed en aggregerende AnnotationCollection opvragen
-
per jottem IIIF info.json + manifest opvragen
-
per project een datasetbeschrijving (met datadump van alle jottems in RDF volgens schema.org AP NDE als distributie) ophalen; de platformbrede datacatalogus bundelt alle projectdatasets
7.8. Als bezoeker kan ik
-
lezen over het iotm platform, faq, privacy, auteursrecht
-
de organisatie- en projectpagina’s lezen met informatie over doel, oproep tot actie
-
mezelf registreren (waarmee je een gebruiker wordt)
-
gepubliceerde jottems bekijken/doorzoeken
-
favorieten van gebruikers bekijken
-
een jottem delen via de deelknoppen (sociale media, e-mail, link kopiëren); de gedeelde link toont een nette preview
-
via een interactieve kaart (gekoppeld aan de Gouda Tijdmachine) door tijd en plaats navigeren
-
per pand de opeenvolgende eetgelegenheden als tijdlijn bekijken
-
een verwijderingsverzoek indienen voor eigen of herkenbaar materiaal
-
een annotatie of reactie rapporteren (spam, reclame, ongepast); de melding komt in de moderatieomgeving van de organisatie
8. Verrijkingen
Het verrijken van geüploade afbeeldingen is cruciaal om losse foto’s en documenten om te zetten in doorzoekbare, gestructureerde en betekenisvolle historische bronnen. Dit hoofdstuk is de catalogus van verrijkingsmogelijkheden: per mogelijkheid de beschrijving, de call-to-action (B1-taalniveau) die bij een jottem wordt getoond om gebruikers te nudgen, de technische impact of standaard, en een indicatie hoe de verrijking er als W3C Web Annotation uitziet. Het sluit aan op de § 7 Usecases per rol van de annoteerder en op de opslag en ontsluiting van annotaties in de data-architectuur.
Leeswijzer bij de Web Annotation-voorbeelden. Alle voorbeelden volgen het
W3C Web Annotation Data Model. Voor de
leesbaarheid zijn @context (http://www.w3.org/ns/anno.jsonld), id, creator en
created weggelaten; het platform vult die altijd. Het target is de duurzame jottem-URI
of het IIIF-canvas; vlakken worden geselecteerd met een FragmentSelector
(xywh=pixel:x,y,w,h) of SvgSelector. De impact-indicatie: laag = past in de
bestaande annotatieflow, middel = extra UI of veld, hoog = nieuwe pipeline of
koppelvlak. Mogelijkheden gemarkeerd met (niet in MVP) volgen in fase 2 of later.
8.1. Inhoudelijke en beeldannotaties (IIIF en W3C Web Annotations)
8.1.1. Vlak-annotaties (bounding boxes)
Het selecteren van specifieke regio’s of uitsneden op een afbeelding, bijvoorbeeld een individuele persoon op een groepsfoto, een detail van een gevel of een specifiek gerecht op een menukaart.
Call-to-action: "Zie je iets bijzonders op deze foto? Teken er een vak omheen en vertel wat het is." en "Ken je iemand op deze foto? Klik op die persoon."
Techniek/standaard: W3C Web Annotation met FragmentSelector (Media Fragments,
xywh=pixel:) of SvgSelector op het IIIF-canvas; Annotorious in de frontend. Impact:
laag (kern van de bestaande annotatieflow).
Als Web Annotation:
{ "type" : "Annotation" , "motivation" : "identifying" , "target" : { "source" : "https://iiif.iotm.nl/jottem/{id}/canvas/1" , "selector" : { "type" : "FragmentSelector" , "conformsTo" : "http://www.w3.org/TR/media-frags/" , "value" : "xywh=pixel:410,220,180,260" } }, "body" : { "type" : "TextualBody" , "purpose" : "identifying" , "value" : "Wong Lee, kok" } }
8.1.2. Taggen met gecontroleerde vocabulaires
Het koppelen van gestructureerde begrippen uit het NDE Termennetwerk, de Cultuurhistorische Thesaurus (CHT) of Wikidata aan (onderdelen van) de afbeelding.
Call-to-action: "Wat zie je op deze foto? Kies een woord uit de lijst, dan kan iedereen het terugvinden."
Techniek/standaard: motivation tagging met een SpecificResource-body die naar de
term-URI wijst; termen zoeken via het NDE Termennetwerk (GraphQL), beperkt tot de
terminologiebronnen van het project. Impact: laag (bestaande Termennetwerk-integratie).
Als Web Annotation:
{ "type" : "Annotation" , "motivation" : "tagging" , "target" : "https://www.iotm.nl/jottem/{id}" , "body" : { "type" : "SpecificResource" , "purpose" : "tagging" , "source" : "https://data.cultureelerfgoed.nl/term/id/cht/{term}" } }
8.1.3. Materiaal- en genretypering
Het toekennen van het specifieke bron- of materiaaltype aan de upload, zoals foto, menukaart, advertentie, folder, krantenartikel of vergunning.
Call-to-action: "Wat voor iets is dit? Kies: foto, menukaart, advertentie of iets anders."
Techniek/standaard: in de MVP is dit metadata (Media.genre, gekoppeld aan een
CHT-term, zie de data-architectuur), geen annotatie; een correctievoorstel door een
gebruiker kan wél als annotatie. Impact: laag (bestaand veld).
Als Web Annotation (correctievoorstel):
{ "type" : "Annotation" , "motivation" : "classifying" , "target" : "https://www.iotm.nl/jottem/{id}" , "body" : { "type" : "SpecificResource" , "purpose" : "classifying" , "source" : "https://data.cultureelerfgoed.nl/term/id/cht/{menukaart}" } }
8.1.4. Crowd-solving: identificatievragen
Vragen stellen aan de gemeenschap om onbekende elementen op te lossen, zoals "Wie kent deze persoon?" of "Welke winkel was dit?".
Call-to-action: "Weet jij dit niet? Stel je vraag, misschien weet een ander het wel." en bij bestaande vragen: "Iemand vraagt: wie is dit? Weet jij het antwoord?"
Techniek/standaard: motivation questioning; antwoorden hangen er als reactie aan
(motivation replying, zie de bestaande reactieflow). Impact: laag.
Als Web Annotation:
{ "type" : "Annotation" , "motivation" : "questioning" , "target" : { "source" : "https://iiif.iotm.nl/jottem/{id}/canvas/1" , "selector" : { "type" : "FragmentSelector" , "value" : "xywh=pixel:120,80,200,300" } }, "body" : { "type" : "TextualBody" , "purpose" : "questioning" , "value" : "Wie kent deze persoon?" } }
8.2. Geografische en temporele verrijking (plaats en tijd)
8.2.1. Georeferentiëring en adreskoppeling
Het toevoegen van coördinaten, straatnamen en huisnummers waaraan de afbeelding is gerelateerd. In de MVP prikt de uploader de locatie als speld op de kaart (dat levert de coördinaten als metadata); automatische adreskoppeling (geocoding, pand-ID’s zoals BAG) is (niet in MVP).
Call-to-action: "Weet je waar dit was? Zet een speld op de kaart." en "Klopt de plek niet helemaal? Versleep de speld."
Techniek/standaard: speld = lat/lon als metadata bij de jottem (MVP); correcties en aanvullingen door anderen als annotatie met een GeoJSON-body; latere fase: PDOK Locatieserver en BAG-pand-ID’s. Impact: laag (speld), hoog (adreskoppeling).
Als Web Annotation (locatievoorstel):
{ "type" : "Annotation" , "motivation" : "identifying" , "target" : "https://www.iotm.nl/jottem/{id}" , "body" : { "type" : "TextualBody" , "purpose" : "identifying" , "format" : "application/geo+json" , "value" : "{ \"type\": \"Point\", \"coordinates\": [4.7083, 52.0115] }" } }
8.2.2. Tijdlijn en periode-aanduiding
Het vastleggen van een exacte datum, jaartal of tijdsperiode, zoals de openings- en sluitingsjaren van een horecazaak of bedrijf in een pand.
Call-to-action: "Weet je wanneer dit was? Vul het jaartal in, ook een gok helpt." en "Wanneer ging deze zaak open en dicht?"
Techniek/standaard: periodes in EDTF (Extended Date/Time Format, bijv. 1973/1996
of 196X voor "jaren zestig"); exacte datums als metadata, aanvullingen en correcties als
annotatie. Voedt de pand-tijdlijn op de kaart. Impact: laag.
Als Web Annotation:
{ "type" : "Annotation" , "motivation" : "describing" , "target" : "https://www.iotm.nl/jottem/{id}" , "body" : { "type" : "TextualBody" , "purpose" : "describing" , "value" : "Geopend 1973, gesloten 1996 (EDTF: 1973/1996)" } }
8.2.3. Geopositionering en zichtveld
Het bepalen van het camerastandpunt en de kijkrichting om de foto in te passen in een interactieve kaart of ruimtelijk-temporele omgeving, zoals de Gouda Tijdmachine.
Call-to-action: "Waar stond de fotograaf? Zet een speld en draai het pijltje in de kijkrichting."
Techniek/standaard: GeoJSON-punt met kijkrichting (bearing in graden) en zichtshoek; sluit aan op het GTM-koppelvlak (fase 2) en op de geo-requirements (WKT/GeoJSON). Impact: middel (extra UI op de kaart).
Als Web Annotation:
{ "type" : "Annotation" , "motivation" : "describing" , "target" : "https://www.iotm.nl/jottem/{id}" , "body" : { "type" : "TextualBody" , "purpose" : "describing" , "format" : "application/geo+json" , "value" : "{ \"type\": \"Point\", \"coordinates\": [4.7083, 52.0115], \"properties\": { \"bearing\": 220, \"fov\": 60 } }" } }
8.3. Tekstuele verrijking en transcriptie (OCR/HTR)
8.3.1. Handmatige en geassisteerde transcriptie (niet in MVP)
Het letterlijk uittypen van teksten die op het beeld staan, zoals opschriften op uithangborden, menukaarten, krantenartikelen of handgeschreven annotaties en brieven.
Call-to-action: "Kun je lezen wat hier staat? Typ het over, dan kan iedereen het vinden."
Techniek/standaard: motivation supplementing (de standaardvorm voor transcripties in
IIIF-omgevingen), per tekstregel of tekstblok met een vlak-selector; geassisteerd met
OCR (Tesseract) of HTR (Loghi/Transkribus) als suggestie. Impact: hoog (aparte
transcriptie-UI en, bij assistentie, een OCR/HTR-pipeline).
Als Web Annotation:
{ "type" : "Annotation" , "motivation" : "supplementing" , "target" : { "source" : "https://iiif.iotm.nl/jottem/{id}/canvas/1" , "selector" : { "type" : "FragmentSelector" , "value" : "xywh=pixel:60,340,480,60" } }, "body" : { "type" : "TextualBody" , "purpose" : "supplementing" , "value" : "Babi pangang f 8,50" } }
8.3.2. Vertaling en begrippenverklaring
Het toelichten van verouderde termen, verdwenen beroepen, dialectwoorden of historische munteenheden die op het beeld of in menukaarten en documenten voorkomen.
Call-to-action: "Weet jij wat dit woord betekent? Leg het uit voor wie het niet meer kent."
Techniek/standaard: motivation describing op een vlak of op de hele jottem;
waar mogelijk met een term-URI (Termennetwerk) als tweede body. Impact: laag.
Als Web Annotation:
{ "type" : "Annotation" , "motivation" : "describing" , "target" : { "source" : "https://iiif.iotm.nl/jottem/{id}/canvas/1" , "selector" : { "type" : "FragmentSelector" , "value" : "xywh=pixel:60,340,180,40" } }, "body" : { "type" : "TextualBody" , "purpose" : "describing" , "value" : "Een melkinrichting was een winkel waar je melk, boter en kaas kocht." } }
8.3.3. Indexering van namen en lijsten (niet in MVP)
Het specifiek doorzoekbaar maken van namen en functies op gedenkplaten, verenigingsfoto’s of officiële documenten.
Call-to-action: "Staan er namen op? Typ ze over, dan zijn ze te vinden voor familie en onderzoekers."
Techniek/standaard: reeks supplementing-annotaties met per naam een vlak-selector en
een gestructureerde body (naam, functie); de zoekindex neemt ze mee als doorzoekbare
velden. Impact: middel (lijst-invoer-UI en indexering).
Als Web Annotation:
{ "type" : "Annotation" , "motivation" : "supplementing" , "target" : { "source" : "https://iiif.iotm.nl/jottem/{id}/canvas/1" , "selector" : { "type" : "FragmentSelector" , "value" : "xywh=pixel:220,120,160,40" } }, "body" : { "type" : "TextualBody" , "purpose" : "identifying" , "value" : "J. van Dam, voorzitter" } }
8.4. Storytelling en anekdotische verrijking
8.4.1. Persoonlijke herinneringen en anekdotes
Het toevoegen van verhalen en getuigenissen bij een foto. Hierbij wordt een duidelijk onderscheid gemaakt tussen historisch verifieerbare feiten en persoonlijke herinneringen.
Call-to-action: "Was jij hier weleens? Vertel je herinnering, groot of klein." en "Wat weet jij nog van deze plek?"
Techniek/standaard: motivation commenting; het onderscheid herinnering versus feit is
een expliciet kenmerk op de annotatie (platform-extensie jottem:aard), zichtbaar in de
weergave en meegenomen in de moderatiehandreiking. Impact: laag.
Als Web Annotation:
{ "type" : "Annotation" , "motivation" : "commenting" , "target" : "https://www.iotm.nl/jottem/{id}" , "body" : { "type" : "TextualBody" , "purpose" : "commenting" , "value" : "Mijn ouders aten hier elke verjaardag." }, "jottem:aard" : "herinnering" }
8.4.2. Audio-annotaties en interviews (niet in MVP)
Het koppelen van gesproken herinneringen, mondelinge historie (oral history) of interviewfragmenten aan de afbeelding of een specifiek canvas.
Call-to-action: "Vertel je verhaal liever? Neem het op, praten mag ook."
Techniek/standaard: annotatie met een audio-body (opname via de browser, opslag in de
audio-bucket); hangt samen met de audio-ondersteuning uit fase 2 (transcodering,
IIIF-audio-canvas). Impact: hoog (opname-UI en audio-pipeline).
Als Web Annotation:
{ "type" : "Annotation" , "motivation" : "commenting" , "target" : "https://www.iotm.nl/jottem/{id}" , "body" : { "type" : "Sound" , "id" : "https://media.iotm.nl/audio/{opname}.mp3" , "format" : "audio/mpeg" } }
8.4.3. Externe bronverwijzingen
Het toevoegen van URI-koppelingen naar externe archiefsystemen, kadasterkaarten of krantenbanken zoals Delpher.
Call-to-action: "Ken je een krantenbericht of archiefstuk over deze plek? Plak de link erbij."
Techniek/standaard: motivation linking met de externe URI als body; label en
bronvermelding erbij. Sluit aan op het bestaande requirement voor archiefbron-koppelingen
(label + URI). Impact: laag.
Als Web Annotation:
{ "type" : "Annotation" , "motivation" : "linking" , "target" : "https://www.iotm.nl/jottem/{id}" , "body" : { "type" : "SpecificResource" , "purpose" : "linking" , "source" : "https://resolver.kb.nl/resolve?urn=ddd:110577489:mpeg21" } }
8.5. Relatieve en vergelijkende activiteiten
8.5.1. "Toen en nu" (herfotografie) (niet in MVP)
Het toevoegen van een hedendaagse foto vanaf exact dezelfde locatie en invalshoek om verandering in de leefomgeving in beeld te brengen.
Call-to-action: "Woon je in de buurt? Maak dezelfde foto zoals het er nu uitziet en zet hem ernaast."
Techniek/standaard: de nu-foto is zelf een jottem (met eigen moderatie); de koppeling
is een linking-annotatie tussen beide; weergave als voor/na-schuif in de viewer (IIIF
Choice of twee canvassen). Impact: middel (upload-koppelflow en vergelijkingsweergave).
Als Web Annotation:
{ "type" : "Annotation" , "motivation" : "linking" , "target" : "https://www.iotm.nl/jottem/{toen}" , "body" : { "type" : "SpecificResource" , "purpose" : "linking" , "source" : "https://www.iotm.nl/jottem/{nu}" } }
8.5.2. Chronologische reeksen
Het onderling koppelen van afbeeldingen om een tijdlijn van één specifieke locatie, familie of evenement door de jaren heen op te bouwen.
Call-to-action: "Hoort deze foto bij dezelfde plek als een andere? Koppel ze aan elkaar."
Techniek/standaard: in de MVP ontstaat de pand-tijdlijn automatisch uit adres en
openings-/sluitingsjaren (metadata); handmatige koppelingen als linking-annotaties;
gepubliceerde reeksen als IIIF Collection of Range. Impact: laag (automatisch), middel
(handmatig koppelen met UI).
Als Web Annotation:
{ "type" : "Annotation" , "motivation" : "linking" , "target" : "https://www.iotm.nl/jottem/{id}" , "body" : { "type" : "SpecificResource" , "purpose" : "linking" , "source" : "https://www.iotm.nl/jottem/{ander}" } }
8.5.3. Multimediale bundeling (niet in MVP)
Een krantenartikel, menukaart, interieurfoto en personeelsfoto van hetzelfde pand of bedrijf aan elkaar koppelen.
Call-to-action: "Heb je meer over deze zaak? Voeg het samen tot één verhaal."
Techniek/standaard: IIIF Collection per pand of bedrijf, gevuld met
linking-annotaties tussen de jottems; de bundel krijgt een eigen pagina. Impact: middel.
Als Web Annotation: zoals bij § 8.5.2 Chronologische reeksen; de bundel zelf is een IIIF Collection, geen annotatie.
8.6. Geautomatiseerde en AI-ondersteunde verrijking
8.6.1. Automatische beeldherkenning (niet in MVP)
AI-gebaseerde detectie van objecten, architectuurstijlen, voertuigen of kledingstijlen als suggestie voor de gebruiker.
Call-to-action: "De computer denkt dat hier een bakfiets staat. Klopt dat? Ja / Nee."
Techniek/standaard: eigen dienst naast de Herkenbaar API; suggesties zijn annotaties
met een generator (software) en een betrouwbaarheidsscore; een gebruiker of moderator
bevestigt voordat de suggestie definitief wordt. Impact: hoog (ML-pipeline en
bevestigingsflow).
Als Web Annotation:
{ "type" : "Annotation" , "motivation" : "tagging" , "generator" : { "type" : "Software" , "name" : "jottem-beeldherkenning" }, "jottem:betrouwbaarheid" : 0.87 , "target" : { "source" : "https://iiif.iotm.nl/jottem/{id}/canvas/1" , "selector" : { "type" : "FragmentSelector" , "value" : "xywh=pixel:40,300,220,180" } }, "body" : { "type" : "TextualBody" , "purpose" : "tagging" , "value" : "bakfiets" } }
8.6.2. Digitale restauratie en inkleuring (niet in MVP)
Het toevoegen van een digitaal ingekleurde of herstelde variant van een beschadigde of zwart-witfoto als secundaire weergave.
Call-to-action: "Bekijk deze foto in kleur." (weergave-optie, geen invoer van de gebruiker)
Techniek/standaard: de variant is een afgeleide (nooit het origineel vervangend), aangeboden als IIIF Choice op hetzelfde canvas; herkomst en methode worden vastgelegd. De ingekleurde of gerestaureerde weergave krijgt in de viewer een zichtbaar AI-label ("Deze weergave is met AI bewerkt"), conform de transparantieverplichting voor AI-gegenereerde en AI-bewerkte beelden uit de AI Act (Verordening (EU) 2024/1689, art. 50); het label wordt ook als metadata bij de afgeleide vastgelegd, zodat het bij hergebruik en in de API’s behouden blijft. Impact: hoog (beeldpipeline).
Als Web Annotation (variant als painting-alternatief op het canvas):
{ "type" : "Annotation" , "motivation" : "painting" , "target" : "https://iiif.iotm.nl/jottem/{id}/canvas/1" , "body" : { "type" : "Choice" , "items" : [ { "type" : "Image" , "id" : "https://iiif.iotm.nl/{origineel}/full/max/0/default.jpg" }, { "type" : "Image" , "id" : "https://iiif.iotm.nl/{ingekleurd}/full/max/0/default.jpg" } ] } }
8.7. Collectievorming en community-validatie
8.7.1. Feitencontrole en moderatie door de gemeenschap (niet in MVP)
Het controleren, aanvullen en goedkeuren van ingevoerde metadata door medegebruikers of moderatoren.
Call-to-action: "Klopt deze informatie? Bevestig het of stel een verbetering voor."
Techniek/standaard: motivation assessing op een bestaande annotatie of op de
metadata; bevestigingen tellen op tot een betrouwbaarheidsindicatie. De reguliere moderatie
door moderatoren en de meldingenflow bestaan al in de MVP; dit betreft de bredere
community-validatie. Impact: middel.
Als Web Annotation:
{ "type" : "Annotation" , "motivation" : "assessing" , "target" : "https://anno.iotm.nl/annotation/{bestaande-annotatie}" , "body" : { "type" : "TextualBody" , "purpose" : "assessing" , "value" : "Klopt, zie de bouwvergunning uit 1972." } }
8.7.2. Thematische collecties en favorieten (niet in MVP)
Het groeperen van verrijkte afbeeldingen in openbare thema-albums (bijvoorbeeld "Verdwenen ijssalons" of "Gevelstenen") of persoonlijke favorietenlijsten. Persoonlijke favorieten met openbare deellink bestaan al in de MVP; de openbare thema-albums zijn de uitbreiding.
Call-to-action: "Mooi gevonden? Bewaar deze foto in je eigen lijst." en "Maak je eigen album over een onderwerp dat jou raakt."
Techniek/standaard: favorieten via het bestaande Favoriet-model; thema-albums als
IIIF Collection met eigen pagina; opname in een album als bookmarking-annotatie. Impact:
middel (albumbeheer-UI).
Als Web Annotation:
{ "type" : "Annotation" , "motivation" : "bookmarking" , "target" : "https://www.iotm.nl/jottem/{id}" , "body" : { "type" : "TextualBody" , "purpose" : "tagging" , "value" : "Album: Verdwenen ijssalons" } }
8.8. Instelbaar per project
De organisatiebeheerder bepaalt per project welke verrijkingsmogelijkheden beschikbaar zijn, net zoals de terminologiebronnen per project worden ingesteld. Alleen ingeschakelde verrijkingen tonen hun call-to-action op de jottem-pagina; de rest blijft verborgen. Zo kan een fotoproject inzetten op herinneringen en identificatie, en een documentenproject op transcriptie en begrippenverklaring, zonder gebruikers te overladen met knoppen.
8.9. Aanvullende requirements
Deze set requirements hoort vooralsnog alleen bij dit hoofdstuk en werkt nog niet door in de overige ontwerpdocumenten (requirements, usecases, ERD, API’s); dat doorwerken is een vervolgstap na vaststelling.
-
V-1 De organisatiebeheerder kan per project instellen welke verrijkingsmogelijkheden beschikbaar zijn; standaard staan de MVP-verrijkingen uit dit hoofdstuk aan.
-
V-2 Alleen ingeschakelde verrijkingsmogelijkheden tonen hun call-to-action op de jottem-pagina; call-to-actions zijn kort, activerend en op B1-taalniveau, met de teksten uit dit hoofdstuk als uitgangspunt.
-
V-3 Elke verrijking wordt opgeslagen als W3C Web Annotation met de motivation en purpose uit dit hoofdstuk; uitzonderingen zijn genre en locatiespeld, die in de MVP metadata zijn.
-
V-4 Het onderscheid tussen herinnering en verifieerbaar feit (
jottem:aard) is bij weergave altijd zichtbaar en wordt bij invoer expliciet uitgevraagd. -
V-5 Verrijkingsmogelijkheden die niet in de MVP zitten, staan achter een feature-flag, zodat ze per omgeving en fase geactiveerd kunnen worden zonder herontwerp.
-
V-6 AI-suggesties zijn altijd herleidbaar (annotatie met
generatoren betrouwbaarheidsscore) en worden pas definitief na bevestiging door een gebruiker of moderator. Alle AI-gegenereerde of AI-bewerkte content (zoals ingekleurde weergaven en beeldherkenning-output) draagt een zichtbaar AI-label in de weergave én als metadata, conform de transparantieverplichting uit de AI Act (Verordening (EU) 2024/1689, art. 50). -
V-7 Voor alle verrijkingen gelden de bestaande meldingen- en moderatieflow en de bestaande autorisatie (eigen bijdragen bewerken en verwijderen).
-
V-8 Platform-extensies op het Web Annotation-model (zoals
jottem:aardenjottem:betrouwbaarheid) worden gedefinieerd in een eigen JSON-LD-context, zodat de annotaties standaardconform blijven.
9. Acceptatiecriteria
Per usecase (zie § 7 Usecases per rol) de testbare criteria voor oplevering; ze vormen de basis voor de end-to-end-testsuite uit de systeemarchitectuur en de livegang-criteria in het § 15 Realisatieplan. De niet-functionele eisen (§ 6.2 Niet-functionele requirements) gelden daarbovenop voor alle schermen en API’s. Criteria bij fase 2-functionaliteit zijn gemarkeerd met (fase 2).
9.1. Platformbeheerder
-
PB-1 Ik kan inloggen met wachtwoord + verplichte 2FA (TOTP of passkey); zonder geldige sterke factor weigert de backend elk beheer-endpoint (
amr-controle). -
PB-2 Ik kan een organisatiejottem definiëren (naam, slug, favicon, logo, kleurenpalet); de huisstijl is direct zichtbaar op de organisatiepagina’s en in de notificatiemails; bij het aanmaken ontstaat automatisch een eerste project.
-
PB-3 Ik kan een organisatiebeheerder uitnodigen; de uitgenodigde ontvangt de uitnodigingsmail, doorloopt de Authentik-enrollment (wachtwoord + verplichte tweede factor: TOTP of passkey) en heeft bij eerste login de klaargezette rol.
-
PB-4 (fase 2) Ik zie platformstatistieken per organisatie en per project, gevoed uit het Gebeurtenislog.
9.2. Organisatiebeheerder
-
OB-1 Ik kan moderatoren uitnodigen, bewerken en verwijderen; de uitnodigingsflow werkt zoals PB-3 (incl. handreiking-link in de mail).
-
OB-2 Ik kan projecten aanmaken en bewerken met alle metadata (naam, slug, beschrijving, oproep, periode, afbeelding, datasetlicentie, status); een project verwijderen kan alleen als het leeg is én er minstens één ander project resteert (anders 409).
-
OB-3 Ik kan per project de beschikbare terminologiebronnen instellen uit de lijst van het NDE Termennetwerk; upload- en annotatieschermen bieden daarna alléén die bronnen aan.
-
OB-4 Ik kan per project de datasetbeschrijving bewerken en - uitsluitend als het project gepubliceerde jottems heeft - valideren en aanmelden bij het NDE Datasetregister; een SHACL-validatiefout toont de details (422), zonder openbare data volgt 409.
-
OB-5 (fase 2) Ik kan een bestaande collectie via IIIF importeren in een project; geïmporteerde jottems doorlopen de reguliere moderatie.
-
OB-6 (fase 2) Ik kan per project een e-depot-export starten (202); na afronding ontvang ik de export-gereed-mail en is de download een valide BagIt (checksums kloppen) met
ro-crate-metadata.json.
9.3. Moderator
-
MO-1 Ik zie alle jottems van mijn organisatie met status; ik kan filteren op nieuw/goedgekeurd/afgekeurd/gedepubliceerd; jottems van andere organisaties zijn onbereikbaar (403).
-
MO-2 Bij goedkeuren krijgt de jottem een duurzame link, wordt hij zichtbaar in het project én verschijnt hij in zoekindex, RDF, IIIF Collection, Change Discovery en RSS; de uploader ontvangt de goedgekeurd-mail.
-
MO-3 Afkeuren zonder reden is onmogelijk; bij afkeuren ontvangt de uploader de afgekeurd-mail met de reden en een werkende herindien-link.
-
MO-4 Als er jottems wachten ontvang ik maximaal één digest-mail per dag; zonder wachtende jottems geen mail.
-
MO-5 Bij een gehonoreerd verwijderverzoek krijgt de jottem status gedepubliceerd: de duurzame link toont een tombstone en de jottem is verdwenen uit zoekindex, RDF, feeds en IIIF-cache (purge); de indiener ontvangt de uitkomst-mail. Bij afwijzing is een toelichting verplicht.
-
MO-6 Gerapporteerde annotaties en reacties verschijnen in mijn moderatieoverzicht; ik kan de bijdrage verbergen/verwijderen of de melding afwijzen; de afhandeling is terug te vinden in het Gebeurtenislog.
9.4. Gebruiker
-
GE-1 Ik kan registreren en inloggen, ook via social login; bij eerste login bestaat mijn profiel (koppeling via
sub). -
GE-2 Ik kan in mijn profiel mijn naam, afbeelding,
naamPublieken de attenderingen (aan/uit) beheren; metnaamPubliekuit verschijnt mijn naam nergens publiek (annotaties tonen dan een geanonimiseerde vermelding). -
GE-3 Ik zie een overzicht van mijn uploads met status, aantal annotaties en deellinks.
-
GE-4 Ik kan jottems als favoriet markeren/ontmarkeren en mijn favorieten openbaar maken; de deellink toont mijn favorieten zonder inloggen en is géén duurzame link.
9.5. Uploader
-
UP-1 Ik kan een bestand uploaden (JPG/PNG/TIFF, tot 50 MB; daarboven of ander type: duidelijke weigering; PDF en audio volgen in fase 2) met titel/beschrijving, genre (CHT-lijst), metadata, steekwoorden en locatie (speld op de kaart); ik bevestig de projectlicentie; de projectkeuze is verplicht - zonder project geen upload.
-
UP-2 Direct na de upload zie ik het resultaat van de Herkenbaar-check; bij "herkenbaar: ja" word ik om een toestemmingsverklaring gevraagd en wordt die vastgelegd; zonder verklaring kies ik zelf: annuleren of tóch indienen (vlag "toestemming: nee"); de moderator ziet signaal én verklaring of vlag.
-
UP-3 Een afgekeurde jottem kan ik aanpassen en opnieuw indienen (status terug naar nieuw); een goedgekeurde jottem kan ik niet bewerken of verwijderen (403), een afgekeurde wél verwijderen.
9.6. Annoteerder
-
AN-1 Ik kan een annotatie op de hele jottem plaatsen (plaats, gebeurtenis, archiefbron, vrije tekst) waarbij term-URI’s gezocht worden via het Termennetwerk, beperkt tot de projectbronnen (OB-3).
-
AN-2 Ik kan een vlak tekenen en daaraan een identificatie (persoon/gebouw/bedrijf, naam + URI) koppelen; het vlak is terug te zien op de jottem-detailpagina.
-
AN-3 Ik kan reageren op een annotatie; de reactie hangt als W3C-annotatie aan de oorspronkelijke annotatie.
-
AN-4 Ik kan mijn eigen annotaties bewerken en verwijderen (andermans niet: 403); de versiegeschiedenis blijft bewaard in de annotatieserver; elke mutatie werkt
Media.wijzigingsDatumbij (zichtbaar in Change Discovery).
9.7. API-gebruiker
-
AP-1 De Change Discovery-feed per organisatie toont Create bij publicatie en Update bij metadata- én annotatiemutaties, in valide ActivityStreams-paginering.
-
AP-2 RSS-feeds (platform, organisatie, project) valideren tegen RSS 2.0 en tonen nieuwe jottems met duurzame link en thumbnail.
-
AP-3
/jottem/searchaccepteert uitsluitend de gedefinieerde zoek-DSL en levert resultaten mét facetten; een rauwe Elasticsearch-query wordt geweigerd (422). -
AP-4 Annotaties zijn opvraagbaar per annotatie, per jottem (container), per project en per organisatie - telkens als valide W3C
AnnotationCollection/Annotation. -
AP-5 IIIF
info.json, Manifests en Collections (organisatie én project) passeren de IIIF-validators; (fase 2) audio-jottems hebben een canvas metduration. -
AP-6 De datasetbeschrijving per project valideert tegen het SHACL-shape van het Datasetregister; de datadump (N-Triples) valideert tegen schema.org AP NDE;
/datacatalogbundelt alle projectdatasets. -
AP-7 De duurzame jottem-URL levert HTML bij
Accept: text/htmlen JSON-LD/Turtle bij RDF-accept-headers (303); een gedepubliceerde jottem geeft een tombstone (410).
9.8. Bezoeker
-
BE-1 Ik kan zonder account de platforminformatie (FAQ, privacy, auteursrecht), organisatie- en projectpagina’s (doel, oproep) lezen.
-
BE-2 Ik kan gepubliceerde jottems verkennen: zoeken met facetten, en per jottem de detailpagina zien met IIIF-viewer (zoom), metadata en annotaties.
-
BE-3 Ik kan via de interactieve kaart navigeren en per pand de opeenvolgende zaken als tijdlijn zien (afgeleid uit adres + openings-/sluitingsjaren).
-
BE-4 Ik kan een verwijderverzoek indienen en ontvang direct de ontvangstbevestiging per mail; de moderatoren ontvangen de melding (MO-5 dekt de afhandeling).
-
BE-5 Openbare favorietenpagina’s van gebruikers zijn bereikbaar via hun deellink (GE-4).
-
BE-6 Elke gepubliceerde jottem-pagina toont deelknoppen (sociale media, e-mail, link kopiëren) en bevat correcte Open Graph-metadata (
og:title/description/image/url); een gedeelde link toont titel, beschrijving en afbeelding in de preview (gecontroleerd met een OG-validator). -
BE-7 Ik kan bij elke annotatie en reactie een melding doen (rapporteren, ook zonder account, met rate limiting); ik krijg een bevestiging en de melding verschijnt in de moderatieomgeving (MO-6 dekt de afhandeling).
10. Notificaties
Alle notificatiemails op een rij: trigger, ontvanger en doel. Mails worden asynchroon verstuurd door de Celery-workers via de SMTP-relay (zie de systeemarchitectuur), zijn Nederlandstalig en dragen de huisstijl (logo, kleuren) van de betreffende organisatiejottem.
10.1. Overzicht
| # | Trigger | Ontvanger | Inhoud / doel |
|---|---|---|---|
| 1 | Platformbeheerder voegt een organisatiebeheerder toe | uitgenodigde | spelregels + bevestigingslink naar de Authentik-enrollment (wachtwoord + verplichte 2FA: TOTP of passkey); de klaargezette rol wordt bij eerste login gekoppeld |
| 2 | Organisatiebeheerder voegt een moderator toe | uitgenodigde | idem als 1 |
| 3 | Moderator keurt een jottem goed | uploader | "je jottem staat online": duurzame link + oproep om te delen via sociale media (reacties en annotaties uitlokken) |
| 4 | Moderator keurt een jottem af | uploader | afkeurreden + directe link om de jottem aan te passen en opnieuw in te dienen |
| 5 | Er staan jottems in de moderatiewachtrij en/of er zijn onafgehandelde meldingen op annotaties/reacties | moderatoren van de organisatie | dagelijkse samenvatting (alleen verstuurd als er iets wacht) - voorkomt mail per upload of melding |
| 6 | Verwijderverzoek ingediend | indiener | ontvangstbevestiging + verwachte afhandeltermijn (30 dagen, zie de niet-functionele requirements) |
| 7 | Verwijderverzoek ingediend | moderatoren van de organisatie | directe melding (juridische termijn loopt) met link naar de afhandelpagina |
| 8 | Verwijderverzoek afgehandeld | indiener | uitkomst: gehonoreerd (jottem gedepubliceerd) of afgewezen met toelichting |
| 9 | E-depot-export gereed | organisatiebeheerder (aanvrager) | directe downloadlink naar het BagIt-pakket + de beperkte bewaartermijn |
| 10 | Nieuwe annotatie of reactie op jouw jottem | uploader | instelbaar in het profiel (standaard aan); gebundeld tot maximaal één mail per dag |
| 11 | Reactie op jouw annotatie | annoteerder | instelbaar in het profiel (standaard aan); gebundeld tot maximaal één mail per dag |
10.2. Afbakening
-
Accountmails (e-mailverificatie bij registratie, wachtwoord-reset, 2FA-/passkey-herstel) worden door Authentik zelf verstuurd, niet door de backend.
-
Datasetregister-aanmelding geeft het resultaat (gevalideerd/aangemeld of foutmelding) synchroon terug in de beheer-UI; daar hoort geen mail bij.
-
Operationele alerts (endpoint down, backlog, gefaalde back-ups) lopen via Alertmanager naar de platformbeheerders - zie de systeemarchitectuur; dat is monitoring, geen platformnotificatie.
10.3. Templates
Alle mails zijn template-gebaseerd; de sjablonen leven in het monorepo onder
api/templates/mail/
zodat ze onder versiebeheer en review vallen. Per notificatie zijn er drie sjablonen:
| Bestand | Rol |
|---|---|
nl/<slug>.mjml
| de HTML-mail, geschreven in MJML - een buildstap (MJML-CLI) compileert dit naar robuuste, responsive e-mail-HTML in dist/ (gegenereerd, niet in git)
|
nl/<slug>.subject.j2
| de onderwerpregel |
nl/<slug>.txt.j2
| de platte-tekstversie |
De mailworker vult de sjablonen met Jinja2 en verstuurt ze als
multipart/alternative (HTML + tekst - beste afleverbaarheid en toegankelijkheid).
Gedeelde partials leveren de kop (logo en kleur van de organisatiejottem) en de voet;
de voet toont automatisch een uitschakellink wanneer uitschakelUrl is meegegeven
(attenderingen 10 en 11). Variabelenconventie: organisatie.* (naam, logoUrl,
kleurPrimair), ontvangerNaam, en …Url voor alle links; de variabelen per template staan
gedocumenteerd in de README bij de sjablonen. De mapstructuur is per taal (nl/), zodat
meertaligheid later zonder verbouwing kan.
10.4. Regels
-
Afzender is het platform (bijv.
noreply@iotm.nl) met de organisatienaam in de weergavenaam. -
Transactionele mails (1 t/m 9) zijn niet uitschakelbaar; attenderingsmails (10, 11) zijn instelbaar in het profiel en bevatten een directe uitschakellink.
-
Mails bevatten zo min mogelijk persoonsgegevens (AVG): geen inhoudelijke kopie van bijdragen, wel links naar de betreffende pagina’s.
-
Elke verzending wordt als type in het
Gebeurtenisloggeregistreerd (voor statistiek en foutopsporing), zonder de mailinhoud op te slaan.
11. Infrastructuurkeuze
-
IOTM and the Wikimedia ecosystem: Commons and Wikidata as shared infrastructure
-
IOTM and the Internet Archive: durable preservation, IIIF and access as shared infrastructure
12. Keuze oplossingsrichting
Dit document legt de gekozen oplossingsrichting en technologiestack vast en is het resultaat van de deelactiviteit "Keuze oplossingsrichting" uit het § 3 Activiteitenplan. Het bouwt voort op de analyse van vier infrastructuurrichtingen en de systeemarchitectuur. Status: concept, augustus 2026 - vast te stellen door de projectgroep.
12.1. Infrastructuurrichting: alles op de Jottem-server
Van de vier onderzochte richtingen (Wikimedia, Internet Archive, e-Depot, eigen server) is gekozen voor richting 4: alles op de Jottem-server - afbeeldingen, metadata en annotaties in één geïntegreerd systeem in eigen beheer.
Onderbouwing:
-
maximale functionaliteit en laagste drempel voor de participatieve kern (uploaden, annoteren, reageren);
-
volledige regie over het rechtenmodel: auteursrecht blijft bij de inzender, hergebruik onder aangegeven voorwaarden;
-
AVG: verwijderverzoeken zijn eenvoudig en volledig uitvoerbaar; dataresidentie in de EU;
-
geen afhankelijkheid van acceptatiecriteria of continuïteit van externe partijen.
Beheersmaatregelen - de analyse benoemt duurzaamheid als zwakte van deze richting; die wordt als volgt ondervangen:
-
een expliciete exit- en exportstrategie: nachtelijkse offsite back-ups, periodieke publieke datadumps (RDF plus originelen) en een jaarlijkse hersteltest van de export;
-
afspraken in de samenwerkingsovereenkomst over voortzetting of overdracht van data en diensten bij einde van het project;
-
de gelaagde aanpak blijft als uitbreiding mogelijk: een externe preserveringskopie (Internet Archive/IAE of e-Depot) en een Wikimedia-doorzetting van de vrij-gelicentieerde subset kunnen in een latere fase worden toegevoegd; de moderatiestap blijft daarvoor het natuurlijke doorzetmoment. De Internet Archive-integratie maakt daarmee geen deel uit van de MVP.
12.2. Besliste openstaande ontwerpvragen
ARK: uitgesteld naar een latere fase. De MVP mint geen ARK’s. Elke gepubliceerde jottem krijgt
een duurzame platform-URL (met content negotiation naar HTML en RDF, zoals in
§ 6.1 Functionele requirements). Het subdomein ark.iotm.nl blijft gereserveerd; een NAAN-aanvraag,
minter en resolver volgen zodra ARK wordt geactiveerd. URL’s worden zo gekozen dat latere
ARK-koppeling zonder linkbreuk kan.
Annotaties: bewerken en verwijderen door de annoteerder zelf. Annoteerders kunnen hun eigen annotaties bewerken én verwijderen. De versiegeschiedenis blijft bewaard in de annotatieserver (miiify, git-gebaseerde backend), zodat herinneringen, aanvullingen en correcties herleidbaar blijven.
12.3. Technologiestack
Per component is uit de in de systeemarchitectuur genoemde kandidaten de volgende keuze gemaakt:
| Component | Keuze |
|---|---|
Webfrontend (www.iotm.nl)
| Next.js (React) met OpenSeadragon/Mirador (IIIF-viewer), Annotorious (annoteren) en MapLibre GL (kaart) |
Backend-API (api.iotm.nl)
| FastAPI (Python) met iiif-prezi3 |
| Async workers | Celery met Valkey als broker |
Identity provider (auth.iotm.nl)
| Authentik (OIDC, social login, 2FA via TOTP of passkey/WebAuthn) - afwijkend van de architectuursuggestie (Keycloak): lichter in beheer bij gelijkwaardige functionaliteit (identity brokering, 2FA-afdwinging per rol, uitnodigingsflows) |
IIIF Image API (iiif.iotm.nl)
| Cantaloupe achter Varnish |
Annotatieserver (anno.iotm.nl)
| miiify |
RDF-publicatie (data.iotm.nl)
| Apache Jena Fuseki |
| Zoekmachine | Elasticsearch |
| Relationele database | PostgreSQL |
| Cache en taakwachtrij | Valkey - afwijkend van de architectuursuggestie (Redis): drop-in compatibel, maar volledig open source (Linux Foundation) |
| Mediaopslag (S3) | Externe Object Storage (S3) - herziene keuze (aug 2026): extern in plaats van zelf-gehost MinIO; geen eigen opslagbeheer en de opslag groeit mee zonder serverwijziging. Alle componenten spreken S3, dus MinIO blijft het zelf-gehoste alternatief; de leverancierskeuze is een exploitatiebesluit en blijft buiten het ontwerp |
| Detectie herkenbare personen | **Herkenbaar API** (eigen dienst: FastAPI + YOLO-pose), interne container, synchroon aangeroepen door de backend bij upload |
| Reverse proxy, TLS | Traefik |
| Monitoring, logging, alerting | Prometheus, Grafana, Loki, Alertmanager (conform systeemarchitectuur) |
ARK-resolver (ark.iotm.nl)
| vervalt in de MVP - latere fase, zie § 12.2 Besliste openstaande ontwerpvragen |
12.4. Open source: licenties en repostructuur
De salespitch belooft open source; de volgende besluiten maken dat concreet (augustus 2026):
-
Platformcode: EUPL-1.2. De backend, frontend en workers verschijnen onder de European Union Public Licence 1.2 - rechtsgeldig in het Nederlands, copyleft (verbeteringen blijven open) zonder de afschrikkende werking van AGPL, en de conventie in het NDE-ecosysteem: het Datasetregister en het Termennetwerk waar Jottem op aansluit zijn zelf EUPL-1.2.
-
Herkenbaar API: AGPL-3.0. De dienst gebruikt ultralytics/YOLO (AGPL-3.0), waardoor de eerdere Apache-2.0-licentie strijdig was; de repo is omgezet naar AGPL-3.0. Doordat het een losse netwerkdienst is, stopt de AGPL bij de API-grens: het platform zelf blijft EUPL-1.2.
-
**Monorepo
jottem.** Backend, frontend, workers, docker-compose en contracttests leven in één repository (inside-out-time-machines/jottem): API-contractwijzigingen zijn atomair, één CI en issue-tracker. De Herkenbaar API blijft bewust een aparte repo - de licentiegrens valt samen met de repogrens. Secrets komen nooit in git (.env buiten de repo); de deploy-configuratie zelf is publiek. -
Ontwerpdocumenten: CC BY-SA 4.0; overige documentatie: CC BY 4.0. De design-repo staat onder CC BY-SA 4.0 (aangescherpt, augustus 2026): hergebruik met naamsvermelding én share-alike, zodat bewerkingen van het ontwerp onder dezelfde open licentie beschikbaar blijven - dezelfde copyleft-gedachte als de EUPL voor de platformcode. De repo’s prototype, website en brand houden CC BY 4.0 - hergebruik met naamsvermelding, passend bij de kennisdelingsbelofte uit het § 3 Activiteitenplan.
Samengevat, het licentiebeeld van het Jottem-ecosysteem:
| Onderdeel | Licentie |
|---|---|
| Platformcode (jottem) | EUPL-1.2 |
| Herkenbaar API | AGPL-3.0 |
| Ontwerpdocumenten (design) | CC BY-SA 4.0 |
| Prototype, website en merkgids | CC BY 4.0 |
| Lettertypes Fraunces en Albert Sans (huisstijl) | SIL OFL 1.1 |
12.5. Consequenties voor de ontwerpdocumenten
-
§ 6.1 Functionele requirements: het ARK-requirement is gemarkeerd als latere fase; de (sub)domeinenlijst is uitgebreid en gecorrigeerd; niet-functionele requirements zijn toegevoegd.
-
ERD: moderatiestatus en afkeurreden op Media, rollen via een aparte koppeltabel (meerdere rollen per gebruiker mogelijk), projecten (voorheen "albums") als campagnes op organisatieniveau, huisstijlvelden op Organisatie.
-
§ 7 Usecases per rol: publicatieflow bij goedkeuring aangepast (duurzame platform-URL; ARK en externe preserveringskopie in latere fase); annoteerders kunnen eigen annotaties bewerken en verwijderen.
-
API-beschrijvingen: gesplitst in een publieke lees-API (
openapi.yaml) en een beheer-API (openapi-beheer.yaml). -
Systeemarchitectuur: de Internet Archive-worker en de ARK-componenten behoren niet tot de MVP-scope. De architectuur is bijgewerkt naar de gekozen Authentik en Valkey, inclusief het autorisatiebesluit: de database (
GebruikerRol) is de leidende bron voor rollen, Authentik doet uitsluitend authenticatie.
13. Systeemarchitectuur
De systeemarchitectuur van Jottem beschrijft een op Docker gebaseerde systeemarchitectuur voor het Jottem-platform: een participatief digitaal erfgoedplatform waarin gebruikers media (jottems) uploaden, moderatoren deze beoordelen en publiceren, en annoteerders verrijkingen toevoegen. Het geheel wordt via subdomeinen onder iotm.nl ontsloten en implementeert de in het designdocument genoemde standaarden: IIIF Image API 3.0, IIIF Presentation API 3.0, IIIF Change Discovery, W3C Web Annotations, schema.org AP NDE, ARK en RSS.
(klik op bovenstaand contextdiagram voor het gehele architectuurdocument)
14. Data-architectuur
De data-architectuur van Jottem beschrijft het datamodel (ERD), de URI-strategie en alle data-outputs van het platform: IIIF (Image API v3, Presentation API v3, Change Discovery v1), W3C Web Annotations (incl. Annotation Protocol en Miifi API), RDF/datadump conform schema.org AP NDE met datasetbeschrijving conform de NDE-requirements, de publieke en beheer-API’s, RSS, vocabulaires en de zoekindex.
Per output bevat het document een veld→bron-tabel als outputcontrole: is alle data die aan de outputkant nodig is beschikbaar in de eerdere lagen (PostgreSQL, Object Storage, miiify)? De daarbij gevonden hiaten zijn verwerkt in het ERD.
15. Realisatieplan
Dit plan bakent de MVP af en geeft de fasering richting de livegang van de pilot Smaak van Gouda: MVP live vóór eind 2026, fase 2 in het voorjaar van 2027. Het bouwt voort op het § 3.3.3 Keuze oplossingsrichting en de systeemarchitectuur en data-architectuur.
15.1. MVP-scope (livegang pilot, eind 2026)
De MVP omvat alles wat nodig is om de pilot van begin tot eind te laten draaien:
-
Accounts & rollen - registratie en (social) login via Authentik, 2FA/passkeys voor beheer- en moderatierollen, uitnodigingsflows; autorisatie vanuit de database (GebruikerRol leidend)
-
Organisatie & project - organisatiejottem in eigen huisstijl (SAMH), projectbeheer (Smaak van Gouda als eerste project), terminologiebronnen per project
-
Uploaden - upload (JPG/PNG/TIFF) met metadata, genre (CHT), locatie (speld op de kaart) en licentiebevestiging; automatische Herkenbaar-check met toestemmingsverklaring
-
Moderatie - wachtrij, goedkeuren/afkeuren met reden, bewerken en opnieuw indienen door de uploader, depubliceren via verwijderverzoeken, afhandelen van meldingen (gerapporteerde annotaties en reacties)
-
Publicatie - duurzame link met content negotiation, jottem-detailpagina (IIIF-viewer + metadata + annotaties), publiceren binnen het project
-
Annoteren - jottem-brede en vlak-annotaties, term-URI’s via het NDE Termennetwerk, reacties, eigen annotaties bewerken/verwijderen
-
Verkennen - zoeken met facetten (afgebakende zoek-DSL), interactieve kaart met pand-tijdlijn (eigen kaart; GTM-koppeling in fase 2), favorieten incl. openbare deellink
-
Open data-outputs - IIIF Image/Presentation/Change Discovery, W3C Annotation Protocol (AnnotationCollections), RSS, RDF/SPARQL, datasetbeschrijving + dump per project, datacatalogus en aanmelding bij het NDE Datasetregister
-
Fundament - e-mailnotificaties, back-ups, monitoring/alerting en de contracttests uit de systeemarchitectuur
15.2. Fase 2 (voorjaar 2027)
-
IIIF-collectie-import (bestaande collecties toevoegen; ontwerp-uitwerking gaat vooraf)
-
PDF- en audio-ondersteuning met conversiepipeline (multi-canvas Manifests, audio-canvas met
duration) -
E-depot-export per project (BagIt + RO-Crate)
-
Statistieken-dashboards voor beheerders en moderatoren
-
Koppelvlak met externe tijdmachines (Gouda Tijdmachine) - interfacebeschrijving eerst
-
Uitrol naar de overige tijdmachines (Amsterdam, Utrecht, Hilversum)
Latere fase (reeds besloten in § 12.2 Besliste openstaande ontwerpvragen): ARK-minting/resolving, externe preserveringskopie (Internet Archive/e-depot), Wikimedia-doorzetting van de vrije subset, harde opslagquota per organisatie (MVP: monitoring met alerts).
15.3. Mijlpalen 2026
| Periode | Mijlpaal |
|---|---|
| september | Fundament staat: docker-compose-stack op de ontwikkelomgeving (Authentik, PostgreSQL, Valkey, externe Object Storage (S3), backend-skelet), datamodel geïmplementeerd, upload→moderatie→publicatie-keten end-to-end werkend (kaal); huisstijl Jottem ontworpen en vastgesteld (zie § 15.5 Huisstijl Jottem-platform) |
| oktober | Publieksomgeving: jottem-detailpagina met IIIF-viewer, annoteren met Termennetwerk, zoeken met facetten, kaart + pand-tijdlijn, huisstijl SAMH, Herkenbaar-integratie |
| november | Open data & toetsing: IIIF/RSS/RDF-outputs, datasetbeschrijving + Datasetregister-validatie (NDE-compatibel), gebruikerssessie met SAMH-vrijwilligers, juridische toetsing gestart, alle notificatiemails werkend (zie § 10 Notificaties) |
| december | Hardening & livegang: securitytoets, monitoring/back-ups aantoonbaar werkend, DPIA en juridische toetsing afgerond, moderatoren getraind, verzameldag/oproep → pilot live |
15.4. Livegang-criteria
De pilot gaat live wanneer aantoonbaar:
-
de kritieke keten (registratie → upload → moderatie → publicatie → annotatie → zoeken) end-to-end werkt en de § 9 Acceptatiecriteria van de MVP-usecases zijn aangetoond, incl. de e2e-test uit de systeemarchitectuur;
-
de outputcontrole uit de data-architectuur klopt en de datasetbeschrijving valideert tegen het NDE Datasetregister;
-
de juridische documenten door een jurist zijn getoetst en de DPIA is afgerond;
-
moderatie is ingericht (getrainde moderatoren, handreiking);
-
back-ups, monitoring en alerting draaien en de hersteltest is uitgevoerd.
15.5. Huisstijl Jottem-platform
Naast de huisstijl per organisatiejottem (logo, kleurenpalet, favicon op Organisatie) heeft
het platform zelf een huisstijl. Die is uitgewerkt in de merkgids op
brand.iotm.nl, met de projectgroep vast te stellen in de
septembermijlpaal. De merkgids omvat:
-
merkverhaal en tone of voice - positionering, kernwaarden en schrijfregels (heel begrijpelijk, taalniveau B1);
-
logo/woordmerk - het onderstaande woordmerk met alle varianten (negatief, zwart/wit, compacte spraakwolk-O), gebruiksregels en downloadbaar logopack;
-
kleurenpalet en typografie (Fraunces voor koppen, Albert Sans voor tekst - altijd lokaal gehost) als basislaag, waar de organisatiekleuren per organisatiejottem óverheen komen;
-
CSS-basis (design tokens/stylesheet, te downloaden via de merkgids) die deze basislaag én de organisatie-overrides draagt, hergebruikt in de e-mailtemplates;
-
vormtaal, beeldgebruik en motion-principes met live voorbeelden;
-
favicon van het platform (voor www/design/prototype en als standaard voor organisaties zonder eigen favicon);
-
slogan - gekozen uit de opties in de § 2 Salespitch voor het Jottem platform: "Maak erfgoed van iedereen, door iedereen".
15.6. Openstaand ontwerp tijdens de bouw
Uit de gap-analyse resteert ontwerpwerk dat ter voorbereiding op fase 2 wordt opgepakt: de interfacebeschrijving van de tijdmachine-koppeling en de uitwerking van de IIIF-import. De huisstijl van het platform is uitgewerkt in de merkgids en wacht op vaststelling door de projectgroep (§ 15.5 Huisstijl Jottem-platform, septembermijlpaal). Het notificatie-overzicht (§ 10 Notificaties) en de acceptatiecriteria per usecase (§ 9 Acceptatiecriteria) zijn uitgewerkt. De open-sourcelicenties en repostructuur zijn inmiddels besloten, zie § 12.4 Open source: licenties en repostructuur: EUPL-1.2 voor de platformcode in het monorepo jottem, AGPL-3.0 voor de Herkenbaar API, CC BY-SA 4.0 voor de ontwerpdocumenten (design-repo) en CC BY 4.0 voor de overige documentatie (prototype, website, brand).
16. Juridisch
Een platform als Jottem levert risico’s op en dient te voldoen aan (inter)nationale wet- en regelgeving. Een eerste overzicht hiervan is opgenomen in het document Risico’s en wet- en regelgeving.
De voornoemde documenten en de volgende documenten dienen om de risico’s te beheersen.
Let op: alle concept documenten zijn gemaakt door een niet-jurist en dienen we vóór gebruik te laten controleren door IP Squared of ICTRecht.