Settings overhaul/refactoring #604

Open
opened 2019-07-01 21:08:31 +00:00 by hj · 8 comments
Owner

Master-task for improving settings and customization experience

Settings unification and synchronization

  • User settings must be merged with with just settings to avoid confusion that's there already.
  • Settings synchronization must be implemented
  • Settings import/export must be implemented.

Merging settings screens.

Problem: There are too many tabs - user settings/profile barely fit on english version already, adding settings tabs will make them extremely clunky to use.
Proposed solution: Tabs could be rearranged when merging, but neater way would be using vertical tabs - this would make UI more in line with other settings screens in other software, which gives ease of use due to familiarity. We can rearrange tabs in such way that there aren't too many of them.

Problem: It's not entirely clear what settings affect current FE and what affect all clients, which you need to submit and which not.
Proposed Solution: Luckily, there's not a whole lot of such options so they could be grouped together with a hint saying that it affects all clients. And stuff like import/export mutes/blocks is already kinda implies required action.

Settings synchronization and import/export

Problem: There is a case where synchronization is undesirable just one or two little settings, personal example - i want images ON on my home computer but OFF on my work laptop.
Proposed Solution: have an advanced feature "subprofiles", which require explicit editing and track specific changes only. Editing is available only in "advanced" mode, while by default "Work" and "Streamer" modes provided by default - work mode disables displaying of images in posts (existing feature), streamer mode disables showing DMs (needs to be implemented), initially you can only apply one mode and currently active mode isn't synced.

Problem: There needs to me some control over syncing since you could have conflicts from using pleroma from two machines at same time, among other things.
Proposed solution: Provide indicator that sync is being done, keep track of time sync was being made, warn about conflicts when syncing (check what is there before uploading), allow pausing of syncing, manual load and save. This will also allow better control over syncing mechanism so that you can for example debug someone else's state by pausing your sync (should be done automatically) to not fuck up your own state on server (and possibly everywhere).

User profile edit

User profile edit should be more intuitive and based off actual user profile, i.e. like other services allow it - to edit profile on what looks like your own profile card.

Master-task for improving settings and customization experience ## Settings unification and synchronization * User settings must be merged with with just settings to avoid confusion that's there already. * Settings synchronization must be implemented * Settings import/export must be implemented. ### Merging settings screens. **Problem**: There are too many tabs - user settings/profile barely fit on english version already, adding settings tabs will make them extremely clunky to use. **Proposed solution**: Tabs could be rearranged when merging, ~~but neater way would be using vertical tabs - this would make UI more in line with other settings screens in other software, which gives ease of use due to familiarity.~~ We can rearrange tabs in such way that there aren't too many of them. **Problem**: It's not entirely clear what settings affect current FE and what affect all clients, which you need to submit and which not. **Proposed Solution**: Luckily, there's not a whole lot of such options so they could be grouped together with a hint saying that it affects all clients. And stuff like import/export mutes/blocks is already kinda implies required action. ### Settings synchronization and import/export **Problem**: There is a case where synchronization is undesirable just one or two little settings, personal example - i want images ON on my home computer but OFF on my work laptop. **Proposed Solution**: have an advanced feature "subprofiles", which require explicit editing and track specific changes only. Editing is available only in "advanced" mode, while by default "Work" and "Streamer" modes provided by default - work mode disables displaying of images in posts (existing feature), streamer mode disables showing DMs (needs to be implemented), initially you can only apply one mode and currently active mode isn't synced. **Problem**: There needs to me some control over syncing since you could have conflicts from using pleroma from two machines at same time, among other things. **Proposed solution**: Provide indicator that sync is being done, keep track of time sync was being made, warn about conflicts when syncing (check what is there before uploading), allow pausing of syncing, manual load and save. This will also allow better control over syncing mechanism so that you can for example debug someone else's state by pausing your sync (should be done automatically) to not fuck up your own state on server (and possibly everywhere). ## User profile edit User profile edit should be more intuitive and based off actual user profile, i.e. like other services allow it - to edit profile on what looks like your own profile card.
Owner

Merging settings screens.

neater way would be using vertical tabs

Something like icons + optionnal text? I'm not really sure if that would work well on handhelds and other devices with small(ish) physical screen size.

Proposed Solution: Luckily, there's not a whole lot of such options so they could be grouped together with a hint saying that it affects all clients. And stuff like import/export mutes/blocks is already kinda implies required action.

So grouping everything in one tab or otherwise grouping tabs?

Settings synchronization and import/export

streamer mode disables showing DMs (needs to be implemented)

Should be showing only as:Public (so public and unlisted) messages IMHO.

Also subprofiles can be neat but I guess they need some kind of a common ground for users, this common ground should be visible and maybe the toggle box of the themes could be used in subprofile mode to enable/disable overwriting the common ground.

User profile edit

So WYSIWYG-ish? Not really sure we should go there because the way a profile is displayed isn't enforced at all in the fediverse.

>## Merging settings screens. > neater way would be using vertical tabs Something like icons + optionnal text? I'm not really sure if that would work well on handhelds and other devices with small(ish) physical screen size. > Proposed Solution: Luckily, there's not a whole lot of such options so they could be grouped together with a hint saying that it affects all clients. And stuff like import/export mutes/blocks is already kinda implies required action. So grouping everything in one tab or otherwise grouping tabs? > ## Settings synchronization and import/export > streamer mode disables showing DMs (needs to be implemented) Should be showing only `as:Public` (so `public` and `unlisted`) messages IMHO. Also subprofiles can be neat but I guess they need some kind of a common ground for users, this common ground should be visible and maybe the toggle box of the themes could be used in subprofile mode to enable/disable overwriting the common ground. > ## User profile edit So WYSIWYG-ish? Not really sure we should go there because the way a profile is displayed isn't enforced at all in the fediverse.
Member

So WYSIWYG-ish? Not really sure we should go there because the way a profile is displayed isn't enforced at all in the fediverse.

Not WYSIWYG-ish, but for example, how you rename playlists in Audacious by hitting F2 and having an edit box replace the tab name.

> So WYSIWYG-ish? Not really sure we should go there because the way a profile is displayed isn't enforced at all in the fediverse. Not WYSIWYG-ish, but for example, how you rename playlists in Audacious by hitting F2 and having an edit box replace the tab name.
Author
Owner

Something like icons + optionnal text? I'm not really sure if that would work well on handhelds and other devices with small(ish) physical screen size.

i'm still deliberating on this one, because while most tabs allow squeezing generously, theme editor becomes kinda shit if you do that.

So grouping everything in one tab or otherwise grouping tabs?

More like moving that part into "general" section and have it grouped separately

Also subprofiles can be neat but I guess they need some kind of a common ground for users, this common ground should be visible and maybe the toggle box of the themes could be used in subprofile mode to enable/disable overwriting the common ground.

the UI i have in mind is that if you want to edit a subprofile you explicitly start editing it, i.e. click "Start defining", and every change you make adds to a list of changes that subprofile consists of. If you want to clear some setting override you just go back to subprofiles and click x next to a change in the list. While subprofile is enabled relevant settings should have their own color and become locked, at least for now.

Not WYSIWYG-ish, but for example, how you rename playlists in Audacious by hitting F2 and having an edit box replace the tab name.

yeah it's just a neater way to edit profile instead of 3 disconnected fields

>Something like icons + optionnal text? I'm not really sure if that would work well on handhelds and other devices with small(ish) physical screen size. i'm still deliberating on this one, because while most tabs allow squeezing generously, theme editor becomes kinda shit if you do that. >So grouping everything in one tab or otherwise grouping tabs? More like moving that part into "general" section and have it grouped separately >Also subprofiles can be neat but I guess they need some kind of a common ground for users, this common ground should be visible and maybe the toggle box of the themes could be used in subprofile mode to enable/disable overwriting the common ground. the UI i have in mind is that if you want to edit a subprofile you explicitly start editing it, i.e. click "Start defining", and every change you make adds to a list of changes that subprofile consists of. If you want to clear some setting override you just go back to subprofiles and click `x` next to a change in the list. While subprofile is enabled relevant settings should have their own color and become locked, at least for now. >Not WYSIWYG-ish, but for example, how you rename playlists in Audacious by hitting F2 and having an edit box replace the tab name. yeah it's just a neater way to edit profile instead of 3 disconnected fields
Owner

So far it sounds like great modifications to me. 👍

So far it sounds like great modifications to me. :+1:
Member

What about federating themes as well?

What about [federating themes](https://git.pleroma.social/pleroma/pleroma-fe/issues/366) as well?
Author
Owner

when BE supports it

when BE supports it
Author
Owner

OK, after long deliberating on whether to use vertical tabs or not, I decided to actually try and rearrange settings theoretically, this is what I got, bascially:

Account

  • Bio/Avatar/Name all that jazz
  • Following export/import
  • Change Password
  • 2FA
  • Oauth (Scrollable)
  • DELET

General

  • General tab from the settings
  • Settings sync pause/import/export
  • Version info at the bottom

Notifications

  • Notifications tab from use settings
  • Web push checkbox from "general"

Filtering

  • Filtering tab from the settings
  • Blocks/Mutes list with import/export as second level tabs

Theme

  • Theme

only 5 tabs, maybe 6 if we leave out "security" out of "account", doesn't seem all that bad.

one of the key points are that some tabs are extremely tiny while others are overloaded. While it doesn't exactly balance things out too much, it does group smaller tabs more effeciently.

Width-wise, it's pretty compact.
image

OK, after long deliberating on whether to use vertical tabs or not, I decided to actually try and rearrange settings theoretically, this is what I got, bascially: # Account - Bio/Avatar/Name all that jazz - Following export/import - Change Password - 2FA - Oauth (Scrollable) - DELET # General - General tab from the settings - Settings sync pause/import/export - Version info at the bottom # Notifications - Notifications tab from use settings - Web push checkbox from "general" # Filtering - Filtering tab from the settings - Blocks/Mutes list with import/export as second level tabs # Theme - Theme only 5 tabs, maybe 6 if we leave out "security" out of "account", doesn't seem all that bad. one of the key points are that some tabs are extremely tiny while others are overloaded. While it doesn't exactly balance things out too much, it does group smaller tabs more effeciently. Width-wise, it's pretty compact. ![image](/attachments/fa70a6e0-4030-44b2-ba9c-b212fdc89f44)

duplicate of #259

duplicate of #259
Sign in to join this conversation.
No milestone
No project
No assignees
5 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pleroma/pleroma-fe#604
No description provided.