Independent Study Presentation

Title: Data Collection and Archiving with Apache Cordova for Mobile Edge Devices

Presenter:  Colin Campbell

Advisor:  Dr. Anne H. Ngu

Date/Time:  Monday, May 3rd @1:00 p.m. (CDT)


Zoom Link:



The Internet of Things (IoT) is a rapidly growing system of physical sensors and connected devices, enabling advanced information gathering, interpretation and monitoring of real world data. As these systems become increasingly prevalent in the digital technology industry, the influx of IoT generated data streaming in from applications built using the traditional cloud[1]computing architecture has resulted in various scalability issues involving speed and latency. Problems of these types can be especially troublesome for applications that depend upon the real-time processing of time-sensitive data to perform a set of actions. Such as a self-driving car responding to an obstacle in the road or a health monitoring system alerting a caretaker when an elderly individual falls. The realization of this latency issue has led to the development of devices and services capable of performing all critical data analytics and storage back to the edge of the network. This form of localized processing known as edge computing offers a solution to the latency problem by acting as both an entry point and gateway between IoT data analytics and it’s end users. Any piece of hardware possessing networking capabilities along with either or both data generation or processing operations can be considered an edge device. This implies that common devices such as smartphones, home routers, smart cars and laptops can all be classified as edge devices. Although all of the mentioned devices are commonly used in our daily lives, there’s still a need for reliable software that’ll enable developers to rapidly build and deploy IoT applications using an edge-based architecture. For instance, when developing an IoT application using an Android smartphone and smartwatch Google suggests using it’s Sensor API provided by the Google Fit API. But in order to obtain and process the collected data, it must first go through the Google Fit Store’s cloud. Therefore, the focus of this study was to develop an alternative reusable means of data collection and archiving for both mobile and wearable Android devices. In order to promote the rapid development of IoT applications by others throughout the community, Apache Cordova was the mobile application development framework chosen for this study. Apache Cordova is an open-sourced, cross-platform, hybrid framework that utilizes cordova plugins to bind web technologies to native code running in the background of the device. This study ultimately led to the development of generic cordova plugins for both data collecting and archiving using Google Play 17.0.0 Wear API and Couchbase Mobile Lite 2.8.0 respectively. The data collection plugin, WearOS, utilizes Google’s MessageClient API and provides a two way, cloud independent messaging system between both the watch and the phone at speeds under 32ms. The data archiving plugin, Couchbase, provides the mobile device with both local storage and the ability to upload to a remote server hosting a PHP script. Both plugins are completely cloud independent and are generic enough to be easily reused for any form of IoT application. They are available to the public on GitHub along with detailed documentation providing instructions covering installation and use, along with multiple examples.

Deadline: May 4, 2021, midnight