dinsdag 18 augustus 2015

RHC's letten onvoldoende op privacy van hun website bezoekers

Bij de workshop Gebruik Google Analytics komen vragen aan bod als "wat willen we meten?" en "wat kunnen we met al die cijfers?", maar ook "hoe zit het met privacy?" en "hoe zit het met de cookie wet?". Een digitale rondgang langs de websites van de 12 voormalige Rijksarchieven, nu Regionale Historische Centra (RHC's), leert dat ze allemaal gebruik maken van Google Analytics om websitestatistieken te verzamelen. Maar hebben zij Google Analytics zo geïmplementeerd dat de privacy van bezoekers niet geschaad wordt?


Anonimiseren van het IP adres

Als een bezoeker een webpagina (of Javascript bestand, afbeelding, ...) opvraagt dan krijgt de website de beschikking over het IP-adres van (de computer/het netwerk van) de bezoeker. Een IP-adres kan herleidbaar zijn tot een persoon en is daarmee een persoonsgegeven, de Wet Bescherming Persoonsgegevens (WBP) is dus van toepassing. Google Analytics biedt de mogelijkheid om het IP-adres van de websitebezoeker te 'anonimiseren', door een deel van het IP adres (het laatste octet) niet te verwerken. Sommige rapportage functionaliteit van Google Analytics wordt hierdoor beperkt, maar het komt de privacy van de website bezoekers ten goede.

Onderstaande tabel laat zien dat maar 4 van de 12 RHC's deze privacy maatregel hebben geïmplementeerd.

Ja Brabants Historische Informatie Centrum, Groninger Archieven, Historisch Centrum Overijssel, Nationaal Archief (GaHetNa)
NeeDrents Archief, Gelders Archief, Het Utrechts Archief, Nieuw Land Erfgoedcentrum, Noord-Hollands Archief, Tresoar, Regionaal Historisch Centrum Limburg, Zeeuws Archief
Tabel 1: wordt het IP adres geanonimiseerd?
Let op: Het College bescherming persoonsgegevens (CBP) acht het resterende deel van het IP-adres nog steeds een persoonsgegeven. Desalniettemin wordt het 'anonimiseren' door het CPB voorgeschreven.

Netwerkverkeer versleutelen

Internetverkeer dat niet wordt versleuteld kan worden afgeluisterd en worden gemanipuleerd. Versleuteling van internetverkeer via HTTPS komt de privacy ten goede. Als een website Google Analytics gebruikt is er verkeer tussen de browser van de bezoeker en Google. Bij een website die HTTPS gebruikt wordt het verkeer naar Google Analytics automatisch ook over HTTPS geleid. Als een website echter HTTP gebruikt, dus niet versleuteld is, kun je Google Analytics opdracht geven om over HTTPS te communiceren zodat dat deel van het netwerkverkeer alsnog versleuteld is.

Onderstaande tabel toont aan dat maar één RHC de eigen website geheel via HTTPS aanbiedt, de andere RHC's bieden hun website alleen onversleuteld via HTTP aan. Van deze laatste groep zorgen 2 RHC's ervoor dat verkeer naar Google Analytics vanaf hun HTTP website alsnog wordt versleuteld. Bij de overige 9 RHC's wordt het verkeer naar Google Analytics niet versleuteld.

Ja Historisch Centrum Overijssel (gehele website via HTTPS),
Brabants Historische Informatie Centrum, Groninger Archieven
NeeDrents Archief, Gelders Archief, Het Utrechts Archief, Nationaal Archief (GaHetNa), Nieuw Land Erfgoedcentrum, Noord-Hollands Archief, Tresoar, Regionaal Historisch Centrum Limburg, Zeeuws Archief
Tabel 2: is het netwerkverkeer naar Google Analytics versleuteld?
Zie ook: Onderzoek: Geen veilig versleuteld webverkeer mogelijk met meeste websites van archieforganisaties

Informeren over gebruik

Google Analytics gebruikt voor het volgen van bezoekers cookies. Op 3 februari 2015 is de Telecommunicatiewet (in de volksmond ook wel cookie-wet genoemd) aangenomen door de Eerste Kamer. De belangrijkste wijziging die in de wet is doorgevoerd nadat de wet in 2013 door de Tweede Kamer werd aangenomen is dat het plaatsen van cookies om een website te verbeteren nu wel toegestaan worden, zonder dat een expliciete melding en/of toestemming nodig is bij binnenkomst op de website. Gelukkig valt ook Google Analytics onder deze uitzondering! Een website hoeft dus niet vooraf expliciet om toestemming te vragen voor de cookies van Google Analytics mits de privacy maatregelen zijn geïmplementeerd. Het is echter nog wel verplicht om de bezoekers te informeren over het gebruik van Google Analytics in bijvoorbeeld een separate cookie pagina of disclaimer pagina.

Van de 12 RHC's maken maar 2 RHC's melding van het gebruik van Google Analytics.

Ja Brabants Historische Informatie Centrum, Gelders Archief
NeeDrents Archief, Groninger Archieven, Het Utrechts Archief, Historisch Centrum Overijssel, Nationaal Archief (GaHetNa), Nieuw Land Erfgoedcentrum, Noord-Hollands Archief, Regionaal Historisch Centrum Limburg, Tresoar, Zeeuws Archief
Tabel 3: wordt de bezoeker geïnformeerd over gebruik Google Analytics?

Let op: als er geen privacy maatregelen genomen worden, worden de Google Analytics cookies als tracking cookies gezien waar de bezoeker vooraf toestemming voor dient te geven. De Autoriteit Consument & Markt (ACM) handhaaft de cookie-wet en kan boetes tot maximaal EUR 450.000,- uitdelen.

Bewerkersovereenkomst met Google afsluiten

Omdat het gedrag van bezoekers wordt vastgelegd, tezamen met een IP adres, worden er persoonsgegevens verwerkt. Bij gebruik van Google Analytics wordt de verwerking door de website eigenaar uitbesteed aan een derde partij zijnde Google. Dit betekent dat er conform de WBP een bewerkersovereenkomst tussen website eigenaar en Google afgesloten moet worden!
In een bewerkersovereenkomst worden de afspraken vastgelegd die de verantwoordelijke (=website eigenaar) met de bewerker (= Google) maakt over de bescherming en de beveiliging van persoonsgegevens. Dit klikt lastiger dan het is, Google voorziet in de mogelijkheid om deze overeenkomst af te sluiten door het zetten van een enkel vinkje. Als bezoeker kun je niet controleren of er een bewerkersovereenkomst is, een website eigenaar moet dit echter wel kunnen aantonen aan bijvoorbeeld het CBP. Melding maken van de afgesloten bewerkersovereenkomst bij de paragraaf over het gebruik van Google Analytics wordt aangeraden, zie als voorbeeld de disclaimer van Open Archieven.

Van de 2 RHC's die melding maken van het gebruik van Google Analytics maakt er geen één melding van een bewerkersovereenkomst. Waarschijnlijk hebben dus ook geen van de RHC's de wettelijk verplichte  bewerkersovereenkomst met Google afgesloten.

Ja-
NeeBrabants Historische Informatie Centrum, Drents Archief, Gelders Archief, Groninger Archieven, Het Utrechts Archief, Historisch Centrum Overijssel, Nationaal Archief (GaHetNa), Nieuw Land Erfgoedcentrum, Noord-Hollands Archief, Regionaal Historisch Centrum Limburg, Tresoar, Zeeuws Archief
Tabel 4: wordt de bezoeker geïnformeerd over de bewerkersovereenkomst?

Delen van gegevens verhinderen

Het verzamelen van (persoons)gegevens voor een bepaald doel mag, zo ook de webstatistieken via Google Analytics. Echter de gegevens mogen niet gedeeld worden en dus voor een ander doel gebruikt worden. Standaard doet Google Analytics dit, maar ook dit is eenvoudig aan te passen. Deze verplichte privacy maatregel kun je als bezoeker, net als bij de bewerkersovereenkomst, niet controleren. Een website-eigenaar kan er wel melding van maken op de cookie of disclaimer pagina, dit zorgt voor transparantie.

Geen van de RHC's maakt melding van het feit dat ze Google hebben opgedragen geen gegevens te delen. Waarschijnlijk heeft dan ook geen van de RHC's deze privacy maatregel getroffen.

Ja-
NeeBrabants Historische Informatie Centrum, Drents Archief, Gelders Archief, Groninger Archieven, Het Utrechts Archief, Historisch Centrum Overijssel, Nationaal Archief (GaHetNa), Nieuw Land Erfgoedcentrum, Noord-Hollands Archief, Regionaal Historisch Centrum Limburg, Tresoar, Zeeuws Archief
Tabel 5: wordt er gemeld dat is ingesteld dat Google de (persoons)gegevens niet deelt?

Conclusie: RHC's letten onvoldoende op privacy van hun website bezoekers

Geen van de 12 RHC websites voldoet volledig aan privacy eisen die door het CBP gesteld worden aan het gebruik van Google Analytics. De RHC's gaan dus niet goed om met de privacy van hun websitebezoekers!

De websites van de RHC's vormen een 'steekproef' van de websites in de hele archiefsector. Omdat het geen aselecte steekproef is kan de conclusie niet zo maar doorgetrokken worden naar de gehele archiefsector. Maar het onderbuik gevoel zegt dat de implementatie van Google Analytics op de meeste websites van archiefinstellingen niet voldoet aan de Nederlandse wetgeving. Een risico voor archiefinstellingen (qua boetes en imago) en hun website bezoekers (qua privacyschending).


Wilt u meer informatie over de workshop Gebruik Google Analytics of implementatie-check en -ondersteuning neem dan contact op met Bob Coret.

zondag 8 maart 2015

Hoe het CBG gegevensverlies veroorzaakt

Tijdens het schrijven van het artikel Het gezwalk van WieWasWie werkte de “verbeterde GEDCOM export” niet. Een nieuwe poging vandaag geeft geen foutmelding maar een bestand dat gedownload wordt. Tijd om naar de “verbeterde GEDCOM export” te kijken!

Er is geen overzicht van aangebrachte verbeteringen in de GEDCOM export. Dus enerzijds zal ik de GEDCOM vergelijken met een GEDCOM zoals Tamura Jones deze in zijn review van 10-02-2013 heeft opgenomen in WieWasWie GEDCOM, anderzijds zal ik de GEDCOM tegen de GEDCOM specificatie houden.

Geen GEDCOM!

Wat allereerst opvalt is dat het “verbeterde GEDCOM bestand” nog steeds geen header bevat, dit is verplicht volgens de GEDCOM specificatie, en dus is het bestand geen geldig GEDCOM bestand. Een programma die dit bestand probeert in te lezen weet bijvoorbeeld niet welke versie GEDCOM dit is en welke character encoding wordt gebruikt. Dit vergroot dus de kans dat de import faalt.

Betere datums

Waar in het oude bestand datums in de vorm dd-mm-yyyy werden genoteerd wordt er nu het juiste GEDCOM formaat gebruikt.

Compleetheid bestand

Ik heb een kleine stamboom gemaakt waarbij ik alle velden heb ingevuld om te kijken of alle gegevens in het export bestand terecht komen. Het scheelt dat je in de stamboombouwfunctionaliteit van WieWasWie niet veel kan invullen, dus wat er ingaat komt er bijna ook allemaal weer uit, met één uitzondering: de afbeeldingen.

GEDCOM staat op zich toe dat er binaire objecten in worden opgenomen, dit is echter niet gangbaar. Wat wel gangbaar is, is dat het GEDCOM bestand referenties bevat naar de bestanden. De WieWasWie gebruiker heeft geen mogelijkheid om de foto’s te downloaden en er zijn dus geen referenties naar foto’s. Deze informatie gaat dus verloren.

What’s in a NAME?

Niet alle informatie van de naam komt helaas om de juiste plek. Zo wordt de naam Alida Helena (Alie) van Buuren als volgt “vertaald”:

1 NAME Alida Helena/Buuren/
2 NICK Alie
2 SPFX van


De waarde bij NAME is incorrect, deze dient compleet te zijn, het tussenvoegsel moet er dus ook in zitten. Het is nu sterk afhankelijk van de GEDCOM import van het programma waar de gegevens in worden gelezen.

Laten we eens kijken hoe bovenstaande persoon in het door WieWasWie aanbevolen StamboomNederland terecht komt:
image

Zoals ik al had verwacht komt het tussenvoegsel niet goed over in StamboomNederland, maar ook de roepnaam blijkt verloren te zijn gegaan. Je zou toch denken dat het CBG dit zou hebben getest, te meer daar zij, als eigenaar van StamboomNederland en exploitatiepartij van WieWasWie, de overstap van WieWasWie naar StamboomNederland promoten.

Bronvermeldingen

Een mogelijk sterk punt van de stamboombouwfunctionaliteit van WieWasWie was het feit dat bronnen gekoppeld worden aan personen in de stamboom. Ik zeg mogelijk, omdat de implementatie van deze functionaliteit op WieWasWie zich beperkte tot het koppelen van een document aan een persoon. Het koppelen van de geboorteakte aan de geboorte, of de huwelijksakte aan het huwelijk was niet mogelijk. Met interesse keek ik dus ook uit naar hoe de bronnen in het export bestand terecht zouden komen.

0 @I2@ INDI
1 NAME Catharina/Brizée/
1 SEX F
1 SOUR f2729761-670e-4e92-82d4-23932372dad3
1 SOUR
https://www.wiewaswie.nl/personen-zoeken/zoeken/document/srcid/1872790

Bovenstaand stukje is valide volgens de GEDCOM specificatie, tenminste als het hier daadwerkelijk om 2 bronvermeldingen gaat. Wat de eerste “SOUR” (=source/bron) is weet ik niet, één of ander intern technisch nummer waar ik niets mee kan.

De tweede “SOUR” linkt naar de meta-data van de overlijdensakte uit de Burgerlijke Stand op WieWasWie. Het opnemen van de URL is echt de meest minimale bronvermelding die je kunt bieden, waarbij deze ook niet echt toekomst vast is (het is geen persistente URL) en eigenlijk ook onjuist is. Immers, de originele bron van het overlijden is een BS Overlijden akte uit 1812 uit Amersfoort (SOUR) die zich bevindt bij Archief Eemland in Amersfoort (REPO). De digitale afbeelding hiervan is slechts een afgeleide, welke uiteraard wel bij de SOUR opgenomen kan worden (in FILE of NOTE).

Juist op het punt van bronvermeldingen had ik verwacht dat het Centraal Bureau van Genealogie het goede voorbeeld zou geven, wellicht aangevuld met de kennis en kunde van de deelnemende archieven in WieWasWie die ook graag bronvermeldingen zien. Helaas, weer te optimistisch gedacht.

Voor gebruikers die overstappen naar StamboomNederland is de minimale bronvermelding niet zo erg. Immers, StamboomNederland kan helemaal niet omgaan met bronnen uit GEDCOM bestanden. StamboomNederland neemt het GEDCOM en noemt dat de bron. Erg kwalijk!
image


Conclusie

Het bestand dat via de exportfunctie van de stamboombouwfunctionaliteit kan worden gedownload voldoet niet aan de GEDCOM specificatie (welke dan ook…) en mag dus geen GEDCOM bestand heten. Noem je het wel een GEDCOM bestand dan werk je moedwillig mee aan de onterecht negatieve beeldvorming van GEDCOM en bewijs je je gebruikers een slechte dienst.

In plaats van een handleiding hoe deze bestanden in StamboomNederland zijn te importeren zou het het CBG sieren om stamboomonderzoekers te waarschuwen voor mogelijk gegevensverlies door hun ondermaatse GEDCOM export (WieWasWie) en ondermaatse GEDCOM import (StamboomNederland).

dinsdag 10 februari 2015

Een stukje geschiedenis van het A2A model

Eén van de resultaten van het WieWasWie project die ik graag promoot is het A2A datamodel. Het A2A datamodel is een generiek meta data formaat dat gebruikt wordt voor de uitwisseling en ontsluiting van verschillende bronnen met historische persoonsgegevens.

Archieven kunnen hun archiefgegevens (de indexen/nadere toegangen) beschikbaar stellen voor harvesting in het A2A model. Op deze wijze stellen sommige archieven hun data (alleen) beschikbaar aan WieWasWie. Sommige archieven die open data bieden, zoals Erfgoed Leiden, Regionaal Archief Tilburg en gemeentearchieven Schouwen-Duiveland, bieden de door ontwikkelaars vrij te hergebruiken data ook via het A2A model aan. Om deze reden noem ik het ook het "Archive 2 All" model. Deze open standaard (zie http://www.den.nl/standaard/386/) is dus belangrijk voor de archiefsector, hetgeen door de overdracht een extra verantwoordelijkheid van het Centraal Bureau voor Genealogie is geworden.

Eén van de personen die betrokken was bij de totstandkoming van het A2A model was Maurits Meijer. Maurits werkte bij Mindbus (de partij die het WieWasWie platform heeft ontwikkeld en beheerd) en is onder andere de beheerder geweest van het door Mindbus ontwikkelde systeem Digitale Stamboom (eigendom van Erfgoed Delft). Zijn bachelor scriptie aan de universiteit van Leiden was getiteld "Uitwisselingssysteem historische persoonsgegevens" en ging over het ontwerp en de bouw van een uitwisselingssysteem voor historische persoonsgegevens. Zijn scriptie vormt een deel van de geschiedenis van het A2A model en heb ik daarom hieronder (met toestemming) gepubliceerd.

Uw browser kan geen PDF bestanden weergeven! Download het PDF bestand Uitwisselingssysteem historische persoonsgerelateerde data en open het in uw PDF reader.

Uitwisselingssysteem historische persoonsgegevens, Maurits Meijer, 1 mei 2012.

donderdag 11 december 2014

Google op de juiste wijze souffleren

Websites als Genealogie Online krijgen veel verkeer via Google (de 67,8% in onderstaande taartdiagram staat voor 427K sessie in de afgelopen maand).

imageDit gebeurt niet allemaal vanzelf, je kunt hier zelf heel wat invloed op hebben. Zo heeft biedt Genealogie Online meerdere sitemaps aan Google, waaronder één van bijna 25M items! Hierdoor haalt de Googlebot zo’n 1,4M pagina per dag op:

image

Ook bevatten veel van de Coret Genealogie pagina’s microdata zoals gedefinieerd door schema.org, waardoor Google ook beter de inhoud begrijpt. Zo weet Google dat er op Genealogie Online heel wat Persons zijn te vinden, op het Stamboom Forum genealogische Events en in de Stamboom Gids Reviews van genealogische websites.

Je kunt Google ook vertellen hoe de zoekmachine van je website werkt. Dit is handig om de statistieken in Google Analytics te krijgen over interne zoekopdrachten, maar Google gebruikt het ook in de zoekmachine. Zoek je op Google bijvoorbeeld op “genealogieonline” dan krijg je naast de beschrijving en belangrijke pagina’s ook een zoekvak. Als je in dit zoekvak een zoekterm intypt en op de zoekknop klikt wordt direct de zoekfunctie van Genealogie Online aangeroepen.

image

imageAls je als website niet aan Google uitlegt hoe je zoekfunctie werkt kun je alsnog zo’n zoekvak zien, maar die leidt dan tot een zoekactie binnen alle door Google geïndexeerde pagina van je website (dus “site:www.mijnwebsite.nl zoekterm”).

Nieuw is dat Google Search in de resultaten op smartphones nu ook aangeeft dat de website “voor mobiel” geschikt is. Zo ver ik weet heb ik dit Google niet expliciet verteld, dus de Googlebot heeft ook naar de CSS van mijn websites gekeken en (goed) geconcludeerd dat door de responsive design van de website het ook goed op een mobiel te bekijken is.

donderdag 25 september 2014

#opendata verrijken met #opendata

De gemeente Enschede heeft een eigen Open Data portal waar ze diverse open data sets ten toon en beschikbaar stellen. Naar aanleiding van een WOB verzoek mijnerzijds hebben zij ook datasets van het Stadsarchief Enschede toegevoegd. De historische gegevens van de Burgerlijke Stand van Lonneker en Enschede zijn nu ook beschikbaar voor hergebruik.

De dataset is opgedeeld in 6 delen:

  • Geboorteakten Enschede (1811-1910)
  • Geboorteakten Lonneker (1811-1910)
  • Huwelijksakten Enschede (1811-1935)
  • Huwelijksakten Lonneker (1811-1934)
  • Overlijdensakten Enschede (1811-1960)
  • Overlijdensakten Lonneker (1811-1934)

Het verwerken van de geboorte- en overlijdensakten – beschikbaar gesteld in HTML, JSON, XML, CSV, TSV, TAG, maar niet A2A – voor opname in Open Archieven ging redelijk voorspoedig.

De datasets bevatten helaas niet alle meta-data van de akten. Zo ontbreken het opmerkingen veld èn is er geen link naar een thumbnail of viewer van de scan van de akte. Met wat kunst- en vliegwerk kan er wel een link worden gelegd naar de akte op de website van het Stadsarchief Enschede (behalve bij de geboorteakten van Enschede lukt dit nog niet).

Ambigue data

Bij de huwelijksakten liep ik tegen een probleem aan. Men heeft er voor gekozen om de ouders van de bruid en bruidegom met de rol ‘Vader’ en ‘Moeder’ aan te duiden. Zie hieronder een voorbeeld van deze data:

image

Voor de presentatie en de slimme zoekfunctionaliteit op Open Archieven en ook voor de OAI-PMH data provider (waarmee alle open data voor harvesting beschikbaar is volgens A2A model) is het van belang te weten wie de ouders van wie zijn.

image
De uitdaging was dus om de juiste vader en moeder bij bruid en bruidegom te krijgen. Eén deel is makkelijk, daar de familienaam van de vader in deze tijd (1811-1935) werd doorgegeven aan het kind. Het probleem was hiermee gehalveerd, nu alleen nog de juiste moeders bij bruid en bruidegom krijgen!

Om dit te bereiken worden de geboorte- en overlijdensakten gebruikt. Deze akten bevatten immers ook relatiegegevens (kind-vader-moeder en overledene-vader-moeder). Door nu binnen deze geboorte- en overlijdensakten (fonetisch) te zoeken naar bruidegom+vader van de bruidegom+moeder 1 of moeder 2 en bruid+vader van de bruid+moeder 1 of moeder 2 valt de juiste combinatie te achterhalen. Overigens hoeven in veel gevallen niet alle combinaties getest te worden.

image

Het is geen perfecte oplossing. Immers bruid of bruidegom kan geboren zijn voor 1811 of na 1910, zijn overleden voor 1811 of na 1960, maar nog waarschijnlijker ze zijn geboren of overleden buiten Lonneker en Enschede, in al deze gevallen zullen er dus geen geboorte- of overlijdensakten gevonden worden voor het ‘afleiden van ouderschap’. Onderstaande tabel toont de resultaten van deze “verrijkingsaanpak”:

Huwelijksakten Ouderparen gevonden Ouderparen niet gevonden
Enschede 10.879 (61%) 7.042 (39%)
Lonneker 8.258 (77%) 2.502 (23%)
Totaal 19.137 (67%) 9.544 (33%)

Dat 2 op de 3 huwelijksakten “verrijkt” kon worden met behulp van (als open data beschikbaar gestelde) geboorte- en huwelijksakten is toch leuk!
 
image

dinsdag 23 september 2014

Kennisgevingen van verwijdering uit Google Zoeken, een eerste analyse

De uitspraak van het Europe Hof dat iedereen het recht heeft om vergeten te worden op Internet heeft Google en andere zoekmachines genoodzaakt om het mogelijk te maken voor inwoners van de Europese Unie om een verzoek in te dienen om bepaalde links met persoonlijke informatie te laten verwijderen.

De uitspraak vereist dat Google en andere zoekmachines afwegingen maken tussen het recht van een individu om vergeten te worden en het recht van het publiek op informatie.

Inmiddels zijn er voor websites van Coret Genealogie de eerste kennisgevingen binnengekomen, tijd voor een eerste analyse.

image

URL: http://www.genealogieonline.nl/genealogie-beernaert-corneillie/I21942.php

Op Genealogie Online staat de publicatie Genealogie Beernaert - Corneillie met daarin een pagina over Michiel Delanghe. De goede man is in 1713 overleden, dus ik denk niet dat hij degene is die het verzoek heeft ingediend. Het vreemde is dat er op deze pagina helemaal geen informatie staat over levende personen. Geldt het recht op vergeten te worden ook voor overleden personen?

URL: http://www.genealogieonline.nl/over-de-familienaam/knuijver

Op Genealogie Online staan pagina’s met verzamelde informatie over familienamen. Op de “Over de familienaam Knuijver” pagina komen een tweetal namen voor van levende personen, onderzoekers die de familienaam (onder)zoeken. Is puur het noemen van namen van onderzoekers al reden om te laten vergeten?

Of één van de twee onderzoekers het verzoek heeft ingediend weet ik niet. Google geeft alleen een algemene kennisgeving waar je zeer weinig uithaalt, alleen de uit de zoekresultaten verwijderde URL(‘s). De drempel om een verzoek tot verwijdering in te dienen is best hoog, zo moet er bijvoorbeeld een kopie identificatiebewijs worden aangeleverd. Als onderzoekers de gegevens weg willen hebben is het makkelijker om zelf de door hen zelf ingevoerde profielgegevens aan te passen op het Stamboom Forum! Dan had het verwijderingsverzoek voor http://www.stamboomforum.nl/wiezoektwie/zoeken.php?q=knuijver ook achterwege kunnen blijven.

URL: http://www.genealogieonline.nl/stamboom-van-rijn/I68353.php
URL: http://www.genealogieonline.nl/stamboom-van-rijn/I68636.php

De Genealogie Online publicatie Stamboom Van Rijn bevat pagina’s over Nicolaas Petrus Kerssens en Martha Maria van Berkel, beide overleden. Genealogie Online heeft ingebouwde privacy bescherming: als van personen niet kan worden bepaald (door te kijken naar beschikbare data van de persoon, zijn gezin en voorouders) dat hij of zij is overleden dan wordt aangenomen dat de personen leven en dus worden de gegevens niet gepubliceerd. Bij deze twee personen (een echtpaar) zat er in een notitieveld (=vrije tekst) informatie over nog levende personen (hun kinderen). Gegronde reden voor een verzoek vergeten te worden.

Maar, met zo’n verzoek aan zoekmachines verdwijnt de informatie niet! Het lijkt dat door het recht om vergeten te worden mensen zijn vergeten dat je bij de bron de informatie moet (laten) aanpassen of verwijderen. Is de bron weg of aangepast dan wordt de index van Google automatisch aangepast. In dit geval heb ik wel de auteur van de publicatie ingelicht die de notitie heeft verwijderd, maar dat is nu net weer geen automatisme.

dinsdag 12 augustus 2014

Geographical distribution of genealogical events in a new graph

One of the aspects shown on a statistics page of a publication on Genealogie Online is the “Distribution within the Benelux”. This map shows(approximately) where in the Belgium, Netherlands and Luxemburg area the genealogical events in the data collection took place. The larger the circle, the more events. This works reasonable when the numbers are small (see image below on the left) but doesn’t do well with big numbers (see image below on the right).

Spreiding binnen de BeneluxDistribution within the Benelux

Hexagonal binning

What I wanted was a means to aggregate the data into a more coarse representation suitable for display. Enter hexagonal binning. Rather than displaying a scatter plot with tens of thousands of points/circles, you can bin points into gridded hexagons, and then display the distribution using colour and/or area.

I’ve worked with D3.js before, see for example the interactive paternal lineage graph. The D3 Javascript library helps you bring data to life using HTML, SVG and CSS. I started from the Bivariate Hexbin Map example which showcased the use of the d3.hexbin plugin. Where my previous distribution graph just worked with a base image, for the hexbin map I needed the contours of the Benelux countries in JSON format. I found I could generate a GeoJSON via an usefull website which had this public domain information. But, the hexbin map required a TopoJSON. This is an extension of GeoJSON that encodes topology. Rather than representing geometries discretely, geometries in TopoJSON files are stitched together from shared line segments called arcs. TopoJSON eliminates redundancy, offering much more compact representations of geometry than with GeoJSON; typical TopoJSON files are 80% smaller than their GeoJSON equivalents. With the use of the topojson tool I could easily convert the GeoJSON to the required TopoJSON.

The data which get’s binned is constructed by Genealogie Online from the users GEDCOM. Each place name, from individual events like birth and death and family events like marriage, is collected. The dataset of geographical database Geonames.org is used to lookup the longitude and latitude of each place. The quality of this fuzzy matching process depends on the quality of the data of the users. In general over 80% of place names is recognized. Lastly, the longitude/latitude values for each event are counted. This results in tab separated lines like “52.29616 4.57822 25” which translated to “in this publication 25 genealogical events were found which took place in Hillegom (Netherlands)”.

The hexbin map draws a hexagon for a specific area. The colour is determined by the number of events within this area, which could consist of multiple places. The d3.hexbin plugin takes care of the heavy lifting, basically it just takes the TopoJSON and the TSV and constructs the hexbin maps:

imageimage

The result is cleaner, but maybe less impressive for the large numbers. To counter this a little bit, a legend was added to show what a hexagon represents (waarden=values). Still, the lightest colour in the left image could represent values 1-70, where as the same colour in the right image could represent 1-5000. More tweaking can be done by using other colouring scales (which now is linear) and the size of the hexagon.

Output format

The hexbin map is generated on the fly within the users browser. But this does require a modern browser, loading several Javascript files and the TopoJSON and TSV files. Alternatively the ‘HTML page’ could be loaded server-side by phantomjs, a headless WebKit scriptable with a JavaScript API. By scripting this in the whole publication process of Genealogie Online, the result is just SVG which D3 generated. The resulting SVG is somewhat big, around 400KB. Using an SVG scrubber like Scour the SVG can be optimised (which brings it down to 2/3) and compressed (which brings is down to 1/10). The resulting SVGZ is around 21KB. Browser support for SVG(Z) is pretty good, major exception being IE8. About 2.5% of Genealogie Online users still use IE8. So I should have a backup like a PNG version. From the SVG, a PNG can be made via svg2png. A final call to optipng downsizes the 112KB PNG to a 75KB file.

Work in progress

At the moment, the hexbin maps are only available as proof of concept. Looking at the maps resulted in new questions. Should the hexagons have tooltips? Should they be clickable, causing a geographical search within the publication for people with events in that area? Why limit the graph to the Benelux? Why not make the map zoomable and pan-able? Or should I just opt for the marker cluster solution I use on the Stamboom Forum (see image below, click it to see dynamic version)?

image