Weeknotes № 45

Workshops

On Monday I was excited to finally have a regular week of work again without any travel or other big things. Little did I know. On Monday we all got really sick. It knocked the whole family out for multiple days.

In the end, I did get a few days of solid work in last week. After finishing the projects we’ll build for our workshops, we split those up into individual exercises and write all the descriptions. We’ve gotten a lot more efficient at this, but it still takes a few iterations per workshop, even now.

I also went and cleaned up a little bit of the Workshop app (our Mac app that the attendees use). I added a few small features. For example, all examples have live previews, I added support for better resizing that feels more native on the Mac. We have “fake” simulators in the app that show the solution in context, and I improved some of our fake iOS components (e.g. our simulation of a navigation view).

In the evenings I kept tinkering with my web port of SwiftUI’s layout. Text layout now behaves almost exactly as SwiftUI’s Text view (which is based on CTFrameSetter). I added support for dark mode, and support to visualize a view’s origin and size. I added variables that allow you to change values in the source code by dragging them (similar to Bret Victor’s demos). There are so many more possibilities, but of course, my goal is for the end result to be very simple. So far TypeScript has really delivered on its promise, I feel confident making both small and large refactorings and having the type checker guide me through it.