Tooling, not preaching, drives technology adoption
I’m once again convinced that tooling plays a crucial role in driving technology adoption. There are so many great technologies and ideas around, but unless they actually make your life easier, you hardly adopt them, at least I don’t.
I’ve experienced this with logging, for instance: I had read about logging, played with log4j and all. I found it nice being able to log to a file that could be viewed online as a website and stuff like that… but for debugging outputs, I rather used System.err. And why is that? Because it appears red in the console, and so sticks out between all the other stuff there.
Then a friend recently showed me a little Swing app he did to log messages, which shows messages of the different log levels (like debug, info, warn, etc.) in different colors. I made an Eclipse plug-in for that (basically by displaying the HTML that was used in the Swing version in a SWT Browser widget instead), and he added a log4j appender (he was using it from Flash apps).
And suddently I have something that actually makes logging something useful for me to adopt during development, instead of being overhead. Preaching didn’t help for me, tooling did!