Fubu, Home, and Community

At the advice of Sam Merrell, I recently read the Art of Community. It’s nothing groundbreaking nor does it contain anything truly profounding; however, it got my brain going in a direction that it hadn’t before. It gave me a burst of energy that I haven’t seen in a long time. And that? That’s enough of a reason for me to recommend it to anyone.


About a week and a half ago now, the Fubu family of projects got a new home. It’s a work in progress, but I like to think that it marks a commitment to just how serious we’re becoming about our stack. We’ve been around for a while and now it’s time to brighten things up a bit and show off what we can do.

It was no coincidence that we launched our new home when we did. We’ve picked up several new contributors, our mailing list is blowing up, and the interest in our projects is higher than we’ve ever seen it.

We have momentum and we aim to leverage it.


I mentioned that our activity is increasing. Jeremy and I have been working hard through various infrastructure pieces, Alex is constantly holding us accountable for Mono support, Sam is cranking out the docs, and the community is beginning to sustain itself.

I’ve never been as actively involved in any other communities as I am with Fubu — especially not as part of their leadership. The comradery is just phenomenal. I’m supposed to be on leave from all things technical with the birth of my first son, but I can’t help but sneak in a few minutes here and there. Of course, the warm wishes and congratulations from this group of people have been greatly appreciated.

Where we do we from here

Well, there’s a few things that need to happen.

  1. Fix our NuGet issues (Jeremy’s working on this and I keep publicly poking at him – which I know he just loves)
  2. Docs (currently in progress via the lovely Sam Merrell)
  3. Get the word out (Mike Murray and I do webinars whenever we can fit them in and one day we’ll do one together — if he likes me enough)
  4. Keep up the pace (with the help of the great Rex Morgan, we’re keeping our new fancy sites up to date and aggregating info like crazy)

What am I missing? What are you, as a Fubu user, having pain points with and what can we do to help?

About Josh Arnold

Josh is team lead at Extend Health and a principal developer on the Fubu-family of frameworks. He is a proud husband, terrified but excited father, passionate software guy and coach, closet musician, aspiring man of God, and a perpetual learner.
This entry was posted in General and tagged , . Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • My biggest pain point is my curiosity about the Bottles project. When you guys mention it, I feel like there’s some secret game for grown ups, and I’m not allowed.

    Seriously, try googling for Bottles (or even “Fubu bottles”), you won’t find anything except for a one-sentence definition.

    • You’re absolutely right, bottles are not very well documented.

      I’ve never actually used a bottle, however it’s my understanding that a bottle is a zip file that contains some piece of functionality. You can drop your bottle into a folder and have your application pick it up and start using that new functionality.

      Josh, correct me if I’m wrong, but I think the advanced diagnostics ( https://github.com/DarthFubuMVC/fubumvc/tree/master/src/FubuMVC.Diagnostics ) is implemented as a bottle, so that might be a decent place to look and see how they work.

      • Yes, a zip file, or a dll, like the Getting Started page. But a “piece of functionality” is something that cries for further clarification. Can it be a blog, a membership system, what else? Will it add a new menu item to my top level menu? Will it add a “like” button to all my posts? Will it send a tweet for me if a user leaves a comment? etc etc

        The point is, how does it integrate into the existing system?

        • Anonymous

          I hear ya. We haven’t been very good about documenting this particular piece. I could give you all the excuses in the world but instead, I’ll try and spend some time today and start talking about them.

        • Jaime Jhon

          Is not some zip file that will make your system to extend beyond its limits magically.

          You need to design your system in a way that will allow features to be injected by way of packages (bottles).
          So, is your job to put the extensions points in your system, and the way it gets extended is by using packages.

          For instance, the “Like” button in the reply box in this blog engine…imagine you create this part of the app in an extensible fashion (plugins), you have to say “The reply box accepts IReplyBoxWidget implementations, these guys are registered/fetched using a IReplyBoxRegistry”.
          Then you create the “LikeReplyBoxPlugin” project, reference your core library, handle your package activation and register your plugin, create the package using fubu.exe, deploy it using bottles.deployment and that’s all, after restarting your app this plugin should appear in your reply box.

          That is along the lines how you create a package-friendly app.

          Anyway, bear with me if I said something silly or not accurate…I suggest wait for Josh for a proper explanation :)

          • Wow, when I was talking about the “Like” button, I was half-joking, like, “sure you cannot do that”! If you really can do such things with Bottles, it’s time to celebrate the Bright New World!

          • Anonymous

            Haha. Think of it like this: your core app has its FubuRegistry, HtmlConventions, etc. Bottles/packages give you a chance to modify those. That includes things like changing how properties are displayed, swapping out views, etc. I’ll get into more detail soon ;)

        • Anonymous

          It’s nothing ground-breaking, but it’s a start to the daunting task of explaining bottles: http://lostechies.com/josharnold/2011/09/05/modularity-via-bottles/

  • Michael Delaney

    i’d like to know what the plan is for view support… i.e.. razor… i’ve got a site thats ready to migrate to fubu (am sick of mvc, doesnt scale to large sites) but i’ve got alot of views i really dont want to migrate to spark…. learning fubu/converting is going to be enough work… :-)

    • Anonymous

      Hey Mike,

      I’ll be honest with you: I’ll support any efforts (donating my time) to build out Razor support but won’t be doing it myself. I’ve discovered the dragons in that codebase and it’s just not going to be very fun making it work the way that we want to.

      We’re pushing the Spark juice pretty hard right now but we’re currently looking into Castle’s Blade. It seems like it might be a nice compromise for everyone but of course, we’re open to what everyone wants. I apologize if it sounds like I’m being very close-minded about the Razor stuff. Like I said, I’ll do everything I can to help someone do this, I just don’t have the time/energy to do it myself.

      • Michael Delaney

        yeah, i’ve heard about razor being a nightmare… i guess its no surprise, i just wish fubu had of been around last year (in its current form) when we went with mvc