Android Application

could we see an android version of tribler ?

3 Likes

I think some time ago we did something like that… It is definitely doable, but it is definitely not a priority now. As it is, Tribler is a bad fit for Android for several reasons:

  • Tribler is written in Python, which has no good support for Android;
  • Python is a very inefficient and resource-hungry language, which is a bad fit for mobile apps, which must be lightweight and battery-aware;
  • Tribler GUI is written in QT, which is impossible to port to Android. To work on Android, the GUI would have to be redone completely in another library (e.g. QML);
  • Tribler moves lots of network traffic in the background and requires constant network connectivity, which will drain the mobile traffic limit and battery quickly
  • Mobile phones have little disk space, while downloading and sharing torrents requires lots of disk space

Having said all that, we are producing an experimental app that uses our IPv8 library to interface with some elements of Tribler network. You can trace its progress here

3 Likes

You might want to try Cython. Keep most of the code in python, but rewrite the most intensive parts in C for large boost in performance, then, convert everything to C and then compile with GCC or LLVM.

2 Likes

Thanks for the hint, we already discussed Cython before. There were even plans to rewrite the Tunnels endpoint in Rust or Go. Unfortunately, this will require some major DevOps-related changes too. We got no resources for that kind of thing right now and in the foreseeable future.

2 Likes

But why would you want Tribler on a smartphone? What’s your use case?

1 Like

Torrenting, but not on cellular.

2 Likes

That is not typical usage. Typically, people install Tribler on their media center, then share the torrents folder through something like MiniDLNA.

2 Likes

Please, understand that our team is constantly understaffed for such an ambitious project. We have to carefully select what to do next every time. Investing into an Android version will probably serve a very small percentage of user, will bring more support trouble and, most importantly, will cost about a year of a developer time. We can’t afford that right now. Though, we hope that in the future, when Tribler specification is complete on the desktop, we will be able to hire some external contractors to do alternative platforms, e.g. Android.

3 Likes

Without wanting to dig up something so old, I’d have thought the main purpose of a tribler mobile client would be to talk to a desktop/laptop to add torrents to that. That’d be a relatively simple app compared to a full port to android: basic auth, hit the REST API to read existing torrent info (optional) or search/add torrents.

Also, if you need some help with DevOps I’d be happy to drop by discord - it is my day job and I’m not bad with python but not much of an app developer. CI woes are very much my thing though…!

1 Like