
The Sorry State of Peer-to-Peer iOS-to-Android connectivity - derwildemomo
http://blog.moritzhaarmann.de/blog/2014/04/27/sorry-state-of-p2p/
======
habosa
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.

~~~
zbowling
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](https://github.com/apportable/Bluetooth)

~~~
habosa
Thanks for the reply, and great work! This is why I love Hacker News.

------
fidotron
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](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 on a given version of the OS either) and it took
them a long time to get there.

Apple really have been leading the sane local peer-to-peer world ever since
Bonjour first appeared, and the new developments have just extended their
lead.

It will be interesting to see just how this difference affects the nature of
their respective wearables.

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

~~~
fidotron
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 initiate WiFi Direct, not what everyone else had
deployed which was Bluetooth, and without the fallback position of making that
work. That's the curious thing with Android, they did in many ways engage in
the wider world hoping for a bit more wider co-operation (at least within the
OHA), but you'd be hard pressed to find an area of the OS anyone other than
Google had a positive impact on, but there is plenty of the reverse going on.

~~~
bsder
> 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.

------
zurn
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?

~~~
foo2312
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](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](http://labs.ericsson.com/blog/retiring-bowser).

------
noisy_boy
This ongoing attempt by Apple to hobble iOS is why I've decided that my next
device would be an Android device. I'll have access to filesystem, I can run
an SSH server on my phone which means I basically can do pretty much
everything I need to spend less time "managing" my content without having to
buy into an whole eco system of Apple devices. E.g. i can push new music files
automatically to my phone via a script), access newer photos/videos taken on
my phone on various trips and sync them back to my computer (without having to
rely on cloud etc).

