I am developing a wearable that uses an ad hoc mesh network to create social featured for people wearing the device. The particle system seemed like it might solve many of the technical issues by abstracting away the mesh network protocols. However, I have run into all new issues:
Startup latency -> The device takes several seconds to boot, and if it does not connect to a network it never runs the application layer code, most of which do not need any network or mesh connection to function. This is a bad experience for a consumer device if you press the on the button and it takes several seconds to activate or simply never turns on. Can I separate out network protocol so the consumer device gives some sort of success feedback on launch?
Device registration and configurations -> It is entirely unclear if I can sell one off devices in consumer goods. If a person buys a wearable do I need to switch the ownership to them? Do they need the particle app to configure the device? Do I need to build a custom iPhone/Android app to allow this? How do you handle the use case where the owner of the device is not the developer of the product?
Mesh only networks -> The wearable system is not predictable. The idea is that hundreds of people would have a wearable, all will have BLE but not all will have WIFI or cellular. Additionally, they may be used in locations without WIFI or cellular or an accessible WIFI network. For instance, on the streets of a city, in a desert, rock climbing. The wearable is an activity-based game so there is no guarantee where or what devices will be connecting.
Cost of the cloud -> If I do have a consumer device with hundreds or thousands of users the mandatory cost of the cloud seems like it would cripple my profit margins in a few months. Additionally, while the cloud updates are useful all the cloud infrastructure I need would be better to maintain myself. IE why would I trust a company like Particle with proprietary user data, some of which can be extremely sensitive when the cost of scaling is much cheaper and more secure on AWS or GCloud? The only real benefits are in development, not deployment but the ecosystem is locked as fat as I can tell.
Basically, this platform seems amazing. I am scaling up a consumer IoT & wearables product line, and this product could make the development of that product line really simple and easy, but it seems like it is a proprietary system geared more towards internal development and education. Is that correct? Am I still better off building my own tools from open source systems?