-
Notifications
You must be signed in to change notification settings - Fork 25.6k
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
UX/UI design improvements #7519
Conversation
good |
I use Web UI primarily on mobile; this is just my opinion from this perspective. For me, I like the preview window on the left, and placement of the Generate button. This places Generate between preview and prompt. (I actually move preview to left on my Web UI so it's closer to Generate) The rest of the design is not very friendly to mobile 🤔 I took some screenshots to get an idea of the comparison I think this design could be superior if some of these elements are more condensed, in consideration for mobile. |
Hi Hi Hi!
PS. Maybe it's my Microsoft Edge browser makes things a bit weird, i didnt tried on different browsers so.. |
This can be fixed on mobile the overflow-y property for the left and right areas can be disabled |
[DobrovSs] "object-fit: scale-down" makes the generated image not to blow larger also you should check in settings that |
Yeah i got the idea, just feels a bit too small for me, sometimes very hard too see whats going on in generation, sometimes you need to interrupt and try again, but anyways, i love the UI, i can do this changes for myself so it's not a real deal <3 Edit: Ah sorry my english is not perfect, so maybe in my case it's bugged? It shouldnt be that small for me? I need to try that on another browser then |
Very cool! Can't wait to try this out. I just have a couple observations/suggestions:
|
[DarkAndBlue] i fixed the livepreview disappearing issue thanks for your feedback |
i would like to do more than the accent color (border-radius, border-color, tint color for panels, dark-white theme ) |
Excellent, I'm glad to hear that! I'm trying your UI right now, and my first impressions are very positive. Fixing the "Generate" button to the top is a big improvement. EDIT: It might be useful to group the main inference settings into a collapsible menu, similar to "Prompt." There are a lot of times when I dial these settings in and don't need to see them again. Just a thought. |
I'm testing and I feel it looks pretty fine, but I had the same thing as @DobrovSs, and enabling full full preview slows down a lot the generation of the image itself. |
Sadly i cant use that due to my low vram:( |
Just in case you want to change that so it shows in a full scale, look for my comment above and swap it yourself in "style.css" |
Btw, i just noticed you missed the loading color in extras tab, easy fix for you so you dont need to search for the element @anapnoe
|
I think we are on the right track thanks for the feedback much appreciated |
|
thanks please send your findings so i can fix them best regards |
I tried your new changes on my mobile. It looks and feels a lot better, everything can be accessed with minimal scrolling As it stands right now, I think I would use your UI over the current one. Thanks for making the changes 👍👍 However, a couple more things, for me. Everything else looks great. I should have mentioned before, my display is 3,840x1,644 (21:9); quite thin. Thanks again for taking feedback. |
@Gerschel check this..! |
You can check the latest additions 😉 best regards |
Thank you very much for this work, it's looking great. A question, as you are messing around with the UI and the code, could you please check why is this happening? and maybe how to fix it? This bug occurs on inpaint tab. it doubles the image after I start painting the mask. I have created a Bug report a while ago, most of the issues were already fixed but this one. #6388 I have tried this PR and the issue persists, but I didn't take screenshots.... again, amazing work..! PS: Im using Win10/Chrome |
Wow, you are quick 👍 This is fantastic work you're doing, hoping the PR will be merged once it's ready. |
it seems the issue has been resolved you should update to the latest version edit your windows batch file webui-user.bat git reset --hard HEAD call webui.bat you should backup your changes if you have made any before run the webui-user.bat |
I'm using the last update, even the one uploaded 1 hour ago, I have made 3 or 4 fresh installs already... always same error on inpaint... try with a 512x512 image or lower resolution, with larger images it doesn't happen Also try with your browser's zoom at 75% |
did you try with my fork ? i can't reproduce the issue the image is 512x512 but please use the original PR i will try to find what is causing the issue |
i do like the ui initiative and new functionality it brings as well as general look&feel. but i don't see how this could ever be merged - its 99 individual commits which are spread over 113 files (ok, quite a few new files are just icons, no issues there). but to have something that is "merge-able", it pr itself needs to be structured so it can be reviewed - right now, its nearly impossible to actually review changes. also, number of new options is massive and some of them can be assumed without needing to define that many options and introduce that many core changes just to support them. what i'd love is to split pr into couple of smaller pr
|
Yep, Auto also said that he is not going to merge this PR as it is right now, he asked for small PRs with fixes... However, I was going to tell you if you can help @anapnoe sort everything because I really love how this looks... would be awesome to have it as an extension or something like that, the problem is that Extensions cant patch ui.py or other main files and I think there's is where most of the changes were made... Could you give a look at this and guide @anapnoe on how to accomplish the task to be able to merge as much as possible? or maybe ask him for permission and merge this into your fork (with the changes you consider)... again, I would love to have this UI... |
If it were me, I'd start with:
And yes, if I had such PRs to review, I'd be happy to do it (and use) |
Thank you, I would be more than happy to discuss more details and get some help on this when I finish a few more fundamental for me enhancements to the UI/UX, when completed it would be more easy to separate the core, fixes, ui, non ui, into different PRs and test what works and what it does not. There are some concepts followed that do not exactly |
@anapnoe I was taking notes to collect feedback and started building up quite a list, but since it's gotten long and full of miscellaneous stuff, it seems too much to reasonably post here in the PR thread, especially with the current focus on splitting the changes into separate PRs, etc. When I come back to it tomorrow and finish proof reading and organizing the feedback (and making sure nothing was already covered here), what's the best way to post it? I'm pretty new to GitHub in general, so I'm not sure what's the best way of working. Didn't see a direct message option, so I'm guessing make a General discussion thread and link back to this PR? Or is there a place like a wiki on your own repo I can post a markdown doc? Thx! |
maybe someone more experienced can answer this I am new to github too maybe a wiki is a good think @vladmandic what is your opinion on this, can the wiki exists on pull-requests until we got to a phase to start break down all the changes in different PRs? I think it would be helpful for so many people that already use UI/UX |
not on the pr itself, but on the branch where pr comes from - so @anapnoe can enable discussions in settings inside https://github.com/anapnoe/stable-diffusion-webui |
Thanks @vladmandic I open the discussions as you suggested |
you suppose to make it MORE tight, and save space, and organized, not adding more "cosmetics" to it.... edit: you know what, I thought this is just a sketch-up, a mock-up, not a working project, LOL |
well, you have the PRs there, start working on it! |
LOL I am noob at coding, although I got lots of UI experience back in my 30s, I am now an old dad with edgeless mind... |
No worries, any help is welcome... feel free to give your feedback in the discussion channel of @anapnoe repo: Thats the new place where everyone can discuss everything related to this PR.. pros and cons... and give him feedback about his work. Remember always to be polite, every comment matters and helps. 👍🏻 |
I'm wondering is it too much work for you if I attempt to update webui to use Gradio 3.22.1? There are some bugs in 3.16.2 that impact my workflow (like gradio-app/gradio#3204) so I wanted the new version. But as I understand it this PR is based on 3.16.2 From what I've encountered there are a lot of CSS changes and bad UX introduced by 3.22.1 that need to be ironed out first before I'd say it's a comparable experience to the old version, was wanting your thoughts first |
I think we should wait a bit longer for gradio to see how the release event will be implemented, If they make it so all input components inherit the event which I think is the way to go, then yes this should be great and main reason to update but as it is now I am not so positive the current solution provided is not solid neither optimal, I understand how this affects your workflow as mine, I have implemented a workaround that will remedy this issue across all input components (scripts, settings ,extensions), I will PR the solution, need to optimize it and cleanup the code best regards |
I have no idea how to do the pull request without affecting my current fork if anyone can help me understand how this works do I need to create an organization and create a new fork there to slowly introduce independent changes to master? |
Probably just take the latest webui that you want to base the changes on, take your forked code, and implement the smallest possible change you can one by one until you reach feature parity. It's easier to review the code when there's not that much code to review per PR |
He needs to make smaller PRs to get this merged with the actual main branch... if the actual main branch still doesn't support the new gradio, it is not very useful the gradio update to this PR unless he keeps this project as his own fork. |
Yeah but I'd say it's easier to work on the smaller the change, to be honest it's probably impractical to merge this entire PR as-is regardless of which Gradio version it's based on So if this PR needs to be split up to be accepted anyway it might be better to base it on the new Gradio version to avoid extra work |
what you say if I understand it correctly is |
Yes this is true just need to test it to see how much of an improvement is over the current version if only the half made slider it doesn't worth it really, I have implemented a solution to this problem that only uses total of 5 event listeners to cover for all numeric input fields and sliders for all the areas of the ui including extensions scripts you can test it if you like code of interest is located in the ui.js line 911 - 989 |
very true too |
don't do that, you'll loose your history. fork is nothing but a server-side clone of a specific branch to a new owner and under any name you choose during fork.
so basically for each pr you want to create, you create a new branch. for example, see https://github.com/vladmandic/automatic/branches - i have my |
thank you @vladmandic much appreciated |
Ops sorry for so many edits in the readme file couldn't make the header description to stay on top of the image with single breaks |
it has its own theme engine that can be modified on the fly and it will not map to gradios vars cause they don't follow common practices guidelines, gradios theme engine uses 471 vars most of them generic while anapnoe-ui-ux uses 38 well defined ones |
Yea... somehow that doesn't surprise me. Maybe once their implementation is more solidified it could be possible later down the line. |
Describe what this pull request is trying to achieve.
**
Create a pixel perfect interface that is user friendly, well designed, easy to focus, mobile friendly, customizable
**
features and to do list
for extension developers
if you want to utilize the subgroup style on your module - script you need to add the keyword "sub-group" towards the end of the elem_id container, that is because gradio doesnt have support for adding style classes to components yet
e.g with FormGroup(visible=False, elem_id="txt2img_hires_fix_sub-group") as hr_options:
if you are creating a lot of nested rows columns on your module but you don't want all the extra padding on the components you can remove it with collapse and ( collapse-all / experimental it doesn't work for all cases depends on the complexity )
e.g with FormGroup(elem_id="inpaint_controls_sub-group-collapse", visible=False) - collapse the group and style it as subgroup
e.g with gr.Row(elem_id= target_interface + '_subseed_row-collapse-all'): - collapse all the nested padding
for the people that want to remove the donation button it is located here
/html/footer.html lines 36 to 64
it will be removed from the pull request and be placed in my fork repository when all the remaining tasks have been completed unless the owner of the repository decides that it is a good thing for the stable-diffusion-ui to have a donation button in that case we will change the link to reflect the stable-diffusion-ui project funding
until then if you like my work you can support me thank you
this is my first ever time involved on a github project
Environment this was tested in
Screenshots or videos of your changes
Default theme
Extra Networks aside off-canvas alternative view
Quick Settings aside off-canvas view - drag and drop to custom sort your settings save is done on the fly
Zooming and panning for im2img sketch, inpaint, inpaint sketch
Theme Configurator - aside off-canvas view
Theme Configurator is an inbuild extension once you select - create the theme you like and click SAVE you can disable the extension and your theme is set it has some cool functions to HSL your theme or INVERT it all changes are applied on the fly and you can preview your theme on all sections of the UI without saving it
Mobile 395px width