Monday August 15, 2011

Nimbus, Rebirth of Three20

Jeff Verkoeyen’s Nimbus is a grand rewrite of Three20, a useful framework that had some interesting ideas at the time. It had a concept of “styles” you applied to UI controls, and it had a very forward thinking navigation mechanism where you used URLs to specify routes to and saved history of navigation controllers.

But it was horribly organized—a classic case of the “big ball of mud”. The tightly coupled components made it too opaque for it’s target audience to understand and augment. I considered it for a couple of projects, but looked elsewhere because I could smell the hassles of maintenance in this behemoth.

That’s where Nimbus sets itself apart. Jeff wants to rewrite it from the ground up. He cleverly calls his framework’s development pace “bounded by O(documentation)”. A worthy goal that I hope he can do. Many of the ideas in Three20 were way ahead of their time, even Apple like in style.

From Jeff’s goals:

Over the last year I’ve found that shedding baggage is not only an emotionally satisfying process, but also a necessary one. So I am shedding Three20’s baggage and out of the remaining bits building Nimbus.