Shaped by Our Tools

One of the things I’ve enjoyed as the team has grown at Crowd Favorite is seeing how different developers utilize different tools to accomplish similar things. I’m an old-school BBEdit user but just about everyone else on the team is a TextMate enthusiast. I have favorable impressions of TextMate and own a license for it, but features of BBEdit have become so ingrained in how I approach development I quickly return to BBEdit every time I try to use TextMate as my primary development text editor.

The biggest feature that keeps me in BBEdit is the outstanding search capabilities. I just finished refactoring some code so that a certain feature is loaded via AJAX instead of being loaded by default by the base application controller. This is a good change, and cuts down on the load time on a good number of pages. It’s also a sweeping change that affects a large percentage of screens in the applications built on this framework.

I’m pretty comfortable making changes like this, largely in part to BBEdit’s search feature. My process is something like this:

  1. Do an initial search through the entire project to see where a given function is called.
  2. Review the results, in-context, in the single-window (editable) results browser.
  3. Make my changes.
  4. Do another search through the entire project to make sure I got everything.

Searching through an entire project is something I do all the time in the general course of my development process. It feels completely natural to me.

When I come over to another developer’s desk in the office and ask them to do a task that I’d start by using BBEdit’s search feature, it’s rare that I see them start with search in TextMate. The reason, I think, is that TextMate’s search and results display isn’t as useful as BBEdit’s. This makes sense to me; my use of BBEdit’s search and results display has increased significantly as the feature has been improved over the last few years.

Conversely, TextMate users make extensive use of Bundles and macros where I only occasionally use BBEdit’s Clippings feature. Again, because the feature is easier to use in TextMate than it is in BBEdit.

I don’t think anyone chooses an editor based on certain features as much as they become reliant on those features by using the tool every day. Watching people use applications they leverage on a daily basis is a great way to see what things each app does well.