business

October 27, 2020   |   4min read

What Rules to Follow When Working on a Wearable Device Project?

What is a wearable device?

By wearable, we understand a wide range of devices. We can distinguish wearable devices for sports measurements and health trackers monitoring well-being 24/7. There are also smart devices that replace already existing solutions, such as smartwatches or wireless headphones. What differentiates wearable devices is also the type of connection with a smartphone. The link can be continuous, meaning that the device can only be accessed through a smartphone or, rarely, won’t work without a Bluetooth connection. The peripheral device can be used autonomously, only syncing with the phone to transfer a new batch of data.

What skills should my wearable technology development team have?

There are two types of projects that will necessitate different skill sets. In an end-to-end project, the team is responsible for hardware, firmware, and application software. If you are interested in learning more about the hardware development, check out our article on the rules to follow when working on an embedded project.

Today, we will focus on the other type of project, namely, where a company delivers the hardware and firmware, and a development studio works on the mobile app. The experience in developing mobile applications with peripheral integration is a must. Those apps come with a set of common and repeating issues that need to be addressed.

Moreover, your wearable technology team should have skills connected with the Bluetooth protocol, as it is the most common connection method. Understanding how Bluetooth itself and the protocol work will enable a more efficient implementation in the mobile application. By effective, we mean a stable and fast connection between devices that doesn’t quickly drain the battery. The skillful implementation of the Bluetooth connection can also vastly improve data transfer speed. Another advantage of having Bluetooth skills is the ability to suggest firmware changes that could improve the mobile application’s efficiency.

An additional skill worth mentioning is developing mobile apps that have Bluetooth running in the background. A wearable device, apart from syncing data on command, can also communicate with a smartphone continuously. For instance, to average daily heart rate, daily step count, or device information.

Developing a wearable device usually takes years, and maximizing the device reach is a sound business decision. That is why your team should be skilled in both Android and iOS development. Bluetooth connection with each native platform differs. That is why knowledge on native platforms is crucial, even if the app is developed in a cross-platform framework—React Native or Flutter.

A developer is coding by his computer. He has a view on the Palace of Culture in Warsaw through his window.

What are the most useful frameworks and tools for wearable technology development?

There are no surprises on the side of mobile application development, namely the experience in the popular iOS and Android frameworks, like Swift, Objective-C, or Kotlin.

When it comes to Bluetooth connection, we highly recommend using open-source libraries available on GitHub. Working with the Bluetooth protocol through the system is complicated and time-consuming.

You can take advantage of a set of libraries for wearable device connectivity with all the major frameworks developed and maintained by Polidea. If you like to know more about them, check out the article summarizing our open-source portfolio.

Another useful tool for developing a wearable device project is a hardware emulator. For instance, Bluemulator simulates Bluetooth Low Energy peripherals and lets you run connectivity tests. To ensure that the data transfer between devices runs smoothly, we recommend applying BLE sniffers to debug errors. You can learn more about that subject in our comprehensive sniffing guide.

What should I keep in mind to improve my wearable technology development process?

It is helpful to have hardware developed before working on the mobile application or have an agreed communication protocol that will be used. Otherwise, if the application and the hardware are developed simultaneously, the test run on the application will contain the bugs of the app and the hardware. For instance, when the connection is lost, the verification of what has caused the problem takes significantly longer.

On the other hand, building the hardware before starting to develop the app has one significant disadvantage. Namely, if a bug in the hardware is discovered in the course of developing the app, the cost of changing it is vastly higher than implementing adjustments in the code.

What are the most common challenges when developing a wearable device and connecting it to a mobile application?

The main challenge stems from the unstable nature of the connection between a mobile application and a wearable device. Usually, the communication of the first versions is unstable, connection is lost more often than expected and uncommon problems arise. Therefore, both the application and the wearable device must be ready for such an event and protocols for coming back to connected state, for example, restarting a workout.

Moreover, the conditions in which the device is used might differ from the testing environment. Those unforeseen circumstances may cause the wearable device to disconnect frequently. For example, the antenna is just slightly too weak, which even the most rigorous testing hasn’t indicated. Another possibility is that a device has a specific amount of memory. What happens when the wearable doesn’t sync with a smartphone and tries to gather more data. Should the data be deleted? Maybe, the device could send a notification about running out of memory. As you can probably imagine, there are multitudes of unexpected scenarios. Figuring out as many such scenarios as possible and counteracting them will vastly improve users’ experience.

Paweł Byszewski

Head of Product Development

Tomasz Szymoński

Communication Specialist

Did you enjoy the read?

If you have any questions, don’t hesitate to ask!