My FubuMVC, StructureMap, and StoryTeller Plans

I’ve been getting a lot of questions lately about my plans for the various OSS projects on my plate.  I can’t say that the answers are going to be what you want to hear, but I’ll at least get my official story out here.  I’m hoping to make this the last crazy year where I write thousands of lines of code in my free time for these neverending OSS projects, so I really want to see some major milestones and a bit of closure for me.

The Drive to FubuMVC 1.0

Right now, most of my personal focus is on FubuMVC, and specifically the drive to a 1.0 release.  I think at this point that there’s more effort in the rear view mirror than there is in front of us to get our first real release out and it’s time to capitalize on what we have already accomplished.  I’m excited because FubuMVC has built up some community around it as more developers are using it and contributing features as well.

Ideally, I’d like to make an official beta sometime in April then the real 1.0 release with full documentation by the end of May.  I think at this point our major focus is on improving the getting started story, documentation, and stabilizing the major public API’s.

FubuMVC is admittedly a quixotic effort.  On one hand, it’s almost impossible to get .Net developers to consider anything besides the official Microsoft solutions, no matter how dreadfully mediocre they are (here’s looking at you ASP.Net MVC).  On the other hand, so many open minded .Net developers are abandoning .Net in droves in favor of Ruby on Rails or other environments.  Somewhere in between is the FubuMVC sweet spot.  We’re just hoping it’s a big enough spot for us to play in.

StructureMap 2.6.2 and 3.0

After FubuMVC, my attention switches back to StructureMap.  The first step is to make a small maintenance release (2.6.2) with some accumulated bug fixes and get the Nuget story straightened out.

After that, I’ll be working strictly on the proposed 3.0 architecture.  The main effort with 3.0 is to completely rebuild the internal architecture without changing any of the public API other than eliminating obsolete methods left over from the 2.5.* versions.  My goal of doing this work is to:

  • Clean up the internals and shrink the codebase
  • Enable a much better conventional registration story.  This is driven directly by my experiences with the FubuMVC and Fluent NHibernate convention stories.  MEF is finally getting conventions, so it’s time to raise the bar higher than they can follow Winking smile
  • Make the nested container mechanics much more efficient and predictable.  It’s a crucial feature for FubuMVC, but it’s problematic right now
  • Child containers
  • Split xml configuration completely out of the main core
  • Prepare the StructureMap architecture for possible Silverlight support
  • Better diagnostics and better exceptions for trouble shooting
  • Better extensibility scenarios
  • Support finer grained lifecycle configuration and constructor selection strategies
  • Some support for the CCA ideas.

I had a full head of steam on this last summer, but got distracted by other efforts at work.  I think I’ll get back to this in April or so as FubuMVC work winds down for me.  I will definitely be rebuilding the documentation from scratch, but I’ll probably use a combination of Spee guides and GitHub wikis rather than the current static html.

My thought is that I’ll be doing most of the core work solo, but I’ll absolutely need community help later for subjects like integrating StructureMap with other .Net tools.  I’ll be making a call (plea) for help sometime this year.

I’ll be honest here, I don’t have any particular passion for StructureMap anymore (other than the technical challenge of finally getting the internals right).  I’m hopeful that this can be the very last major release I do personally.  I’m aiming to make the internals so clean that other people can easily extend or support the tool later.

I don’t know about the timeframe with StructureMap, but I would like to have the 3.0 release in this calendar year.

StoryTeller 2.0

I’ve mostly mothballed StoryTeller for right now, but I have every intention of coming back to it later this year.  I’m not completely abandoning StoryTeller because Dovetail integrates StoryTeller into our product and I still think it has promise over existing tools.  Right now, my plans are to focus almost completely on the UI tooling by scrapping the existing WPF client and building an all new client as a web application (using FubuMVC for the server side, but running the server as either a console app or a TopShelf service.  Absolutely no IIS anywhere).

StoryTeller at this point really becomes just a fun learning project for me to explore:

  • Learn more about UX design to make test editing much faster in human being time
  • Playing with newer HTML5 technologies like Socket.IO and Websockets stuff
  • Newer JavaScript technologies like Knockout.js or SproutCore
  • Push my CSS skills
  • Running FubuMVC in a box or from a command line
  • Learning Spark on the side

Sorry, but I have absolutely no timeline for the StoryTeller work.

About Jeremy Miller

Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy is the author of the open source StructureMap tool for Dependency Injection with .Net, StoryTeller for supercharged acceptance testing in .Net, and one of the principal developers behind FubuMVC. Jeremy's thoughts on all things software can be found at The Shade Tree Developer at http://codebetter.com/jeremymiller.
This entry was posted in FubuMVC, StoryTeller, StructureMap. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • Jobo

    ‘Dreadfully mediocre’ is more than a little harsh. I also don’t know *any* ASP.NET developers who are jumping ship for Rails. I can imagine this might have happened if we were still stuck with webforms, but we’re not.

  • http://jagregory.com James Gregory

    I appreciate and respect the honesty. I’m guilty of being over-optimistic with the amount of time I can spare for my OSS projects, and secretly think I’m kidding myself and others most of the time.

  • John Woodard

    For the record, I think your plans for Storyteller are very disappointing. How do people who don’t write web apps going to test their stuff from a web interface? At that point we’re back to the restrictions that FITnesse imposed that more or less made it unworkable.

    FIT was an awesome idea, but had some implementation issues. I had hoped that Storyteller would fix some of those issues. Executable requirements that can be authored ahead of time and that a laymen can understand (and perhaps even author themselves) is an underrated thing especially for those of us whose management won’t let go of waterfall development. Doing them in NUnit just doesn’t work out well.

  • Rafiki

    You know, you tendency to rebuild everything from scratch makes me sea seek. In my last project I’ve rewritten all service registration code twice beause of StuctureMap. Third time I’ve used Autofac.

    And I thank God (and flying spagetty monster) that I’ve stopped itch for trying Fubu for current one.

    Nice ideas thought. You should consider abandoning your OSS efforts right now spending time writing instead.

  • http://twitter.com/bonder Bruce Onder

    Agreed. I consider myself open-minded and I am not going anywhere. Nor are most of the people I work (or worked) with. It’s funny, some of the “strengths” of Ruby such as duck-typing used to be considered a liability back in the 80s and 90s when I first encountered it — with dBase, FoxBase, FoxPro, and Visual FoxPro. Back then it was such a hindrance that they didn’t call it “duck typing” (kind of cool sounding), but instead “weakly typed” (sounds pathetic).

    Sorry, but I am too busy writing code to learn how to write “poetry” with Ruby. ;-)

  • http://openid-provider.appspot.com/craig.boland CBoland

    I up-vote the Presentation Patterns book. Not on the list, I know, but sorely needed in the market space.

  • https://profiles.google.com/craig.wagner Craig

    “so many open minded .Net developers are abandoning .Net in droves…”

    Droves? Really? Are you sure you’re not just being a little overly dramatic? Y’know, like when the news sees a flake of snow and immediately starts calling for Snowmaggedon?

  • Steve

    Thanks Jeremy. I would like to learn more about fubumvc

    I’ve finally been able to use structuremap and it’d really good. The items listed are all great features

    How can one help be a part of your team to provide help in your coding efforts?

    Thanks
    Steve