Grote onderhoudsronde deel 5: preciezer meten, rustiger tonen

In deel 1 ging het over nieuwe functies, in deel 2 over begrijpen wat je ziet, in deel 3 over repareren wat er stukging en in deel 4 over getallen die nog geen antwoord waren. Dit vijfde bericht gaat over de stap die daarop volgt: preciezer meten, en rustiger tonen.
Preciezer meten, want op een hoop plekken staat nu een echte meting waar eerst een berekening stond. De site leest een weerstation hier in Dordrecht uit, met een thermometer, een windmeter en een regenmeter die gewoon buiten hangen. De luchtdruk wordt niet meer op één plek afgelezen maar op negen, in een kring van 150 kilometer rond de stad. Nieuw is er ook het nodige: een voorleesknop bij de lange berichten, een afteller naar de eerstvolgende sterrenregen, het antwoord op de vraag of je het ruimtestation nu kunt werken, en per Dordtse buurt hoe hoog je er met een drone mag vliegen.
Rustiger tonen is de andere helft. Pagina's die in de loop van maanden waren volgegroeid zijn uitgedund: de weerpagina ging van negen blokken met verwachtingen naar vijf, de politiekpagina van vier tabbladen naar één doorlopend verhaal, en blokken die driehonderd dagen per jaar melden dat er niets aan de hand is verschijnen nu alleen nog als er wél iets is. Daar hoort de toegankelijkheidsronde bij, waaruit bleek dat je honderdacht keer op Tab moest drukken voordat je bij de tekst was. Dat is er nu één.
En omdat we toch bezig waren is alles wat er stond naast de bron gelegd. Dat leverde de nodige correcties op, en die staan er gewoon bij: uitrekenen in plaats van overtypen, één bron per getal, de leeftijd van een meting erbij, en pagina's die zichzelf nakijken en het melden als een som niet meer opgaat.
Propagatie
Acht stukken over de propagatiepagina. Ze gaan bijna allemaal over hetzelfde: laten zien wat gemeten is en wat gerekend, en niet stelliger doen dan de gegevens toelaten.
Een percentage dat wekenlang stilstond
Op Propagatie staat hoe vaak onze eigen bandvoorspelling klopte. Dat cijfer bewoog niet: wie er twee dagen achter elkaar naar keek, zag exact hetzelfde staan. Het was afgerond op hele getallen terwijl het een gemiddelde over honderden waarnemingen is, het venster van zeven en dat van dertig dagen bevatten dezelfde metingen omdat de reeks nog geen week oud was, en de datum ernaast was de startdatum in plaats van de laatste meting. Het percentage heeft nu twee decimalen, het lange venster staat op een streepje tot het vol is, en er staat hoe oud de laatste meting is.
Belangrijker was wat we onderweg tegenkwamen. Het cijfer rekende over alle metingen sinds 30 juli, maar de meetlat werd pas op 3 augustus eerlijk: daarvoor telde alleen "we zeiden dicht terwijl er verbindingen waren" als fout, en niet het omgekeerde. Tweederde van de metingen was dus met een andere maatstaf gescoord. Er wordt nu alleen over de vergelijkbare metingen gerekend. Dat het cijfer er nauwelijks door veranderde is toeval: was het andersom uitgevallen, dan hadden we jarenlang een te mooi getal laten zien.
Bronnen bij dit onderdeel:(n.v.t., eigen werk)
Twee getallen die niet waren wat ze leken
Boven de kortegolfcondities per bandgroep stond "Propagatiecondities per amateurband vanuit Europa". Die oordelen rekenen wij niet zelf uit: ze komen uit het gegevensbestand van HamQSL, van de Amerikaanse amateur Paul Herrman, N0NBH, en daar draagt dit veld geen locatie. Dat is geen slordigheid van hem, want de VHF-verwachtingen in datzelfde bestand staan wél per gebied. Deze inschatting is nu eenmaal één wereldwijde vuistregel die volgt uit de zonneflux en de K-index. Door er "vanuit Europa" boven te zetten, maakten wij er ten onrechte een lokale meting van. Er staat nu wat het wel is, met een verwijzing naar wat wél over onze omgeving gaat: de ionosondes in de buurt en onze eigen ontvangst.
Het tweede getal was een kwestie van een naam. Een hoofdstuk heette "DRAP", een afkorting die niemand iets zegt, en ging over absorptie door zonnevlammen. Twee secties verderop stond een ander blok over de gewone dagelijkse absorptie die elke ochtend de lage banden dichtdrukt. Twee koppen over absorptie die iets anders bedoelden. Het eerste heet nu "Absorptie door zonnevlammen", en bij het tweede staat dat het over iets anders gaat.
Bronnen bij dit onderdeel: de bandcondities en de VHF-verwachtingen komen van hamqsl.com (N0NBH); de absorptieberekening is van de NOAA Space Weather Prediction Center.
Een band die nooit stil was
Bij de ductinggegevens staat hoeveel verbindingen er het afgelopen uur op 2m en 70cm zijn gemeld. Die van 70cm stond vrijwel altijd op nul, en zo hebben wij het maandenlang gelezen: een doodstille band. Het was geen stilte, de aanvraag werd geweigerd. PSKReporter vraagt in zijn documentatie om hoogstens één aanvraag per vijf minuten, en wij deden er elk kwartier twee pal achter elkaar. De eerste kwam erdoor, de tweede niet, en 70cm stond nu eenmaal achteraan in de rij.
Nu wordt er één band per kwartier opgevraagd, om de beurt, en staat 70cm op ruim honderd verbindingen in Europa. Waarom dit niemand opviel is het interessantere deel: bij een mislukte aanvraag gaf onze code nullen terug, en die zijn niet te onderscheiden van een echte nul. Een mislukte aanvraag levert nu "onbekend" op, de reden van de weigering wordt vastgelegd, en een deelfout verdwijnt niet meer geruisloos. Dat laatste geldt voor alle veertien bronnen die die ronde ophaalt. Er staat sindsdien ook bij dat wij dit niet zelf meten: deze aantallen komen van andere amateurs, dus je meet de dekking van dat netwerk mee.
Bronnen bij dit onderdeel: de verbindingen komen van PSKReporter; de aanbevolen bevraagsnelheid staat in hun documentatie voor ontwikkelaars.
Wat gemeten is, en wat gerekend
Een rijtje kaartjes zegt per amateurband wat er met je signaal gebeurt: geabsorbeerd, teruggekaatst door de E-laag, door de F-laag, of er dwars doorheen. Dat ziet eruit als een meting. De helft was het niet. De kritische frequentie van de E-laag werd geschat uit de zonneflux en de zonnestand, en die schatting gaf op de ochtend dat we ernaar keken 2,6 MHz, terwijl acht ionosondes op datzelfde moment gemiddeld 3,13 maten. Allemaal jonger dan tien minuten, en zichtbaar in de tabel één sectie hoger.
De ondergrens waaronder een band als geabsorbeerd geldt stond hardgecodeerd op 3,5 MHz, terwijl de pagina elders een echte ondergrens uitrekent die die ochtend op 6,2 MHz stond. Gevolg: 60m kreeg een keurige reflectie toegewezen terwijl de rest van de pagina die band als onbruikbaar aanmerkte. Allebei aangepast, en onder die kaartjes staat nu welke waarden uit de ionosondes komen, hoe oud die meting is, en wat een vuistregel of een vast getal is. Plus de aanname die de hele uitkomst stuurt en die nergens stond: de hoek waaronder je uitstraalt, die vaststond op een vlakke DX-hoek.
Bronnen bij dit onderdeel: ionosondemetingen van het GIRO/DIDBase-netwerk via prop.kc2g.com, aangevuld met eSWua van het INGV.
Vier hoofdstukken werden er twee
Die kaartjes stonden in een hoofdstuk dat "D-laag Absorptie" heette, terwijl acht van de tien over reflectie gingen. Eronder stond een tekening die precies herhaalde wat de kaartjes al zeiden: geen pad, geen afstand, geen hoek. Twee secties verderop staat de straalsimulatie, die dezelfde vraag beter beantwoordt: daar buigt de straal door het gemeten profiel, staat de aarde er krom in, en kun je de opstralingshoek zelf verzetten.
De kaartjes zijn daarom verhuisd naar de bovenkant van "Waar gaat je signaal heen?", met de simulatie eronder: eerst het antwoord voor nu, daarna het gereedschap om te zien waar dat antwoord van afhangt. De tekening is vervallen, en de uitleg over ducting die twee keer onderaan stond is één blok geworden. De simulatie en de ductingwereldkaart hebben een eigen hoofdstuk gekregen, zodat ze in de inhoudsopgave staan.
Aan die simulatie is trouwens flink gesleuteld. Samen met een bevriende zendamateur zijn we er uren mee bezig geweest voordat de uitkomsten geloofwaardig werden. Experimenteel blijft het, en er wordt nog aan getuned, dus lees de uitkomst als een indicatie en niet als een belofte.
Bronnen bij dit onderdeel:(n.v.t., eigen werk)
Waar hang je precies boven?
De ductingwereldkaart liet bij het aanwijzen een zwevend blokje zien dat precies het stukje kaart afdekte waar je naar wees. Op de QTH Locator staat dat beter opgelost, met een vaste balk boven de kaart, en die opzet is overgenomen. In die balk staan nu het land met vlaggetje, het locatorvak, de CQ-zone, de ITU-zone en de IARU-regio die bepaalt welk bandplan daar geldt, plus de ductingwaarde zelf. Zie je een sterk ductinggebied liggen, dan heb je meteen het land, de richting en de zone die je nog mist.
Op beide kaarten staat nu ook welke zee of oceaan het is als je boven water zit, met Nederlandse namen: Noordzee, Labradorzee, Ionische Zee. Die gebieden overlappen namelijk. De Noordzee ligt binnen de Atlantische Oceaan, en de kaart kiest de meest specifieke van de twee. Onder de motorkap doen die twee pagina's dit voortaan met dezelfde code, want twee losse implementaties van dezelfde berekening lopen na verloop van tijd uit elkaar. De onderliggende bestanden zijn samen ruim twee megabyte, dus die worden pas opgehaald zodra je de kaart werkelijk aanraakt.
Bronnen bij dit onderdeel: de zee- en oceaangrenzen komen van Natural Earth (publiek domein); zones en landsgrenzen zoals eerder vermeld bij de QTH Locator.
Over een paar jaar willen we weten of het anders is geworden
Elk kwartier leggen we per band vast wat we voorspelden, hoeveel verbindingen er werkelijk waren, en of dat meer of minder was dan normaal voor dat uur. Die metingen werden na dertig dagen weggegooid. Dat is genoeg om te weten of het nú drukker is dan gewoonlijk, maar niet om te zien of de zomer anders is dan de winter. Ze worden nu langdurig bewaard.
Met een addertje dat we bewust hebben opgelost. Het oordeel "drukker dan normaal" wordt afgemeten aan een meetlat die meeschuift met de tijd. Bewaar je alleen dat oordeel, dan blijft een band die over drie jaar geleidelijk drukker wordt netjes op "normaal" staan, en heb je precies de trend weggerekend die je wilde meten. De ruwe aantallen gaan dus mee, met de meetlat die op dat moment gold ernaast, plus de omstandigheden: de stand van de zonnecyclus, de zonneflux, het aardmagnetisch veld, de zonnewind en de toestand van de ionosfeer. Zonder die kolommen zou je een dalende zonnecyclus aanzien voor een seizoenseffect.
Bronnen bij dit onderdeel:(n.v.t., eigen werk)
Kleine dingen die opvielen
Op vijftien plekken stond een leeg blokje in plaats van een pictogram, doordat dat ene pictogram wel in de stijlbestanden zat maar niet in het lettertype dat de site laadt. Allemaal vervangen door een pictogram dat wel bestaat.
Verder een handvol vlakken die rood of oranje waren zonder dat er iets aan de hand was. "Normal X-ray Background" stond in alarmrood, een oranje kader waarschuwde dat banden onder 1,3 MHz onbruikbaar waren terwijl de laagste amateurband op 1,8 MHz begint, en de uitleg over de twee grenzen stond in een rood kader dat op rustige dagen eindigde met "dus geen storing". Wie elke dag rode vlakken ziet waar niets aan de hand is, gelooft de kleur niet meer op de dag dat er wél iets is. Ze zijn nu neutraal, en het waarschuwingskader verschijnt alleen nog als de absorptie tot in de amateurbanden reikt.
Tot slot iets dat als een fout oogde maar het niet was. In de bandstatus stond 17m op groen, 15m op geel en 12m weer op groen. Die volgorde is geen fout in de logica: 17m viel net onder de betrouwbare grens, 15m zat in het wisselvallige gebied daarboven, en 12m stond open dankzij sporadische E in plaats van via de gewone reflectielaag. Twee groene banden met een verschillende oorzaak, in dezelfde kleur. Banden die dankzij sporadische E open staan hebben nu een klein merkteken, met een regel in de legenda erbij.
Bronnen bij dit onderdeel:(n.v.t., eigen werk)
Het ISS: kun je hem nu werken?
Op ISS / ARISS loopt een live tracker met de positie van het ruimtestation. Daar staan twee dingen bij die er niet waren: het locatorvak waar het station op dat moment boven vliegt, en het antwoord op de vraag waar het om gaat. Dat hangt er simpelweg van af of het station vanaf hier boven de horizon staat, want verkeer naar een satelliet gaat in een rechte lijn. De tegel staat op groen als het ruim boven de horizon staat, op amber als het er net bovenuit komt, en op grijs als het onbereikbaar is, met de hoek er altijd bij.
Wat er nadrukkelijk bij staat: dit is meetkunde en geen belofte. Bebouwing, bomen, heuvels en je eigen antenne tellen niet mee. Voor het eerstvolgende bruikbare moment is de passagetabel er. Op diezelfde pagina noemt de tegel die aangeeft waar het station boven hangt nu de echte zeenaam, in plaats van een schatting die alleen de vijf grote oceanen kende.
Bronnen bij dit onderdeel: positie via wheretheiss.at; zeegrenzen van Natural Earth.
Honderdacht keer Tab voordat je bij de tekst was
Deze site is gebouwd door ernaar te kijken. Dat betekent ook dat alles wat je niet ziet door te kijken er jarenlang in kan blijven zitten. De site is daarom voor het eerst langs de internationale toegankelijkheidsrichtlijnen gelegd, en dat was niet vleiend. Het pijnlijkst: wie met het toetsenbord navigeert, moest op elke pagina honderdacht keer op Tab drukken voordat hij voorbij het menu bij de tekst was. Er staat nu bovenaan een link "Naar de inhoud" die verschijnt zodra je hem met het toetsenbord bereikt.
De schakelaar tussen licht en donker was helemaal niet met het toetsenbord te bereiken, wrang genoeg juist de instelling die voor sommige mensen het lezen mogelijk maakt. Het randje dat aangeeft waar je met het toetsenbord staat was in donkere modus vrijwel onzichtbaar. Allebei rechtgezet. Verder stond er op tientallen plekken tekst die te licht was om comfortabel te lezen. De oorzaak was er één die je niet vindt door plek voor plek te kijken: één blauw diende zowel als tekstkleur als achtergrond onder witte tekst, en in donkere modus kan één kleur die twee rollen niet allebei aan. Dat zijn nu twee kleuren, en daarmee verdwenen ruim honderd van deze gevallen in één keer.
Het meest onzichtbare probleem zat in de pictogrammen. Die zijn puur versiering, maar een voorleesprogramma weet dat niet en las ze voor: niet als woord, maar als de tekens waarmee zo'n pictogram intern is opgeslagen. Op een drukke pagina staan er meer dan duizend. Die zijn nu als versiering gemarkeerd. Waarbij we meteen te ver doorschoten, want een deel zégt juist iets: het slotje bij een pagina die alleen na inloggen zichtbaar is, of het vlaggetje bij een land. Zestig daarvan hadden we het zwijgen opgelegd, en die hebben nu een uitgesproken naam gekregen. Dat is de ruil die op deze site vaker terugkomt: een verbetering die in één keer over duizenden plekken gaat, gaat op sommige van die plekken ook in één keer mis.
Wat er níét is opgelost, want dat hoort er ook bij. De losse punten op de kaarten zijn kleiner dan de aanbevolen aanraakmaat, maar hun plek ís de informatie. De grafieken melden zichzelf allemaal onder dezelfde naam aan, en dat komt uit de grafiekbibliotheek. En dit was een controle van twaalf pagina's, niet van alle tweehonderd. Kom je iets tegen dat niet te bedienen is, dan horen we het graag.
Bronnen bij dit onderdeel: getoetst met axe-core van Deque Systems, dat controleert op de Web Content Accessibility Guidelines 2.2 van het W3C.
Zeven dagen voor een sterrenregen zie je het in de balk
In de strook onder de kop van de site staan aftellers naar dingen die eraan komen. Daar zijn nu de meteorenregens bij gekomen. Komt er binnen zeven dagen een piek aan, dan verschijnt er een teller, en in de nacht zelf zegt hij dat de piek bezig is. Daarbuiten verstopt hij zich, want een teller die drie maanden vooruit staat af te tellen zegt niemand iets.
Beweeg je er met de muis overheen, dan staat er wat je die nacht nodig hebt: hoeveel meteoren er theoretisch per uur vallen en wat je er realistisch van ziet (zo'n dertig tot vijftig procent daarvan), hoe snel ze binnenkomen, in welk sterrenbeeld je moet kijken, en van welke komeet het puin afkomstig is. Het getal dat de avond maakt of breekt staat op de teller zelf: hoe vol de maan die nacht is. Een volle maan haalt de zwakkere meteoren gewoon weg.
De teller loopt naar de nacht toe en niet naar een kloktijd, want dat is wat je nodig hebt: er staat "de nacht van 12 op 13 augustus", met het berekende moment van het maximum ernaast. Dat moment rekenen we zelf uit, uit de plek van de aarde in haar baan, in plaats van het over te typen uit een lijstje dat stilletjes veroudert. Voor de Draconiden in oktober geldt het omgekeerde: die kijk je in de vroege avond, en dan staat dat er.
Bronnen bij dit onderdeel: piekdata en uursnelheden van de International Meteor Organization.
Liever luisteren dan lezen
Boven nieuwsberichten van enige lengte staat sinds kort een knop: Lees voor. De pagina spreekt het artikel dan uit, zin voor zin, en markeert onderweg de zin die klinkt zodat je kunt meelezen. Dezelfde knop staat op de privacyverklaring en op Over TechSpeeltuin.
Dit is voortgekomen uit de toegankelijkheidsronde hierboven, maar het is er niet alleen voor mensen die slecht zien. Wie blind is heeft allang een voorleesprogramma en gebruikt onze knop niet. De mensen die er wél iets aan hebben zijn een bredere groep: wie dyslectisch is, wie moeite heeft met lange lappen tekst, en wie het liever hoort terwijl hij iets anders doet.
Er zit een keuze onder die het vermelden waard is. Bijna elk apparaat heeft zelf een Nederlandse stem ingebouwd, en wij gebruiken die stem rechtstreeks. Dat betekent dat er bij het voorlezen niets van je apparaat af gaat: de tekst wordt niet verstuurd en er is geen dienst die meekijkt. Alleen als je apparaat geen Nederlandse stem heeft, en dat komt vooral voor op Linux en op oudere systemen, halen we er een externe voorleesdienst bij. Dan gaat de tekst wél naar die dienst, samen met je IP-adres. Dat gebeurt uitsluitend nadat je zelf op de knop hebt gedrukt, en de balk zegt vooraf welke van de twee het wordt. Gaat het om de externe dienst, dan vraagt de knop eerst of dat mag.
We hadden het ook andersom kunnen doen, want dan hoort iedereen dezelfde stem, ongeacht apparaat. Daar staat tegenover dat je dan altijd tekst naar buiten stuurt, ook als je eigen telefoon het prima zelf kan, en dat het maandelijkse tegoed van zo'n dienst wordt opgesoupeerd door mensen die het niet nodig hebben. Zo blijft dat over voor wie anders niets zou horen. Wat je ervan merkt: de stem klinkt op het ene apparaat natuurlijker dan op het andere, en de knop leest alleen het artikel voor, niet de menu's of de bijschriften.
Bronnen bij dit onderdeel: de ingebouwde voorleesfunctie van de browser is de Web Speech API; de terugval loopt via ResponsiveVoice.
De privacyverklaring is bij de tijd gebracht
Toen de voorleesknop een eigen paragraaf in de privacyverklaring kreeg, was dat meteen een goed moment om de hele tekst regel voor regel naast de code te leggen, zodat er staat wat de site werkelijk doet.
De grootste winst zit in een nieuw overzicht: welke partijen krijgt je browser te zien als je hier rondkijkt? Daarvoor is elke pagina opgehaald en is gekeken wat er werkelijk laadt. Verreweg de meeste gegevens worden door onze eigen server opgehaald, vaak uren voordat je de pagina opent. Het weerbericht, de luchtkwaliteit, de aardbevingen, het ruimteweer: die bronnen zien onze server en verder niets van jou. Alleen waar het niet anders kan gaat je browser er zelf op af: kaarttegels moeten meebewegen, een ingesloten video komt van de videosite zelf, en een handvol metingen ververst live. Die lijst staat nu compleet in de verklaring, met per regel waar je het tegenkomt.
Er staat ook meer in over de keuzes die je zelf maakt: de taalknop schakelt bij een andere taal de vertaaldienst van Google in, en onder het contactformulier zit een controle die vaststelt dat je geen script bent. Nieuw is een hoofdstuk dat niet over bezoekers gaat maar over de mensen die op de site voorkomen: roepletters, namen van relaisbeheerders en namen van netwerkknooppunten. Er staat nu bij waar die gegevens vandaan komen en hoe je ze laat weghalen.
Datzelfde opzoeken leverde meteen een verbetering op. De databank achter een roepletter geeft bij een Nederlandse call niet de woonplaats maar de postcode met de plaatsnaam erachter, en een postcode wijst een straat aan. Voor een venstertje bij een roepletter is de plaatsnaam ruim genoeg, dus de postcode gaat er nu uit voordat het scherm hem in handen krijgt. Onderweg zijn ook twee beschrijvingen rechtgezet: de sessiecookie krijgt elke bezoeker en niet alleen wie inlogt, en bij de voorleesdienst stond nog de naam van een bedrijf dat die dienst niet meer voert.
Bronnen bij dit onderdeel: de bijgewerkte tekst staat op de privacyverklaring; de rechten waar het over gaat legt de Autoriteit Persoonsgegevens uit.
Het contactformulier ziet er strakker uit
Het contactformulier heeft een opknapbeurt gehad en is beter leesbaar gemaakt. De velden staan rustiger onder elkaar, de teksten eromheen zijn korter, en ernaast staat nu in het kort wat er met je bericht gebeurt en waar je terechtkunt als je iets anders zoekt. Wat je invult en waar het aankomt verandert niet.
Bronnen bij dit onderdeel:(n.v.t., eigen werk)
Lokale politiek
Drie stukken over lokale politiek: de pagina is opnieuw ingedeeld, en bij het nalopen bleek de zetelverdeling niet meer te kloppen.
De gemeenteraad past weer op één pagina
Lokale politiek zat achter vier tabbladen: agenda, raadstukken, fracties en stemuitslagen. Je zag dus steeds een kwart van de pagina en moest klikken om te ontdekken wat er nog meer was. Dat leek handig toen er weinig op stond, maar het werkt averechts zodra een pagina echt inhoud heeft. Het zijn nu secties onder elkaar, met een inhoudsopgave in de zijbalk die meeloopt terwijl je scrollt.
De zetelbalk bovenaan de fracties draagt nu van elke partij het logo in plaats van een afkorting, met daaronder de verhouding coalitie tegenover oppositie. Die twee balken lopen nu ook exact gelijk: de scheiding viel eerst midden in D66, doordat een paar pixels ruimte per partijvak bij dertien vakken anders uitpakt dan bij twee.
Bronnen bij dit onderdeel: de raadsgegevens komen uit de open raadsinformatie van de gemeenteraad Dordrecht.
De vergaderagenda opende op een lege maand
De agenda opende altijd op de huidige maand. In het zomerreces vergadert de raad niet, dus wie in augustus langskwam kreeg als eerste te lezen: geen vergaderingen in deze maand. Terwijl er in september alweer van alles gepland stond. De agenda springt nu naar de eerstvolgende maand waarin daadwerkelijk vergaderd wordt. Verder is hij hetzelfde gebleven: per dag een kaartje met de vergaderingen, de tijd, de zaal en een link naar de stukken bij de gemeente zelf.
Bronnen bij dit onderdeel:raad.dordrecht.nl.
Vijf partijen die anders heten, en een zetel die zoek was
Bij de verkiezingen van maart veranderde de raad van samenstelling, en daarmee ook de namen: de VVD heet in de raadsinformatie nu Dordtse VVD, en er kwam een fractie bij, PRO Dordrecht. Onze pagina houdt zelf bij welke partijen de coalitie vormen, want dat staat nergens machinaal leesbaar, en die lijst had de oude namen nog. Gevolg: de pagina telde zes zetels te weinig voor de coalitie en meldde doodleuk dat er geen meerderheid was. Dat heeft er zo gestaan.
Er ontbrak ook een zetel. De raad telde er 38, terwijl Dordrecht er wettelijk 39 heeft. De fractievoorzitter van PRO Dordrecht bleek nergens als raadslid geregistreerd: zijn inschrijving liep nog op de oude partijnaam en is bij de overgang afgesloten zonder dat er een nieuwe voor in de plaats kwam. Een fractievoorzitter is per definitie raadslid, dus die telt nu mee. En de stemuitslagen liepen achter, want één onleesbare besluitenlijst blokkeerde elke nacht de rest: de laatste uitslag die je zag was van januari. Bij het opruimen kwam een oude fout boven: bij één motie stonden 25 stemmen voor en 15 tegen, samen 40 in een raad van 39. Die uitslag staat nu op onbekend met een link naar de officiële lijst.
Wat die drie fouten gemeen hebben: ze zagen er precies zo uit als een goed getal. Daarom controleert de pagina zichzelf nu. Telt de zetelverdeling op tot het wettelijke aantal? Bestaan de partijen uit de coalitielijst nog? Klopt het aantal zetels van een fractie met het aantal raadsleden eronder? Zit niemand in twee fracties tegelijk? Klopt er iets niet, dan zegt de pagina dat bovenaan.
Bronnen bij dit onderdeel: de zetels en fracties komen uit de open raadsinformatie, de samenstelling van de coalitie uit het coalitieakkoord op dordrecht.nl, en het aantal van 39 raadszetels volgt uit de Gemeentewet.
Zoeken in de activiteiten kost nu een strook in plaats van een blok
Boven de tabel met activiteiten stond een kader met vier gelabelde velden onder elkaar. Dat nam ruim honderd pixels in beslag voordat je bij de activiteiten zelf was. Het is nu één smalle balk waarin die vier dingen naast elkaar staan, met het aantal resultaten rechts, dezelfde balk als op de evenementenkalender, het bandplan en de frequentiepagina. Wie op de ene overzichtspagina heeft geleerd waar het zoekveld zit, hoeft dat op de volgende niet opnieuw te zoeken.
Twee dingen zijn verdwenen die niet meer nodig waren. De schakelaar "Meerdaags tonen" is weg: die verborg evenementen die over meerdere dagen lopen, omdat een expositie van zes weken anders een balk door het beeld trok. Sinds de strook bovenin vier rijen toont met daaronder per dag hoeveel er nog volgen, speelt dat niet meer. En de inhoudsopgave bovenaan is eruit, want met twee secties kostte die meer ruimte dan hij opleverde. Wat daarbij aan het licht kwam: de kalender schreef bij het openen meteen de datum en de weergave in het adres, waardoor "Activiteiten" na een herlaadslag niet meer oplichtte in het menu. Het adres blijft nu schoon tot je zelf iets kiest, en een pagina met filters in de URL licht gewoon op.
Het weer
Zes stukken over de weerpagina en het weer op de voorpagina: één bron per getal, minder blokken, en meten waar eerst gerekend werd.
De homepagina beloofde 30 graden, de weerpagina 26
Op één avond stonden er twee verschillende verwachtingen voor dezelfde dag op de site. De weerkaart op de homepagina zei 30 graden, de weerpagina een paar schermen lager 26. De minimumtemperatuur liep nog verder uiteen: 13 tegen 20. Geen van beide getallen was verzonnen, ze kwamen van twee verschillende weerdiensten, en nergens stond welke van de twee je moest geloven.
Sindsdien geldt er één regel: elk getal over dezelfde grootheid komt uit dezelfde bron, en dat is geen afspraak maar een gedeelde plek in de code waar alle pagina's uit putten. In hetzelfde straatje zat een kleiner ongemak: de balk bovenin rondde af op hele graden en de nieuwsstrook eronder op tienden, dus stond er tegelijk 20 en 20,1 in beeld. Overal hele graden nu, want een tiende graad suggereert een nauwkeurigheid die een weermodel voor jouw straat niet heeft.
Negen blokken met verwachtingen zijn er vijf geworden
De weerpagina was volgegroeid. Er stonden negen blokken met een verwachting op: drie keer dezelfde dag vanuit drie diensten, twee keer dezelfde uurgegevens, en onderaan twee kaartplaatjes die hetzelfde toonden als wat er verderop al interactief stond. Wie de pagina van boven naar beneden las, kreeg vier keer te horen hoe warm het morgen wordt. Wat overblijft zijn vijf blokken die elk iets zeggen wat de andere niet zeggen.
De volgorde is omgedraaid: "Komende dagen" staat nu bovenaan, want daarvoor komen de meeste mensen. Die dagkaarten zijn tegelijk uitgebreid met de kans op neerslag en het aantal millimeter, de windkracht met richting en uitschieters, de bewolking, de UV-index en hoe warm het aanvoelt. Onderaan elke dagkaart staat een balk die het hele etmaal beslaat, met de lichte uren als gele band, en ernaast hoeveel minuten de dag korter of langer wordt dan de dag ervoor.
Twee verwachtingen staan er nog wel naast elkaar, maar nu met naam en toenaam: onze eigen dagverwachting voor de eerste drie dagen, en daaronder de officiële weekverwachting van het KNMI. Dat is precies de reden om ze allebei te tonen. Voor 10 augustus gaf onze bron 39,4 graden terwijl het KNMI 24 tot 28 aanhield. Zulke uitschieters zitten in elk model, en verder dan een paar dagen vooruit is de officiële verwachting de betrouwbaarste van de twee.
Wat een barometer wel en niet kan zeggen
Onder de luchtdruk stond "neutraal drukgebied". Zo'n samenvatting kan niet. Een hogedrukgebied of lagedrukgebied is per definitie een gebied waar de druk hoger of lager is dan in de omgeving, en dat lees je niet af aan één meting op één plek. Bovendien bestaat "neutraal drukgebied" als term niet. Wat één meting wél kan zeggen is hoe hij zich verhoudt tot het gemiddelde van 1013 hectopascal, en dat staat er nu.
En toen bleek de rest van het antwoord gewoon te bouwen. Op de weerpagina staat het drukveld rond Dordrecht: naast Dordrecht meten we de luchtdruk nu ook op acht punten op 150 kilometer, in alle windrichtingen. Die negen waarden staan als kompasroos op de pagina, blauw waar de druk lager is dan hier en rood waar hij hoger is. Daaruit volgt of Dordrecht in een kern ligt of ertussenin, en welke kant het lage druk op ligt.
Daar hangt een aardig stukje geschiedenis aan. Christophorus Buys Ballot, de Utrechtse meteoroloog die in 1854 het KNMI oprichtte, publiceerde in 1857 de regel die zijn naam draagt: sta je met je rug naar de wind, dan ligt het lagedrukgebied op het noordelijk halfrond aan je linkerhand. Die vuistregel werkt ook omgekeerd, en zo staat hij op de pagina: uit het gemeten drukveld volgt uit welke richting de wind hoort te waaien, met de gemeten windrichting ernaast. Wel met een marge, want vlak boven de grond remt wrijving de wind af waardoor die schuin naar het lage druk toe draait. Om te controleren of dat rekenwerk ergens op slaat is het naast de weerkaart van het KNMI van diezelfde avond gelegd: de depressie die wij ten noorden van ons aanwezen lag op die kaart boven Zuid-Noorwegen, en het middelpunt kwam op een tiende hectopascal overeen.
Bronnen bij dit onderdeel:KNMI over lagedrukgebieden, KNMI over luchtdruk en KNMI over Buys Ballot.
Nu gemeten in plaats van berekend
Alles hierboven gaat over modellen: rekenwerk dat vanuit een raster van kilometers een waarde voor Dordrecht afleidt. Voor de wind ging dat structureel mis. Waar het model afgelopen nacht 1,3 meter per seconde meldde, stond er in werkelijkheid ruim 4. Dat is het verschil tussen "geen zuchtje wind" en "het waait aardig", en dat zie je zelf zodra je naar buiten stapt.
Daarom leest de site nu een echt weerstation in Dordrecht, op ruim een kilometer afstand, met een thermometer, een windmeter en een regenmeter die in de buitenlucht hangen. Een regenmeter op loopafstand weet beter of het regent dan een radar, die naar druppels op honderden meters hoogte kijkt. De actuele waarden op de weerpagina, in de balk bovenaan en in de nieuwsstrook komen daar nu vandaan, met de weermodellen als reserve zodra de meting uitvalt of ouder is dan een kwartier.
Boven de neerslagverwachting staat sindsdien een regel die zegt wat er op dit moment werkelijk valt, en hoeveel er vandaag en het afgelopen uur is gevallen. Daaronder staat, op dezelfde schaal, wat de radar voor het komende uur verwacht. Zo ligt de verwachting van een uur geleden naast wat er daadwerkelijk uit de lucht kwam.
De uitleg onderaan is nagelopen
Onderaan de weerpagina staan uitklapbare stukjes achtergrond: hoe de schaal van Beaufort werkt, wat de UV-index betekent, waarom het dauwpunt eerlijker is dan de luchtvochtigheid. Die teksten stonden er al een tijd en waren nooit gecontroleerd. Dat is nu regel voor regel gedaan, met een bronvermelding onder elk stukje.
Er stonden een paar dingen in die niet klopten. Positieve bliksem stond bij ons op vijf tot tien procent van alle inslagen en op twintig tot dertig kilometer buiten de bui, terwijl de Amerikaanse weerdienst het op minder dan vijf procent en meer dan vijftien kilometer houdt. Bij de UV-index stond dat je vanaf niveau 6 moet smeren, terwijl de Wereldgezondheidsorganisatie bescherming aanraadt vanaf niveau 3. De drempels voor een klam of drukkend dauwpunt lagen een paar graden te hoog. En de omschrijvingen van de waarschuwingskleuren zijn vervangen door die van het KNMI zelf.
Ook uit elkaar gehaald: drie stukjes over onweer vertelden voor de helft hetzelfde verhaal, dat zijn er nu twee. En op de bliksemkaart zijn positieve inslagen eindelijk te onderscheiden van gewone. De uitleg beloofde al jaren een rode ring om zo'n inslag, maar de kaart tekende alleen een klein plusje, naast een kruisje dat door zijn ouderdom tóch al rood kon kleuren. Nu is de kleur van het kruisje de leeftijd en de ring de polariteit.
Bronnen bij dit onderdeel: de uitleg over UV van de Wereldgezondheidsorganisatie, het KNMI over de schaal van Beaufort, het KNMI over mist, de uitleg van het KNMI over de waarschuwingskleuren en de Amerikaanse weerdienst over positieve bliksem en dauwpunt.
Blokken die er alleen nog zijn als ze iets te zeggen hebben
Op de weerpagina stond elke dag een groen kader met "Geen waarschuwingen actief voor deze regio". Dat is driehonderd dagen per jaar waar, en dan is het geen mededeling maar behang. Die sectie verdwijnt nu als er niets speelt, inclusief het kopje en de vermelding in de inhoudsopgave. Is er wél iets aan de hand, dan valt dat meteen op. Hetzelfde gold voor het noorderlichtblokje op de homepagina, dat trouw meldde dat er geen enkele kans op noorderlicht was; dat verschijnt nu alleen nog bij verhoogde activiteit.
Eén blok is juist gaan schuiven in plaats van verdwijnen. De samenvatting van de meetgegevens werd drie keer per dag geschreven en had het over "vandaag". Tussen middernacht en de ochtendronde ging die tekst dus over gisteren, terwijl de dagkaarten erboven al waren doorgeschoven. Er komt nu ook vlak na middernacht een samenvatting, die begint bij de rest van de nacht en daarna de nieuwe dag beschrijft. Elke editie weet bovendien tot hoe laat hij blijft staan, en de dag wordt bij naam genoemd in plaats van "vandaag" en "morgen".
Vliegweer voor drones
Zeven stukken over droneweer. Het vliegcijfer is opnieuw opgebouwd, rekent met wat er echt gemeten wordt, en zegt alleen nog iets over het weer.
Het vliegcijfer rekende met andere wind dan er op het scherm stond
Op droneweer staat een cijfer van nul tot tien dat zegt hoe geschikt het weer is om een drone de lucht in te sturen. Op een nacht stond het blokje Windstoten oranje met "vlagen tot 9,0 meter per seconde", terwijl het cijfer erboven voor wind niets aftrok. Geen van beide was verzonnen: het blokje toonde de waarde uit het weermodel en het cijfer rekende met de gemeten waarde van 4,9. De gemeten wind werd namelijk net te laat in de berekening geschoven, waardoor alle getallen op het scherm al met de modelwaarde waren klaargezet. Die ene regel staat nu bovenaan, en daarmee komt alles op de pagina uit dezelfde bron.
Bij die reparatie viel iets anders op: de meetstations werden nergens genoemd. De gemiddelde wind komt van een meter aan open water, de vlagen en de richting van een station op ruim een kilometer. Die staan nu bij de weertegels, en niet als vaste tekst maar uit de berekening zelf, zodat de bronvermelding meeverandert als er een ander station aan de beurt is.
Een cijfer dat bij nul begint in plaats van bij tien
Het vliegcijfer werkte als een strafblad: beginnen bij een tien en per probleem punten eraf. Een half punt aftrek voor iets onbenulligs woog dan even zwaar als een half punt voor iets gevaarlijks, en negen goede factoren konden één slechte wegpoetsen. In de lucht werkt dat andersom: daar bepaalt de zwakste schakel of je gaat vliegen.
Nu levert elke factor punten óp, naar zijn eigen gewicht: wind en vlagen wegen het zwaarst, dan neerslag en zicht, en zo verder tot de zonneactiviteit die de GPS kan verstoren. Daarbovenop heeft elke factor een plafond. Windstoten van 16 meter per seconde zetten het cijfer op een 1, ook als de rest perfect is, terwijl een geomagnetische storm niet lager komt dan een 4, want daar val je niet van uit de lucht. Binnen een kleur schuift het cijfer nu ook mee, en valt een bron uit, dan telt die factor niet mee in plaats van dat je er stilzwijgend punten door verliest. De schaal is niet aan een bureau vastgesteld maar buiten geijkt: bij de wind van een bepaald moment hoorde volgens de vlieger die er stond "ongeveer een 6,5", en de curve is daarop gelegd.
Eén grens werkt niet als weging maar als regel. De meest verkochte drones, de Mini-klasse, hebben een opgegeven windlimiet van 10,5 meter per seconde. Daarboven zit zo'n toestel buiten zijn eigen specificatie, en dan is "vlieg met beleid" geen eerlijk advies meer. Bij vlagen boven die grens gaat het cijfer daarom hoe dan ook naar hoogstens een 3,5 en luidt het advies "Vliegen afgeraden". Heb je een zwaarder toestel, dan staat erbij dat het daarmee nog kan, laag en dichtbij.
We maten te weinig wind
Toen dat cijfer eenmaal klopte, kwam de vraag of de meting zelf wel klopte. Het station aan het water en het weermodel zaten allebei op ruim 10 meter per seconde aan vlagen, uit het westen. Onze eigen meter gaf 8,5, uit het zuidwesten. Veertig graden verschil in windrichting is geen meetfout maar een handtekening: die meter staat in de luwte, de wind buigt daar om obstakels heen en de scherpe uitschieters worden eruit gefilterd. De gemiddelde wind klopte wel, tot op een tiende.
Voor een drone is dat de verkeerde meter, want die hangt in de vrije lucht en niet tussen de huizen. Voor de vlagen nemen we daarom de hoogste van de meting en het model: onderschatten is hier het risico, overschatten hoogstens een gemiste vlucht. De bronregel zei nog "wind en vlagen: gemeten door", ook als de vlaag uit het model kwam. Er staat nu apart waar de wind vandaan komt en waar de vlagen.
Een waarschuwing die je cijfer niet meer laat schrikken
Boven Dordrecht komt geregeld laagvliegend verkeer over: een traumahelikopter, een politiehelikopter, lesverkeer op een paar honderd meter. Dat werd meegerekend in het vliegcijfer, en dat gaf een onrustig beeld. Een overkomend toestel is een zaak van seconden tot minuten, terwijl het cijfer over je hele vlucht gaat. Het kelderde dus en veerde een minuut later weer op, zonder dat er aan het weer iets veranderd was.
Waarschuwen doen we nog even nadrukkelijk, alleen niet meer via het cijfer. De melding staat nu boven aan de pagina, met wat er vliegt, hoe hoog, hoe ver weg en welke kant het op gaat. Hij knipperde ook, omdat de ontvangst van zo'n toestel af en toe een paar seconden wegvalt: verschijnen gaat nog steeds direct, verdwijnen pas als het toestel 45 seconden weg blijft. En in die melding stonden twee hoogtes door elkaar, de grens waaronder we waarschuwen en de werkelijke hoogte van het toestel. Alleen die laatste staat er nog, meteen vooraan.
Waar je in Dordrecht mag vliegen, per buurt
De regels over waar een drone mag komen stonden er als een landelijke opsomming: niet boven overheidsgebouwen, niet boven spoorlijnen, niet boven wegen vanaf 80 kilometer per uur, en zo nog een stuk of twaalf. Allemaal waar, en allemaal niet te vertalen naar de vraag die je eigenlijk hebt: mag ik hier, bij mij in de straat, de lucht in?
Die vraag is nu beantwoord. Het officiële zonebestand van het ministerie is over de buurtindeling van het CBS gelegd, en daaruit rolt per buurt hoeveel van het oppervlak verboden is, waar je tot dertig meter mag en waar de volle honderdtwintig geldt. Van de 132 Dordtse buurten liggen er 20 volledig in verboden gebied, is in 29 een deel verboden, geldt in 34 een maximum van dertig meter en heb je in 48 alle ruimte. Het verbod zit vrijwel helemaal in het water en de industrie: de havens, het spaarbekken op de Staart dat drinkwatergebied is, en een cirkel om het helikopterplatform van het Albert Schweitzer ziekenhuis. De dertigmetergrens komt van een laagvliegroute over Dubbeldam en de Dordtse Kil.
Onder dat verhaal staat een tabel met alle buurten waarin je kunt zoeken en filteren. Typ je je volledige postcode of je straatnaam, dan wordt het adres opgezocht en zie je precies je eigen buurt. Loopt je straat door meerdere buurten, zoals de Voorstraat, dan krijg je ze alle drie.
Het weer is één ding, of je mag vliegen een ander
In het vliegcijfer zat een factor die er niet in thuishoort: daglicht. Na zonsondergang mag je in de open categorie niet vliegen, en dat drukte het cijfer naar een 1. Maar dat is geen eigenschap van de lucht. Om elf uur 's avonds kan het windstil en helder en vijftien graden zijn, en dan zei het cijfer "slecht" terwijl alleen de regelgeving in de weg zat.
Het cijfer beschrijft nu alleen nog de condities. Of je mag vliegen staat er apart bij, en niet zuinig: zodra de zon onder is verschijnt boven aan de pagina een rode balk met de tijd van zonsondergang en van zonsopkomst morgen. Het eindoordeel luidt dan "Nu niet toegestaan" in plaats van "Vliegen afgeraden", want dat is een ander soort mededeling dan te veel wind. Wat er van duisternis wél toe doet is gebleven, want dat is natuurkunde: je moet je drone kunnen zien, en zijn onderste camera's moeten de grond kunnen zien, anders gaat hij driften bij het stilhangen en landen. Daar is het tot ongeveer drie graden onder de horizon licht genoeg voor. Daaronder loopt het cijfer snel terug en midden in de nacht komt het niet boven de 1,5.
Het verschil zie je in die veertig minuten na zonsondergang. Daar stond eerst één getal dat twee dingen door elkaar haalde. Nu staat er een hoog cijfer met daarboven de mededeling dat je toch niet mag.
Wat we niet beloven
Bij een groen oordeel stond "Veilig om te vliegen". Dat kunnen we niet waarmaken. Of een vlucht veilig is hangt ook af van je toestel, je ervaring en de plek waar je staat, en daar weten wij niets van. Er staat nu "Ideaal om te vliegen", want dát is wat we beoordelen: het weerbeeld. Om dezelfde reden heet de kolom in de dronetabel voortaan "Binnen de windlimiet?" in plaats van "Nu veilig?".
In diezelfde geest is het cijfer opgehouden zich een uursverwachting te noemen. Alles wat erin gaat is een meting of een modelwaarde van dit moment, hooguit een paar minuten oud. Er staat nu wat het werkelijk beschrijft: hoe het nu boven Dordrecht is, geldig voor ongeveer een kwartier, wat aardig overeenkomt met wat één accu je geeft. Ook de teksten bij de gekleurde blokjes zijn nagelopen. Er stond "vlagen tot 8,0 meter per seconde, alleen ervaren piloten", en dat filtert niemand, want iedereen rekent zichzelf tot de ervaren vliegers. Er staat nu wat je merkt en wat je eraan doet: dat een drone onder de 250 gram bij die windkracht aan zijn limiet zit, dat je hem dichtbij houdt en dat de accu tegen de wind in sneller leegloopt.
Nog lang niet uitgekeken
Er staat nog van alles op de lijst en er wordt doorlopend aan gesleuteld. Dit was een ronde langs een handvol pagina's, en de site heeft er ruim tweehonderd, dus er valt nog genoeg te verbeteren en toe te voegen.
En deel 6 is dan ook al begonnen. De eerste hoofdstukken liggen er, over een kaart die laat zien wat het water met deze stad doet, en over wat zo'n kaart wel en niet kan weten. Tot dan.




































