Fast, easy, reliable way to transfer large files between Android devices? (aka. WiFi Direct stories from the field) I'd like to be able to easily transfer large files wirelessly, fast, between Android devices - preferably without requiring root.

As a secondary objetive, it wouldn't hurt if the same solution could be used, to transfer files between the Android devices and a Windows PC. 

Specifically, I'm trying to exchange files between my Nexus 7 (Android 4.2.2) and Samsung Galaxy S2 (Android 4.0.4).


Bluetooth is simply too slow, so that's out of the question
Transfer via the Internet is also not an option, hence so is cloud-based solutions
Only Nexus 7 supports NFC, so that's out too
Fast File Transfer looked promising and very simple, but does not work on "Devices that don't have WiFi Tethering setting, such as the Nexus 7"


Wi-Fi direct (supported from Android 4.0 and up) seems to be a decent lowest common denominator between my two devices, however...

Galaxys S2's native Send via Wi-Fi Direct sees the Nexus, but seems to get stuck in the "Connecting..." most times. When there finally seems to be breakthrough, I get "Waiting..." and a spinning circle. Even if it worked, it would only allow me to send from the Galaxy S2 to the Nexus 7, as a similar option os not present on the Nexus 7.

J4velin's WiFi Direct is no longer available in the Play Store, with the following explanation:


  WiFi Direct drivers are broken on many devices, which led to users leaving negative reviews for this app. As I don't see any sense in keeping a free app published when only getting 1-star-ratings (for an issue which only your device manufacturer can fix), the app is no longer available at the Play Store.


Nick Adams' WiFi Direct File Transfer seems flaky at best. Invations from Nexus 7 to Galaxy S2 are never received. Invitations from Galaxy S2 are mostly received, but even when accepting promptly, the peers doesn't always show as connected. When they finally do, usually after quite a long wait, I can select a file to send but it's never transferred - 
"Transfer failed" it says almost immediately in the notification bar.

budius inc's WiFi Shoot is working slightly better, but still very unreliable. I actually managed to (occasionally) send files both ways, but never when attempting connection from the Nexus 7. To send from the Nexus 7 to the Galaxy S2, I had to go through this akward manoeuvre:


Share the file on the Nexus 7 via the WiFi Shoot intent
Start the Receive WiFi Shoot app on the Galaxy S2
Invite the Nexus 7 from the Galaxy S2 (never the other way around!)
Accept the invitation on the Nexus 7
Press the Shoot button on the Galaxy S2


Take the whole switching back and forth between devices, and garnish with random delays or failures in any step of the process...

Is there really no easy, reliable, fast way to transfer files directly between different Android devices?

Generally, my experience with Wi-Fi Direct is all but positive...


A device often won't even see a device lying next to it
Sometimes, it will see the other device, only to have it disappear from the list, before I have the chance to connect
When I do have a chance, invations are not realiably received (from Galaxy S2 to Nexus 7 mostly reliable, but never worked the other way around)
When invitations are received (and accepted), a partnership rarely manages to be setup ("invited" or "connecting")
And even when that happens, some apps can't seem to transfer files through it...


*Sigh*

Maybe J4velin's explanation pretty much sums up the sad state of Wi-Fi Direct on Android, which otherwise seemed as the best solution to my quest?
Rather than sleeping, I spent a few more hours experimenting.

I found what works best for my needs is an FTP server app. 

For casual transfers, when both devices are connected to the same network, I'll just transfer through my Access Point. With the limitations that implies.

If I'm not near an AP or just want full speed, I'll deal with the hassle of setting of the Wi-Fi direct partnership and then launch the FTP server. It usually takes 3-5 tries before the devices connect, but once they do, FTP works stable and fast.

Furthermore, this solution also satisfies my secondary goal, of being able to use the same method to transfer files between Android device and PC.

Now, there are a lot of FTP server apps out there. Most are ad-supported, most are rather big as well. To my surprise, there's also quite a performance difference between them.

I thought I'd might as well shared my experience with the four FTP server apps I tested...

Required Permissions

None of the tested apps required ridiculous permissions. Just the following special permissions:


FULL NETWORK ACCESS
MODIFY OR DELETE THE CONTENTS OF YOUR USB STORAGE MODIFY OR DELETE THE CONTENTS OF YOUR SD CARD
PREVENT TABLET FROM SLEEPING PREVENT PHONE FROM SLEEPING  


In addition, Andreas Liebig's FTPServer also required:


READ PHONE STATUS AND IDENTITY    


Speed Test Setup

The speed test wasn't exactly scientifically performed, but devices were in the exact same spots during tests.


FTP server app running on Nexus 7
FileZilla FTP client running on Windows 8 laptop
Both connected to the same 802.11n network. Windows reported the link speed as 130 Mbps (I know this is not exact)
I downloaded the same 103,4 MiB large file two times through each app


Test Results

All stats, numbers and other facts are as of March 30th 2013.

Apps ordered by measured throughput, fastest on top.

Andreas Liebig's FTPServer


Price: Free
Latest version: 2.4.0 (2013-03-26)
Size: 78 kB
Install base: 100.000 - 500.000
Avg. rating: 4.6
Android OS requirement: 1.1+
Comments: Initial configuration required, not plug-and-play. Detailed server log on main screen when service is running. No anonymous access possible?    
Throughput: 103.4 MiB downloaded in 43 seconds @2.4 MiB/sec, 103.4 MiB downloaded in 47 seconds @2.2 MiB/sec


Boby Ertanto's My FTP Server


Price: Free (ad supported, ad-free version available)
Latest version: 2.1 (2013-02-28)
Size: 1.2 MB
Install base: 50.000-100.000
Avg. rating: 4.1
Android OS requirement: 2.2+
Comments: Simple interface. Very basic settings.
Throughput: 103.4 MiB downloaded in 48 seconds @2.2 MiB/sec, 103.4 MiB downloaded in 49 seconds @2.1 MiB/sec


The Olive Tree's Ftp Server


Price: Free (ad supported, ad-free version available)
Latest version: 1.11 (2013-01-14)
Size: 1.1 MB
Install base: 100.000 - 500.000
Avg. rating: 4.4
Android OS requirement: 2.1+
Comments: Based on Apache ftp server. Simple interface. Configurable port, home dir, username/password, service resillience, energy saving etc.
Throughput: 103.4 MiB downloaded in 56 seconds @1.8 MiB/sec, 103.4 MiB downloaded in 56 seconds @1.8 MiB/sec


Berserker's FTPDroid


Price: Free (ad supported, ad-free version available)
Latest version: 1.3.1 (updated 2012-12-28)
Size: 2.0 MB
Install base: 50.000 - 100.000
Avg. rating: 3.9
Android OS requirement: 2.2+
Comments: Based on  Pure-FTPd. Simple interface. Configurable port, home dir, username/password, service resillience, energy saving etc.  
Troughput: 103,4 MiB downloaded in 135 seconds @0,8 MiB/sec, 103,4 MiB downloaded in 121 seconds @0,9 MiB/sec


Conclusion

Not only is Andreas Liebig's FTPServer the only completely free of the apps tested, it's incredibly light weight (78 kB!), can run on any Android phone you can find but also has the fastest throughput of the apps tested.

Once the initial configuration is done, the main window simply displays your standard FTP server log, whereas other applications pretty much displays nothing but a few buttons and maybe the IP address and port of the server.

Thank you, Andreas!