New ASP.NET MVC sample – Oxite – Needs some TLC

Last week the MIX online team announced that they are releasing the ASP.NET MVC code that powers their MIX Online blog as open source at CodePlex. This is a great thing.

The code base, while touted as a “a real-world sample written using ASP.NET MVC.“, is not without some problems. The commentary on Twitter soon after it’s release was pretty negative.

This is why Oxite is not good.

browsing the Oxite source… wondering how many people will try to learn from this mess

@robconery because microsoft doesn’t deal with foibles with courage, i expect oxite will be allowed to degrade yet more customer potential

Oxite source is being slaughtered by the crowd; sad thing is, since its by MS others will use it as guidance on how to do MVC

@cwoodruff please, please, please do not use Oxite as a guide when doing MVC… PLEASE DO NOT

@lazycoder if u read the code, it’s actually a collection of anti-patterns of MVC… I hope people are not going to learn from it

Rob Conery has a great post where he outlines some of the issues with the Oxite code base and how they can be fixed. He has already offered some patches to the team.

That’s what I mean when I say this is a great thing. Since the team is doing all their work out in the open, we get to see how it evolves. I fear that a lot of the ASP.NET MVC code that we see written the first few years after it is released will look very similar to the Oxite code. Hopefully, the refactoring of the code base into something that embraces the strengths of MVC will be done in public as well so that first time MVC developers who find themselves writing the same code that the Oxite team has will have a lot of resources available.

I’d encourage everyone interested in the ASP.NET MVC product to watch the evolution of Oxite closely and contribute to the development.(1)

(1) That doesn’t include me for quite some time as we’re getting ready to have a baby soon. You don’t want to see code I’ve written on only 4 hours sleep over two days. 😉

  • Erik Porter

    We’re already working on some of the things that were brought up over the weekend. Definitely keep watching. :)

  • Javier Lozano

    Awesome post! I agree that it’s an evolving project and that being open is a must in order to make this thing succeed.

  • Scott Bellware

    As uncomfortable as it can be to hold Microsoft representatives accountable for offering anti-patterns as guidance, I’m encouraged by the community’s will to step out of the safety zone and take action on this issue. Projects and budgets have been saved by this action. Personal pain and stress brought home to families has been averted. Warms the cockles of my cockles.

  • Pingback: Oxite - Oh Dear Lord Why?! - Karl Seguin()

  • Pingback: Reflective Perspective - Chris Alcock » The Morning Brew #245()

  • Derik Whittaker

    Nice post,

    I know i have been vocal about the product and the code quality/design.

    But what I can say is that I have been very happy with the fact that the team (Erik in general) has been very open to suggestions on how to make it different/better.

    In fact I (among others) have had offline conversations with him over the weekend I am looking forward to seeing the evolution of the codebase over the coming weeks/months.

  • Pingback: ASP.NET MVC Archived Blog Posts, Page 1()

  • Pingback: Dew Drop - December 16, 2008 | Alvin Ashcraft's Morning Dew()

  • Sneal

    I never would have looked at Oxite if you didn’t mention how it was an example of MVC anti-patterns, now that’s interesting! Rob’s post is spot on. To me it looks like someone’s first attempt at an MVC based web app that they did in a hurry without properly reading up on it first.

    They should ditch their provider model and use a container or perhaps MEF.

  • Erik Porter

    @Derik Whittaker

    We’re definitely listening/improving.


    You’re just about right (about what it seems to be and how we made it). I should probably write up a post about it to explain how it came to be.

    The provider model is important for us as we’re going to have more in the future. It could definitely be rearchitected though and probably will be. We’re already in the process of integrating MEF where appropriate. Thanks for the feedback!

  • Pingback: Der perfekte Zeitpunkt zum Source Code veröffentlichen? | Code-Inside Blog()

  • Pingback: The perfect time to release source code? | Code-Inside Blog International()

  • Pingback: Oxite - Oh Dear Lord Why?! - Karl Seguin()

  • Jarrett

    The code base of BlogSvc is not touted as a “a real-world sample written using ASP.NET MVC.“, but I think people should have a look at the code base as I feel it is solid usage of MVC. We just released a new version over on codeplex so grab the source code and take a look.

  • Pingback: Shared Tutorials » Blog Archive » New ASP.NET MVC sample - Oxite - Needs some TLC | Lazycoder()

  • Pingback: Exploring MVC architecture | Softwarefun()

  • Pingback: aswell -

  • Tragaperras

    I force to practice mi English as I required to say is my favorite blog in English. You share me, I thank you.

  • 70-236

    I am also busy a project of MVC samples your post is very helpful for me.