Jeg har lige lavet et par installationer til Jernbanemuseets udstilling ‘Brændstof’.
De er alle mere eller mindre “headless”, hvilket vil sige, at de ikke har en skærm tilsluttet.
En af installationerne er en benzintank, hvor man kan tanke et benzindrevet tog op. Når man sætter pistolen i tanken, begynder et display at tælle op til 5. Når man fjerner pistolen igen, starter et lille tog på en modeltogbane, mens tælleren begynder at tælle ned. Når tælleren rammer 0, stopper toget, og man skal tanke det op igen.
Se en video af installationen her:
Det var meningen, men…
Når jeg udvikler installationer til museer, tager jeg udgangspunkt i deres idéer. Undervejs sker der ofte ændringer i interaktionskæden og brugeroplevelsen. En af de uforudsete udfordringer i denne installation var, at tælleren blev ved med at tælle op, hvis man satte pistolen i igen, mens toget kørte. Det resulterede i, at toget kunne fortsætte uendeligt, fordi tælleren talte hurtigere op, end den tælte ned.
Logisk tænkning under press
Jeg var på vej til Højer Designefterskole for at undervise i elektronik med Raspberry Pi Pico, så mit hoved var et helt andet sted, da jeg gik i gang med at fejlfinde. Jeg kunne SLET ikke finde ud af, hvad der var galt med koden ved blot at kigge på den. Det irriterede mig voldsomt, for jeg vidste, at fejlen var noget helt simpelt.
‘ChatGPT to the rescue‘
Løsningen? Jeg copy-pastede hele koden ind i ChatGPT og bad om fejlfinding og forbedringsforslag.
Først beskrev jeg mit setup, formålet med installationen, hvilke komponenter jeg havde brugt, og hvordan de var forbundet til microcontrolleren. Jeg bad også ChatGPT om at forklare, hvordan min kode fungerede, så jeg kunne sikre mig, at den havde forstået formålet korrekt.
Efter et par justeringer frem og tilbage fik vi en god forståelse af, hvordan installationen skulle kodes – og fejlen blev fundet!
Fejl, der ikke er fejl
Når projekter udvikler sig, opstår der ofte den slags fejl. Som regel sker det, fordi vi ændrer noget i koden, efter at installationen er bygget. Jeg plejer at lave små brugertests og komme med anbefalinger til kunden, men som en tommelfingerregel regner jeg altid med, at der vil være ændringer i det endelige design.
Fejl i koden er som regel nemme at finde, fordi programmet ikke kører, hvis der er en syntaksfejl. Men fejl, der ikke er åbenlyse fejl, kræver en forståelse af, hvad installationen egentlig skulle gøre. Uden installationen ved siden af og projektet frisk i hukommelsen kan det være en udfordring at finde frem til problemet – nogle gange går der måneder, før jeg får rettet småting!
1 – 0 til ChatGPT
Det, jeg opdagede, var, at jeg kan bruge ChatGPT som en gratis sparringspartner i udviklingen af god kode. Jeg skriver stadig selv det meste af koden, men det, jeg sender til ChatGPT, afspejler i høj grad det, jeg får retur. Jeg fandt dog ud af, at det var nødvendigt at dobbelttjekke syntaksen og sikre, at ChatGPT forstod formålet korrekt. Alt i alt var jeg meget tilfreds med, hvor godt det virkede.
Hvad bliver det næste?
Hvis du vil være klogere på Interaktionsdesign og Physical Computing med microcontrollere og sensorer så kan du læse om et kursus i det lige HER
Hvis du vil læse mere om udstillingen “Brændstof” på Danmarks Jernbanemuseum så kig HER
Det næste, jeg vil teste, er at få en AI til at skrive koden fra starten – tænk, hvis jeg kan prompte mig ud af de opgaver, jeg laver for mine kunder! 😂
/Martin