At the Chaos Collective, we build a lot of our own tools. And not just for fun. We’ve found that the little differences in how a tool works turn into big differences after using them for a while.
Building our own development tools was hard work (and we definitely had our share of hard-to-find bugs), but the effect was much greater than just re-inventing the wheel. The tool changed both the way we worked and also what we created.
And in the spirit of bootstrapping (a la Doug Engelbart), we couldn’t resist using the editor itself to edit the editor. It was awesome - you could feel the acceleration; fixing a bug that made fixing the next bug that much easier and simpler.
Integrating with existing practices was also key. We were already leaving copious amounts of comments indicating what needed to be fixed and updated. By simply parsing the file for specific comment keywords, we were able to make micro-charts for each file showing the number of TODO and FIXME items per file. These became the goto items the morning after a late-night coding slog - It’s the little things that make all the difference.
In fact, the simple structure of having an always-up-to-date list of items to work on next meant there was never a moment of “what should we work on next?” And switching between all of the common files was lightning fast; the browser is quite accommodating when it comes to having multiple windows open, so showing multiple files (or even multiple views of the same file) was practically free without any extra development. This made developing sites like Boxes&Text incredibly fast to build (days, not months).
We’ve come a long way since Magic Forest, and we still stand by building our own tools. The subtle differences between de-facto toolsets (even the really really good ones) and tools with features you’ve consciously decided to include is fundamental to building awesome forward-thinking things.
Don’t wait. Yes, technology is going to keep changing on all of us, but only because the early adopters are using it to generate the next wave of even-better things. Get on board and blaze the trail with us.