Page 1 of 1
"Experimental features" menu
Posted: Tue Oct 01, 2024 5:11 pm
by Mike V
I have a proposal to add a menu (with options) for "experimental features" around or after the point of the 1.0 release. This will allow us to semi-roll out and test things early, without relying on globally unstable alpha or beta releases for them.
As an example, there's currently a global DEV_MODE variable I have in the code that switches to some unstable code paths (and opens up semi-functional things like additional solunar return options). I have this switched off all the time, but was messing around with some things behind the scenes during the big 0.6.0 development period. It occurred to me - why don't we eventually have these and other options available within a regular release, for anyone who wants to mess with them?
I'm imagining a separate menu accessible from Program Options (via an Experimental Features button in the Program Options menu) that has toggles for whatever works-in-progress there currently are. It can also pop open a help menu page with the current status of each of the features, i.e. you can check exactly what I think works/doesn't work for the feature you're considering enabling.
This is a common mechanism that other software uses to allow users to opt into not-quite-finished, unstable features.
Re: "Experimental features" menu
Posted: Tue Oct 01, 2024 5:38 pm
by Jim Eshelman
Quick answer : I like the idea, though I'd prefer it be called something like Beta Features so it doesn't imply experimental astrological methods (different meaning).
I can't sit with this right now (and the debate is about to start) but we agree in principlec(and nothing I hastily read was acres flag particular).
My wicked playful side thinks it should be called The Secret Menu: Enter at your own risk!
Re: "Experimental features" menu
Posted: Thu Oct 03, 2024 7:55 am
by Jim Eshelman
Caught up at work (good thing, since I'll soon leave for a week and a half) and can put my mind solidly on this.
As mentioned, I like the idea a lot. I'd rather it not be called "Experimental Menu" to avoid confusion with experimental methods (some of which are integrated into the main body of the program already) - maybe Beta Menu, Preview Menu, or (I'm at least half serious) The Secret Menu... or whatever.
It makes sense to add it after reaching 1.0 just because stuff is moving so fast now. That also makes the statement, "This is now an officially stable, launched product, and we have previews of future growth. As far as I'm concerned you could add it sooner, but that's probably redundant and less helpful (unless you want to include it to debug before 1.0).
Some questions:
Mike V wrote: Tue Oct 01, 2024 5:11 pm
I'm imagining a separate menu accessible from Program Options (via an Experimental Features button in the Program Options menu) that has toggles for whatever works-in-progress there currently are.
I'm trying to visualize how this will work. I understand that, to enable these, one would go into Program Options, click the button and be dropped into a new menu listing Try Before You Buy options and each of these could be toggled on/off. (I think I'm understanding that it's a buffet arrangement where people can take whatever they want in whatever combination, yes?)
Where do these then appear? To actually use the beta features, would you find them popping up in the program wherever they eventually will go? Maybe some things only appear in Chart Options per option file, some appear under Prediction Options, some appear on other pages not announced yet, etc.?
Re: "Experimental features" menu
Posted: Thu Oct 03, 2024 10:31 am
by Mike V
Jim Eshelman wrote: Thu Oct 03, 2024 7:55 am
Mike V wrote: Tue Oct 01, 2024 5:11 pm
I'm imagining a separate menu accessible from Program Options (via an Experimental Features button in the Program Options menu) that has toggles for whatever works-in-progress there currently are.
I'm trying to visualize how this will work. I understand that, to enable these, one would go into Program Options, click the button and be dropped into a new menu listing Try Before You Buy options and each of these could be toggled on/off. (I think I'm understanding that it's a buffet arrangement where people can take whatever they want in whatever combination, yes?)
Yep, that's exactly how I'm imagining it. This is the way other products tend to do these sorts of things.
Jim Eshelman wrote: Thu Oct 03, 2024 7:55 am
Where do these then appear? To actually use the beta features, would you find them popping up in the program wherever they eventually will go? Maybe some things only appear in Chart Options per option file, some appear under Prediction Options, some appear on other pages not announced yet, etc.?
They will appear wherever their features would appear. Here's an example. Using the current (private, code-only) "dev mode" setting, the Solunar Returns page shows a bunch of new buttons - NLRs, Anlunars, etc. Those buttons don't appear unless this setting is enabled. (Most of those also don't work, and the ones that do, are hardcoded to find a return without needing to flesh out all of the in-between logic. I really wanted to verify that my code worked for triwheels... and it does!) If that setting is enabled, alternate, half-rewritten logic runs that is/will be capable of finding these minor charts - such as finding the current active SSR and then finding SLRs from that in order to get anlunars, and so on.
There are many places in the code where we can add in checks to do something different if some flag is checked, so we can seamlessly add in partial features that don't interfere with stable code paths.
Re: "Experimental features" menu
Posted: Thu Oct 03, 2024 10:35 am
by Jim Eshelman
Cool!