Are you and your friend both connected to your same wifi? I.E. your sitting next to each other testing? I haven't looked at Tonido in a bit but if I remember correctly you are creating a tunnel to a Tonido server with your laptop (server) and your friend is creating a tunnel to a Tonido Server with his laptop (Client).
I have a Western Digital External USB Drive Case (with a Seagate 600GB drive inside of it) that I was trying to use as a NAS connected on the USB port of an ASUS RTN-16. The transfer speeds from a PC with an ethernet connection directly to the router was extremely slow. I decided the Router should be a router and not try to be a NAS at the same time so I went with another option. I did leave the drive connected; however, I still had plans for it.
I setup a server (laptop like you). In my case it is a Asus EEPC 1000HD. The display died on it and it was sitting doing nothing. Now it is my cloud server

I am running Linux Mint on it. Not a good server version of Linux but it was already installed from when I was using it as a laptop. I added a 500GB USB drive to it and installed owncloud
http://owncloud.org. I use the internal drive for boot and I mount /var/www onto the USB drive. Thus all of my data (and the entire Apache2 web directory) is on the USB drive.
A port forward of external: 443 to the EeePC:443 brings the internet connection to the Owncloud server. I now have a cloud I can access from anywhere including sync clients for Android, Linux, Windows, and I assume iOS as well.
I just grabbed a file to test the speed and going through two VPN tunnels and also via SSL (
https://) I was downloading data at 428kbps. The EeePC is connected via a 10/100 NIC into a 10/100 switch into a GB port on the Asus RT-N16 and I have a 4.2MBps upload (tested not claimed) internet connection.
The EeePC is a lowpower netbook and not very exotic hardware at all. Your laptop should likely perform better.
In addition to this I have a cronjob on the EeePC that fires off RSYNC to sync the EeePC USB drive with the USB drive that is connected to the router. This way I have redundancy instead of through a RAID through a redundant array of inexpensive USB NAS drives

. I SYNC every night so a loss would be a days worth of data only and the bottleneck/slow transfer is during off hours. Acceptable for my needs.
So bottom line, if you can try something like Owncloud, run it on your laptop, and connect your laptop to a ethernet port you can then get a better read on the bandwidth you can expect.