BitTorrent, and BitTorrent Clients

I’m been investing a little time lately trying to learn more about BitTorrent. BitTorrent, a P2P distribution tool, is unique and potentially superior because it allows many people to download the same file without slowing down everyone else’s download. (More: Wikipedia | Y!Search). This background and client review will be a precursor to an entry on BlogTorrent that I’m still working on.

Traditional P2P distribution (Napster, Gnutella, Kazaa) let you download an entire file from another person on the network. BitTorrent is different. With BT, you initially download only a small map of the file. This map describes the many tiny files that comprise the complete file. This map file is called a tracker.

Once you’ve downloaded the tracker, a BitTorrent client takes over. The client coordinates the separate but concurrent downloading of each small file. It always choosing the fastest source. This is a faster and more stable process, capable of handling feature-length movies and other multi-gigabyte files.

Another distinction between BT and more traditional P2P technologies is that with BT, things go faster when more people are on the network. This is the opposite of other technologies, that bogged down on popular files. By definition with BitTorrent, if you’re downloading you’re also potentially uploading. The more people that want a particular file, the more people that have the file. More requesters equals more providers. And more providers equals a faster experience for everybody.

If you’re looking for a BitTorrent Client, I’ve posted personal research from my hours spent looking for the best one. I’m just sharing, I don’t profess to be an expert.

BitTorrent

  • Current Version: 3.4.2 (Windows, plus python source code)
  • Release Date: April 4, 2004
  • Download: bittorrent-3.4.2.exe
  • File size: 2.71 MB
  • Homepage: Bram Cohen

Description and notes: Bram Cohen is the creator of BitTorrent, and made this client himself. It’s open source python.

BitTornado (Windows, plus python source code)

Description and notes: According to Slyck’s BT Guide, this is “[c]urrently the most popular and recommended modification to the [pure BitTorrent, above] source code.” The noteworthy tweak is the “ability to control the upload bandwidth used”.

Azureus Java BitTorrent Client (Cross-Platform, including Mac)

Description and notes: Azureus is a powerful, full-featured, cross-platform java BitTorrent client. It “offers multiple torrent downloads, queuing/priority systems (on torrents and files), start/stop seeding options and instant access to numerous pieces of information about your torrents” and is available in many many languages.

BitComet – a powerful C++ BitTorrent Client (Window)

Description and notes: “BitComet is a powerful, clean, fast, and easy-to-use bittorrent client. It supports simultaneous downloads, download queue, selected downloads in torrent package, fast-resume, chatting, disk cache, speed limits, port mapping, proxy, ip-filter, etc”. I more or less accidentally downloaded this one after desiring more features and a more comfortable look-n-feel that the original BitTorrent Client (by Bram Cohen, above)

(Thanks again to Slyck for info on the first two reviews, as well as background and format of reviews.)

Summary

While a few others exist, and are reviewed elsewhere, I think the software above represents the big players, and a wide range of interfaces and features.

I currently use BitComet. I’ll update you as/when that changes. Let me know your experiences and findings, and if you recommend any others.

Parting Note:

In my reading, I found this BitTorrent summary that caught my eye for it’s succinctness:

Bittorrent in a nutshell: A) Get a client, and B) Click on a .torrent link.