show_menu logo_rd

Wearable Runtime & Connectivity Architectures

0

Wearables will greatly influence our lives in the near future, and we at ELEKS strongly believe in it. By combining great engineering ideas, delightful design and fashion, they can provide extra data and value that were not available to people before. And companies understand this perfectly clear. Here’s what Google found out when they analysed phone and wearable usage.

Google Phone Usage Research

The main idea behind this research is that it’s a lot easier to engage with content when it’s on your wrist. You are way more focused when engaging with it, and you are no that easily distracted. The screen is so small that it’s just physically inconvenient to scroll text on a wrist. And sometimes there’s no screen at all.

Wearables become more accessible. Today I saw a banner on the street, claiming a local engineering company starts producing their own cheap activity trackers. I have no idea who designed them or where they are going to be produced, but the company really does that. You can buy their activity tracker in a store nearby.

Wearables collect tons of data nowadays. In most cases, data is useless until you process it. But wearables usually are not powerful enough to process it. That’s why most of them send data somewhere (to other devices, into the cloud, etc). So, let’s have a look at the ways wearables connect to the outer world and send data there.

IBM Smart Watch Era

IBM Linux Watch

In 2000 IBM created the first IBM LinuxWatch. It had Linux with X11 onboard. Having root on your watchpiece is a dream for those who love *NIX-based systems. The device was absolutely self-contained. It required no third-party devices to function properly. Guys from IBM added Infrared and Bluetooth modules to the watch. Additionally, there was a way to communicate with it via RS232 when it was connected to the docking station.

IBM WatchPad

A year later IBM improved their prototype and released IBM WatchPad in 2001. The device was a lot better. If you follow Apple news, you probably heard about Apple Watch. They introduced ‘Digital Crown’ — a versatile tool that answers the fundamental challenge of how to magnify content on a small display. As you can see from the video, IBM did that back in 2001. By the way, they already had fingerprint sensor as a security measure on the watch.

Crowdfunding Rockstarts: Pebble & Shine

Pebble Architecture

Now let’s move a bit closer to our days. Pebble was introduced in 2012. They’ve got Custom RTOS, e-paper screen and other modules. It uses a bluetooth module for connectivity which even supports Bluetooth Low Energy.

Pebble apps are written usually in C. Sometimes, apart from binary payload, Pebble apps can contain code written in JavaScript. This JS code is run inside the JS sandbox provided by the official smartphone Pebble App. Inside the JS code you have access to phone internals as well as XMLHttpRequest object, and that is the place you can access the outer world from.

Misfit Shine Architecture

Misfit Wearables was founded in 2011. They went public through the indiegogo campain where they announced Misfit Shine. This fashionable activity tracker records your daily walking, swimming and running activities. It has no OS or screen. It uses only several bright LEDs for output. Shine is made of aircraft grade aluminium, and because of this enclosure, its hard to use long-range connectivity. That’s why they chose to send data over to the phone only when both devices are close to each other trough Bluetooth Low Energy.

Sony and Google Smart Accessories Era

Sony SmartWatch Architecture

There’s a company called Sony. They were at the front of mass-market wearable devices without huge kickstarter campaigns & competitors running nearby. They just did what they wanted: smart accessories. And they’ve been doing it since 2012. Up until now they produced several smart watches, smart glasses, a smart headset and probably something else smart.

Their smartwatch, for instance, is powered by a custom proprietary OS based on Micrium. The watch works with Android devices only. Accessory connects to the phone via Bluetooth. You can think of Sony SmartWatch as a simple display with a touch screen. Nothing more. All code execution is done on the phone in your app.

As a developer, you communicate via Intents with Sony Smart Connect app which works as a router between third-party apps and Sony smart accessories. You write an Android application that sends screen updates (read: bitmaps) to the accessory and receives callbacks, when any events (touches, clicks, swipes) occur on the accessory. All the low-level communication is hidden from you by the SomySmartExtensions framework.

Android Wear Architecture

In summer, Google finally announced their watches. All of them are based on a specific version of Android OS: Android Wear. This means that your watch runs real Android OS: you have Linux, on top of it you have stripped Android and on top of that you have VMs running your apps. So many abstraction layers.

Right now Android Wear devices use Bluetooth for communication. As a developer, you have no access to the low-level bluetooth communication. You work on a higher level of abstraction, called Android Wear SDK. It consists of several crucial parts: Nodes API (detects devices in the wearable network), Message API (allows sending messages between nodes) and Data API (allows data synchronisation between nodes). No direct connection to the Internet is available for you. So, when you’ll need to show some pictures of kittens on a wrist, you’ll use Data API to send assets from the companion app to the watch.

Summing Up

The number of various wearables increases drastically. Wearables already form subgroups inside the wearable world: activity trackers, smart glasses, smart watches, smart bands, smart shoes, etc. One can even spot a tendency where some wearables conquer others and markets tend to disappear. That’s what is happening now with smartwatches and smartbands – bands are becoming more watch-like.

Wearable is the new NoSQL and Big Data — it describes an area without saying anything specific. Let’s face the reality: each wearable is unique. Every one of them has specific features and custom target audiences. That’s why the creators of each of them try to find the most suitable balance between features, ways of communication, battery consumption and design.

Ostap Andrusiv

Ostap Andrusiv is an R&D engineer at ELEKS, passionate about Java & Android. He is the organizer of GDG Lviv events and an active participant of technological conferences worldwide. Right now he is diving into wearable technology like Google Glass and smart watches. He likes being active, enjoys travelling, jogging and is an ultimate frisbee fan. Ostap started blogging to share his experience and prevent readers from shooting themselves in the foot.

tags

Comments: 0