how the new Mac OS AirDrop works


Question or issue on macOS:

I am wondering what technologies are used by the new Mac OS AirDrop and if there is a way to use it on windows.

How to solve this problem?

Solution no. 1:

You know that AirDrop is a feature that will be introduced as part of Mac OS X Lion (version 10.7), right? That version of the OS is not even out yet, and it won’t be until later this summer.

Furthermore, I assume that the handful of lucky developers who have a pre-release copy are under a strict non-disclosure agreement (this is Apple, and that’s pretty standard policy in the industry anyway), which would keep them from giving any details about the feature in a public forum such as this one.

But, since I am not one of those lucky developers, I suppose I’m free to do a little speculating about how it might work. Presumably, it takes advantage of Apple’s existing Bonjour network service discovery protocol (formerly known as Rendezvous) to locate other users nearby whose devices support AirDrop. The rest of the pieces have been part of Mac OS X for years, they just haven’t been wrapped up in a fancy, easy to use interface (really, that’s about all that software development is about nowadays). There’s always been rich support for peer-to-peer networking, you’ve always been able to share files with other users, users have always had a public folder, etc. (This is UNIX we’re talking about, after all.)

Will it work on Windows? Maybe. Apple has been surprisingly good in recent history about including its Windows brethren in on the fun—iTunes, Safari, MobileMe, etc. But it doesn’t always happen right away. Rolling your own solution for Windows (or any other platform) would be pretty simple, but there’s no guarantee that it will be compatible with Apple’s.

Solution no. 2:

Bonjour happens at layer 3, so it may be a small part of it.

The real question is how does AirDrop work at layer 2.

Solution no. 3:

Airdrop was reverse-engineerd by the folks. They implemented a free Python version called opendrop as well. The implementation is (unsurprisingly) quite hairy as you need to setup a special Wi-Fi link alongside some bluetooth voodoo, but it apparently works. Or at least it works better than whatever we had before, which was those few question around SE:

Hope this helps!