wikitree / wikitree-browser-extension

Browser extension that adds advanced features to WikiTree.com.
MIT License
27 stars 23 forks source link

Have some features default to "On" when a user installs the extension. #49

Closed jmegenealogy closed 2 years ago

jmegenealogy commented 2 years ago

I would recomend a different system. Options should be 3 state. On / Off / Default.

Default would be defined by a developer when a modul is fully tested and all bugs corrected.

I think that functions that are connected to hints, hower or othervise alter the behavior and look of the page should always be defaulted to Off and user could turn them on if he wants. Inserting new clickable options in menus or "buttons" on the page could be defaulted to On when functional.

That way after instaling the extension users would already have some functionality available.

Aleš

Originally posted by @Lesko987 in https://github.com/wikitree/wikitree-browser-extension/issues/13#issuecomment-1269422375

shogenapps commented 2 years ago

Yes... Which features would be on by default?

RobPavey commented 2 years ago

The rework of the options system that I am doing could help address this. At least we should wait until that is in before working on this as they could conflict.

jmegenealogy commented 2 years ago

Yes... Which features would be on by default?

I think things that add major functionality should be on by default -- stuff like the drafts list, AGC, biocheck.

Stuff that is mainly for changing the UI like dark mode should be off by default.

shogenapps commented 2 years ago

Yes... Which features would be on by default?

I think things that add major functionality should be on by default -- stuff like the drafts list, AGC, biocheck.

Stuff that is mainly for changing the UI like dark mode should be off by default.

Looking down the list of options, I would say that only the dark mode and space page previews should be off by default, while all the others should be on.

RobPavey commented 2 years ago

I can implement this as a modification to registerFeature and checkIfFeatureEnabled.

But first we would need to decide whether to go with the request from @Lesko987 to make it 3 state.

My understanding of what he means is that, instead of having on/off toggles in the options page for each feature, we would have a select or radio button group that sets the state to either "Default", "On" or "Off".

The benefit would be that, if we change whether, for example, the AGC feature is on by default, then existing users who had left the feature set to "Default" would get our update. In the current system, once the user has modified anything on the options page and their settings have been saved to storage, then any changes we make to the defaults will not affect their settings.

So I can see some benefit. But it makes everything more complicated. So I'm not sure that the benefit outweighs the cost.

shogenapps commented 2 years ago

Default would be defined by a developer when a modul is fully tested and all bugs corrected.

If a default option is in case of bugs, maybe we don't need it. If we find bugs, we can just fix them. We can just patch it up and upload an update. I know we're talking about monthly releases of the stable version, but surely patch updates will be OK?

Rob, I think you should make these changes (to set most things to 'on' on installation), and request reviews from all maintainers. Thanks.

RobPavey commented 2 years ago

I'm working on this now.