BitTorrent clients review

For downloading BitTorrent files, I have been using TorrentStorm until now, but development and distribution of that client has stopped, and as such there is no prospect that the issues it has will be solved.

So, I thought it would be time for a change, and I’ve evaluated a number of BitTorrent clients that are currently available for Windows, based on the list at Wikipedia.

This article was last updated on 2005-11-10.

Update: I have received quite some comments, and have now updated the article. The review of Azureus is now slightly less dismissing and hopefully better succeeds in explaining why I really really don’t like it. I was also pointed to some issues in G3 Torrent I initially hadn’t discovered/known about. However, it turns out that G3 Torrent has been continued under a different name, Rufus, with the main issues that it had fixed. So I have updated the review accordingly, and Rufus is now my second choice instead of G3 Torrent.

Finally, please remember that I am not looking for a client that can do everything. Instead I’m looking for a client for the average user, that is easy to use, and does what I need (see requirements section). ~Grauw, 2005-10-16.

Links to my blog posts about the review:

Table of contents

Requirements

First, let’s make a list of the features I use and think are essential:

  1. Single window with list view
  2. Individual file download
  3. UPnP and NAT traversal
  4. Good details view
  5. No ad- or spyware

The first is I think essential to conveniently control your torrent downloads. Having a separate window open for every torrent that downloads is not convenient, and all clients which do that are not in this overview, this includes the original BitTorrent client and BitTornado.

Features no. 2 and 3 can’t be found in every client, but they are important. Individual file download can save a lot of time (if you just need a single episode out of the 24 in that torrent), and the feature is something that wasn’t commonly available a year or two ago, but nowadays every half-decent client should have it. UPnP is a convenient technology which automatically detects and configures your router. Without UPnP, you have to manually change settings in your router to forward a number of BitTorrent ports to your computer, in order to achieve better transfer rates.

As for feature no. 4, most clients have this and it can give some bonus points if it’s done well :). And feature no. 5 is obvious. None of the clients that I have reviewed contain spyware. I have not reviewed BitLord and Turbo Torrent because they do contain adware or spyware.

The reviews

A quick note before we begin, if you’re looking for screenshots, take a look at the software’s site, they’re usually relatively easy to find there. Also, you can find a chart which compares some of the features that the clients offer at Wikipedia.

TorrentStorm

Homepage: http://www.torrentstorm.com/

This is the client that I have been using for a long time, and as such have the most experience with. All in all, it is easy to use and works well, but it has a few issues as well:

Those things aside, it is a pretty comfortable piece of software, with all the necessary features, automatic downloading too, and a good detail view. However, because development has now stopped, I felt it is time to move on. I am also tempted by the promise of some clients to have a low footprint. For me to use anything else though, it needs to match TorrentStorm in features.

In hindsight, I think TorrentStorm can best be described as being a middle ground between ABC and Rufus.

ABC

Homepage: http://pingpong-abc.sourceforge.net/

ABC is a shell around Shad0w’s BitTornado, just like TorrentStorm is. It doesn’t support UPnP, so that’s a definite disadvantage. The interface is standard, with a number of extra toolbar buttons at the bottom for mass changes (‘start all’, etc). It’s easy to use, and it also contains a web interface through which you can control it as well. Downloading individual files from a torrent works as expected, too.

Basically, there isn’t much to say about ABC. It works, but it doesn’t stand out. It’s not fast, but not really slow either. I wouldn’t recommend it because of the lack of UPnP support or particularly interesting features.

Azureus

Homepage: http://azureus.sourceforge.net/

Azureus is a BitTorrent client written in Java, that is used by quite some people and seems to be reasonably popular. But simply put, I really don’t like it. It is big, ugly, takes ages to start, and everytime I tried to use it I found it confusing to work with. There are too many options, which seem to be placed and added at random, there is hardly any grouping to speak of. It’s also got huge annoying tray popups.

Some points in favour of Azureus are that it has all the features you will ever need and more, a plugin system to extend it, and an interesting torrent details view with pretty completion bars and a nice-looking swarm view (which is pretty useless though). But the options are messy enough to discourage anyone from changing the defaults, and most people won’t need a lot of the features it has. Yet they are there and clutter the UI, at the cost of simplicity and usability.

Basically, it has ‘bloated’ written all over it. It is the ‘Mozilla suite’ among the BitTorrent clients. And that’s why I can’t recommend Azureus.

Arctic Torrent

Homepage: http://www.int64.org/arctic.html

The user interface of Arctic is simple - too simple, unfortunately. It has no icons to show the download status, no toolbar, the downloading starts immediately, I can’t control where to download the file, it has no UPnP support, it minimises to the tray which can’t be disabled, etc… It advertises low memory requirements and CPU usage, but there are other clients which have that as well and have more features. So, just ignore this one.

BitComet

Homepage: http://www.bitcomet.com/

Although having a bit too many flashy icons, and an UI design that has too little spacing for my liking, this is a nice client. The interface is not as simple as it could be, it has a three-pane layout which in my opinion could be reduced to one without losing any value, but it does the job. And you can remove the sidebar.

By default it pops up a dialog when a new download is added which lets you determine a download location, how to download the torrent and which individual files from the torrent you want to download. This is a nice dialog, although I would probably turn it off and change it from the defaults when I need it. When the file is downloading, it offers the usual controls, and in addition to that also a ‘remove torrent & all files’, which is nice because you then don’t have to delete the partial files afterwards if you don’t want them after all. Other clients offer this feature too, by the way, but BitComet’s method is the most simple and intuitive.

Another interesting feature is ‘preview media’, which I suppose causes the client to download the torrent more sequentially instead of randomly, and will let you view a bit of the file you’re downloading. Perhaps it will even let you play the file as it downloads, if the download bitrate is going faster than the player is, I didn’t test it that thoroughly :).

One potentially interesting feature they advertise is that it has an intelligent disk cache. On high speed connections (such as mine), when you download from torrent files with transfer rates of 500 kb/s or higher (I’ve never seen that happen :)) BitComet caches the data to access the disk less frequently. As Windows itself also uses read/write caching, I don’t know whether this really makes a difference, but it could be.

BitComet has a lot of translations available, amongst others a Dutch one which is selected by default. Unfortunately, it is quite an awkward and unprofessional translation, with terms like ‘Aanzicht’ for View (is supposed to be ‘Beeld’), and ugly grammatically incorrect stuff like ‘Globale Maximum Download Snelheid’ (is supposed to be ‘Globale maximum downloadsnelheid’), etc. Fortunately, switching to English is easy.

Finally, during the uninstall process, it doesn’t clean up well. The application directory is still there (seems like it stores application data there as well - that won’t work on Windows Vista or restricted Windows XP user accounts!), and the registry entry also hasn’t been removed.

That aside, all in all it looks like a good client.

BitSpirit

Homepage: http://www.167bt.com/intl/

During the installation procedure, it wants to install a ‘TCP/IP limitation patch for WindowsXP SP2’. I don’t like the sound of that, and I can’t find an easy-to-find location on BitSpirit’s website which explains what that does, so I choose not to install it. I don’t want a simple program like this to run system patches. It also doesn’t clean up properly after uninstalling.

Update: it seems that this patch disables a security measure in Windows XP SP2 that Microsoft has added, in order to make viruses spread more slowly. However, the limit that the OS imposes is only for very specific cases, and it is quite possible to work around it in the software itself, there should be no need to patch the OS.

BitSpirit has looks and capabilities similar to BitComet, but it has a lot more (unnecessary) options, which I think are confusing, and the whole ‘feel’ of the program is also a lot more heavy. It also asks me a number of things during the initial run, and by default shows a nice-looking but annoying transparent status bar on top of all windows (also when BitSpirit is minimised), for which it is not immediately apparant how to disable it.

This client kind of falls inbetween Azureus and BitComet. If you want a BitTorrent client like this, BitComet is the better choice.

Rufus

Homepage: http://rufus.sourceforge.net/

Rufus is basically the continuation of G3 Torrent (which was in the previous version of this review), development of G3 Torrent has stopped. It fixes the some important issues that were present in G3 Torrent, amongst others the transfer scheme that had given G3 Torrent a bad reputation.

This client has a lot of nice features. The first thing that you notice is that it displays really good graphs (not unlike Azureus), the progress bar in the status window shows the segments that you’ve downloaded, and it draws a graph of the transfer statistics and the availibility. The list of individual users that you’re downloading from even have a flag of the country they’re from. Nice candy, bonus points awarded.

With regard to real features, Rufus is pretty impressive as well. When you download a torrent with multiple files, it pops up a dialog which asks you which to download, and also allows you to specify a preference order to download. Very easy. It also allows you to prioritise a user when uploading (e.g. a friend). And to top if off you can let it automatically download files based on an RSS feed.

More capabilities reveal themselves through the preferences dialog (which organised well and contains informative notes). It also has the ability to move completed downloads to another location, which is nice because it is then easier to distinguish them from incomplete files. And finally, it has a web interface so that you can easily administer your transfers remotely. Unfortunately, it doesn’t seem to like IPv6 a lot, which makes the feature useless to me.

The main downside of this client is that the UI feels a bit slow. This is probably due to the fact that it is, like the original BitTorrent client, written in Python (an interpreted language). That doesn’t seem to affect the transfer speed though, because as I see the upload speed increase to over 1000 kB/s, it doesn’t use much additional CPU resources.

The small resource usage issue aside, Rufus has a healthy amount of useful features and is easy to use, so I can certainly recommend it.

Shareaza

Homepage: http://shareaza.sourceforge.net/

Shareaza is a very ‘heavy’ program, and it has some UI quirks because it is skinned. For example, when you have your task bar configured so that it pops up when you move your mouse to the bottom of the screen, that doesn’t work anymore when the Shareaza window is active and maximised, which is pretty annoying. I would have preferred it to use the native XP theme. Also, the buttons on top sometimes behave like tabs, and sometimes like buttons creating other tabs on a bar below it. I miss a bit of consistency here.

The current release (2.2) also doesn’t include UPnP support, but supposedly the next one will.

With regard to BitTorrent: it works, but it doesn’t offer a lot of control. Shareaza is a nice piece of software, but its main goal is to be a Gnutella and eDonkey P2P client, and that is what it should be used for. The BitTorrent support is just a bonus.

Torment

Homepage: http://www.darkknightsoftware.com/projects/torment/

Torment is a very basic BitTorrent client, however it does contain some of the more useful features that Arctic doesn’t. It supports UPnP, remote administration via telnet, and allows you to select a block selection method. The block selection method can be set globally, which is strange because the ‘rarest’ method is quite essential to the functioning of BitTorrent, ‘random’ is quite useless, and ‘sequential’ can be useful if you want to be able to preview a file, but should certainly not be set globally. Looks like a case where the developer added options because he could, not because they were useful

The details view has a ok-looking ‘block map’, and the client list has nice ‘Azureus-style’ file completion bars. You can prioritise files downloads, but not pick one specific file. When you want to remove a torrent from the list, you can choose between ‘Unload’ and ‘Remove’, where the difference between the two is unknown to me.

This is still a rather bare-bones BitTorrent client. Again, if you are looking for that for performance or footprint reasons, there is a better option, being…

µTorrent

Homepage: http://www.utorrent.com/

µTorrent is quite an impressive BitTorrent client. It is only 94kB in size, yet boosts an impressive amount of features. It doesn’t come with an installer however, so you’ll have to put it in the Program Files directory and create a shortcut to it yourself.

Graphically, it does much that Rufus does as well (but then much much faster). The user interface is the simple 2-pane view that most BitTorrent clients have, with in the top half the list of torrents, and in the bottom half the torrent’s details and statistics. Like Rufus, it draws a transfer statistics graph, and has country flags next to the users that you’re downloading from.

There are many convenience-details in this client. Through the context menu of a torrent you can open the containing folder, and when you do that on a file you can open the file directly. It has a remove .torrent + data option, too, and completed files can be moved to a different directory than the download path.

Some of the more advanced features that show up in µTorrent are that it has a scheduler so that you can schedule when it should start and stop downloading, and it can automatically load torrents from a directory (could possibly be combined with an RSS reader?). There is also a setting to delay the I/O and thus reduce the disk writes. Of course it can prioritise files as well, and downloading single files works properly. It has incremental downloading support, though it has to be explicitly enabled (‘sparse files’ in advanced options).

Features that are in Rufus and that I miss in µTorrent are the web interface, RSS feed support, and prioritising uploading to a certain person. They may be added sometime, µTorrent is still in heavy development; the last three versions had an interval of only a week, and the latest release was yesterday :). According to the forum, RSS feed support is planned. The prioritising thing would be nice, but it’s not really important, and as for the web interface, I normally use Windows Remote Desktop anyway :).

Finally, µTorrent is very small, written in C++, and uses very little resources.

ZipTorrent

Homepage: http://www.ziptorrent.com/

ZipTorrent is not a really pretty program, showing big ugly toolbar buttons and fat bright icons with little spacing, and it doesn’t give a lot of control over the downloading of the torrents. However, it definitely has strong points. After installing, it leads you through a very well-thought out configuration wizard, which can automatically detect your transfer speed and whether you are behind a NAT, and gives clear explanations and instructions. The rest of the program is also easy to use.

Furthermore, it has an RSS feeds manager, which has a number of feeds added by default (some legal, some not-so-legal) which you can subscribe to, so that it automatically downloads the latest interesting files. It also has an integrated search function, using Google and Yassu by default, which seems to work pretty well (although it doesn’t decode escapes like %5B in URLs). And if that isn’t enough, it also has an IRC client built-in, with (automatic) download capabilities.

If you are a novice user and don’t really care about looks and the inner details of BitTorrent, this is for you. If you like the thought of integrated torrent RSS feeds and search capabilities, this is also an interesting choice.

Conclusion

There is a wide choice of BitTorrent clients around, and as such it can be difficult to choose. Some clients are bloated and slow, others barely have any functionality. Based on looking at the abovementioned clients, the following are my test results:

The absolute no. 1 is… µTorrent. µTorrent is small, fast, clean and really powerful, and it’s a breeze to use. It is a big improvement over TorrentStorm, both in speed, stability and features, yet it manages to keep things simple. When I look at what transfer speeds I reach now, I also have the impression that TorrentStorm was holding me back. And it will only get better, because it is still actively being developed! I recommend everyone to use µTorrent.

The runner-up is Rufus. It’s a bit slow, but that need not stop you from using it. It has a nice interface and a great feature set, in particular the web-interface and RSS support are interesting.

Finally, if the ability to preview videos appeals to you, you could consider BitComet. It is quite a decent client with all the functionality that you need.

Grauw