Discussion on GUI and "Frontend" Code STACK change. #6525
Replies: 4 comments 2 replies
-
I wonder how that would stand from the security standpoint. Also, I don't get how browser-based apps are allowed to use external low-level libraries like Libtorrent. |
Beta Was this translation helpful? Give feedback.
-
We don't copy trackers or anything like that. Tribler's Channels system is a decentralized, collectively-authored database independent of Web. Users are free to put anything there, named whatever they want. Sometimes users decide to create a dump of some popular BitTorrent tracker. That is it 🤷 |
Beta Was this translation helpful? Give feedback.
-
For your reference, a recent discussion about using Web stack in Tribler: #5914 |
Beta Was this translation helpful? Give feedback.
-
Yes, you are very correct! The front-end part of Tribler could use a lot of improvement. We're a small non-profit development team. Because we're actually scientists at a university our focus is the back-end. After 16 years (really!) of effort the backend is starting to get better, in a few years we hope to give the front-end our exclusive attention. But we're probably not going to do a complete re-write using browser tech, we're old-skool light-weight focused. You are very welcome to start contributing to our open source project, we specifically designed our REST api for GUI specialist contributions (https://tribler.readthedocs.io/en/latest/restapi/introduction.html). Hope this helps! -j |
Beta Was this translation helpful? Give feedback.
-
Nice to meet you all!
Disclaimer: I DO NOT HAVE A FULL UNDERSTANDING OF ALL THE TECHNOLOGIES USED IN THIS PROJECT.
The last 24 hours I used Tribler as my torrent client. I live in Japan as an expat, originally from California. For me a torrent client is my main tool for entertainment content besides YouTube. I work as a software developer. I don't have a specific expertise. I have been coding since I was 10 years old when I got a Commodore 64 back in 1983. These days I work with Rust, Python, C++ and a bunch of Jamstack technologies. I enjoy both frontend and backend, but I am horrible with CSS and making stuff look pretty.
Back to Tribler. The GUI is the part that stood out the most. For a project with this much love and a decent community, I was surprised at how bad the GUI looked and performed. I noticed a number of bugs and strange usability issues. Besides the overall UI look and feel, the channel feature set was very odd. The selection of torrent subjects was so odd and mismatched. The selection of torrent sites was also rather odd, as almost none of the top 50 torrent sites were listed as options.
Disclaimer: I DO NOT HAVE A FULL UNDERSTANDING OF ALL THE TECHNOLOGIES USED IN THIS PROJECT.
Some initial immediate ideas on technology stack for a GUI: For frontend I would move towards Rust + Sveltekit + NEXTJS (v12)+ WASM + TailwindCSS+UI and then use a few interrupters for some of the important Python pieces. For the most part we will not need to use any interrupters. I need to get a much deeper understanding of all the features that are included with Tribler. Such as Tor, Streaming, additional security features, etc.
The reason I am suggesting this stack are based on the benefits of NextJS v12. The short version of what excites me is being able to run Tribler in the browser and offloading all the client-side processing to the server. NextJS has a native Rust integration. Full desktop apps can be loaded into NextJS as native Javascript components. The end result is a super slick and modern GUI for Tibler with all the hardcore goodness on the server side.
Beta Was this translation helpful? Give feedback.
All reactions