1. 33

  2. 10

    We use LaunchDarkly for feature flagging so we can do contained rollouts and testing of new beta features

    We use Optimizely for A/B testing

    Surely there are libraries for many languages and web frameworks for doing that? For example

    I can understand using Pusher (even though there’s a lot of open source self-hosted solutions for that as well), but A/B testing and feature rollout? Why are these things even offered as-a-Service?

    I don’t understand this “use 3rd party services for everything” mentality. Downloading a library is easier than creating another goddamn account.

    1. 4

      They are offered as a service because you have the library wrapping your feature, but can inevitably end up with lots of supporting infrastructure. By supporting infrastructure, I mean things like feature group management, automating roll out of the feature to a larger cohort etc. If your support team needs to replicate a customer issue they might need to be able to report on users that have a feature flag, and ensure they see the exact same feature set too. In many cases you don’t need all this, but some people do.

      For others though, having it as a service can be an easy way to adopt feature flags, although in practice they could probably have achieved the same result as your approach. The founders of LaunchDarkly and CircleCI produce a podcast (https://www.heavybit.com/library/podcasts/to-be-continuous/), so it’s unsurprising that they use eachother’s products.

      1. 2

        I can understand using Pusher (even though there’s a lot of open source self-hosted solutions for that as well), but A/B testing and feature rollout? Why are these things even offered as-a-Service?

        Different companies have differing amounts of engineering resources, different patterns to their revenue (e.g. to hire more engineers… or not), and different levels of legacy cruft in their products. Stemming from these differences, and especially for anything infrastructure- or process-related, the “build vs buy” conversation will also differ greatly between companies.

        I have had this same conversation with people regarding Heroku and SendGrid. That is, I know people who cannot fathom why anyone would need (or want) to pay for that category of PaaS in that way. Meanwhile, I shudder to imagine how much more difficult my company would have had it without them.

        1. 1

          It’s more “download vs buy” here. For trivial stuff like A/B testing and feature flags, integrating a 3rd party service isn’t significantly easier than adding a library.

          Heroku and SendGrid

          That’s why I said “I can understand using Pusher”. That kind of stuff is actual infrastructure than needs maintenance, yeah.

          1. 2

            Curious: What library are you referring to when you mention of A/B testing, and what does it provide?

            Followup: Have you used Optimizely? I am not currently a customer, but when I was, I found it impressive. I would not be able to implement the same level of tooling, WYSIWYG DOM editing, analytics integrations and reporting for less money (the cost of my time) than their subscription costs. Not that simpler needs could not be met with a simpler solution, but if you need what they offer, Optimizely is not a service without its value.

            1. 1

              I linked to https://github.com/ankane/field_test in the original comment, of course there are lots more for different web frameworks and stuff.

              WYSIWYG DOM editing

              That sounds horrifying.

              1. 2

                Quick edit: First off, thanks for pointing out the link!

                That sounds horrifying.

                I thought so too, at first, but it’s not.
                Not entirely, anyway. I of course then thought “but what if you’re using some SPA framework?” and, to my surprise, there was an answer for that, and it wasn’t a bad one. I’m speaking beyond my minor experience, but I suspect it messes with load times a bit, and might not be something to layer on top of, say, a Rails app that already struggles with bad load times. But if you’ve already got a snappy site, Optimizely probably isn’t going to hurt, and might make a marketing team feel like they have freakin’ super powers.

                I have seen things like Optimizely and Infusionsoft give marketing teams amazing productivity boosts that the company’s product engineering team would be hard-pressed to match, and arguably shouldn’t try to match. Especially if it would distract them from their central product and serving their primary/external users needs better.

                Through quirks of the current labor market, software engineers command higher salaries than rank-and-file-but-sophisticated digital marketers (though at the top-of-the-top they even out). This leads software engineers, myself included, to assume that our higher pay means we are more important to a company’s goals in some absolute sense. This is not true, and if a company happens to have an engineering team of 5, and a marketing team of 20, distracting those 5 engineers to have them build and maintain a tertiary A/B-testing framework that can match Optimizely, versus enabling those 20 marketers to do more in less time, can make the latter look very appealing.

        2. 1

          Feature flagging seems a bit extreme to me.