| ▲ | eigenspace 2 days ago |
| My problem is that all these alternatives require the devices to be on the same local network. One beauty of Airdrop is that it creates and handles that local network automatically under the hood (as far as I understand). So you could be out on a hike with friends and Airdrop something. The workaround I've found after switching to an Android device has been to teather my connection to my friend's device, which ends up creating a LAN that Localsend can work through, but this is not as nice an experience. |
|
| ▲ | moo-jason 2 days ago | parent | next [-] |
| https://mbarlow.github.io/thinair/ Device to device transfer, just a static github page. gh repo: https://github.com/mbarlow/thinair Creates QR codes for each device to scan for webrtc. Android to android will do an audible chirp that lets the devices know to switch from qr code mode to opening the camera to scan each others codes. Tested android to apple and working, the audio chirp doesn't get caught by apple. Just wait and eventually the qr code will dissolve to allow scanning step. Just threw this together. I was playing with audio handshake using bird-like chirp "songs" or old school modem between smartphones. Fun putting phones together as they send audio frames and confirm to start transfer, but unreliable and slow to handshake. I would like to cleanup the flow to improve. I've started using it for sending files between iphone/android/pc without having to deal with apps, emails, accounts, etc. blah. |
| |
| ▲ | thingortwo a day ago | parent | next [-] | | This is using webrtc and speeds are slower than a physical USB I get 3-4MB/s instead of local network speed of 30MB/s due to browser browser implementation bottlenecks. I needed fast local network sharing of files over 5GB and tried a lot of approaches and speed doesn't budge more than 6-7MB/s . Also you don't even need a server atleast for now in chrome webrtc transfer can work over a file:// in firefox it doesn't. For signaling you could even use free peerjs tunnel or other when user is connected to internet and otherwise fallback to this QR or offer code sharing. This will become so useful if browsers eliminate those bottlenecks. also even in localsend speeds are limited usually to my internet speed for some reason. | |
| ▲ | nomel 2 days ago | parent | prev | next [-] | | Whenever I need to use something like this it's because the device isn't mine, which makes this so much better than an app. Would be cool if there was a text message option, and a bit of server so the second scan wouldn't be required. Pretty funny how simple the concept is though. | |
| ▲ | JayDustheadz a day ago | parent | prev | next [-] | | Doesn't seem to work for sending files from my Mac to my Android - I scan the code on the phone and....nothing happens? I tried sending via FF/Safari/Brave and receiving on FF/DDG. No idea what am I doing wrong. | |
| ▲ | sunnybeetroot 20 hours ago | parent | prev [-] | | Tried this between two iPhones and didn’t work, no sound is played at step 2. |
|
|
| ▲ | nyreed 2 days ago | parent | prev | next [-] |
| For true crossplatform p2p the closest I have found is FlyingCarpet [1]. But it is not super reliable or friendly. [1] https://github.com/spieglt/FlyingCarpet |
| |
| ▲ | justmarc 2 days ago | parent | next [-] | | We've made the one true, and ultimate, cross platform P2P + E2EE data transfer tool out there. Both UI and CLI with complete feature parity on any device/OS, between the same user's devices and between users. https://zynk.it | | | |
| ▲ | rubslopes 2 days ago | parent | prev | next [-] | | Thanks for the tip. Just tried it and it worked great between MacOS and Android. | | | |
| ▲ | eigenspace 2 days ago | parent | prev | next [-] | | Very cool, I didn't know about this. I'll watch it with interest. | |
| ▲ | user3939382 a day ago | parent | prev [-] | | I use wormhole.app |
|
|
| ▲ | WhyNotHugo 2 days ago | parent | prev | next [-] |
| Indeed, Localsend only does the last step of what Airdrop does. With Localsend, you need to: - Create an ad-hoc Wi-Fi network on one device. - Connect the other device(s) to that Wi-Fi network. - Now run Localsend. The first two steps are a bit of a drag, and the fact that Airdrop handles it is what makes it so frictionless to use. |
| |
| ▲ | giobox 2 days ago | parent [-] | | Right, the first two steps are what make AirDrop, "AirDrop". This isn't an alternative at all if it requires both devices to already be connected to the same WiFi. AirDrop is fantastic for sharing files with people you don't know/just met - if we have to find and agree to join the same wifi before we interact we are no longer talking about the same feature. If Apple's AirDrop implementation had required people to join the same WiFi first, the feature would never have taken off the way it has among non-techy users. I'm still today mildly surprised I can use AirDrop as a verb in conversation and most of the time the other party knows what I mean. |
|
|
| ▲ | max8539 2 days ago | parent | prev | next [-] |
| Airdrop is also pretty weird: sometimes it can’t find other phones (probably when a previous transfer failed silently in the background). Also, it had some issues searching for contacts when there was no mobile/Wi-Fi connection (tried to send photos to another phone in the mountains). Sometimes it could just freeze and not work… Apple magic here isn’t really useful. |
|
| ▲ | sholladay 2 days ago | parent | prev | next [-] |
| Not only that, but with iOS 17.1 or later, AirDrop transfers will continue to work if you go out of Wi-Fi range during the transfer. It seamlessly switches to an Internet-based relay. |
| |
| ▲ | lxgr 2 days ago | parent [-] | | Which, in my view, significantly decreases the value proposition, as there is no way to deactivate this feature to my knowledge (at least not without also opting out of other useful features under the "Handoff" umbrella). A typical Apple feature, dreamed up by engineers that are presumably not aware of the existence of metered data plans... | | |
| ▲ | sholladay 2 days ago | parent [-] | | You can disable it, actually. Settings > General > AirDrop > turn off Use Cellular Data That said, I don’t really see why you would disable that. It’s only a backup method for when the peer-to-peer connection fails. Unless you are sending huge files on a regular basis, I wouldn’t expect it to be worth disabling. Also, most metered plans I’ve encountered just cause your connection to be very slow after you hit the data cap. If you are on a plan that automatically charges you excessive overage fees without warning and there is no other choice, then my condolences. | | |
| ▲ | lxgr 2 days ago | parent [-] | | Oh, cool, thank you! I must have used the wrong search terms; I could only find vague hints about deactivating Handoff/Continuity. I stand corrected, and I appreciate that Apple did consider the non-Bay-Area use case :) > Unless you are sending huge files on a regular basis I do use AirDrop extensively for sharing photos when traveling. One sharing session could easily eat through my roaming allowance. |
|
|
|
|
| ▲ | askldfhalkdfh 2 days ago | parent | prev | next [-] |
| This. Localsend may be very useful for a set of devices you control or influence. The USP of Airdrop is ad hoc sharing with people you don't really know. Classic case is meeting strangers on holiday and you want to swap some photos of the trip you're on. One or both of you doesn't have data or time to install anything, or it's just too hard to persuade someone they should install random app. Pairing Bluetooth or setting up local networks is way too convoluted and time consuming. With Airdrop you have trivially easy, "just works" sharing with people in proximity. It works great between iPhones and Pixel phones now they support it. It just needs support to spread to more Android devices. |
| |
| ▲ | davely 2 days ago | parent | next [-] | | > With Airdrop you have trivially easy, "just works" sharing with people in proximity. Funny enough, I encounter so many problems trying to share things via AirDrop with friends, family, and even my own Apple devices that I just tell everyone to install LocalSend and I find that things work better. I’m not sure why that is, because AirDrop used to work pretty well for me. But it’s been an exercise in frustration more often than not for me. (Obviously, LocalSend works only as long as everyone is on the same network.) | | |
| ▲ | Melatonic a day ago | parent [-] | | I've found it very often falls back to sending over your internet connection even if your cell reception sucks. No idea why. People on a previous HN thread talked about solutions |
| |
| ▲ | t43562 2 days ago | parent | prev [-] | | setting up local networks is so trivial compared to forcing everyone to buy an Apple gizmo. | | |
| ▲ | bee_rider 2 days ago | parent | next [-] | | True. But I mean these are photos (from strangers that you aren’t even willing to exchange phone numbers with?). It is a really non-essential feature anyway, so most likely everybody who doesn’t have an Apple device skips it. | | |
| ▲ | lukeschlather a day ago | parent [-] | | If it's videos sending over local wifi is the best option, even with people you know. |
| |
| ▲ | maratc a day ago | parent | prev [-] | | The real choice though is between (a) buying an apple gizmo and not having to set up local networks; and (b) buying a non-apple gizmo and having to do that. | | |
| ▲ | t43562 6 hours ago | parent [-] | | ...and guilt tripping people you meet on holiday for their phone choice because it's inconvenient for you. |
|
|
|
|
| ▲ | nine_k 2 days ago | parent | prev | next [-] |
| Speaking of ad-hoc communication channels that do not require shared infrastructure: I like the idea of https://github.com/divan/txqr which sends data using animated QR codes. An ultimate guarantee of physical proximity. The bandwidth is not comparable to WiFi 6, of course, but no OS support is required. |
| |
|
| ▲ | simonmales 2 days ago | parent | prev | next [-] |
| I think nowadays on Android it's called QuickShare, and it works. But I believe the fragmentation and awareness is a part of the problem for Android. |
| |
| ▲ | eigenspace 2 days ago | parent [-] | | Can't QuickShare cross-platform. My wife has an iPhone and my desktop and laptop are linux, so QuickShare is a non-solution for me. | | |
| ▲ | davsti4 2 days ago | parent | next [-] | | rquickshare works on Linux and is 99% reliable for me, but I don't have a suggestion for iOS devices since I don't use them. https://github.com/Martichou/rquickshare/releases | | |
| ▲ | sica07 a day ago | parent [-] | | This is what rquickshare documentation says: "Wi-Fi LAN only. Your devices need to be on the same network for this app to work." So no, it's not an AirDrop replacement. | | |
| ▲ | raxxorraxor a day ago | parent [-] | | Problem is that only notebooks/tablets and few pcs have bluetooth, which is used for the handshake for AirDrop. If we had good mobile OS I bet we would have a solution for both... Personally I just use wifi/smb for file transfer and hate it when someone comes with their iPhone and isn't able to send a file to me. |
|
| |
| ▲ | Xantier 2 days ago | parent | prev | next [-] | | Which alternatives are you using for AirDrop on Linux? I haven't been able to find a good one for this yet. | | | |
| ▲ | olyjohn 2 days ago | parent | prev | next [-] | | KDE Connect works pretty great for sending files, though you do have to be on the same network. | |
| ▲ | Melatonic a day ago | parent | prev | next [-] | | Didn't they just announce compatibility between specific Android devices and iOS airdrop using Quickshare recently ? | |
| ▲ | vrganj 2 days ago | parent | prev [-] | | QuickShare is compatible with AirDrop these days, thanks to EU regulations: https://arstechnica.com/gadgets/2025/11/the-eu-made-apple-ad... | | |
| ▲ | Gigachad 2 days ago | parent | next [-] | | I don’t think this article is actually accurate. It seems like Google just reverse engineered airdrop rather than Apple changing the tech they use. Because quickshare works with all airdrop devices now. Not just ones recently updated. | |
| ▲ | eigenspace 2 days ago | parent | prev [-] | | One Android phone supports it so far, and it's widely expected Apple will find some way to lock it out or at least delay more support. | | |
| ▲ | reaperducer 2 days ago | parent | next [-] | | it's widely expected Apple will find some way to lock it out I suppose that is "widely expected" from the usual group of anti-Apple internet griefers looking for a reason to moan in public, rather than actually doing some research or knowing things. To quote a sibling comment: "Apple contributed the core logic to the Wi-Fi Alliance to build Wi-Fi Aware, which they now also support." | |
| ▲ | vrganj 2 days ago | parent | prev [-] | | Glass half empty kinda guy, huh? :-) | | |
| ▲ | eigenspace 2 days ago | parent [-] | | Not generally, I just don't have that specific phone that has implemented the workaround, and so this isn't a solution for me. Apple has consistently done everything it can to self-sabotage their implementations of stuff to comply with EU anti-trust legislation like the stuff with digital marketplaces, so I'm not holding my breath on this. |
|
|
|
|
|
|
| ▲ | satvikpendem 2 days ago | parent | prev | next [-] |
| Iroh is a relay protocol for peer to peer transfers over the Internet so it doesn't have this problem, check out my other comment here about wrappers around the protocol for sending files, Sendme is the one I use. https://news.ycombinator.com/item?id=47935026 |
| |
| ▲ | eigenspace 2 days ago | parent [-] | | I don't want to send things over the internet, I want to do things locally. | | |
| ▲ | landr0id a day ago | parent | next [-] | | https://www.iroh.computer/sendme Iroh's protocol can figure out if the devices are on the same LAN and avoid going over the internet. It can work without a discovery server too -- i.e. completely LAN. | |
| ▲ | t43562 2 days ago | parent | prev [-] | | bluetooth is local. Actually, I realise I'm being facetious since I've not managed to get Apple bluetooth to connect to anything non Apple yet. | | |
| ▲ | eigenspace 2 days ago | parent [-] | | Bluetooth is also very slow. Airdrop and Localsend achieve speed by using local wifi networks. The problem with Localsend is that the user themselves need to manage the creation of the local network. |
|
|
|
|
| ▲ | raxxorraxor a day ago | parent | prev | next [-] |
| I think the initial handshake for Airdrop is through bluetooth and then both devices peer through wifi. Not sure why there isn't a solution for Android, perhaps there are hardware limitations, I don't know the bluetooth stack. If we would have good operating systems, perhaps this would be easier and more widely spread. Otherwise the solution has to come from the device manufacturer. |
|
| ▲ | tremarley 2 days ago | parent | prev | next [-] |
| Feem is the only reliable one I've found that doesn't rely on being on the same local network It works on iOS and Android |
|
| ▲ | justmarc 2 days ago | parent | prev | next [-] |
| That's why we worked very hard to create the ultimate, nothing held back tool and recently launched it. Works across any device/user/platform. UI, CLI, Local network, over the internet, anything. P2P + E2EE. https://zynk.it |
| |
| ▲ | eigenspace 2 days ago | parent [-] | | Not interested in an over-over-the-internet solution. What makes Airdrop good is that it's local. | | |
|
|
| ▲ | ngokevin a day ago | parent | prev | next [-] |
| Airdrop has not felt reliable to me all the time, and completely fails on anything larger than a picture or short video. Especially if you are storing your files on iCloud and the pictures and videos don't live on your phone. Been using Localsend to transfer bigger files between phone / laptops, never fails or has trouble finding a device, or stalling. |
|
| ▲ | bear330 2 days ago | parent | prev | next [-] |
| Maybe you can try this: https://github.com/nuwainfo/ffl It's Android App don't need LAN to share: https://play.google.com/store/apps/details?id=com.fastfileli... |
|
| ▲ | chasil 2 days ago | parent | prev | next [-] |
| I am usually able to coerce a Localsend connection by using a WiFi hotspot on the target device. Usually, but not always. |
| |
| ▲ | eigenspace 2 days ago | parent [-] | | I literally said that in my comment: > The workaround I've found after switching to an Android device has been to teather my connection to my friend's device, which ends up creating a LAN that Localsend can work through, but this is not as nice an experience. |
|
|
| ▲ | randomeel 2 days ago | parent | prev | next [-] |
| I just use blip to send files to anyone on any device but it requires an account |
|
| ▲ | Ey7NFZ3P0nzAe a day ago | parent | prev | next [-] |
| websend works even on separate networks. https://github.com/thiswillbeyourgithub/WebSend Note that I'm currently refactoring it heavily (the code is awful currently). |
|
| ▲ | kitchi 2 days ago | parent | prev | next [-] |
| I've recently started using blip, which works very similarly to airdrop after the initial pairing has happened. The devices do not need to be on the same network etc. |
|
| ▲ | tetris11 2 days ago | parent | prev | next [-] |
| Wireguard VPN to your home network, and then you can do anything |
| |
| ▲ | teew 2 days ago | parent | next [-] | | "Check out this alternative road vehicle I invented: it works on most surfaces except it can't drive on inter-city roads." "You could fix that by builing a rail track and using a train." | |
| ▲ | agrounds 2 days ago | parent | prev | next [-] | | And everyone you ever want to share files with locally also has access to your home VPN? | |
| ▲ | eigenspace 2 days ago | parent | prev [-] | | That's an even worse solution than the hacky workaround of just teathering my internet connection. The whole point of these solutions is to not have to transmit data over the internet, it should work over a local dynamic connection. |
|
|
| ▲ | randomeel 2 days ago | parent | prev | next [-] |
| I just use blip to send files to anyone on any device |
|
| ▲ | p_stuart82 2 days ago | parent | prev | next [-] |
| yeah the airdrop part is not having to turn one phone into a hotspot first. |
|
| ▲ | lorenzohess 2 days ago | parent | prev | next [-] |
| If you're on a hike you can get on the same network by joining your friend's phone WiFi hotspot. |
| |
| ▲ | eigenspace 2 days ago | parent | next [-] | | I literally said that in my comment. I also said it's not as nice an experience. | | |
| ▲ | lorenzohess 2 days ago | parent [-] | | Whoops, totally missed that. Maybe Localsend could include some "discover" mode where Wi-Fi hotspot connection happens automatically? |
| |
| ▲ | kalleboo 2 days ago | parent | prev [-] | | I'm honestly surprised that WiFi Hotspot doesn't isolate hosts, after companies like Meta have been caught running servers inside their apps and connecting to those to track users. | | |
| ▲ | solstice a day ago | parent [-] | | I was too when due to network problems at our last traditional LAN-party (WC3, CS1.6 etc.) we used the hotspot feature of one phone to get everyone on a local network. I was skeptical and assumed the PCs wouldnt be able to see each other but lo and behold: it worked flawlessly! |
|
|
|
| ▲ | Fokamul 2 days ago | parent | prev | next [-] |
| Yes exactly, that's why another RCE which will be found in Airdrop, if found by bad actor. Will be pretty fun to watch. Last RCE in Airdrop, could be made into worm, it was found by whitehat, luckily for Apple there are still people, which are willing report exploits for little money, so billionaires can enjoy their life on yachts. |
| |
|
| ▲ | lakshyanoir 2 days ago | parent | prev | next [-] |
| try out this app called "Blip". It doesn't require you to be on the same network. |
| |
|
| ▲ | SingleSourceAI 2 days ago | parent | prev [-] |
| [flagged] |
| |
| ▲ | dang 2 days ago | parent | next [-] | | Please see https://news.ycombinator.com/newsguidelines.html#generated and https://news.ycombinator.com/item?id=47340079. | |
| ▲ | roman-holovin 2 days ago | parent | prev | next [-] | | Both Samsung and Google already did it. My S26 Ultra supports Airdrop and I've tested it by sending and receiving photos with iPad | | | |
| ▲ | 3form 2 days ago | parent | prev | next [-] | | >It uses a time-sliced channel-hopping mechanism so the radio can serve both infrastructure WiFi and the direct peer link simultaneously. This seems like such a basic solution that I'm surprised that it isn't required by any of the mainstream standards before WiFi Aware. I wonder if this was some sort of a patent issue or similar. | | |
| ▲ | lxgr 2 days ago | parent | next [-] | | It's been a standard feature of many Wi-Fi chipsets/drivers for over a decade. | |
| ▲ | ryanmcbride 2 days ago | parent | prev [-] | | Almost certainly patent related |
| |
| ▲ | george916a 2 days ago | parent | prev | next [-] | | It is entirely possible to inject (unrelated) wifi frames while being associated to a BSS without violating the existing 802.11 standards. That’s why Apple is able to implement AWDL on standard compliant wifi hardware. However the path towards this type of interoperability would likely go through additional standardization via IEEE 802.11* and the Wi-Fi alliance. At which point Apple will need to implement and support the new standards. There is no need to reverse engineer AWDL to meet the new European interoperability requirements.
What is needed is for wifi chipset OEMs to implement such standardization.
Something pretty routine of them. It can be expected that Apple will also maintain the proprietary AWDL in order to support their legacy devices. | | |
| ▲ | WhyNotHugo 2 days ago | parent [-] | | AFAIK, Wi-Fi Aware / Neighbourhood Aware Networking is basically the "standardised" version of AirDrop, and as of 2025, iOS's Airdrop transparently inter-operates with it. |
| |
| ▲ | gregoriol 2 days ago | parent | prev | next [-] | | AWDL is such an amazing technology, it's understandable that Apple wants to keep it only for their devices as it gives them a noticeable advantage for quick stuff sharing. | | |
| ▲ | neilalexander 2 days ago | parent | next [-] | | They didn't. Apple contributed the core logic to the Wi-Fi Alliance to build Wi-Fi Aware, which they now also support. | | |
| ▲ | foltik 2 days ago | parent | next [-] | | Interestingly, it still took the EU to force them to actually adopt it (and open it up for apps to use) in iOS 26. | |
| ▲ | throw0101c 2 days ago | parent | prev | next [-] | | PSA: * https://www.wi-fi.org/wi-fi-aware-resources * https://developer.apple.com/documentation/WiFiAware * https://developer.android.com/develop/connectivity/wifi/wifi... | | |
| ▲ | gregoriol a day ago | parent [-] | | Apple docs say iOS 26/macOS 26, that's so brand new that no apps are using it right now, will have to check that again in a few years. |
| |
| ▲ | Gigachad 2 days ago | parent | prev | next [-] | | Kind of. When I looked, they added the api for devs to use on iOS, but it isn’t on macOS yet, and nothing uses it as far as I could see. It’s a future promising tech though. A much better version of Wi-Fi Direct. | |
| ▲ | max8539 2 days ago | parent | prev [-] | | So, should there be apps that use it to transfer files between iOS, Android, Windows, and Mac without requiring them to be on the same network? | | |
| ▲ | jeroenhd a day ago | parent | next [-] | | Google's QuickShare contains a reverse-engineered AWDL implementation that works on Pixel and a few other phones. As for WiFi NAN: support for it seems rather limited outside of iOS and Android. From what I can tell the feature is barely tested on Linux and I can't find any generic Windows APIs for it either. | |
| ▲ | Asmod4n 2 days ago | parent | prev [-] | | No WiFi cards for pcs support it. | | |
| ▲ | ssl-3 2 days ago | parent | next [-] | | That's not quite accurate, I don't think. I've definitely used STA and AP modes concurrently on my Windows laptop with the operating system's built-in internet connection sharing function to help troubleshoot a problem in the field. That was around a decade ago. It didn't take any extra effort on my part; I just told it to do the thing, and then it did that thing. | |
| ▲ | max8539 a day ago | parent | prev | next [-] | | Researched this for a bit: there is some hardware for PCI supporting it, but Windows 10/11 not, and Linux is still work in progress, so no real support on OS level, only for some iOS/Android devices. | | |
| ▲ | Asmod4n a day ago | parent [-] | | Afaik the hardware supports it for a while now, but there is no firmware to expose the functionality. |
| |
| ▲ | sleepybrett 2 days ago | parent | prev [-] | | it might be interesting to use unused or extra wifi cards to support this. My pc motherboard has both wifi and ethernet and I only use the ethernet. That card does absolutely nothing at all. |
|
|
| |
| ▲ | tencentshill 2 days ago | parent | prev | next [-] | | The EU required they use an open standard
https://arstechnica.com/gadgets/2025/11/the-eu-made-apple-ad... | |
| ▲ | lxgr 2 days ago | parent | prev | next [-] | | AWDL really isn't that novel, neither as an idea nor implementation. What Apple did nail is the user experience on top of it. | |
| ▲ | 2 days ago | parent | prev | next [-] | | [deleted] | |
| ▲ | kennywinker 2 days ago | parent | prev [-] | | Except 20% of the time it just doesn’t work. Hardly an advantage if most people default to texting because of airdrop’s failure rate | | |
| ▲ | gregoriol a day ago | parent | next [-] | | We have been using AWDL intensely (not via AirDrop but Network.framework) for 6+ years and it fails less than 5% of the time. It's pretty impressive for a non-connected link between devices. The most common problems we face are very high device density places (100+ device in 30sqm space) and device wandering out of reach quickly (sometime as low as 5m). | |
| ▲ | hahamaster 2 days ago | parent | prev [-] | | Agreed. It's been like that for years. |
|
| |
| ▲ | lurker24325 2 days ago | parent | prev | next [-] | | This is misinformation, including most of the comments here, the majority of phones from 2014 support Wi-Fi Direct, and simultaneous group and station mode (2 BSS, yes even different channels). Even most Wi-Fi chips generally not just smartphones for a very long time. They stay connected to your home network. When Quickshare drops your Wi-Fi connection, its not Direct anymore, that's just soft AP from an error, and if that doesn't work, it fallback to Bluetooth. Bluetooth is used for provisioning as well. The only reason why many apps don't use it is because of buggy implementation, some phones require a full restart after using Wi-Fi Direct to fix connectivity issues, even Motorola's own product line with Smart Connect use it only with certain models, despite having Wi-Fi direct due to poor implementation (can be forced).
They even have a white list of supported adapter for the Windows app since direct is used as well, can be unofficially force enabled for Mediatek based adapters (rare on some laptops). Back in 2016 things were much stable on Android phones with Wi-Fi Direct, even with old Blackberry, there were many apps including file managers that used it before it was essentially dropped, even for onboarding/provisioning apps like HP printers... Apple's Airdrop success is about gaining traction, in the era of Wi-Fi Direct or other methods, most people were not aware of such features, as it required an app to be installed, they used email/messaging, even when Airdrop was first introduced and preinstalled, it took years for the average person to use it. | |
| ▲ | Saddie 2 days ago | parent | prev | next [-] | | For those interested to read more on AWDL I've listed some interesting articles that I came across during lit review a while back A research lab from TUD worked on a project investigating Apple's wireless ecosystem
Link: https://owlink.org/publications/ Also something interesting that I remembered reading closely linked to AWDL? Link: https://projectzero.google/2020/12/an-ios-zero-click-radio-p... | |
| ▲ | joenot443 2 days ago | parent | prev | next [-] | | > which is a proprietary peer-to-peer layer that runs alongside your existing WiFi connection without dropping it. It uses a time-sliced channel-hopping mechanism so the radio can serve both infrastructure WiFi and the direct peer link simultaneously. Maybe a network nerd can chime in - is this implementation so difficult that it's unrealistic we'll see an OSS version? | | |
| ▲ | granthum 2 days ago | parent | next [-] | | I think the thing that makes an OSS implementation more difficult than iOS/macOS is the friction involved. Say you've got an android phone, windows PC, and a linux box, and you want to be able to quickly drop files from each one. unless we get some kind of cooperation across all three platforms at the OS level, you'd at minimum need to install some kind of client into each system - when the nicest feature of airdrop is that it's baked into all of Apple's OSs, in my opinion. even if it worked exactly the same way, but had to be installed, I think it would see less use - and there's no real way for a single OSS project to do that across multiple OS platforms, to my knowledge | |
| ▲ | lxgr 2 days ago | parent | prev | next [-] | | The physical layer part really isn't complicated, and most Wi-Fi chipsets have supported something like it for over a decade now. What's tricky is to specify and get everybody to implement the layers on top of it, including device discovery (frequently offloaded to Bluetooth for efficiency reasons), user identification (Apple runs a PKI for this) etc. | |
| ▲ | ghosty141 2 days ago | parent | prev [-] | | Not an expert on mobile development but I doubt an android app has the low-level access needed to the wifi stack to do this. |
| |
| ▲ | Asmod4n 2 days ago | parent | prev | next [-] | | There is an open standard for that which is included in Apple devices since the iPhone 15. google implements it since the pixel 3. It’s called NAN. There are no WiFi cards available for consumers to buy which expose that as part of their firmware sadly. But wpa_supplicant has implemented part of the standard. | |
| ▲ | lxgr 2 days ago | parent | prev | next [-] | | > It uses a time-sliced channel-hopping mechanism so the radio can serve both infrastructure WiFi and the direct peer link simultaneously. This is really nothing special as 802.11 implementations go, as it's pretty easy to do as long as you can control the physical channel for at least one side. Many Windows, Linux, and Android devices have been supporthing this for years. It's usually called something like "simultaneous AP/STA mode". | |
| ▲ | armchairhacker 2 days ago | parent | prev | next [-] | | FYI this is an LLM comment, and other replies point out inaccuracies… | |
| ▲ | coldstartops 2 days ago | parent | prev | next [-] | | also they use mDNS, which many programming languages, such as go, got it in their net library | | |
| ▲ | klabb3 2 days ago | parent [-] | | No they don’t? There are several 3p libs for it but not in std. Unless I’m blind and didn’t get the memo. | | |
| ▲ | coldstartops a day ago | parent [-] | | No you didn't miss. I mixed the concept, UDP broadcast similar to mDNS, yes part of net library. actual mDNS like visible in Finder and actual RFC implementation not part of standard library. What I was trying to say was easy to make "mdns-ish" with just standard lib, rush typed it and ended up like that. | | |
| ▲ | klabb3 a day ago | parent [-] | | Yeah I implemented my own in Go because I was unhappy with the 3p ones, so that’s why I reacted. It’s surprisingly hard to get right, in particular: 1. Backoff and timer logic to not flood network. 2. Caching entries for the same reason. 3. Handling multiple network interfaces, and detecting when they changed. | | |
| ▲ | coldstartops 16 hours ago | parent [-] | | hah, I feel you for 3. I was constantly hitting the loopback network interface and I was like, why no discovery. in hindisght bad idea to always get the first entry in an array, now go through a list of network interfaces that i spam. for 1. i send a mutlicast of max 512 bytes on 224.0.0.167:26999 every 3 seconds
2. not really caching, just have a map of people that get discovered. and god bless, I just rolled with this. if people will use the tool and they will complain about it, then it will be a problem for later. for me between my home devices did not notice inconveniences. in total around 200 lines of golang. |
|
|
|
| |
| ▲ | idiotsecant 2 days ago | parent | prev | next [-] | | Seems weird there is no 802.n variant to do this very popular thing | | |
| ▲ | neilalexander 2 days ago | parent | next [-] | | That's precisely what Wi-Fi Aware (NaN) is and it is heavily based on AWDL. It's even built into recent versions of iOS and Android. | | |
| ▲ | infogulch 2 days ago | parent | next [-] | | I've never heard of Wi-Fi Aware, thanks for sharing. Are there any devices/chips that support it today? | | |
| ▲ | Gigachad 2 days ago | parent [-] | | iOS 26 supports it. I tried looking in to it and I couldn’t find anything using it yet though. |
| |
| ▲ | bee_rider 2 days ago | parent | prev [-] | | Wait did they actually name it NaN or is that a joke? | | |
| ▲ | jiveturkey 2 days ago | parent [-] | | NAN, not NaN. NaN is parent's editorialization or muscle memory. | | |
| ▲ | bee_rider 2 days ago | parent [-] | | Oh; I thought maybe it just didn’t have an 802 type name so it might have just been a little joke. Anyway, good to know we can use our NAN signal to send signal NaNs! |
|
|
| |
| ▲ | 2 days ago | parent | prev [-] | | [deleted] |
| |
| ▲ | ekropotin 2 days ago | parent | prev | next [-] | | Fascinating!
Thanks for breaking it down. | |
| ▲ | m463 2 days ago | parent | prev [-] | | I thought airdrop also used bluetooth | | |
| ▲ | lights0123 2 days ago | parent [-] | | Only for discovery. The actual transfer happens over WiFi, which is many times faster. | | |
| ▲ | m463 2 days ago | parent [-] | | right, but that could set up the adhoc wifi network. |
|
|
|