Pulse is now open-source. It includes the frameworks, the document-based apps for viewing the logs, and the demo projects.
There are two main reasons for open-sourcing it.
Transparency. The network logging setup ranges from manual to fully automatic. Fully automated logging requires swizzling. Regardless of what you decide to use, I want it to be fully transparent what the framework does under the hood.
Development. Open-source is about building things together. There are a lot of things that can be added to Pulse. If you needed to add a feature, now you can.
There are plenty of open-source apps around – which wasn’t the case just a few years ago. But I’m still excited to open-source it. Firstly, unlike many other projects, it supports all four Apple platforms. And it has some interesting stuff in it. There is SwiftUI1, database management, also documents support, and more.
I initially started with a closed-source approach thinking about making it a commercial tool. But ultimately, I decided to go with open-source.
It was surprisingly liberating to work as a one-person team in a closed-source codebase. I didn’t have to worry about how the code looks at all, only about delivering features quickly. But open-sourcing is a crucial step to allow the tool to reach its potential.
I started with the SwiftUI-only approach, but eventually ended up using quite a lot of AppKit too: sometimes for performance reasons (table view), sometimes for features (e.g. rich text display). ↩