App Development and Testing on Wearables

Mobile App Testing on Wearables

The wearable technology – one of the major themes for every mobile OEM – has hit the mainstream for years. It’s clear that the wearable market (whether products are considered as eyewear, wrist wear or even footwear) will continue to grow.

devtestwearable

The term ‘wearable electronics’ – or simply ‘wearable’ – refers to an electronic device or product which can be worn by a person to integrate computing in some personal device that is a) wearable and b) hasn’t considered as a ‘smart device’ in the past. In simple terms, a wearable gadget is used to make some routine things easier and connect the gadget with the internet – and provide utilities (e.g. apps) for users. Wearables can be also seen as an advanced consumer front-end of the Internet of Things (IoT). In short, wearable electronics emerges from the idea of providing a ubiquitous computing device that converges all computing needs in a single wearable gadget in the form of a pair of goggles, a wristwatch, and the likes.

Apart from the novel concept of smart and electronic textiles, the field of wearables also includes several other products – such as smart glasses, ring and finger worn scanners, footwear such as athletic, fitness and sports shoes, wrist wear such as advanced electronic watches and wristbands, and others (such as headbands and neckwear).

Typically, any wearable electronic gadget may include few or all of the following: sensors, image and speech recognition technologies, positioning and networking hardware/chips, displays and optoelectronics, and specialty monitoring devices. The emphasis on using wearable devices for sports and fitness, infotainment and gaming, health monitoring and medical purposes, lifestyle, enterprise, and industrial/limitary applications has been increasing with advancements such as stretchable electronics, flexible circuits, conducting fabrics, long lasting batteries, and smaller specialty wearable sensors.

wearables_table

Despite use cases for each ‘vertical’ are slightly different there is one common thing for all of them – continuous access to (real-time) information.

The amount of focus and efforts all across the value chain of the ecosystem suggests that players are going full throttle to cash in the big opportunities that the wearable electronics market currently offers and is yet to offer in very near of the future. The wearable technology market already has several successful wearable electronic products and more emerging every month. But what are the things that the number one aggregators of also this industry – the app developers – must know before building their apps on those gadgets? We’ll take a look at these…

The Challenges of Developing and Testing on Wearables?

In a nutshell, these wearables represent a great opportunity for app devs as well. It is completely a new ballpark with new challenges, but there are lots of potential gains here as well. Building a top ‘app’ for these devices can quickly get you in front of hundreds of millions of consumers with less competition on app offering right now. The challenges, however, remain the same as you’d be developing apps for smartphones and tablets – the need to use real devices with real specs, hardware and software.

For instance, different sizes of screens, a variety of different chipsets, customizations to vanilla Android Wear by OEMs, different hardware specs in terms of memory, controls and so on, will make building apps a bit more challenging for these devices. And for sure, the majority of apps built for phones and tablets won’t work on these devices – regardless of Android Wear.

wearables_v2

Wearable apps differ from regular apps in a variety of ways: design, functionality, usability, user interaction, and connectivity, just to name a few important topics:

Design – One of the most obvious constraints in wearables is the size of the display. Typically this is significantly smaller than any display size or resolution found in phones or tablets. Because of this limitation, apps must be aligned and utilize the smaller screen size as efficiently as possible. Your app cannot draw high-resolution, detailed content on the screen, but the design must take this into consideration and show thumbnails or otherwise shrunk content in an intelligent way.

Functionality – Functionality of app is typically limited and much of its functionality is combined in a mobile device (if wearable communicates with a phone/tablet some functionality is typically implemented for it instead of the wearable gadget itself). Furthermore, the hardware is not as powerful as one on phone/tablet so this limits the functionality of the built-in apps. In many cases, apps running on wearables can be seen as lighter / smaller versions of the apps running on phones/tablets.

Usability / User Interactions – The big question, of course, is that how will wearables change the UX and usability we’ve used to now with phones and tablets? Well, usability and user interface won’t be the same that is done for an app running on phone/tablet. This naturally has an implication on how users interact with those apps as well. For example, the app might just have few buttons and no other user interface elements that are common on apps running on phone/tablets (e.g. dropdown menus, complex and visual rich sliders). Also,

Connectivity – There are various communication protocols available for use in wearables, including standards like Bluetooth, ZigBee, and WiFi, as well as proprietary interfaces developed by semiconductor companies. Standard protocols like Bluetooth, ZigBee, and WiFi have not been designed with low power as the primary design consideration. For this reason, many OEMs have chosen to either use proprietary protocols focused on energy efficiency or use Bluetooth Low Energy (BLE) that specifically designed to achieve the lowest possible power for short-range communication.

The Bridge Between App Creation for Phones/Tablets and Wearables?

Generally, Android Wear and Apple Watch is the first step to create confidence for app devs to start building apps/games/whatever products for those gadgets. However, the platforms are already different from both software and hardware point of view. Despite app (software) and gadget (hardware) are very different whether build and tested for phones/tablets or wearables, there are some things are common: test automation frameworks.

For example, similar platforms with identical test concepts will make the testing same whether done for an app running on mobile phone/tablet or any type of wearable gadget. If you think of this, Appium (for example) provides a great foundation for testing apps on wearables as well and from test automation framework point of view, it is no different whether the tested app is for phone/tablet or wearable gadget.

Let’s look at an example here. Here is an example (as video) of how Appium test script hammers simple app on smartwatches:

So what’s going on here: First, you can connect the gadget through ADB just like you connect to a phone/tablet:

$ adb devices

Also, connecting wearable with phone/device through Bluetooth is easy and straightforward:

$ adb -s forward tcp:4444 localabstract:adb-hub/ && adb -s connect localhost:4444

Then, you start Appium server (if using Appium locally) and start the test run targeting to http://localhost:/wd/hub/

$ appium -U localhost:4444

After this, the test script is getting executed and after the session, screenshots can be fetched/reviewed (as shown in the video).


Build a Large Scale In-House Test Lab for Mobile Apps

Learn best practices from this guide to maximize the ROI by building a flawless in-house test lab.

Download

  • Great post to know about Wearable Apps.

  • The wearable apps ecosystem is highly fragmented and immature. Thanks for sharing this information, really very well know about Wearable apps.

  • John

    Great post, thanks for this!

  • Yauheniya Veremeichyk

    Thank you for your experience! We at A1QA also run tests on werables devices. Learn how we happened to test the app on towels 🙂 bit.ly/2fBh2AQ

  • Thank you for sharing this post with us.Very informative Post.