Hacker News new | ask | show | jobs
by dash2 885 days ago
I find it so insane that in 2023 you still have to be on Apple to have the following experience:

* I have a file on a device I own.

* I wish to send it to another device.

* I send it.

On Windows, it is still regularly true that the easiest way to send X from one laptop to another one, FIVE FEET AWAY, is via Dropbox or Gmail.

This was technically easy twenty years ago. It's a concrete proof that collective action problems are alive and well in software.

9 comments

windows 11 now has nearby devices in the share-sheet .https://support.microsoft.com/en-us/windows/share-things-wit...

You're right it's still not yet widely adopted and is less mature than Airdrop.

I think so many attacks on CIFS occurred ~ 2000-2015 that local sharing was locked down into oblivion.

> windows 11 now has nearby devices in the share-sheet

That sounds great, but after reading this...

> you can share over Wi-Fi if the Windows 10/11 PC you’re sharing to is connected to the same private Wi-Fi network. Otherwise, *you can share over Bluetooth.* (emphasis mine)

Bluetooth file sharing is one of the most frustrating, painfully slow experiences (on Windows, at least), to date. It frequently randomly disconnects, all while taking hours to transfer small files. Nobody ever uses this, or if they do, they don't want to.

I'm surprised file sharing is so bad when so many breakthroughs have been made in Bluetooth, and wireless networking tech in general. It seems wrong that we're now on WiFi 6E, and this is still a thing.

P.S. Is the protocol for Nearby Sharing public? It would be a great shame to lock this behind Windows -- it could be a very good solution in the end.

I did some digging using TCPView and found

https://en.wikipedia.org/wiki/WS-Discovery Web Services Dynamic Discovery (WS-Discovery

Inside windows this listens on UDP 3702 and is hosted by dasHost.exe / Device Association Services.

Here are microsoft's Developer docs for the WSDAPI https://github.com/MicrosoftDocs/win32/blob/docs/desktop-src...

I didn't see any linux or android implementation but it could be out there with some more digging.

> Is it public?

I couldn’t find docs from MS on the protocol. Without knowing anything I would guess enumeration is mdns based and transfer would use http or cifs.

I’ll look into my firewall and see if any port specs are listed for the service as a starting point on reverse engineering it.

I’m also curious.

When using Apple devices I often feel like ordinary people sat down and said "I wish I could do X", and so Apple make that work, and they make it insanely easy to do.

AirDrop, syncing stuff, backups, auto adjust volume for headphones, no screen flicker on startup, trackpad that freaking works, etc.

When I use Windows, I feel like a committee decided something over a long period of time, and it is as convoluted and painful as the many decision makers could make it.

I feel like Apple sat down and said "how can we make sure this NEVER works unless you're only using Apple devices?" and intentionally sabotaged open standards.

The last time I had to do this between two Android devices I just used wifi direct and it worked flawlessly. And yet Apple doesn't support WiFi direct? I can't explain Windows, but the fact that iOS won't interoperate with Android seems like an intentional choice by Apple to make their customers' lives harder.

> The last time I had to do this between two Android devices I just used wifi direct and it worked flawlessly

And you had to disconnect each device from the wifi they were using, separately.. and you couldn't use the internet during the transfer. That's a no from me.

I was on an airplane, so that wasn't a problem at all, and the lack of Internet was what made it a necessity.
So it's something you do infrequently then.

Airdrop is something I use 10x a week.

I've needed to transfer files between an iOS device and an Android device pretty regularly lately and it's simply impossible, I've literally been waiting months to transfer a few files because the person who has the files has an iPhone and has difficulty using any method other than Airdrop (e.g. Dropbox.) Which I view to be an intentional design decision by Apple. WiFi direct would be fine, Airdrop is proprietary and useless here.
It doesn't help that google is actively blocking ad-hoc Wi-Fi on Android.
I dunno, I use Bluetooth to send files regularly, and it seems alright. The only reason I do this is because it doesn't really require anything particularly special, though it's not particularly fast.

Other than that, there's so many ways to send files that it's hard to pick one as an obvious "best" way to go. However, for something that is reasonably versatile and noob friendly, I pick Wormhole.app. Anything with a modern web browser can use Wormhole.app just fine. I can't speak to how much good its 'end-to-end encryption' is, but it does seem like it mixes some of the best of all worlds for point-to-point file sharing, allowing direct connections but also allowing temporary storage in the someone-else's-computer too.

Of course, will Wormhole.app be around in 10 years? Dunno. I also frequently use Tailscale, rsync, SMB shares, etc. for different purposes. Of course this is only fair as sometimes I'm sending files for different reasons, and I would never use Airdrop to do all of those things, so it's not like it's fair to say the fact that I don't use one solution is an indication that there is some big failure.

Airdrop is indeed convenient, but it being hard to audit does make me a little nervous about stuff like that. There's a lot of reason to be at least a little cautious[1]. Of course, there's no single alternative that is installed by default, has a better track record and more auditability, so I think it's hard to just say that this nullifies any benefits of Airdrop.

It is indeed a bit madness that there are so many options and none of them are the "obvious" right way to go. I think this is a problem that can and will be solved eventually though. Miracast is slowly solving the problem of having a "remote" display as I effortlessly can cast my Linux desktop to a random Samsung TV just by being in close proximity; We basically need a lot of parties to agree to something like that but for point-to-point file sharing.

It's probable that security concerns, though, are indeed one of the main reasons why this continues to be difficult.

[1]: https://www.cnn.com/2024/01/12/tech/china-apple-airdrop-user...

So your best answer needs an app and a visit to a website...? I rest my case!
Nope! Like I said, I often just use Bluetooth to send files. That requires neither an app nor a visit to a website.

I am really miffed that this is your exact takeaway from what I said. I gave you a way that someone can do this:

* I have a file on a device I own.

* I wish to send it to another device.

* I send it.

Yes, it is in fact just as easy to do this via Wormhole.app as it is Airdrop, except it also works across the Internet when not in close proximity.

The problem here is mainly 1. Wormhole.app is just some website some entity runs, not a standard. We should have a good standard specifically for point-to-point sharing, and 2. It's not integrated into the OS. It's just as easy to pop open Safari and go to Wormhole.app as it is to go to the Share menu and select an Airdrop target, but one is vastly easier to discover than the other.

However, what you said was that you think it's "crazy" you can't just share a file between two devices. You in fact can, easily, without downloading random apps, in numerous ways, from Bluetooth to websites using WebRTC like this one. The Bluetooth one even has pretty good discoverability on Android as I would typically just use the share menu.

I will admit that it is unfortunate that there is no "obvious" solution but that's kind of how the ecosystem works outside of Apple. A lot of things will compete on solving a given problem before we actually get an answer that everyone agrees on. This has its pros and cons, and one of the definite cons is that not everyone is sure what to do. But it's weird to point at this and say "Look! You can't even send files between devices easily!" Yes I can. Lack of a single standard solution does not make it significantly harder, even when doing it between me and some random person that may use a different kind of device than I do.

> This was technically easy twenty years ago.

FTP was created 52 years ago. SFTP[0] Has been around for nearly 30. The latter is usually how I transfer files between two machines that I can connect to each other.

[0] https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol

How is that gonna work for my non-tech friend's phone and my other non-tech friend's laptop?
mDNS and a GUI
So your story is that when I turn up to a new university and want to send my powerpoint to their computer, I just call the support staff and tell them "install mDNS and a GUI"?
If the computers don't already have mDNS and a GUI, they should start with installing an OS shipped in the last 20 years, yes.

My point is that the technology to do this is already everywhere. People who control the software that runs on most computers would rather it be less convenient so they can push their own "solutions" to the "problem" though. Airdrop is a pinnacle example of this.

I am on Manjaro linux and use KDEconnect, which is excellent in sending things between devices, including phone-laptop exchange.
+1 for KDEConnect, it's a great piece of software.

The other day I figured out my last problem with it: My phone was coupled with my laptop and desktop computer, but desktop and laptop were not coupled to each other. This lead to awkward behaviour, when all three devices were turned on. For one reason or another I never thought about changing that, but coupling desktop and laptop fixed all problems I had occasionally with kdeconnect.

Am I missing something? The submission under which you posted this comment literally solves the problem you're complaining about, and directly contradicts the claim "you still have to be on Apple" for this experience.
If you’re not on Apple you and the recipient have to happen to have agree on and install same one of 37 different ways to do this. It’s not seamless.
That's a feature, not a bug. Why should I have to be locked in to a proprietary file sharing mechanism that my device manufacturer unilaterally declares I must use?
To have 37 different implementations to achieve this, might be a feature. To have 37 different protocols surely is not.

There should preferably be one open protocol for proximity based wireless ad-hoc file sharing. This protocol can then be implemented by operating systems and/or userland implementations

I turn up at a university to make a presentation. I want to send my powerpoint to the room computer. Which of the 37 apps will it have pre-installed?
Some things are better universally. That bad part is proprietary. It would be best if it was universal and open.
You wish to send it to another apple device.
Yeah! I'm not praising Apple here! Maybe they refuse to let non-Apple devices interoperate, and it's their fault. I'm just saying that the rest of the world absolutely has not got it together.
i do this all the time with KDE Connect