Weeknotes № 38

Presentations

A long time without weeknotes! I have been pretty busy and totally neglected this blog. I was at a wedding last night and when prompted by Joris about the weeknotes I realized I should get back to it.

So much stuff happened. As a family we went on a cycling holiday. We loaded up the bikes and started cycling from home to a camping spot a few hours away. It was very refreshing to just sleep in a tent, cook basic meals, and be outdoors all the time. There were definitely some adventurous parts as well – trying to move a heavily loaded cargo bike including a two year old through loose sand and over bridges with just stairs was not something we had planned, but lots of fun in hindsight.

Over the last years, I have used live coding as my preferred presentation format. I prefer the “honesty” of showing the actual code and steps to get there rather than dumping a large blob of code. However, it is a little error-prone and I can imagine it can possibly be frustrating to watch someone type too slowly make mistakes.

Last summer, I built a tool that lets me type in Swift code while recording the keystrokes. I can then play back those keystrokes at a configurable speed, show the corresponding previews and also record the interactions with the previews. This ultimately gives me the “source” to produce something that feels like a video but is in reality just text and live previews. I plan to use this for workshop explanations, presentations or possibly short videos for social media. However, the project has been gathering dust for over a year, until I finally continued working on it a few weeks ago.

The context for that is that I’m preparing a workshop about the SwiftUI animation subsystem. I’ve been diving very deep into animations, both at the practical level (how does it work in SwiftUI) as well as the theoretical level (continuity of animations, timing curves, motion design, etc.). I’ll now have to find a way to turn all of that information into something teachable. My plan is to provide this workshop both to companies (a bespoke in-house training session) as well as in the form of a course that individuals can buy online. For the latter, I’m planning to use the “recording” project in order to show people my solutions to the exercises.