-
Notifications
You must be signed in to change notification settings - Fork 2
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
Revise Settings dialog according to new UX design #1213
Comments
Fill this issue out (or make multiple) when UX gives us their design to implement for epic 13 |
Some notes from the UX presentation:
|
We just had sprint meeting and managed to clarify on the following:
*ux wants to be included into how to name these settings |
Issues to write (@jolierabideau will write them up. Thanks!):
Defer
UX team, please let us know when these not settled things are settled. We can work out where to put them. Regarding priorities, would you like to create new issues and put them on future epics where they are appropriate priorities? Or want to wait until you have finished designs to figure out what you want to do? Important links: |
Thanks TJ. I have a question regarding:
I've not seen or intended this. Can you give an example? Imho there are only separate pages like "my crazy extension", "custom toolbar buttons extension" and under project maybe things like "project plan", "checks configuration", "Emoji Reactions". The only mingling I could think of is we have not thought through if extensions should be able to add sections to "display" and "behavior" or only below those. Maybe "scroll with other apps" is something that would come from an extension?? Also we have not been clear about where bcv settings would end up. Or is "highlight current verse" an extension setting of the bundled editor extension and so needs to go elsewhere? What is missing in the current design (only in case we want to make those configurable) is
For the small adjustments, search and toolbar we will let you know as soon as possible (probably in this order). Yes for the "not a priority" things we should create tasks (where not yet done) and move them to a new or existing settings epic. let's decide this in the next roadmap meeting. |
@Sebastian-ubs Essentially there are three levels of hierarchy possible right now:
Anything under one of these items in the hierarchy must necessarily be owned by the same extension/core. So core and extension settings cannot intermingle in any way; they are all completely separated from one another. The same goes for project settings. Regarding normal settings, there are some somewhat reasonable equivalents in the v0 preview. You can kinda think of it as the following:
The problem is that "General" has stuff in it that looks like it would be contributed by core and by extensions. If "General" is the label we put for Core Name, then every setting group and setting under it must be contributed by core and not by an extension. So then you could have another top-level hierarchical item called "My crazy extension" that would have a setting group in it that would have settings in it. Project settings are a bit trickier. It looks like you also have three levels of hierarchy in project settings, but you display them differently:
These levels show up differently. All the item 2s for each item 1 are shown all at the same time on the same page. But the item 2s are not shown in the sidebar. I used my best interpretive skills here and decided to write the UI revision instructions as basically the following for now:
We can discuss and adjust the display of this hierarchical structure as desired. Larger organizational changes will take more planning and adjustment. |
Having not talked to @Sebastian-ubs and @allisonparkk , I believe Update: Apparently it was intentional! Switches are appropriate for settings that take effect immediately. Checkboxes are better for settings that are part of a form that needs to be submitted. |
Hi @tjcouch-sil, as we are working on smaller style adjustments, the current (in progress) version is this: https://b_lyq3fteaicn.v0.build/ I have added a drawing with questions to the FigJam. Feel free to comment here or there The content is not final: wording of names, groups and settings and where to put which in is not yet decided. |
TJs reply (in my words):
|
Hi @tjcouch-sil, after discussing with ux we ended up with wish for the following structure: https://www.figma.com/board/WnpfPfYdiTX9GvLBX8YbTb/Platform-Settings?node-id=416-2145&t=lwI8mWZAKgHNrGUx-4 Assuming that we can have (localized) Extension names or a fixed term name as clickable containers in the navigation sidebar.
|
💡 It might be impossible for underlying Settings data model to always match what UX desires for their presentation in the Settings menu. Therefore, it might be expedient to introduce some sort of cheat to accomodate such mismatches, for example:
Just an idea 😊 |
Thanks Alex. TJ specifically asked about requirements from ux, which might require changing the data model. Having a data driven ui and manually defining which settings end up in which place are two contrary (or at best supplementary) concepts. After talking to Ian again, we ended up with the following |
Note that the last comment is about Paratext 10 presenting itself to the user as a unity, so that they do not (have to) think about it consisting out of Extensions. Therefore core + bundled extensions + PT10 extensions is to be presented as "this is Paratext" to them. To make them find things in an easy and intuitive way, we would not want to throw all settings from those on one big page, but have the ability to arrange them on logical pages, even when they are technically stored in / served by different parts. Users of Paratext 10 would only see additional extensions they can get through the Marketplace as extensions, and so listing them separately makes sense. For Platform however it might be fine to show all settings similar to where they are stored. But as it is unclear who the users of Platform would be (besides extension developers) it is not possible to cater for them. |
@tjcouch-sil @jolierabideau are there any comments or concerns about the proposed settings hierarchy? As far as I understand this is not currently possible with the data model. The things I see missing is (for core, bundled and paratext extensions):
Is that right? How are we gonna solve those requirements? |
TJ and I talked about this one a bit. The right approach at this point is to probably change our schema for settings to be more like the schema we have for menus where platform can define some "root" starting points and identify locations in the hierarchy where extensions can contribute their own settings (which they can also mark as extensible for other extensions to add onto, if desired). This will take a little redesign work compared to what is in the settings spec right now. |
@lyonsil Will there be a new issue created for the settings hierarchy schema change, or will that be part of this story? @jolierabideau I was able to recreate the design sidebar design in v0 close to what Ian created in Figma: Modifications from pure shadcn to mention:
Probably search placeholder should rather be
|
Just watching yesterday's dev sprint planning and @tjcouch-sil saying (regarding internet settings)
Which I would like to challenge. The possibility to add other stuff like controls in addition to settings will be helpful. E.g. we have thought about adding a link to the extension marketplace or even being able to enable/disable extensions from within there.
😄👍 |
The redesign and re-ordering needs its own issue. I think I have maybe seen an issue about this somewhere, but maybe it was a UX issue. I will share more precisely the situation that led me to say "we can't put any non-setting into the settings dialog." Basically, I was saying there is not currently any place other than in the main process where settings are stored, and extensions can't freely put whatever they want into the settings dialog. There is no concept of storing settings elsewhere, and I'd argue it may not be wise to change that concept. However, others can listen in to the value of settings and do things based on that all they desire. We have not added a way for extensions to add their components into the settings dialog, but we are free to change that as we like. I have pictured it as providing one component for one setting up to this point, but I guess that could change. Of course, core can theoretically put whatever it wants into the settings dialog. |
Thanks TJ, that sounds reasonable. I guess we are seeing a conflict here between technical limitation of "everything as an extension" vs. user experience of a user that considers Paratext a unity. |
I've added |
@roopa0222 Here is the testing criteria!
|
New mockups in response to PR #1354
which combines |
@roopa0222 Thanks for testing! Right now the search is only searching the label on individual settings, not the Card headers. There is a follow up issue to fix the settings search, so I didn't do too much work there. The fields are validated based on that specific settings validation provided with the setting. It could be that the numbers are being read in as a string but the interface language validator accepts a string array, so I don't think it should have passed. This specific setting is being worked on by Tom, so I will mention it to him. Did you notice this on any others? |
@jolierabideau , I tested that field as I know it can cause issues if the settings file is updated with an invalid language. |
User Story
As a user, I want a more organized and intuitive settings interface, so that I can easily navigate, find, and manage settings for different extensions and projects.
Description
Switch
instead ofCheckbox
Implementation idea
See the S/R web view for an example of delivering different UI based on a boolean, we could do something similar for receiving a project id and only showing settings for that project id.
See the links below for UX design doc and mockup:
Platform Settings – FigJam
Combined Settings – v0 by Vercel
The text was updated successfully, but these errors were encountered: