Alternate WebUI development discussion #17427
Replies: 40 comments
-
Excellent @FranciscoPombal . Just for easier reference to contributors of this topic, these are the original dev discussions on Alt WebUI #7217 and #7610 |
Beta Was this translation helpful? Give feedback.
-
I am happy to contribute to a new implementation of the WebUI. Actually, I was looking lately at https://github.com/qbittorrent/qBittorrent/wiki/Web-API-Documentation in order to plan how to implement a new WebUI. These are what my goals are so far:
Let me know what do you think. |
Beta Was this translation helpful? Give feedback.
-
I hope responsive design if introduced wouldn't add unnecessary dependencies and don't slow web interface as it happens with Bootstrap. |
Beta Was this translation helpful? Give feedback.
-
I would like to see all the options & settings exposed in the webui so headless/qbittorrent-nox can be fully controlled & configured in the webui. For example, to lock qbittorrent-nox to tun0, I had to install a Linux desktop and GUI version of qbittorent in a VM, lock it to tun0, then parse out the lock settings and paste them into my qbittorrent-nox config. That's hardly convenient. Generally speaking, having full usability & configurability in the webui should be a goal. A lot of apps these days don't even bother with an app, they just opt for a backend with a webui frontend since there's no porting and works on most if not all devices people are already using (pc, laptop, tablet, phone, etc). |
Beta Was this translation helpful? Give feedback.
-
Yes, absolutely! The only thing worse than a crap ui is a slow ui. I'd take fast crap over slow anything. |
Beta Was this translation helpful? Give feedback.
-
I built a new WebUI with Vue + TypeScript. It has responsive design, and most of core functions works, except the settings UI. |
Beta Was this translation helpful? Give feedback.
-
Something I brought up a while ago (#7217 (comment) :-) that may improve the ability to test altWebUI more safely (meaning, having the ability to always have control of the program if no crashing), is maintain the WebUI core always running (ie at http://qBwebUI:port/), and the altWebUI in a fixed subtree (ie http://qBwebUI:port/altWebUI/) if enabled via settings, instead of the current situation that's one (core) or the other (alt) running exclusively. What do you guys think? |
Beta Was this translation helpful? Give feedback.
-
In 4.2.4 it will be possible to "lock" qbittorrent to a specific VPN interface, and there will be no leaks. This is due to recent fixes in the network interface setup code as well as fixes on the libtorrent side (1.2.6). |
Beta Was this translation helpful? Give feedback.
-
I am totally up for this approach. I did a brief look at the @CzBiX approach and it looks fine to me. Material design is something I suppose we are all familiar with. The implementation seems great as well. @CzBiX I am open to join you with what you already have and start developing on top of your work. I also think if we start a design prototype in e.g. Figma. I know it will make the process a little bit heavier but it is worth it. |
Beta Was this translation helpful? Give feedback.
-
@WolfganP There is a workaround to achieve your idea. @bbogdanov I'm not good at design, so you may design it as what you wanted. I will follow your design works. |
Beta Was this translation helpful? Give feedback.
-
Having an option to serve default UI with an |
Beta Was this translation helpful? Give feedback.
-
It seems very awkward to flip how the default webif is accessed based on a flag. It makes sense that it should be consistent. The default webif always accessible at
I'm a huge fan of doing the most with the space you have as long as it's not overly cluttered. I HATE when you have to go menu diving or page flipping to do something that could have easily been available on the main page. I'd suggest avoiding navigating away (other pages, menus, popups, etc) whenever possible. |
Beta Was this translation helpful? Give feedback.
-
I don't think the default should ever be re-routed, overridden, etc. I think it's best to always have the default webif available at a consistent url so you can always navigate to it without messing around with settings. |
Beta Was this translation helpful? Give feedback.
-
Default UI should always be accessible by some persistent route as a fallback, that goes without saying. The question is whether we should have a possibility to select which UI to serve without prefix or not. |
Beta Was this translation helpful? Give feedback.
-
How about the default webif always at You can have a dir in the config path where they're stored. If my config path is Also, the webui's could add functionality, say to the qb logo, where if you click it, you get a list of all the installed webui's + default that you can select from to make it very easy to flip between different ones. |
Beta Was this translation helpful? Give feedback.
-
I think these guidelines are enough at this point and I can start coding it. @pozemka I will try to reduce the tallness while developing it. @CzBiX Are you still on board after seeing the design prototype? |
Beta Was this translation helpful? Give feedback.
-
@bbogdanov This looks pretty good. However, I think some elements are just to big, when they could be a little smaller for more space efficiency. For example, the row height on the main transfer list. I'm not saying it would be best to make everything denser, but a few things could be denser IMO, without making the overall design too cramped. |
Beta Was this translation helpful? Give feedback.
-
I agree. Some compromise between comfortable and compact. Something like GMail has -- not sure if that DLS we want to follow, but at least an example. |
Beta Was this translation helpful? Give feedback.
-
My thoughts are the same as above, too many spaces to me. |
Beta Was this translation helpful? Give feedback.
-
@CzBiX No worries. I will start and you can jump when you have time. @FranciscoPombal Do you guys have some kind of chat platform that you are using for communication? I think the issue can get huge if we continue to communicate here. |
Beta Was this translation helpful? Give feedback.
-
@bbogdanov I've been using |
Beta Was this translation helpful? Give feedback.
-
@CzBiX Do you plan to continue working on your webui? I've been using it in dark mode and love it so far! Wondering if you intend to add settings and/or rss?? |
Beta Was this translation helpful? Give feedback.
-
The plan is to use his project and build everything I've shared so far as designs on top of his work. I hope that answers your question. |
Beta Was this translation helpful? Give feedback.
-
@bbogdanov Thanks for the update. I was concerned that CzBiX webui was abandoned. Regarding settings, I'd like to request that you please include all the advanced settings as well. That's one huge disadvantage us non-gui users had -- the webui was missing the advanced settings that were only accessible thru the gui. Users shouldn't have to install a gui version (and desktop environment for it to run in) to properly configure it. |
Beta Was this translation helpful? Give feedback.
-
@bbogdanov I'd love to help with mobile designs please - do you have a repo you're working on? |
Beta Was this translation helpful? Give feedback.
-
I am using Figma for the designs. I can add you to the project, but I will need an email to do that. From code perspective, I didn't start developing the new designs. I am quite busy at the moment and I think I will be able to start coding for this project in two weeks. |
Beta Was this translation helpful? Give feedback.
-
Fantastic - hello@jamiehowarth.me! |
Beta Was this translation helpful? Give feedback.
-
@bbogdanov UI looks rly good. just wondering, do you have any thoughts about rss support as well? btw keep doing great job, if you can make this real, it will be best webui for qbit. |
Beta Was this translation helpful? Give feedback.
-
@FranciscoPombal Can you share what happened with the Web API documentation? Seems like it is deleted. |
Beta Was this translation helpful? Give feedback.
-
https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-4.1) |
Beta Was this translation helpful? Give feedback.
-
Everyone is welcome to share ideas/code about the development of alternate WebUIs here.
Rules:
This is not for feature requests about the main WebUI. However, if some good ideas come out of this discussion that have not yet been implemented or requested for the main WebUI, feel free to submit a separate feature request (or even better, a PR!).
Please refrain from posting comments such as "+1" and "me too" to not clutter the thread too much, use reactions to express such feelings instead.
Finally, I think this goes without saying, but do not whine about "why is this feature not in the main WebUI yet???".
Happy hacking everyone!
Beta Was this translation helpful? Give feedback.
All reactions