WiX

Productivity is dependent on what you value.

I follow Rob Conery irregularly because of his work on Subsonic. His comments about Subsonic development were useful in a time when I was trying to wrap my head around MVP, IoC, DAL and DTO.

Rob is a fan of ASP.NET MVC and today his blog post railed on a project to introduce MVP to ASP.NET Web Forms due to the use of the word “productivity” in their 3-minute promotional video. The blog post and comments that followed looked a lot like an argument people try to make for or against the WiX Toolset.

In this case, Rob took issue with the others’ claim that ASP.NET Web Forms provides “productivity” while ASP.NET MVC provides “control”. So he provides a list of counter-reasons why ASP.NET MVC provides “productivity”. His list basically is an amalgamation of engineering processes (mostly TDD and Agile practices) Rob believes results in quality code.

The problem is that if you don’t value the same things (unit tests, separation of concerns, etc) or if you value things Rob does not (the editable DataSource backed Grid control, session state, etc) then his arguments won’t change your mind. And based on the tone in some of the comments, his arguments might actually be counter-productive to the discussion

I see the same sort of arguments about “GUI-based installation creation tools” vs. the WiX toolset sometimes. In fact, often the argument is exactly the same: the GUI tools provide “productivity” while the WiX toolset provides “control”. When comparing tools based on a quality like “productivity” the “goodness” of one tool over another will be based on what you value. Arguing about that won’t get you anywhere.

That is why I long ago quit trying to convince people happy with their installation creation tools to switch to the WiX toolset. Use the tool that has the qualities that you value most. I use the WiX toolset because it has the qualities I like and I continue to work on it to meet qualities I admire most in others.