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.
Depending on your target platform, you might not have as much control over your releases. On the web, it's easy, but on e.g. iOS, it gets a bit harder.
I agree: like error reporting, it's not a hard, unsolvable problem, but it's a problem I had a few times and decided, why reimplement the wheel I could create a helpful open source solution?
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.
That doesn't mean they will though. Companies frequently make the decision to buy services that they could build instead. I'm not saying every one should be paying for feature flagging, just that it could make sense for some companies.
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.
Yes! The challenge is, I feel like it'd be a preferable to return all fearures for a given user within an Organisation, as opposed to all features, period. I don't know why I feel that way yet... maybe a security risks? Guess a username, find out about a new secret feature from some Organisation using ablator.
Not right now, since the functionality ID is just as effectively. But switching to API keys is probably the way to go, and I'll do some work on that over the next days.
"Ablator is a Service that enables you to roll out functionalities in a controlled way, and perform good A/B testing."
To:
Ablator enables you to roll out features in a controlled way and measure their impact.
I'm sure this can be improved and once you gain traffic you can use your own service to optimize it, but I like to use the language my audience uses (features v functionalities) and strip out unnecessary parts
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?
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.
At a cursory glance, 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 ¯\_(ツ~)_/¯
Thanks for all your kind words and improvement suggestions! I've started cataloguing them into [tickets on github](https://github.com/ablator/ablator/issues). Feel free to add more or extend existing ones! :)
29 comments
[ 4.0 ms ] story [ 95.4 ms ] threadIs 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.
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.
I agree: like error reporting, it's not a hard, unsolvable problem, but it's a problem I had a few times and decided, why reimplement the wheel I could create a helpful open source solution?
At scale, a hosted solution might be justified.
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?
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.
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.
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.
Btw, I created an issue for that at https://github.com/ablator/ablator/issues/95
"Ablator is a Service that enables you to roll out functionalities in a controlled way, and perform good A/B testing."
To: Ablator enables you to roll out features in a controlled way and measure their impact.
I'm sure this can be improved and once you gain traffic you can use your own service to optimize it, but I like to use the language my audience uses (features v functionalities) and strip out unnecessary parts
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?
Exception tracking is not built in, but you could use something like sentry, and send the flavor value as metadata.
Good luck. It's good to see some more competition in this space.
Now you have to worry about versioning, changelogs??? Worth it?
Or you can get it hosted if you don't want to worry about changelogs and the like.