Hi folks,
I have one idea that I want to share with the community to get feedback. Lately, I was thinking a lot about SAAS for the feature toggles and user segments.
I want to build a service that will provide API to evaluate features dynamically, so that feature flag will be aware of the calling context and can execute custom logic remotely on my service. Feature toggle itself would be configured in the platform.
I had experience working in a gaming industry where we usually had features that were based on user levels, tiers, experience, balance, etc. Feature flag or the segment was a piece of executable(interpretable) code like the following:
feature Id 504:
user.level > 500 && inList("VipUsers") && user.balance < 50 000
and we were able to just to call it by id
if (segmentation.isEnabled(504, userContext)){
. . . custom logic
}
Also, there will be some basic analytics built around that.
I did some research and I know that there are solutions like that out there. Just to list a few:
What strikes me most about all the above:
It's usually overpriced (like 70$ for a solo developer for 2k MAU in Rollout IO and Launch Darkly). I don't think that a solo developer with 2k MAU will ever pay 70$ for this kind of thing. Team of 5 is around 300$ a month, which is overkill as well IMHO.
It's blurry and unclear with the "Contact Sales" option (Optimizely).
There are some open source solutions and maybe some of them even have the option of code interpretation. But, as usual, it comes with the cost of maintaining hardware and software bu yourself and most of us don't bother with that as well.
I was also thinking to nice down the solution to the Game Industry (Mobile gaming, Facebook games) where we have mid-range studios that can afford few bucks a month on nice dynamic feature toggles and analytics.
So now I'm here asking for your opinion guys. Does it have chance to fly? Does it worth to spend any effort on?
For the tools I'm familiar with (Optimizely), the primary user base is e-commerce, where lots of dollars are pouring in and "CRO" (conversion rate optimization) might even have entire teams dedicated to that single task. If you're spending a half-million on headcount for CRO, then giving them something close to a no-code tool is easily worth the $300 for a team of 5.
E-commerce, not games dev, decides the economics of these tools.
I work in the intersection of e-commerce and game dev, and if I were bootstrapping a tool I would much rather sell to the former than the latter.
"Feature flags as a service" seem like too simple a thing to sell. However, if you enabled non-technical designers to contribute to the game experience in a way that removed a dependency on an engineer, that seems valuable. In my mind that sounds like the sort of GUI-based rules/scripting engines you might find in AAA engines or level editors. (Blizzard's level editors for Warcraft/Starcraft come to mind.) Is there a way to provide that functionality as a drop-in to teams who are too strapped to build their own rules engines or GUIs for scripting?
Thank you for the feedback 👍
Currently, I see that Optimizely has only a "contact sales" option, so I assume is much more than just $300. But I'm not going to build its competitor for sure. Optimizely is just too big and has so many features and what I try to do - is to focus solely on one subproblem.
I'm not sure I will be able to tackle GUI-based rules/scripting. I assume this option includes tight integration with popular engines themself (Unity, for example) and I don't have the required knowledge and experience.
My thoughts were mostly about monetization and feature opening. Let's say you want to roll out a new payment page and target segment of users who constantly donate to your game. How do you choose the user segment correctly? Usually, yous just hardcode it on your backend\app itself. You can do some analysis beforehand, roll out the feature with the new mobile app version\backend version, look at the result if it's not satisfying - rollout new game version with fixes and etc. This obviously takes time and money
Instead, you could safeguard your payment page with a feature/segmentation check. Whenever you want to change the target user segment - you just do changes in the SaaS and leverage remote flow control. So there is no need for the new release since you don't really just any code in your app. Plus it gives flexibility to the business and non-technical staff to adjust features to specific user segments.
If it still sounds blurry - then I guess I just have issues with understanding the problem I'm trying to solve. Or maybe the problem doesn't really exist and I just try to justify the idea :)
Hey, UpStamps helps teams and developers managing their projects using feature management to progressively deliver features to users with confidence. Check it out