Tuesday, March 04, 2008

So, a thought struck me. Ubuntu currently has a horrible default bittorrent client. It's about to be replaced by Transmission which, while definately a step up in the world, is still feature lacking (in my opinion) as compared to other available clients, most especially the great work done on the GTK Gui for MonoTorrent.

I propose that that the MonoTorrent GUI should be bundled with Ubuntu. MonoTorrent supports everything transmission does (except for Peer Exchange[1] and scheduling[2]) along with these extra cool features:

* Fast Peer Extensions - allow you to start a torrent faster
* Udp Tracker Protocol - allows you to use the bandwidth saving UDP protocol for tracker communications
* LibTorrent Extension Protocol - Ok, this is only partially supported. While it's implemented in SVN, it's not fully tested or enabled by default yet.
* RSS Feeds - Automagic downloading from RSS feeds. (see video)
* Organise downloads into tags (see video)
* Multi-Tracker Protocol support - If the main tracker is down, no worries! You can use the backup ones!
* Retarget Files before/while they are downloading i.e. you can rename a file as you download!
* Can monitor a folder and automatically load and download new torrents
* Minimizes to the gnome notification area.

The GUI including all supporting libs is a 384 kB package, and i think in the region of 600kB when installed[3]. What we're looking at is 600kB for a fully fledged, feature rich, uber snazzy bittorrent client. The best thing is [b]all[/b] the dependencies are already on the live CD.

So, if there are any Ubuntu devs out there, would you like to consider MonoTorrent as the default bittorrent app? If not, why not? I'll gladly do my best to fix any issues you have. Leave your comments below and lets get some discussion going!

[1] It'd take a few hours to complete support for this with tests.

[2] I did actually receive a patch to implement this a long while ago, but in the end, it fell by the wayside. I am a horrible person :(

[3] The package can be reduced a fair bit by splitting out the Tracker component of MonoTorrent using the Linker and removing bundled libraries which are available as packages nowadays. I'd guesstimate at least 100kB can be saved from the installed size from these optimisations. 70kB by removing the bundled DBus stuff and at the very least, 30kB by shrinking MonoTorrent.dll.

UPDATE: I'd just like to point out that an official name has been chosen for the GUI: [b]Monsoon[/b]. The next release will have everything rebadged to this name.

5 comments:

dBera said...

I can already hear their concerns "Look Ma! Yet another mono program in Gnome/Ubuntu" :-D

Jonathan Pobst said...

I think one thing that might be nice is to choose a non-MonoXXXXX name. Hopefully there is something cool that isn't taken yet by the quarter of a billion BT clients out there. :)

Alan said...

Already done:

Monsoon ;)

Maybe i should have mentioned that before...

John Dong said...

Hi Alan,
I'm one of the Ubuntu maintainers for Transmission and also take care of our other torrenting options too... We chose Transmission because of all the clients we had to choose from, it was the most mature, stable, and reviewable for migration to the "main" section.

I am personally a big Mono fan and trust me, I've had my eyes on Monotorrent (err, Monsoon) the whole time. I can't wait to see where it will go!


Kind regards from Ubuntu-land,

John

Alan said...

Cool, that's good to hear. Personally speaking, i wouldn't deem Monsoon quite ready for mainline integration as a standard package in a distribution. But in a few months, maybe this will change.

Either way, we'll find out in the future ;) When I think things have progressed far enough, i'll raise the topic again. This time, i just wanted to see what the prevailing opinion was.

Hit Counter