I don’t think it is useless. Maybe you just don’t understand it correctly.
If you want to stream audio or video, BLE is probably not the right technology for you.
BLE is not like UART where you send unstructured data and it is up to your application to decode the information.
To understand BLE, you first have to understand GATT. The data you want to expose from your GATT server (Arduino 101) has to be advertised in the form of Services and Characteristics.
The Characteristics are the data you want to be read and/or written to in your Arduino. Characteristics that have a relationship together are grouped into a Service.
There is a good tutorial of how it works on the Android side of things there :
- Do a scan to find your Bluetooth peripheral (Arduino)
- Connect to it
- Read/Write its Characteristics
On the Arduino side, the Heart Rate Monitor is a good example.
You can find some more examples on GitHub :
This book could be a great place to start for understanding the basics :
However, its using the Bluefruit from Adafruit instead of the Arduino 101. The API is similar though.