Blog

How To Win The Battle For Bluetooth

     
By on October 22, 2019 - 6 Minutes

It’s hard to believe Bluetooth is now 20 years old. The wireless communication technology was released in the summer of 1999, the same year as the Apple iBook, the Napster file-sharing platform and the Blackberry smartphone.

All those other innovations have either been phased out or discontinued, yet Bluetooth is stronger than ever. Everyone from location services to fast-food retailers is jumping aboard the hype train. If you’ve downloaded iOS13, which demands your permission every time an app wants to use your Bluetooth signal, you’ve no doubt been bombarded with notifications from companies fighting for this space.

Mobile Jazz has established itself as a specialist in Bluetooth-enabled apps, particularly in healthcare, which has been transformed more than any other sector. In this article we’re going to share some of the lessons we’ve learned in our various Bluetooth projects, in the hope that other developers can carve their own niche in this exciting space.

The Revolution

If there’s one single change which has enabled Bluetooth to survive – and in fact thrive – it’s the emergence of the Internet of Things. Like Bluetooth, IoT was born in 1999, but the two are very different. One is a technology, the other is more a concept, the idea that everyday objects can control one another through a virtual connection.

If anything, IoT should have gobbled up Bluetooth. After all, it’s supposed to run on the internet (the clue’s kinda in the name) and thus render Bluetooth obsolete. But many smaller devices simply aren’t powerful enough to connect to the net, so their developers have turned instead to Bluetooth Low Energy (BLE), a compact version of the technology introduced in 2014. As well as being cheap and reliable, BLE is easy to bolt onto existing devices and it’s much less vulnerable to interference than regular WiFi.

In the healthcare field, developers have used BLE to build everything from wearable fitness accessories to life-saving equipment. Most of these new systems have been built to rely on smartphones because, firstly, there’s no need to build custom hardware and, secondly, practically everyone has one.

This is great news for developers such as Mobile Jazz, which specialize in smartphone development. We’ve built the apps for several BLE projects and it’s become a vital part of our repertoire (you can see a full list of the products we’ve built below).

The Challenges

However it’s not always been smooth-going. We’ve run into various problems on our Bluetooth journey, often caused by sheer naivety on our (or the hardware developer’s) part. Thankfully, these problems have left us with plenty of useful learnings which we’re more than happy to share.

Firstly, to build an effective Bluetooth-enabled app for healthcare or any other sector, you need to adapt to the constraints that mobile phone providers offer. It’s vital to consider both the operating system and the specific software and hardware constraints you face.

On one hand iOS has a whole bunch of software requirements for Bluetooth, but it always works on all Apple devices. Android is looser, and allows a more sophisticated configuration of the Bluetooth protocol, but there’s a risk that it won’t work on all devices. So if you want to make the best of Bluetooth you need a team which covers all phone types and knowledge bases.

What’s more, you need genuine integration across the team. Both the hardware and software teams need to be synced; a company cannot build a gadget without factoring in the app. If the development team is siloed and unable to maintain steady communication, Bluetooth won’t work. Simple.

Mastering The Challenges

At Mobile Jazz, we like to think we’ve mastered the challenges above. And we’ve done so by adopting a very specific strategy, one which all software devs can emulate.

Rather than flood you with detail, we thought we’d break the strategy down into a series of easily digestible tips. So here goes:

1. Merge Your Software And Hardware Team

At the outset, many clients give you a Bluetooth communication protocol spec and a list of requirements for the app. Quelle surprise, they often don’t match. The problem is even more damaging when the client has already sent the hardware to manufacturing and needs to start again from scratch.

If you want the project to run smoothly, you need the hardware engineer (the one who codes Bluetooth in the hardware) and the software engineer (the one coding the Bluetooth in the apps) working together from the outset.

2. Test For The Worst

A lot of devs fail to test their app outside the office, which will invariably be its best environment. However, we need to test for the worst as well, ensuring that the Bluetooth data stream stands up to all manner of unforeseen problems, or ‘corner cases’ as they’re known in the trade. 

You should test the app in each of the following situations:

  • The smartphone is locked. 
  • The user arrives home, leaves the Bluetooth device away from the smartphone and the system starts to connect and disconnect continuously.
  • The app disconnects randomly, due to interference.
  • The user is driving or moving faster than normal while keeping the connection active.
  • The user presses “forget device” in the smartphone Bluetooth device settings, while the device keeps trying to connect to the app

3. Use An Acknowledgment-based Communication Protocol

When communication happens, both systems will acknowledge that the other has received the data. Sometimes this is simply not possible to implement. But you should aim for this approach whenever possible. It will ensure that communication is working as expected.

4. Test On All Your “Supported” Smartphone Devices

Many devs test their product on only a few devices and assume that it works on all of them. This might be true for the Apple ecosystem but it definitely isn’t for Android. Testing a bit more is always good.

In The End…

Really, it comes down to this: give Bluetooth the attention it deserves. It may just be a chip, welded into the device, but if you’re building an app that revolves around Bluetooth it needs to be central to your project.

The competition in the Bluetooth space is ferocious and today’s consumers expect the best. They are already using dozens of apps that work smoothly, without any issues. Yours has to reach this standard.

If you require any further tips or insight please don’t hesitate to get in touch with us. We’re very much evangelists for Bluetooth and would be delighted to help.

Here are just some of the projects we’ve been proud to work on over the last few years.

Read the comments
Joan Martin
Starting with a mathematics degree, continuing with a computer science master's degree and working on mobile development during the past 10 years, Joan is a proficient software engineer. Motivated by great projects and an awesome team, Joan is currently leading the mobile team at Mobile Jazz and enjoying the MJ philosophy at its best.

Want to receive more insightful articles like this? Subscribe here.


By submitting your information you agree to our Privacy Policy