BluXone : The power beneath
Do read Harshdeep’s post on BluXone as a precursor to this post. He has written a great description of the application. Read It
At the core of BluXone lies an application level protocol which enables the devices to communicate seamlessly over Bluetooth. The motivation to create such a protocol came from the fact that Bluetooth puts a lot of restrictions on the number of simultaneous connections a device can have, and in the manner they can communicate with each other (Master/Slave). This protocol acts as a time sliced multiplexer between the Master and the Slave functionality, and emulates multiple live connections by regulating the network traffic in small data chunks.
This protocol enabled BluXone to provide a TCP/IP sort of seamless connectivity over Bluetooth. However to test BluXone for all such network scenarios was a big challenge. Neither I had the devices, nor the manpower required to test all the scenarios. Plus I was not even sure how much the users are going to care about this feature of multiple active connections simultaneously.
Because of all these reasons, I made BluXone restrict this multiple connection behavior from a top level, atleast in the first release. So what that essentially means is if you are currently downloading a file from another phone, and you want to download another one simultaneously it will ask you to wait till the download is complete.
However, if the users really want that kind of networking support, I would definitely work towards maturing it, and make it available in the later releases.