In the years since this was posted, many of the links are broken, and in the intervening time ‘Oxite’ as a project (basically the need for a simple CMS/blogging engine turned into a new thing from the ASP.NET team called Orchard. No shared code, but still a successor in spirit.
A little bit later, various people in the ALT.NET community noticed that this project was using ASP.NET MVC and claimed to be a good example of Test Driven Development. Both of those facts put this firmly in their realm of expertise. We had made mistakes in both areas though, both around architecture and messaging. What happened next was both impressive (great to see such a large reaction from a relatively informal association of people) and completely disheartening (as the development team receiving the feedback) at the same time. The vast majority of the criticism was completely accurate and most of that was presented in a very professional manner. We really appreciated feedback that tried hard to be useful without any overly dramatic statements, but we read all the feedback, regardless of how it was presented.
Processing all that feedback, trying to understand the overall issue and the individual specific items that people were concerned by, took us some time. Luckily we had the help of Rob Conery at that point, to come up with a professionally presented list of specific issues for us to look at. Using his refactoring of Oxite to learn from, combined with lots of great blog posts from Chad Myers, Ayende, Javier Lozano and others, we started work on rebuilding Oxite to reflect the feedback we had been given. We worked over email with Chad, Javier and others as we went, and arranged a couple of code reviews with Phil Haack and Eilon Lipton from the ASP.NET MVC team and with Jonathan Carter and Jason Olson on the DPE side of Microsoft. In short, we did a lot of the things that we should have done the first time around.
Some people believe we should have taken the site and the source down at that point and put it back up when we were ready for this next release, but I decided that we would do our refactoring right there in the public source repository on codeplex. I understand the arguments either way, but decided that doing our work in public would show anyone who was following the project and trying to learn from it that big changes were afoot and that they needed to stay up to date with the source.
So now, here we are again, with an updated release, toned down messaging and without any big PR push behind the project. You can read about Oxite’s architecture here, and you can follow the blogs of Erik, Sampy and Nathan for lots of useful information, and of course you can go to codeplex if you want to check out the code yourself. I hope that you like what you see, that you understand that we are learning many of these concepts as we go, and that we are very open to feedback. We know there are still some issues with the code, Sampy touches on some of them in his post, and for many of those we have a plan for improvement. I also expect that there will be decisions we’ve made that some people will disagree with, but I’m ok with that… let us know what you would have done instead (no, we aren’t asking you to fix it, just let us know or point us at a better example) as we are always learning and considering new options.