A friend of mine had a specific problem: he needed to transfer a big file (and with big I mean 10GB) from one side of the country to the other. Time to burn a DVD (in fact, split the file into 3 parts and burn 3 DVDs) and send it, was not available. Besides, it is a hassle. I did some basic Google searches on how to transmit big files and found a few services that let you do it, some mailers that allow big files, etc. All of them have a file size limit. Most of them are too low (in the vicinity of 2GB) and almost all of them required registration, fees, and other annoying things. And that in the world of broadband, where I should be able to send my 10GB wedding video in little over one and a half hour. The best one I found was Memeo Send, but to use it more than 3 times, you’ll have to pay.
So I started thinking; how can I create a program to transfer big files?
The first thought is to create an application, that will listen on a TCP port and the same app on the other side will connect. Simple, easy, will work. One problem: everybody is behind a firewall/router these days and the listening side will only hear cybersilence.This made me make a list of demands of the program, will it ever be a succes (meaning, I will use it myself):
- Easy-to-use; this means creating a simple user interface and a decent installer (or something that works out-of-the-box like PuTTy).
- Works behind a router/firewall; this is the hard part. The app will have to support something like UPnP, or it could use a third party for the communication. I thought about IRC, MSN, or any other protocol that can help here. It should be freely available to minimise any setup-hassle and, of course, costs.
- Works on all major OSs; Linux, Windows, Mac OSX, etc.
- No size limit. Ever. The only limit should be the receiving end’s free hard disk space.
If anyone has any ideas, please share. If your idea is used, your name will be credited in the program and you will live on forever in the realm of people-that-have-contributed-to-some-computer-program.
Update: the first released version is available..