We are bringing to market a consumer electronics product involving a challenging BLE mobile app. There are many peripheral devices and the app needs to frequently connect to them and disconnect from them depending on their states, read their data, and use that data to update its own state with low latency; this all needs to function with low latency, continuously and reliably, even while app is in the background.
We have an iOS app that works well. Apple's Core Bluetooth framework was helpful in implementing this.
Google has not provided such a coherent framework for BLE implementation in Android. Plus of course, Android comprises a greater variety of phones and manufacturer-specific software. All of this makes Android more challenging for developing BLE apps. Here are some references discussing it:
We have made good progress on our Android app - the UI is mostly complete and the business logic / algorithms are working properly. However, the BLE implementation (which feeds data from the peripheral devices to the app business logic) is very unreliable. Peripheral devices sometimes take very long to be seen by the app, and sometimes are never seen, even while a reference app (e.g. https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Connect-for-mobile
) can see them.
I have developers on my team currently, but they could use some expert assistance in this area.
So this project might only entail you doing code review and giving advice, or it could also include you doing coding if that would be most efficient (I can ship you some of the peripheral devices for testing if needed).
NOTE: Please respond if you consider yourself an expert in this area, and then please describe your relevant experience, including challenges you've faced with Android BLE apps and how you've solved them, what libraries / frameworks you prefer and why, etc.
I am open to either hourly or fixed price arrangements.