Live data from Hacker News

The Sorry State of Peer-to-Peer iOS-to-Android connectivity

blog.moritzhaarmann.de

11–20 of 26 posts

Re: The Sorry State of Peer-to-Peer iOS-to-Android connectivity

#11
post #10
post #5

The popular game app "Spaceteam" does an amazing job of real time p2p communication between iOS and Android devices. It would be great if the developer could release some sort of open-source library for those connections so other people could build on his/her work.

Not via Bluetooth though. Also, mobile hotspot clients (any OS) do not see the host. We failed to play on a recent camping trip.

Rather than a mobile hotspot you want to create an ad-hoc wifi network between your devices. I've successfully played that way.

Re: The Sorry State of Peer-to-Peer iOS-to-Android connectivity

#12
post #6

This is the main area where I suspect Google's greater reliance on clouds leads them to castrate their operating systems. Last time I checked Chrome OS still didn't even support Bonjour mDNS. (Still the case, and it's related to this first mentioned in 2009: https://code.google.com/p/chromium/issues/detail?id=13573 ) The Android stuff alone is an inconsistent trainwreck (because not all hardware supports all options…

Last time I checked iOS still lacks a TAP device.

Castration indeed.

Re: The Sorry State of Peer-to-Peer iOS-to-Android connectivity

#13
post #5

The popular game app "Spaceteam" does an amazing job of real time p2p communication between iOS and Android devices. It would be great if the developer could release some sort of open-source library for those connections so other people could build on his/her work.

This really isn't device-to-device communication -- both the iOS and Android devices have to be on the same WiFi network for Spaceteam to work.

Re: The Sorry State of Peer-to-Peer iOS-to-Android connectivity

#14
post #9

Earlier quoted context omitted.

FWIW Java based mDNS libraries works fine on stock Android. I believe mDNS is the standards body name for the protocol that Bonjour uses.

Yeah, kind of. Now that they've rolled some of it into the OS things are better, but in the bad days before 4.0 you'd get devices hard wired to discard any broadcast or multicast packets while the screen was off and so on. Manufacturers had a distinct tendency to mess with anything not explicitly used in the OS. Google aren't helped when people like Samsung decide to redefine the bump to file transfer to mean NFC to…

> but in the bad days before 4.0 you'd get devices hard wired to discard any broadcast or multicast packets while the screen was off and so on.

Shitty networking stacks abound all because everybody is trying to get an edge in battery life.

Re: The Sorry State of Peer-to-Peer iOS-to-Android connectivity

#15
post #5

The popular game app "Spaceteam" does an amazing job of real time p2p communication between iOS and Android devices. It would be great if the developer could release some sort of open-source library for those connections so other people could build on his/her work.

This really isn't device-to-device communication -- both the iOS and Android devices have to be on the same WiFi network for Spaceteam to work.

Only when using cross-platform. Bluetooth works for Android-->Android or iOS-->iOS.

Re: The Sorry State of Peer-to-Peer iOS-to-Android connectivity

#16
post #2

WebRTC works pretty well on Android. But apparently Apple has kept it out of iOS Safari and doesn't allow other browsers to implement it?

WebRTC does not currently exist on the desktop Safari either. I'm sure if a 3rd party wanted to implement WebRTC in a browser for iOS, they are probably welcome to do so.

Re: The Sorry State of Peer-to-Peer iOS-to-Android connectivity

#17
post #2

WebRTC works pretty well on Android. But apparently Apple has kept it out of iOS Safari and doesn't allow other browsers to implement it?

As far as I am aware, Apple does not seem to have a policy preventing this type of work. There was a fairly well-publicized release of an experimental codebase from Ericsson:

http://labs.ericsson.com/apps/bowser,

which has since been retired (although as far as I know, not due to any conflict with Apple):

http://labs.ericsson.com/blog/retiring-bowser.

Re: The Sorry State of Peer-to-Peer iOS-to-Android connectivity

#18
post #5

The popular game app "Spaceteam" does an amazing job of real time p2p communication between iOS and Android devices. It would be great if the developer could release some sort of open-source library for those connections so other people could build on his/her work.

Hey! That was our doing. :-) Apportable (Winter 2011) worked to bring Spaceteam over to Android and we had to face this problem head on. Bluetooth LE does work for Android iOS but it requires a really new Android device with the right hardware, otherwise the safest option is Wifi. A lot of code involved. We open sourced the code we wrote to run on the Android side: https://github.com/apportable/Bluetooth

Re: The Sorry State of Peer-to-Peer iOS-to-Android connectivity

#19
post #6

This is the main area where I suspect Google's greater reliance on clouds leads them to castrate their operating systems. Last time I checked Chrome OS still didn't even support Bonjour mDNS. (Still the case, and it's related to this first mentioned in 2009: https://code.google.com/p/chromium/issues/detail?id=13573 ) The Android stuff alone is an inconsistent trainwreck (because not all hardware supports all options…

My Android immediately becomes the remote control of my Sonos system whenever I approach my house, so it seems to me that Android's network service discovery is adequate for at least some purposes, whether it uses mDNS or not (I'm pretty sure Sonos uses multicast HTTP, FWIW.)

Re: The Sorry State of Peer-to-Peer iOS-to-Android connectivity

#20
post #2

WebRTC works pretty well on Android. But apparently Apple has kept it out of iOS Safari and doesn't allow other browsers to implement it?

That's a different layer - it runs on top of an already established network. This is about establishing some kind of connection.

WebRTC also requires a central server for discovery (typically overy HTTP I think?). It maybe possible to replace that with Bluetooth LE, but then the WebRTC connections to each other will need to run over an TCP network.

Post reply on HN