Snapdrop teaser 001

The easiest way to share content between your Mac and an iPhone, iPod touch or iPad is AirDrop, a device-to-device wireless transfer technology built into the bowels of iOS and OS X. But when you want to transfer files between Apple devices and other platforms, AirDrop isn’t very helpfu.

AirDrop, as you know, is limited to iOS and OS X and doesn’t work on Android, Windows or other operating systems and computing platforms. Enter Snapdrop, an interesting web-based HTML5 clone of AirDrop by German developer Robin Linus.

Billed as the easiest way to transfer files across different devices, Snapdrop runs in a web browser and doesn’t require you to install any special software. But does it work as advertised? Read on to find out.

Design

The tool is available by visiting the Snapdrop webpage in Safari, Chrome or other modern desktop or mobile browser. As you can see for yourself, the user interface resembles AirDrop and it couldn’t be simpler, really.

As long as your devices are on the same Wi-Fi network, Snapdrop will list them in the interface and let you exchange any number of files between them.

This is what Snapdrop looks like in Safari for Mac.

Snapdrop web screenshot 001

And here’s the same web app, as seen in Safari on my iPhone 6s.

Snapdrop iPhone screenshot 003

To begin sending the files to other devices, just tap or click a device icon in the Snapdrop webpage running on your source device.

File transfers made easy

On iOS, the file picker provides options to take a photo or video with your device’s camera, choose photos or videos from your Camera roll, pick a file in your iCloud Drive or choose files in third-party apps that have a Document Provider extension.

Snapdrop iPhone screenshot 001

As evidenced on the screenshot above, Documents by Readdle, Dropbox, Google Drive and OneDrive all feature Document Provider extensions, permitting me to easily pick a file, say, in my Dropbox and send it to my Mac.

Once one or more items are chosen, the web app automatically initiates a local file transfer session with the receiving device. After sending an image from my iPhone’s Camera roll to my Mac, Snapdrop prompts me to confirm the download on my Mac.

Snapdrop web screenshot 003

As soon as the image successfully transfers to the Mac, Snapdrop puts up a prompt offering to open the file in Safari.

Snapdrop web screenshot 004

And from there, I can save the image to a folder on my Mac.

Snapdrop web screenshot 005

On the Mac side, sending a file is just as easy. You just click a device name in Safari, pick one or more files to send and leave Snapdrop to do its thing. On my iPhone, Safari prompts me to confirm the download and open the file.

Snapdrop iPhone screenshot 002

From there, I can use Safari’s Share menu to save the file or, depending on the file type, tap on it and use iOS’s “Open In” feature to send it to another app.

It’s a wrap-up!

Snapdrop looks like a version of a similar web app dedicated to cross-platform file sharing, called ShareDrop. The problem with ShareDrop is that it works in Chrome, Opera and Firefox, but not in Apple’s Safari. Snapdrop, on the other hand, works as advertised, both ways.

For our tech-literate audience, ShareDrop is built with Ember and Snapdrop is built as a Progressive Polymer App using WebRTC. It uses a peer-to-peer local connection when WebRTC is supported by the browser.

Snapdrop web screenshot 002

In browsers that don’t support WebRTC, like Safari and Internet Explorer, Snapdrop uses a Web Sockets fallback for the file transfer and connects the clients with a stream. Most importantly, none of your files are ever saved on any server during transfer.

So, why would you want to use Snapdrop over AirDrop? Because it actually just works, unlike Apple’s fiddly AirDrop tool that continues to suffer from a bunch of failure points.

So go ahead, give Snapdrop a try and let us know how you liked it in the comment section below. And if you really, really like Snapdrop, show your respect to Linus and buy him a cup of coffee, or get involved over at the project’s GitHub page.