featurehub icon indicating copy to clipboard operation
featurehub copied to clipboard

[FEATURE REQUEST] Segments, Variants, and Events

Open ian-axelrod opened this issue 3 years ago • 1 comments

Is your feature request related to a problem? Please describe. Firstly, I want to offer some praise :). I like your system. I think the design is excellent. There is no open-source feature flag solution that I have found that compares. I have no idea why this project is not getting more attention, other than its recency.

As to my question: I wonder how difficult it would be to implement a more traditional solution to variants and segmentation. It appears possible to do both given the current constructs, but they are not intuitive in my opinion. Often times you will have non-technical types using the system, and familiarity/intuitive design is critical. Do you have any plans to revamp the existing mechanisms?

Describe the solution you'd like

  1. Create an explicit 'segments' construct with the associated constraints that define it. Add this segment information to the analytics events.

  2. Create an explicit 'variants' construct. Again, add this information to the analytics events. In this case, you would also want to provide a 'get_variant' method in the client SDKs.

  3. Currently you do not auto-emit events, but instead require the user to invoke a log method. It would be useful, I think, to provide the option to auto-emit events whenever there is a change in the feature set tied to the user. Also fire events that indicate changes to the features themselves. This could be done on the backend. Even better if you provided a few default event delivery clients, e.g., Kafka. Kafka would be ideal ;).

Describe alternatives you've considered I have not considered alternatives, because they stray from common concepts (segments/variants) already present in feature flagging. That would defeat the purpose :).

ian-axelrod avatar Mar 25 '21 18:03 ian-axelrod

Hi @ian-axelrod,

Thank you for providing the feature request and for the excellent feedback. Please star our repository to help us becoming more visible in open source community.

To your points 1 & 2 - we do plan to have segments, although we have been calling it "shared strategies" and the ticket for this is here https://github.com/featurehub-io/featurehub/issues/193

To your point 3 - we have thought about providing this functionality, mainly around:

  • Enrich analytics events and fire them automatically (as you mentioned possibly Kafka)
  • Expose analytics to the Admin UI

Points 1 & 2 would be relatively easy to do, given we already have the backend for it. Point 3 - is a bit more complex, but I will open a separate ticket to track this.

Cheers!

IrinaSouth avatar Mar 27 '21 03:03 IrinaSouth