Monday, March 20, 2006

µTorrent Interview - October '05

First published here.

Alex H: Who makes up the µTorrent team?

µTorrent: Ludvig Strigeus (Ludde; Swedish) is the author and programmer of µTorrent. Serge Paquet (Vurlix; Canadian) has the project leader role, by coordinating releases, maintaining the website/forum, helps with debugging and helps the translators.

Alex H: With so many other BitTorrent clients out there, why did you guys decide to build another one?

Serge: There are three reasons that lead to the development of µTorrent. First, I got sick of large, slow and inefficient applications hogging all my resources so I wanted to build something tiny and powerful. Second, I was interested in the BitTorrent protocol, because it is simple, effective and relatively well documented (and I also downloaded a lot using it). Making an efficient BitTorrent client seemed like a good place to start. Finally, Ludde was looking for a project to work on and liked the idea. µTorrent was born.

Ludde: I'm somewhat obsessed by making tiny and resource friendly programs, and when Serge brought up the idea I thought sounded really interesting. I didn't plan to make a full featured client at that point, I just wanted to learn about the protocol and it seemed like a fun and challenging task to make a resource friendly BitTorrent client. I worked on it for a month or two and then I stopped developing it. Then I didn't work on it for a year, and now like a month ago I finished the remaining pieces and released version 1.0.

Alex H: What are some of the biggest changes between 1.1.3 and 1.1.4?

µTorrent: The network subsystem was partly rebuilt to a different model to accomodate the many faulty antivirus/firewall software in use today. The change even seems to have lowered resource usage slightly. Also new is better handling of skipped files within a torrent.

Alex H: µTorrent is REALLY small (1.1.4 is 91KB) how did you manage to squeeze so much code into one .exe file? What can you tell us about the development process?

µTorrent: µTorrent was built to be as tiny as possible from the very beginning. To achieve this, we avoided the use of many heavy libraries (notably C++ standard Library, stream facilities in particular) and put together our own substitutes. Finally, the executable was compressed to half its size.

Alex H: How does µTorrent, compared to other BitTorrent clients?

µTorrent: µTorrent performs extremely well. It is unrivaled in CPU/Memory usage and very high transfer speeds have been achieved. At this rate, the competition will soon be left in the dust.

Alex H: What are some of the goals you've set for the next version? How about the version after that?

µTorrent: Currently we're working on internationalization (unicode) to enable more people to use utorrent. We're also working towards DHT (decentralized mode) to help downloads where trackers die or go offline. We try to listen as much as possible to the quickly growing userbase, and by being active in the forums, we get a good idea of what users want.

Alex H: How do you see the BitTorrent protocol developing over, say the next three years?

µTorrent: BitTorrent's strength comes from many peers downloading the same (ideally few) torrents at the same time, exchanging pieces and increasing the swarm's efficiency. The more peers (the more popular) the torrent, the higher the swarm's overall throughput. The difference between BitTorrent and file sharing networks is that the distribution is focused. With the introduction of unattended downloading (usually through RSS), it's become possible to quickly distribute very large volumes of data as it is made available. It is the process of efficiently streaming (focusing) this growing volume of organised data that is becoming an active area of development.

Alex H: Has there been any contact between you guys and Bram Cohen?

µTorrent: Not yet. Perhaps we will get in touch when we reach the stage of improving BitTorrent itself.

Alex H: There is a lot of positive feedback on the µTorrent forums. What's your reaction been to the feedback?

µTorrent: The feedback is overwhelming. It seems that we hit a soft spot; an efficient BitTorrent client has been coveted by many users who were previously subjected to the higher CPU usage of python, memory usage of Java's VM, or their client's bad behaviour. µTorrent offers an attractive solution to many users.

Alex H: As a P2P application developer, are you concerned about any legal action against µTorrent?

µTorrent: Not really. Like the original BitTorrent client, µTorrent is a tool that helps download large files and reduce server load: nothing more, nothing less. µTorrent does its job, and it does it well, regardless of the use people have for it.

Alex H: What do you think file sharing applications actually accomplish?

µTorrent: File sharing applications accomplish many things. They lower distribution costs. They increase the availability of content. They help distribute that content faster. And it's all made easy and accessible. But more importantly, it sends a message: the information super highway is finally living up to its name.

Alex H: Thanks for talking to us, and good luck with the project.

0 Comments:

Post a Comment

<< Home