views:

654

answers:

4

(I am not interested in pure theory, but as a practical near or mid-term possibility, say within 12-24 months.)

As a developer familiar with (but not specializing in) two major smartphone platforms, should I expect an Android library to come out which can spoof itself onto an iPhone app's GameKit-based network. It seems reasonable that a Bluetooth interface between platforms might square the opportunity to make useful applications, in the same way that modems benefited PC/Mac platforms via Metcalfe's Law.

I am looking for one of two answers:

  1. Is this obviously not likely (e.g. because of encryption)? If so, what is the reason? Is it possible in principle, but requiring years of reverse-engineering (like SMB/CIFS/Samba)? Or is it a no-brainer and just a matter of time? Please give evidence supporting your reason.

  2. Is there an alternative way to have direct peer-to-peer networking besides GameKit? For example, a hand-rolled network using Bluetooth or ad-hoc WiFi? It would be nice to spoof an Android device into an existing iPhone app but my main question is, can the devices speak with each other at all!

+1  A: 

That should be possible as Bluetooth is capable of setting up tcp/ip networks. Though I have no knowledge of the IPhone SDK whatsoever, but Android does have a BluetoothSocket and BluetoothServerSocket for TCP connections.

Thanks, mrsnowflake. I am looking for evidence (documentation, existing apps) that could confirm exactly this assumption.
jhs
A: 

Bounjour on the iPhone gives you full access to all of the Bluetooth protocols, so you don't have to use GameKit. As for when someone will provide an easy to use iPhone to Android GameKit like framework - hard to tell.

An iPhone can already talk to any other Bluetooth device using Bonjour today.

-t

Tim
To be a viable replacement, ad-hoc WiFi must be supported on both devices. Is that the case? My quick investigation indicates that it is not.
jhs
Why ad-hoc WiFi? GameKit doesn't use it...
refulgentis
Tim, that is encouraging. I thought iPhone was quite locked-down with Bluetooth access. Otherwise somebody could write a desktop bluetooth app to tether. But I would love to know more.
jhs
This answer is just plain wrong: the few standard Bluetooth protocols that are available are handled by the OS and aren't available from custom applications.
rpetrich
I believe rpetrich is correct. The developer SDK for iPhone does not provide access to the bluetooth stack.
Brad Smith
+5  A: 

It is absolutely possible! In fact I am amazed that more people haven't done it!

Theory:

Bluetooth is just a wireless socket that you push data across and it comes across the other side, just like tcp/ip.

Practice:

http://www.techcrunch.com/2009/11/11/bump-goes-cross-platform-with-new-android-app-upgrades-iphone-version-too/

Better yet, Bump is cross-platform, which means that you can bump an Android phone with an iPhone and it should work seamlessly.

CaseyB
Thanks, that shows you can write cross-platform bluetooth apps! Still, I wonder if they used GameKit or they rolled their own.
jhs
I'm guessing that it would actually be easier in a case like this to roll your own so you have complete control over what, exactly, gets sent and how it is sent.
CaseyB
Awarding this as the accepted answer. I wish there was documentation one way or another whether you could *specifically* spoof GameKit. However it is very encouraging that at the very least, cross-platform Bluetooth is possible.
jhs
Bump doesn't spoof Gamekit nor does it use Bluetooth at all. It goes back to the cloud and uses GPS to coordinate that you are at the same location
Zac Bowling
A: 

Bump communicates with the server to exchange data. It,s not peer to peer.

Richard Perry