Guest Blog: Technology and Storytelling by Orf Quarenghi

Preface from Sklivvz: I've known Orf for many years and, he is one of the most creative and innovative developers that I know. He mixes video game-style coding and hardware building to create unique interactive exhibition pieces. A lot of his interactive stories are presented in museums or other high profile venues, and you won't regret paying them a visit.

Programming can and should transcend the boring, mediocre experience of enterprise coding. Programming should mean striving for excellence. This is why I've asked Orf to kindly write something for this blog. I hope he helps me convince you to aspire to be the best developer you can be!

My name is Orf Quarenghi. I "do" two things: technology and storytelling.

I like technology in itself. LEGO Technics. WWII fighter planes. I love the Walschaerts valve gear – I resent identifying technology with luxury gadgets. In the 80's I fell in love with BASIC and home computers (I belonged to the Sinclair tribe).

The other things I love are stories. Everyone likes a good movie, a good book. For me, storytelling and technology are things that go together. To put it simply, LEGO star-ships aren't made to collect dust on a shelf, but to explore strange new worlds. To seek out new life and new civilizations. To boldly go where no man has gone before!

LEGO and programming languages have that in common.

Back then, interactive storytelling was relatively trivial: fighting arrays of green UFOs inching toward Earth, wandering in a maze eating pills, avoiding pastel-colored ghosts…

Pacman

Yet, coding was a storytelling tool that was clear to me, and I experimented a lot.

After ten years, I found myself sadly developing ugly database applications, and I have to admit: accounting is lousier storytelling than Pac Man.

Then, I encountered the Studio Azzurro collective: three crazy film-makers willing to add interactivity to their stuff. Their Holy Grail was "Non-Linear storytelling," i.e., using a set of video clips like LEGO bricks to put together each time a different story based on interactive inputs – in the era of VHS tapes, that was Science Fiction.

Doing that meant broadcast-grade video hardware, industrial automation sensor systems, ugly SDKs, and a lot of C/C++ code to be written.

My first interactive project was a crazy star-ship made of six video projectors, nine Laserdisks, an A/V crosspoint matrix, an ISA multi-serial card, and custom made I/O card. And a DOS machine.

Putting it all together with Borland's Turbo C++ 2.0 was challenging.

But boys! It was good storytelling!

I've been on many projects like that, part of heterogeneous teams where I usually was the only coder—directors, dancers, architects… each of them speaking (only!) their own language.

Communication in this kind of environment isn't easy. Mostly the "You don't see my point!" issue. I decided not to be that kind of individual. We were building great stories together, and even if the properly said artists could have thought differently, I was among the authors, and I wanted it to work and be great. So, since it was simply too difficult to explain "coding stuff" to artists, I decided to meddle with the artist's stuff myself.

Each time someone asked something technically impossible, I found (at least, looked for) a creative alternative and make a counter-proposal, giving back my interlocutor a new tool for his tool-set (language).

I enjoyed working this way for a while. Still, I quickly grew bored with self-incensed video-makers: they tend to stay in a comfort zone where all the creativity is in the video-making. Simultaneously, the interaction model is kept as simple as possible – usually something like IF x THEN PlayY().

The medium is the message, said Marshall McLuhan. The interaction model is part of the story, not a fancy tool to press the PLAY button on a video player. And: implementing interaction models is a matter of coding, integrating, and building, exactly my cup of tea. So I took that direction, concentrating on new interaction models and packaging them as "containers of stories" – the point is you don't sell an interactive experience because it's cool. You sell it if it helps your customers to tell their story.

My first proof of concept with the container of stories was protoTypo. I had the idea to hack an old paint-gun into a pointing device and wanted to use it for a demo of some sort. A friend prompted me to go for digital graffiti stuff, but I didn’t want to implement such a literal metaphor. I told him I wanted something more poetical, like, what if the paint-gun sprays words? That was it.

The technology was good and I used it in protoTree, which wasn’t a container of stories aimed to commercial uses, but an interactive tribute to my favorite painter, Paul Klee.

Another container of stories was the sensible ambient, a place made of video-projections where the visitor walks on a carpet of random letters, and doing so unveils a story. It really was a container: implementing another story was like opening a new document in an editor (Interpreting the World, Beyond, IGPDecaux Live!).

To build interactive experiences remains teamwork even if I tend to do all the coding as a one-man-band. The medium is part of the message: you still need content and someone to provide it.

I work mostly from home. The COVID19 pandemic brought that to the extreme consequences, and now I'm back to the bedroom-coding paradigm. This becomes cumbersome when I have to work with many screens, sensor systems, and broadcast-grade media-servers – add a wife, two sons, and four cats to complete the picture.

Still, part of the work needs to be done in place. A reliable internet connection (plus a reliable human proxy on-site!) allows me to set-up and fine-tune installations from home, but only on minor projects. The big ones still require me to be present. If the interaction model is innovative, I need to experience it on-site to tweak it, and I want to be there to enjoy it!

Eventually, the real prize is the feeling you get when you finally say: it works!

In both senses. Technology (WOW! Look, no more BSODs!) and storytelling (when electricians or toddlers try the thing and react with O-shaped mouths).

All this leaves me in a strange place when I talk to fellows developers.

I've done things you people wouldn't believe – like watching C-beams glitter in the dark near the Tannhäuser Gate.

And I can't do things you fellow developers wouldn't believe… Version control, unit testing, listening to product managers…

Yet I know very well what it is chasing a damn bug in the guts of a complicated project.

At 4:00 AM.

Maybe in my bedroom with the rest so the family snoring. Perhaps aboard a ship. Or underground in a coal mine (it happened!).

In the end, I like being the strangest guy even among strange guys – you know they consider us the strange guys, right?

At Intelligent Hack we are expert in affecting cultural change in development companies that want to modernize their approach to development or improve so they can scale. We are also able to help you implement agile methodologies, better software architecture, and scaling legacy software so you can concentrate on maximizing growth for your company instead of worrying about how to support it. Feel free to contact us if you want to have a chat at [email protected]

Hi, I'm Marco Cecconi. I am the founder of Intelligent Hack, developer, hacker, blogger, conference lecturer. Bio: ex Stack Overflow core team, ex Toptal EM.

Read more

Newest Posts

Announcing Intelligent Cache, our caching library

Our newest open source initiative, intelligent cache, is available for use

Read more
Guest Blog: The mythical 10x programmer by Antirez

In this post, Salvatore Sanfilippo puts together a list of qualities that I believe make the most difference in programmers’ productivity.

Read more
Team EMEA

Today I want to introduce our second engineering team: Team EMEA

Read more
Guest Blog: Technology and Storytelling by Orf Quarenghi

LEGO star-ships aren't made to collect dust on a shelf, but to explore strange new worlds

Read more
Consider using simple models, instead

Let's see if we can do better than the full-fat, ORM-based, dependency-injected pattern that enterprise software uses as a default

Read more

Gleanings

No, I Don’t Want to Subscribe to Your Newsletter
The Bureau of Programming • Feb 25, 2017

No, I don’t want to subscribe to your newsletter. No, I don’t want to complete a short survey. And no, I don’t want to become a member.

Read more…