Blog

De Mendix escaperoom

01 feb '21 by Jaap van Leeuwen
Jaap van Leeuwen is Mendix consultant bij Webflight
Mensen in een doolhof

Hoe een teamactiviteit een meetup werd

Een aantal maanden geleden, net nadat de eerste Covid lockdown was begonnen, waren we op zoek naar een leuke activiteit om met het Webflight team te doen. De meest voor de hand liggende activiteit is dan natuurlijk iets als een online pubquiz, maar het leek ons een gaaf idee om zelf iets te bouwen. Mendix is immers een goed platform om snel wat leuks neer te kunnen zetten! In dit blog leggen we uit hoe we met Mendix een digitale escaperoom hebben gebouwd. Zo willen we laten zien dat software development echt leuk is!

Zonder het team te vertellen wat we deden gingen mijn collega Ward en ik aan de slag. We dachten eerst dat deze app eenmalig en intern gebruikt zou worden, dus zijn we gegaan voor een normale responsive app. Deze is het makkelijkst te bouwen en de deelnemers zitten tijdens de lockdown toch allemaal achter hun computer. Dit werd een groot succes! “Leuk, dat was het dan.” dachten we.

Beginscherm van de Webflight escaperoom

Hoe organiseer je tijdens COVID-19 een meetup op lokatie?

Rond deze tijd waren we ook bezig met het plannen van een nieuwe Mendix meetup. We wilden deze meetup graag bij ons op kantoor organiseren, maar in tijden van een lockdown kon hier natuurlijk geen sprake van zijn. Bij een online meetup wilden we echt iets leuks doen, en niet met de zoveelste doorsnee Zoom meeting komen. Tijdens het brainstormen over de meetup kwam een van onze collega’s met het idee voor een escape room, en of we dit niet konden gebruiken. We hadden immers de basislogica al gebouwd, dus het zou niet veel moeite kosten om de escape room om te bouwen.

Digitale meetup georganiseerd door Webflight

Technische componenten

Een groot deel van de gebruikte microflows zijn simpele validatieflows. Maar je moet natuurlijk wel met wat meer komen dan dat, anders is je escape room niet veel meer dan een veredelde vragenlijst. Wanneer je samen creatief gaat nadenken over wat mogelijk is kom je al snel tot de conclusie dat er veel meer mogelijkheden zijn dan simpele validatie. Uiteindelijk hebben we de applicatie ontwikkeling behoorlijk breed aangepakt. De styling is custom gemaakt door onze Mendix consultant Alissa die de SASS file van het project heeft aangepakt. Er zijn een aantal redirects ingebouwd, we hebben een simpele API gebouwd en er is gebruikgemaakt van custom applicatiesettings die aangepast konden worden terwijl het spel bezig was.

Het bijhouden van de voortgang per team is een goed voorbeeld van iets dat technisch gezien niet lastig is, maar waar je wel veel aandacht aan moet besteden. Bij elke deelnemer moet de elke verandering van kamer bijhouden. Daarnaast moet je ook blijven controleren waar je teamgenoten zijn. De voortgang van je team kan pas geüpdatet worden nadat alle teamgenoten de volgende kamer hebben bereikt. Dit kan je bereiken door wat simpele associaties tussen deelnemer en team. Dit kan je combineren met een enumeratie voor alle kamers binnen een microflow die bijhoud waar iedereen is. Niet heel moeilijk, maar essentieel dat je het consequent bijhoud. Het updaten gebeurde door een dataview waarin de microflow werd getriggerd die bijhoud in welke kamer een deelnemer op dat moment is.

Mendix flow chart

Omdat we de escape room deden met software developers is security een belangrijk onderdeel. Toen we de escape room binnen het team deden duurde het slechts een paar minuten en de API met parameters (maar niet de antwoorden natuurlijk) was door een van de deelnemers ontdekt. Dit benadrukte misschien wel de grootste moeilijkheid van deze escape room: wat voeg je toe dat niet te makkelijk, maar ook niet te moeilijk is om te vinden?

Elke deelnemer heeft natuurlijk zijn of haar eigen account met login nodig en mag natuurlijk niet zien wat voor de admins bestemd is. Daarom hebben we verschillende rollen gedefinieerd en hebben we de security per rol goed geregeld. Op deze manier was er geen mogelijkheid voor de deelnemers om vals te spelen.

Toen we de software development voor de meetup begonnen dachten we natuurlijk ook aan de deelnemers van de meetup. Hoe moeilijk moeten we het voor ze maken? Wat zien ze wel, of juist niet? Het verzinnen van hints bleek een leuke bezigheid. “Inspect the page closely” is bijvoorbeeld een logische hint voor een developer. Het was erg leuk om te zien dat alle deelnemers dan ook geen moeite hadden met het vinden van de template grid met aanwijzingen naar de clickable container onderaan de pagina.

Deels moet je natuurlijk ook vertrouwen op het feit dat de deelnemers logisch nadenken en af en toe Google gebruiken. Deze combinatie bleek dan ook hoognodig omdat een van de deelnemers een sudoku probeerde op te lossen in excel, in plaats van gewoon “sudoku solver” te Googlen.

Sudoku in Excel

Software development is fun!

Al met al was deze escape room een leuke activiteit, zowel om aan te bouwen als om te hosten. Nog een extra dankwoord naar Ward en Alissa, die het gros van de logica en styling voor hun rekening hebben genomen!

Wil je meer weten over Webflight en hoe wij werken? Bekijk dan de over ons pagina.