Hacker News new | past | comments | ask | show | jobs | submit login
Launch HN: Airship (YC W18) – Controlled rollouts of new features
69 points by platypus-d on March 7, 2018 | hide | past | favorite | 49 comments
Hi HN! We’re Alvin and George, the founders of Airship (https://www.airshiphq.com). We built Airship to help companies roll out new features carefully, instead of blindly deploying.

You may have seen that a million users are revolting over Snapchat's redesign, dropping their App Store rating below 2 stars. You might also remember when Digg launched a redesign in 2010 that caused a 30+% dip in usage in a matter of days. To avoid unpleasant surprises, companies like Facebook and Airbnb have developed their own sophisticated tools to carefully roll out their new features, test and measure their impact incrementally, and roll them back when signs of trouble appear. This way they can be informed about how users receive the features, and can fix mistakes without jeopardizing their entire user base. Then they can publicly release the new feature with reasonable confidence about its likely reception and effects.

Alvin and I discovered the importance of controlling feature launches and monitoring them carefully when we worked at Zenefits together. Many companies would like to be able to mitigate risk through controlled feature rollout and rigorous testing, but don't have the resources to do it. This approach is proven to work, but remains expensive, since only companies that can afford in-house tooling, and often a dedicated team to maintain it, can do it. It struck us that there was a need here for a product, so we started Airship to build it and make feature rollout accessible to everyone.

To use Airship, you install one of our SDKs. Then you can flag or gate code with if/else blocks calling a single function provided by our SDK. This automatically gets wired up to controls in the Airship dashboard which allows you to control targeting rules, rollout percentages, and whitelists/blacklists.

Key features of Airship: - Gradually roll out and A/B testing of entire features, not just copy and superficial changes - No performance hit (checking whether a customer has a feature takes < 0.1 ms) - 0% downtime (no dependency on Airship’s services, so effective downtime is 0%) - Complex experiments using attributes of Users, Groups (e.g. location, purchase amounts, device types, etc.) as well as other object types (Product Listings, Pages/Posts, etc.)

We'd love to hear your feedback and hear about your experiences, ideas, and needs in this area!




While I'd love to test out Airship, not being able to do that without signing up is pretty much a non-starter for me. When I say pretty much, I can often be persuaded with having at least the documentation available without signing up. For example Logrocket (https://logrocket.com/) needs signing up, but the documentation is all there and I can immediately see the effects it will have on my app if applied.


+1. With this kind of product, I want to see docs and code snippets immediately. What kind of code do I have to write to use your product?


Thank you, really good suggestion. We'll see if we can put snippets on the main page to help with this.


Why hide it? Me signing up gains you nothing, I can just use some throwaway account, or make some RandomDude32@usa.com which you gain zero from. But to the op's point, I'm not going to go through those hurdles, I'm just going to move on.

One of the biggest draws for this sort of thing from the dev side is "how far am I going to have to bend over to use this".

Freely available documentation sounds like a no-brainer.


We thought that the onboarding flow should take you through the product first, where the docs is readily available. In hindsight, making the docs more publicly available makes sense.

Here is the docs: https://airship.readme.io/v1.0/docs. We'll also link them in our home page in the next iteration.


That’s awesome, thank you!


How about a video that shows what the actual product looks like and does? That usually works for me and I prefer it to flashy videos that don't even show the real product in action.


A video sound like a great idea. We'll look into it!


Wanted to drop in a quick review of Airship (disclaimer: I got to know the founders through the experience of being early users).

We, at Repl.it, started using it for a very risky rewrite of a core part of our product -- the IDE (https://repl.it/site/blog/ide) -- and it helped us roll it out safely, turning it off when we needed to, when we get a user bug report Airship could quickly tell us if that user has the feature on, etc.

Since then we've been using it for virtually every feature release and experiment. We couldn't be happier with how smooth the service is:

- The service is reliable and fast.

- The UI is simple and instant.

- The SDK is simple and easy-to-use.


Cool service. Heads up, your Go version is really out of date with some potentially serious security holes. You should probably upgrade to 1.10


Updating a lot of our languages as we speak ;) Thanks


I really like the product (and may use it!), but the landing page is very confusing. You get to the meat of the issue in your HN comment, but I see very little of that on the landing page.


Thank you - that's helpful feedback. We'll improve the marketing page with some more details in the next iteration.


A good example is this image in your homepage: https://www.airshiphq.com/dist/static/media/control-targetin...

This image serves absolutely no useful purpose (What is it?). It would've been much useful to see a screenshot of the product where you could set feature flags to at least give us an idea on what your product does.


Congrats on the launch!

You're probably already aware, but if not here's a heads-up that there's a company called Urban Airship that is in a related space (and based on what they do, your space could be in their sights). Just something to think about.

Good luck!


Thanks for the heads up! We've taken a look and so far seems like we add value in different ways since they focus on mobile engagement, but definitely will consider this going forward


Is there a reason your pricing jumps straight from $0 to "Contact Us"? Surely there's a $50/month plan or thereabouts that would be relevant to a lot of smaller companies?

Congrats on the launch!


Right now, we're working with each each company, even small ones, to find out the right price point for them. If you have any questions on pricing, email us at hello@airshiphq.com


The lack of published pricing immediately makes me think it is too expensive for me. I pay for plenty of services, but "contact us" pricing either means "Enterprise" expense, or pushy sales people.


How is this different from LaunchDarkly?


There's room for more than one player in the market here, it's a super important sort of tool where the open source versions are all pretty mediocre. OSS solutions tend to be statically configured, which non-engineers don't tend to have access or ability to configure. That's not to say you couldn't OSS something here, but it'd be a real effort to host.


I'd also add that what we're interested in is not just feature flags, but the use of feature flags for A/B testing - which translates to a few key differences in how you build and optimize the product.

A few things:

1. More sophisticated targeting; i.e., different types of objects, combinations of attributes, and groups.

2. Airship's pricing model is aligned with customers' incentive to grow. Our architecture emphasizes local computation, so performance and cost scale very well (better than things like MAUs) - savings that we pass onto customers.

3. Airship will integrate with existing analytics tools (like Segment) so you have A/B testing capabilities without doing set up work. You can even set up an A/B test retroactively (after the feature has shipped), because Airship can annotate the events & metrics you already track.

4. Airship focuses on non-engineering teams as well (PM, Data, Growth), and making the dashboard intuitive for those use cases.


Yeah, the product looks super cool, congratulations on the launch. Definitely have work cut out for you to compete with launchdarkly, but it feels like the market penetration for such services is currently on the low end either way. Pricing plans allowing for more experimentation definitely give you an edge here (and definitely make me want to try out the project in my own side projects).

The pricing partially based on API calls feels somewhat vague though, it's tough to have any idea what an API call is in airship, especially given the abstraction level of the client where you explicitly remove the API from the sight of the developer. .1ms timings suggests it's not per flag, but then I see "Every time you check whether a User or an object should clear a particular gate". With that context 10,000 (or 75,000) seems very low - with 30 feature flags on a page you'd only be able to load 300 pages total across all users. It doesn't feel like I can judge how the API limits translate to real world usage, even though I do see the notes on the pricing page.

One thing I might recommend for the future as a killer feature is considering tooling around application performance between two cohorts. I've definitely seen cases where toggling a feature flag changes performance from 100ms to 800ms and nobody bats an eye because most small (and probably most large) organizations have crummy performance monitoring/tooling (PMs would probably love this too for projects with explicit performance goals).

What's the expected time in Airship for clients to pick up new configurations currently?


what are the open-source alternatives, if you don't mind me asking?


There's a bunch of feature toggles libraries out there for pretty much every web language you can think of. Doing it statically is pretty easy, you can rewrite a similar library in a day or two. One Ruby[0] and Python[1] example below, but there are tons.

What you don't get out of those libraries alone is a couple things. One is a metrics pipeline if you want to actually A/B test and gather metrics on the success of different features. That's a hard problem because A/B metrics collection pipelines are something pretty much something everybody reinvents from scratch right now to fit their combination of language/logging tool/cloud host/data warehouse/BI tools/whatever.

The other big one is the managed configuration deployment - a UI that you can toggle features on and translate those to appropriately flipped toggles in all of your clients (mobile, web backend, web frontend, whatever). That's a pretty big task to do and requires a hosted service one way or another. Flipper (below) looks like it integrates into a rails service and so has a UI, which is kinda neat (first time I've noticed an OSS solution that does that part - looks like theres a number of options that do this now), but you'd still need to reinvent tooling for mobile apps and such with it.

[0]: https://github.com/jnunemaker/flipper [1]: https://github.com/disqus/gutter


This site has a pretty good survey of the open-source options in various languages: http://featureflags.io/feature-flags/ (you have to pick a language from the menu to get to the page specific to that language, as the page I linked to is more of an overview of the concept, and there doesn't seem to be one page that lists them all).


FeatureFlags.io is owned and operated by the CTO of LaunchDarkly. It’s not a survey, it’s an infomercial / microsite for LaunchDarkly. It states “contributed by LaunchDarkly” at the bottom, but considering it’s owned by them that doesn’t seem to adequately sum up the situation. Not sure why they wouldn’t just call it as it is.



My company (Checkr YC14) has also open-sourced our internal feature flagging microservice named Flagr (Golang).

https://github.com/checkr/flagr


I built one for elixir/ecto called molasses https://github.com/securingsincity/molasses.


Unleash is very powerful.

https://github.com/Unleash/unleash


As the CTO of a growing website (https://www.kapwing.com) we have been looking for a tool to make it easier to test certain features / changes on a smaller scale. I signed up reluctantly because I am curious about how your SDK works. But I was disappointed that I wasn't able to find any examples or info on the amount of work it would take to integrate.

My initial questions are: - Will this work with frontend React code? - Do I need to create separate database hooks? - Can I create UI experiments without writing code? - Does it integrate with Stripe if we want to test conversions?


We will be reaching out to you shortly to get your questions answered. Thanks for the feedback!


Would you be willing to answering them here (or link to your site with these answered)?


This looks cool. How long have you guys been working on this?

For everyone else if you want to see their api's not very hard to take a look from their SDK.

https://github.com/airshiphq/airship-ruby/blob/master/lib/ai...


Congrats on launching!

Regarding your pricing page: I feel the "10,000 API calls" and "75,000 API calls" limits on the Hobby and Growth plans would deserve some context. Is it 10k API calls per day or month? How fast do I exhaust it?

You comment mentioning that you emphasize local computation was helpful and the pricing page might benefit from including it.


Agreed. It's hard for me to buy a service that limits the number of API calls when I possibly can't control this directly. What about changing this to the number of MAU (monthly active users), or features, or some other unit I can grok when I think about my product and how I'd use your product?


If you're interested, let's talk. Outside of the published tiers we already do something different. Can reach us at hello@airshiphq.com.


SDK-only deployment or do you have an API that we can plug into a webapp? Wasn't mentioned too clearly on the site.


Thanks for asking about this. We don't expose our APIs at the moment - because the SDK is how we achieve extremely high performance / reliability. The SDKs do a lot of optimizations for you because a standard API round trip can be pretty slow.


Also, colour me dense but I'm a marketer/PM and I can barely understand what's on the landing page. And there's no way that sales needs feature flagging.

I know it's early days but maybe slightly simpler copy where you tell me what feature flagging actually is?

On the flip side, I learned something pretty cool today! :-)


Sales can use feature flags to enable secret features for a customer they’re talking to. For example to demo a not-yet-shipped feature. They can use a feature flag to mark a customer as “enterprise” so they get a different version of the product. Overall, I’ve found it useful for customizing my product for the person I’m in person or on the phone with, without touching code or affecting all users.


I've been watching this team for over a year and have been consistently impressed by how fast they're iterating, how thoughtful they are about this problem, and the care they put into doing it right. Rooting for this company!


For anyone looking for the documentation it seems you can find it here: https://airship.readme.io/v1.0/docs


Is there anything Airship can do that you can't do with Optimizely?


How does this compare to something like Flipper? https://github.com/jnunemaker/flipper


There's lots of talk about controlling the user experience and doing UI experiments on the landing page and no instance of direct marketing to UX professionals. How come? Just curious.


Congrats on the launch.

Couple questions

1. Is this another A/B testing framework? Or is it for feature enablement?

2. What level of granularity(user, cohort etc.) does the platform support?


1. Feature enablement leads very naturally to A/B testing so we're tackling both.

2. Actually fairly granular, especially if you have properties or attributes you want to filter populations on.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: