Research IT

Happy Birthday MDS!

Launched on 1st April 2019, the Mobile Development Service from Research IT is now one-year-old. It has proven to be a very popular addition to the Research IT catalogue over the last twelve months. The service has contributed to research projects across all 3 faculties, delivering 9 apps to date with 8 more in development or planned for the remainder of 2020. In this article we look at some of the what we think are the best features we have delivered to developer.

MDS Infographic

Best Features of 2019

The most enjoyable thing for us as MDS engineers is the sheer variety of projects we get to work on. Each project we have completed to date has presented its own unique challenges, requiring us to continuously learn and adapt to ensure we deliver software capability the researchers need for research excellence. Below, we discuss some of the best features and capabilities we’ve developed in the last year.

Secure Data Collection and Storage

MDS1 v2

Nearly every app the MDS has completed in its first year has a data collection component. Researchers wish to collect anonymised data from users including selected demographics, symptoms, behaviours, opinion etc. Research IT already had a secure data storage system for accepting the data but packaging and securely transmitting that data from mobile clients was a non-standard use case. One of the key capabilities we delivered last year was the StorageConnectClient .NET library for our cross-platform mobile projects. MDS developers just plug in the library, and with minimal configuration, can have their apps send data straight from the mobile app to the secure servers. In the case of poor connectivity, the library even buffers records and can send them automatically when connectivity is restored.

Withings Health Integration

MDS 2 v4.png

The L-DART app is powered by data collected from a Withings Move wearable activity tracker. Users authenticate access to their Withings account from within the app, which then synchronises their steps count and sleep statistics from the Withings servers using the Withings web API. MDS developed a reusable .NET library which implements the client-side protocol for this synchronisation. Any future apps which require a Withings connection can now be built with ease.

Cross-Platform Scientific Charts

Data visualisation is a crucial part of research work. Research IT offer the Visualization and Data Analysis Laboratory (vDAL) for specialised data visualisation services. However, occasionally, MDS projects require data visualisation within the app itself. For this, MDS secured licenses last year to use the cross-platform charting library SciChart in our applications. We have used this library already to build a custom heat map required by the L-DART project for both Android and iOS. You can see a glimpse of the heat map in the infographic below.

MDS 3 v2.png

Custom UI Controls

MDS 4 v1.jpg

Sometimes, researchers just want a particular visual representation of information or a particular widget for users to interact with. Although we try to keep our apps as “native” as possible for a consistent experience on Android and iOS, we have built some custom UI controls for some projects. Using the Skia Graphics Library, we have implemented a selection of fully configurable controls from the ground-up, which also support data binding. We think that the MDS “Pie-Chart-Wheel” control is one of the prettiest (see image), which allows triple-value datasets to be displayed with up to 6 different visual combinations depending on slice and badge configuration.

Cross-Platform Game Engine Integration and Sensor Platform

MDS 5 v1.jpg

The Brighter Time project required a unique mixture of data collection and mobile games all contained within a cross-platform mobile application. The MDS researched and proposed various options for realising this goal. In order to re-use as much data collection code as possible, MDS developers chose to port the pre-existing games from Unity 3D to the Urho 3D game engine which offered the option of embedding the game canvas within an existing app container. This port required the complete rebuilding of the game and its assets. However, the instrumentation of the games to collect the extension play statistics required by the project was much more straightforward than the expected Unity 3D integration. In addition, the MDS also wrote a platform-specific sensor library for capturing screen brightness and ambient light levels from devices sensors. Apple App Store policies state that interrogation of the ambient light sensor on iOS devices is forbidden in publicly distributed applications. Not to be deterred, our developers wrote a custom iOS implementation which uses a background video feed from the front camera of the device to compute the ambient light level from its field of view.

Push Notifications and User Analytics

A new feature we are offering for all projects in 2020 is the ability for researchers to send push notifications to their users. In addition, through the same facility, we are able to configure app analytics which allows researchers to gather anonymised data on user behaviour inside their app. A typical use case of the latter is where the object of the research project is to evaluate the effectiveness of the app itself. In-app analytics provide feedback to the researchers about what a user tapped on and looked at within the app as well as how often they are using the app and in what countries around the world. The MDS provide a Google Firebase account for each research group and instrument the app as required. Firebase serves as both an analytics dashboard, allowing researchers to see usage statistics, as well as a hub for composing and distributing push notifications using the Cloud Messaging service.


To cost a developer onto your research proposal and secure us to work on your project, contact the MDS Lead, Adrian Harwood, or send us a message the MDS email. A Support Portal item is on the way too!