In the past few days I’ve gone binging on open source and followed up on a promise to publish the entire Journler code base. I’ve also begun open sourcing some of the foundational classes used in Per Se.

Initially I didn’t plan on open sourcing Journler until I was further along with the 2.6 update, but I finally decided I’d waited long enough and that it was time to publish the code even as I’m in the process of making significant changes to it. I’ve released not only the Journler code itself but also the three Sprouted frameworks used by Journler: SproutedUtilities, SproutedInterface and SproutedAVI. The frameworks are collections of shared code that I am deprecating, decomposing and working back into the main Journler project. The code is all live, in the sense that it is the code actually used in Journler and reflects the latest changes to the project.

Just this afternoon I also published the first bit of code out of Per Se. It is a custom NSTextContainer subclass with a generic algorithm for supporting complex text container geometry, enabling text wrapping around embedded rectangular content in any configuration along the x and y axis. It was one of the first classes I created for Per Se to see if building this kind of journaling application would even be possible in the first place. It is core code and forms one of three or four text system subclasses that implement Per Se’s custom page layout feature. Hot stuff.

All this code along with previously released code is being hosted in public repositories at github. You’ll find a complete listing at

Leave a Reply