Samenwerking bestaat

Waarom hangmatten? Gewoon een persoonlijke voorkeur: het is de perfecte manier om een stad te ontdekken. Het laat je op een andere manier naar je omgeving kijken. “Kan ik hier mijn hangmat ophangen?” “Zouden voorbijgangers me zien?” “Kan ik hier nog even genieten van de zon?”

Heb jij dezelfde vragen? Verken Gent vanuit een ander perspectief met Bring Your Own Hammock.

Wintercircus

De applicatie ‘Bring Your Own Hammock’ op ‘Bring Your Own Beamer’, georganiseerd door Nerdlab.be

Ik weet dat het aantal hangmatliefhebbers in Vlaanderen beperkt is. Ook de gebruikers van deze app zullen niet talrijk zijn. Maar juist daarin schuilt de charme: ook al is het aantal gebruikers heel laag, er hebben heel veel mensen - bewust of onbewust - bijgedragen in de ontwikkeling van deze applicatie. Dit artikel neemt je mee van klein naar groot: wie heeft wat gemaakt? Er komt meer kijken bij de ontwikkeling van een absurde applicatie dan je op het eerste zicht zou denken.

Wij hebben iets gemaakt

Ik start op een heel klein niveau. Pieter-Jan en ik hebben samen wat geprogrammeerd. Onze tijd was beperkt: in een paar uur maakten we gebruik van verschillende onderdelen om de applicatie in elkaar te zetten.

Het to-do lijstje zag er als volgt uit:

  • Zoek alle bomen van Stad Gent (zie “Stad Gent heeft iets gemaakt”)
  • Zoek binnen de dataset van de bomen naar bomen die dicht genoeg bij elkaar staan om een hangmat tussen te hangen (tussen de 3 en 5 meter).
  • Maak een nieuwe dataset maar dan één die de locaties van hangmatten bevat.
  • Maak een webpagina die deze dataset kan visualiseren op een kaart.
  • Toon de webpagina op BYOB, een evenement van Nerdlab

Dit is gemaakt met een bescheiden tijdsbesteding: veel van de bouwblokken bestaan al en kunnen we zomaar (her)gebruiken. Het eindresultaat bestaat enkel omdat andere mensen er hun tijd en geld hebben ingestoken.

Zonder onze kennis van bestaande systemen, was een applicatie als “Bring Your Own Hammock” heel moeilijk te maken.

Stad Gent heeft iets gemaakt

Stad Gent zit niet stil: zij bieden als overheid een portaal aan waarop je datasets van Stad Gent kan vinden: Open Data Portaal. In totaal zijn er 260 datasets terug te vinden die vrij hergebruikt kunnen worden. Thema’s gaan van mobiliteit, over erfgoed tot en met milieu.

De applicatie “Bring Your Own Hammock” bouwt verder op de bomendataset van Stad Gent. Deze dataset bevat meer dan 60 000 bomen in Gent. Van iedere boom is de locatie (gps coördinaat) gekend en van de helft is zelfs de stamomtrek gekend. De dataset is in het leven geroepen in 2014 en wordt sindsdien dagelijks aangepast door de Gentse Groendienst.

Zonder de beleidskeuze om deze data open te stellen, zonder de inventaris van de Groendienst, was een applicatie als “Bring Your Own Hammock” heel moeilijk te maken.

Er is een telefoonboek gemaakt

Deze webpagina kan getoond worden op ieder apparaat met een webbrowser. Er zijn verschillende apparaten

De link lauwers.gent/byoh wijst eigenlijk naar een computer (zie Een computer heeft iets gedaan). Net zoals een smartphone een telefoonnummer heeft, heeft deze computer een IP-adres. 104.21.17.127 is goed leesbaar voor een computer, minder goed voor de menselijke lezer. Wereldwijd zijn we tot een consensus gekomen: we maken een telefoonboek van alle publieke computers. DNS (Domain Name System) is geboren! Voor een klein bedrag per jaar, krijg ik een plaatsje in dit “Domain Name System”. Typ je lauwers.gent/byoh in je zoekbalk, dan raadpleegt je apparaat eerst het wereldwijde telefoonboek om het nummer van de computer op te halen. Eenmaal dit nummer gekend is, vraagt je apparaat rechtsreeks aan die computer de hangmatkaart op.

Dit systeem bestaat al een tijdje: het werd in 1983 uitgevonden aan de Universiteit van Zuid-Californië door Paul Mockapetris. Het is niet meer weg te denken: als er geen DNS is, is er geen internet.

Zonder DNS weet je apparaat niet waar Google zit, waar je mail naar toegestuurd moet worden et cetera. Zonder DNS, was een applicatie als “Bring Your Own Hammock” heel moeilijk te maken.

Een computer heeft iets gedaan

Op het moment dat je de applicatie bezoekt, beginnen verschillende computers samen te werken om jouw apparaat alle nodige informatie te bezorgen.

Zoals eerder uitgelegd, heeft je apparaat eerst al via DNS de juiste computer opgevraagd (zie Er is een telefoonboek gemaakt). De DNS server (een computer) antwoordt aan welk internet adres je apparaat informatie moet vragen

Mijn webserver (mijn computer) bevat alle nodige informatie: de dataset, de webpagina, de kleine hangmat icoontjes op de kaart en zo verder. Staat mijn webserver (/mijn computer) aan, dan kan jouw apparaat toegang krijgen tot deze informatie. Staat mijn webserver uit, dan is de applicatie niet bereikbaar (Error 404)

Uiteraard hangt jouw apparaat niet vast aan mijn webserver met een enkele kabel. Mijn webserver is aangesloten op het wereldwijde web, net zoals jouw apparaat. Dankzij kilometerslange kabels, verbonden door verschillende switches, firewalls & routers (meerder computers) kunnen we informatie uitwisselen.

Zonder een fysieke computer die altijd aanstaat, was een applicatie als “Bring Your Own Hammock” heel moeilijk te maken.

Slimme mensen hebben samengewerkt

De webpagina is uiteraard gemaakt met een programmeertaal & verschillende programmeertools. Zonder in te gaan op wat iedere taal of iedere tool is, hieronder een overzicht van de gebruikte tools:

Technologie Beschrijving Gestart in
Python Een programmeertaal 1991
HTTPS Een netwerkcommunicatieprotocol 1994
CSS Vormgeving van webpagina’s 1994
HTML Een opmaaktaal 1997
OpenStreetMap Een open geografische database 2004
OpenLayers Een JavaScript-bibliotheek om kaarten te visualiseren 2006
GeoJSON Een bestandsformaat voor geografische data 2007
TypeScript Een high-level programmeertaal 2012
Parquet Een bestandsformaat voor tabellen 2013
NPM Een softwarebibliotheekbeheerder 2014

Voor de leken onder ons, geen paniek! Het is niet belangrijk om te weten wat deze talen & tools allemaal doen: ze hebben hun werk gedaan. Dankzij deze tools zie je nu de hangmat kaart van Gent.

Dit is het absurde van dit verhaal: miljoenen mensen hebben miljarden lijnen code geschreven. Al die lijnen code werken op de één of andere manier samen om nieuwe lijnen code tot leven te laten komen.

Zonder de toewijding en passie van veel ontwikkelaars, programmeurs & ingenieurs, was een applicatie als “Bring Your Own Hammock” heel moeilijk te maken.

Samengevat

Na het lezen van dit artikel kan je waarschijnlijk overweldigd zijn door de grote complexiteit achter een simpele applicatie als deze. De grote kracht die hier in schuil gaat is samenwerking: concepten, ideeën, code, standaarden worden gemaakt en hergebruikt door een grote groep mensen.

  • Zonder de toewijding en passie van veel ontwikkelaars, programmeurs & ingenieurs, was een applicatie als “Bring Your Own Hammock” heel moeilijk te maken.
  • Zonder een fysieke computer die altijd aanstaat, was een applicatie als “Bring Your Own Hammock” heel moeilijk te maken.
  • Zonder DNS om de juiste computer te vinden, was een applicatie als “Bring Your Own Hammock” heel moeilijk te maken.
  • Zonder de beleidskeuze om deze data open te stellen, zonder de inventaris van de Groendienst, was een applicatie als “Bring Your Own Hammock” heel moeilijk te maken.
  • Zonder onze kennis van bestaande systemen, was een applicatie als “Bring Your Own Hammock” heel moeilijk te maken.

Het mooie aan dit alles is dat je je als gebruiker niets moet aantrekken van alle onderliggende complexiteit. Alle puzzelstukjes vallen in elkaar, waardoor je naar het volledige plaatje kan kijken. Akkoord, een kaart met hangmatlocaties in Gent gaat de wereld er niet veel beter op maken. Het mooie is dat dit het resultaat is van veel samenwerkende mensen, allen zo goed als onbekenden voor elkaar.

Credits