
Show HN: Ablator – Switch features on or A/B test them inside your app - breakthesystem
http://ablator.io
======
dguo
You might want to get this added to
[http://featureflags.io/](http://featureflags.io/)

Good luck. It's good to see some more competition in this space.

~~~
breakthesystem
At a cursory glance, [http://featureflags.io/](http://featureflags.io/) seems
to only be a marketing page for LaunchDarkly. I don't see any other server
advertised there, and it is obviously built by them. I didn't search that
long, but I didn't find a submission link either. So ¯\\_(ツ~)_/¯

------
huhtenberg
Oy vey.

What is the problem that you solve that would justify adding a dependency on
an external service that shims itself between us and our precious users?

Rolling out features to subsets of users in a controlled fashion... it's just
a such damn trivial thing to do.

~~~
dguo
It's only trivial when your needs are trivial. See
[https://launchdarkly.com/buildbuy.html](https://launchdarkly.com/buildbuy.html)

At scale, a hosted solution might be justified.

~~~
edoceo
Many (most?) people are not at that kind of scale, and LD is only at scale as
the sum of 1000s of small sites + a few big ones.

After using LD for a year I found it expensive, slow, broken. They were cool
and gave me a large credit.

Now I use a self-hosted "microservice" which works at our scale (100s of
users).

Feature Flags are only checked on sign in here, so the load on our service is
very low.

But is in go, which is "fast" and web-scale, right?

~~~
kristianc
Wow, $79-300 a month is expensive for a feature like that. Not sure who
they're targeting at a price point like that - many who can cough up a budget
like that for a small point solution are going to have the capacity to build
their own.

~~~
paulddraper
split.io is several times that.

IDK about this product, but split.io has more features and better UI than you
could get from a handful of engineers working part-time.

------
encoderer
Congrats on shipping.

I think your copy could use some improvement. Casual professional is a hard
tone to do well.

Also, this should be a single call for a user where you give me all of the
users feature flags. Then I can put it in a session cache and be done with it.
These things by design never change for a given user.

This is not a technically difficult thing to do (until you reach scale) so I
think you will get more return from investing in marketing than development.

Gl.

~~~
breakthesystem
Thank you for the encouraging words :)

Do you have specific improvement suggestions for copy, or should I just get
some people who are good with this and ask them for help?

The all users thing is a nice idea. I'll have to think a bit about how it
implement this.

~~~
CodeWriter23
Two things. In response to your request for suggestions, maybe a little more
explanation about how it works. For example, does my code have to manage the
dispatch to the "flavor"? Or is this in the client-side ablator libraries.

Second, this is a feature question or suggestion. Does the client side library
track exceptions or have a way to report errors in a particular "flavor"? Or
how does one decide to increase the roll out coverage of a new feature?

~~~
breakthesystem
Thanks, I'll clear that up in the copy! But in short, the ablator server
decides which user gets whic flavor. Right now, this happens randomly, but I'm
thinking of adding more rules in the future.

Exception tracking is not built in, but you could use something like sentry,
and send the flavor value as metadata.

------
breakthesystem
Thanks for all your kind words and improvement suggestions! I've started
cataloguing them into [tickets on
github]([https://github.com/ablator/ablator/issues](https://github.com/ablator/ablator/issues)).
Feel free to add more or extend existing ones! :)

------
mazatta
It looks interesting, and might be something I introduce to my team.

Is it possible to define cohorts of users, and then expose features to that
group? I work on a SaaS app used by businesses, so it'd be very handy to use
this tool when a customer is beta testing a new feature.

~~~
breakthesystem
That's a cool idea. Any ideas how you'd want to distinguish between cohorts?

~~~
mazatta
If I could set arbitrary key/value on both users and features, that should be
enough to make it work.

------
a13n
Is it easy to make something self hostable? It sounds nice, but like it'd slow
you down significantly.

Now you have to worry about versioning, changelogs??? Worth it?

~~~
breakthesystem
This is actually self hostable. Just get the newest source from github and
build yourself a docker container :)

Or you can get it hosted if you don't want to worry about changelogs and the
like.

