So mk and forwardslash and I have been looking intensely at this app.
1. The main feature seems to be a typical internet connected chatroom.
2. The rest is built on multipeer which is a mixture of bluetooth and local wifi - mostly used for Apple's "airdrop" feature and is sometimes referred to as their response to NFC.
3. The near phone capabilities have the same, if not worse, issues than Tin-Can had. Namely, master slave issues and message syncing. I tried with 5 workmates and I could send and one would receive but I would never receive their messages.
Firechat obviously works on more Apple devices as they are more similar. This probably cuts down on the number of crashes - although my 5S crashed numerous times while chatting or attempting to access settings.
The major issues with TinCan revolved around the different ways different phone manufacturers AND service providers handled features. A sprint HTC phone might work while the same phone on Verizon wouldn't. We didn't see these issues until very late because all of our initial testing was done on vanilla android devices from China without locks or bloatware installed.
When we began developing TinCan we looked at Bluetooth but the only feasible way to implement Bluetooth was ridiculous. There weren't many devices support BLE, their weren't really standards yet, etc. Bluetooth Low Energy (BLE) is the new featured that will come with all new devices and will add capabilities. I'll let mk comment on some of the following if I get anything wrong.
1. BLE limits the data you can send to 20 bytes.
2. It's main purpose is for iBeacon and items like Nest. iBeacon is being sold to large chain stores that allows a store to provide coupons to their customers via iBeacons. I step in front of cereal -> it offers me a coupon to cereal. They have locked it down so I only get a pushed notification if I had already download the store's app. HOWEVER, the push notification is actually built into the App Store app or something. Not sure. Basically, the Apple device receives a bunch of data and then if some of the data matches an app you have installed, it pushes whatever that App says to push. Hence the limit on 20 bytes of data. Ralphs can send SLKDJFSK939393 whenever you are in front of cereal and that triggers and event in that app that can be whatever kind of data.
Sending messages like this is not impossible, but is a extremely challengingly fun problem to attempt to solve. mk is super smart though and has a couple ideas that might work. Data speeds will need to be worked out but there are some really interesting documentation on the types of things people have already managed to do.
reference articles and docs: