Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

do not enable experimental feature by default #3684

Closed
r10s opened this issue Feb 13, 2024 · 10 comments · Fixed by #3717
Closed

do not enable experimental feature by default #3684

r10s opened this issue Feb 13, 2024 · 10 comments · Fixed by #3717
Assignees

Comments

@r10s
Copy link
Member

r10s commented Feb 13, 2024

“Sync All Accounts In Background” resp. its disabling became an experimental feature, which is okay in general.

however, experimental features should not be enabled by default.

the other way round, disabling all experimental features should result in sth. as “standard state”.

so, as the option as such should stay experimental, it needs to be be sth. as “Only Sync Foreground Account” “Only Sync Selected Account” (tooltip could read "Synced when selected" then)

EDIT: the following is offtopic and not part of the issue: nb: also the “Power Icon” shown on the account icons is a bit weird. what about showing a question mark intead? this would also make it clearer to the user what the impact of the option is:
not knowing if there is sth. new
(a “?” is shown where otherwise a counter appears)

@r10s r10s changed the title experimental features should not be enabled by default do not enable experimental feature by default Feb 13, 2024
@Simon-Laux
Copy link
Member

“Only Sync Selected Account” (tooltip could read "Synced when selected" then)

That wording is not clear enough to me what it does. But I agree that the experimental settings should be off by default.

About the power button, for me the question mark is more confusing, as it to me it feels like that delta chat has a bug or fault and thus can not find out how many new messages exist.
The grey power button might not be ideal and a different disconnected icon could be better, but I don't agree with the question mark. also note that the icon will only appear on accounts that you specifically disabled background sync on in the future.

Other programs also use a power icon to symbolise that sth is turned off:

@Simon-Laux
Copy link
Member

so, as the option as such should stay experimental

only as long as it is not implemented via core, I plan that for the next release after 1.44, so 1.46. It is not complicated just a bit of code in the account manager and removing code that starts/stops io from desktop ui code.

as soon as it is implemented by core we won't need the setting anymore, we can think about:

  • A. whether migrate existing users of that setting, by disabling all accounts
  • B. or we can just remove the setting, leaving all accounts enabled by default
  • C. B, but send a device message with a screenshot of the context menu on the account where it can be deactivated for background.

nb: An Option to put it offline completely could also be interesting for accounts of deleted email addresses so you can keep it as archive without spamming the log with can not connect messages, but maybe this could also be solved by a smarter connectivity algorithm that stops on 100 failed attempts until you start it again manually in the settings?

Would be better to make multiple issues, one for wording of the option and one for the icon and one for naming.

@Simon-Laux
Copy link
Member

Simon-Laux commented Feb 23, 2024

about the icon, maybe a snowflake or sth similar could also be an idea, though I would associate freezing with readonly.

@Raiden-GH
Copy link

I actually like the power icon, but I think dots would also work well.
They are already used in the connection details.
In addition, an existing connection is also displayed with a green dot if a user holds the pointer over an account.
I think there are three basic variants.

  1. Only a green dot is used to indicate that an account is active.
    All others without a dot are therefore inactive.
  2. Both active and inactive accounts have a dot. Green could be for the active account and red for the inactive ones. Dark red would also be possible instead, as it looks a little more subtle.
    What speaks in favor of red is that it is already used to indicate a missing connection.
    In addition, many devices indicate the standby status with a red light.
    The argument against red is that users who suffer from red-green blindness cannot distinguish the dots.
    Maybe blue or gray could be an alternative.
  3. It would also be possible to mark only the inactive accounts with a dot.

I created an image with the different options.

Overview Dots

@Simon-Laux
Copy link
Member

Simon-Laux commented Feb 24, 2024

@raiden-social what about the unread message counter?

Though I like that you went through the effort to make mockups, they look pretty

@Raiden-GH
Copy link

Raiden-GH commented Feb 24, 2024

what about the unread message counter?

I somehow thought of DC-iOS and forgot that in DC-Desktop the counter is at the bottom right.
But the third option is still possible.
Maybe the counter could also be placed at the top right like in DC-iOS.
This way the two versions would be more consistent.
But as I said above, I actually think the power icon is quite good.
Apple Mail uses flashes to show inactive accounts.
This might also be an option if the power icon is not wanted.

@r10s
Copy link
Member Author

r10s commented Feb 29, 2024

i should have been clearer in the initial issue

icon etc. was just an offtopic note (which i should have left out :) it is not part of the issue and and it is fine to leave that as is for now.

the real issue we have is that an experimental must not be enabled by default. if after enabling things are, well, experimental and rough, that's okay.

@r10s
Copy link
Member Author

r10s commented Feb 29, 2024

“Only Sync Selected Account” (tooltip could read "Synced when selected" then)

That wording is not clear enough to me what it does

i do not really care, main point is to not having experimental things enabled by default.

it was just a suggestion, avoiding double-negative phrases and probably good enough for an experimental setting (where it is anyways not always clear by just the name what they're doing :) what would be your suggestion?

@Simon-Laux
Copy link
Member

Simon-Laux commented Mar 1, 2024

what would be your suggestion?

Don't really know, I'd currently prefer to postpone deciding on the strings and address it in the next version unless someone has a bright idea for the wording.

I'm working on a core pr (deltachat/deltachat-core-rust#5314) to move the logic for this to the account manager in core and make it per account.

I think we the option will stay in advanced settings, maybe go to imap folder settings and would be called sth like "Only connect to account when it is selected", "Disable Background fetch for account", "Disable Background Sync for Account" and the text in the hover message would be telling the user where they can disable it. so no context menu entry, just in advanced settings.

Why no context menu entry? because my recent non-representative poll on mastodon showed that some people want this and others don't want to see it, so just have the option in advanced settings seems to be the solution.

For other platforms the feature can also be useful as it also disables background fetching for the account, so you can keep an account that does not work anymore or that you only want to check manually for "digital detox" or other reasons.

@r10s
Copy link
Member Author

r10s commented Mar 2, 2024

again, this issue is not about implementation details on the option, if it makes sense, is useful, or whatnot. sorry for initial confusion :)

Don't really know

then let's go with the wording suggestion from above for 1.44 and call it a day, all other thoughts can be done relaxed later in next versions.

the wording is not most important.

most important is to keep the ux pattern of "experiments" for 1.44: for that, we must not mix states, so the the user can know what's "normal" and what's "experimental":

experiments are "off" by default.

we should not postpone this simple ux fix

@Simon-Laux Simon-Laux self-assigned this Mar 4, 2024
Simon-Laux added a commit that referenced this issue Mar 4, 2024
…efault like the other experimental settings.

fixes #3684
Simon-Laux added a commit that referenced this issue Mar 4, 2024
…efault like the other experimental settings (#3717)

* Change wording of "sync all" setting and make it appear disabled by default like the other experimental settings.

fixes #3684

* add pr number
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants