Posts

Fluid Feature Rollout For Ruby On Rails

In this blog post I am going to introduce a new service for Ruby On Rails developers, that I have been working on, called FluidFeatures that helps you manage rolling out new features to your site and provides a way to easily do A/B testing (competing versions of a feature) right in the belly of your code.

I wrote a post back in December called, “Rollout, Degrade, Metrics and Capacity” which focused heavily on the Ruby gems rollout and degrade, created by James Golick. If you’ve used those popular gems or are thinking of using them, then FluidFeatures is also worth a look, though offers a slightly different feature set.

# This is an existing feature, so we set it's initial enabled state to fully on.
# This will be the "default" version of the feature.
if fluidfeature("weather", { :enabled => true })
  @icons << "weather"
end
# This version of the "weather" feature we're calling "rainbows".
# When we first rollout this feature, it will be fully disabled.
if fluidfeature("weather", { :version => "rainbows" })
  @icons << "rainbows"
end
if fluidfeature("weather", { :version => "sunshine" })
  @icons << "sunshine"
end

More Coming Soon…

The above example code snippets are part of demo application we have built called UserViews that you can download from github.com

In a follow-up post I will demonstrate, step-by-step, how to install the fluidfeatures-rails gem and the demo application, UserViews, so that you can try out FluidFeatures for yourself.