BitLet - Bittorrent Applet

BitLet - Bittorrent applet

In the summer of 2007, shortly after launching Novlet, Daniele and I still had time to spare and were looking for something new to build. Sure enough, within a short period, Daniele came up with the idea that would soon become BitLet: a BitTorrent client that could run in a browser without requiring users to install anything on their computer.

Back then, browsers had very limited capabilities: AJAX had been recently introduced (in 2005), web applications were moving from static pages to dynamic client UIs but no browser could do things like opening sockets and writing files locally, central requirements for a peer to peer file sharing application.

We found a solution in an unlikely piece of technology: Java applets. Despite Java’s success as a programming language, applets had never been that popular among casual users. While a good idea in principle (small applications that could be downloaded and launched from web pages), the concept never got traction beyond a few niches.

One of the main reasons is that Java applets didn’t look that great. Given the need to run across multiple platforms (Windows, Linux, Mac), applets used their own window toolkit for rendering interfaces, which led to UIs that always looked quite different from what users were expecting most of the time.

What made BitLet possible, however, was the idea that we could have the applet implement the BitTorrent protocol while relying only on the browser for its interface.

The interface we had in mind was very simple, centered around a streamlined download window.

Wireframe for BitLet’s download popup

We had a first version shortly after, an applet with no Java UI that would use JavaScript to communicate with the hosting browser to handle events and drive page updates.

BitLet’s download popup

We built a very simple website around it and published it. Within days, BitLet took off. People loved the simplicity and the ability to use BitTorrent anywhere, without needing to install any client software. One of the very first articles featuring BitLet stated:

Very useful if you want to share a torrent with your BitTorrent illiterate friends, or if you’re on a computer that doesn’t have a BitTorrent client installed.

[…]

I’ve tried it with a couple of torrents and it seems to be working quite well, just enter the url of the .torrent file and you’re good to go. The download speeds are decent and doesn’t require any configuration, so it’s pretty much idiot-proof.

As user took notice, a few prominent file sharing sites did too, and embedded links to BitLet on their download pages.

We kept adding features, introduced the option to stream music and video as they were being downloaded, added UPnP support to open ports on home routers for faster transfer speeds, wrote a Chrome extension to make BitLet the default download option for torrents.

BitLet’s music streaming

We had a great time working on this, it’s been a great side project that was also very interesting technically.

Years later, applets became less and less popular, with several browsers dropping support for the Java plugin that allowed running applets, which led Sun to officially deprecate the technology in 2016.

That signaled the end of an era for us: BitLet was considerably harder to use for people and the initial value of simplicity we built the applet around disappeared.

We turned off bitlet.org in 2016 and open sourced parts of the infrastructure:

Avatar
Alessandro Bahgat
Software Engineer & Manager

I am an engineer and manager of engineers, I sometimes play with side projects and write about my experiences in my spare time.

Liked this?

You can sign up here to be notified of new content. Low frequency, no spam.

Related