Research IT

A Spectacle of Lens Research

Dr Michael Read, New Technologies Manager at Eurolens, commissioned our Mobile Development Service (MDS) to produce a showcase to demonstrate how the use of a mobile app for data collection can be user friendly and enable more frequent and timely data collection as opposed to conventional paper-based surveys.

Eurolens is a clinical research group based at the University, who provide research services to contact lens and other ophthalmic industries. By capturing subjective feedback data from various studies conducted by Eurolens, researchers hope to better understand how contact lens performance varies with factors such as the type of lens, the care system used, the time of day and lens replacement frequency.

The current solutions used by Eurolens for conducting surveys are not ideal resulting in a response rate of around 80%. One of their current approaches is a paper-based form filled out by about 10,000 people each year. The form is scanned and sent to an email address or posted by the responder. Another current solution is an SMS-based survey system maintained by an external company. The company are notified via email to send appropriate text messages containing one or more questions to which the lens user must respond.

Michael felt that a mobile app would make the survey experience more convenient, much more user friendly and would provide greater flexibility on how many and the type of questions which could be asked. Also, at the moment, surveys are only done in the UK but longer term the surveys may be done globally which would be easy to achieve via a mobile app.

What Does the ERA (Eurolens Research App) Do?

Eurolens 1

Working closely with Michael, the MDS team designed and developed the mobile Eurolens Research App (ERA) using Microsoft’s Xamarin Forms framework to capture daily contact lens user experience data.

Wearing lenses can affect vision, comfort, dryness throughout the day and it is important to capture this in the surveys. A key characteristic of the app is that it improves the frequency and timeliness of the data collection which was not possible via the postal and text messaging approach. Researchers need data to be collected frequently throughout the day and importantly collected within very specific timeframes at each point. For example, synchronising the questions with when the lenses are applied in the morning and removed later in the day, and asking questions at precise intervals during the day helps to build a more complete picture.

The app is built to change its "state" throughout the day based on elapsed time since the user has applied the lenses and tailors the questions to suit. The app is built to give flexibility to participants lifestyles, for example to cater for shift workers - daily monitoring starts at the time the lenses are applied and finishes once they remove the lenses. Logic in the app also enables different questions to be presented depending on the stage of the study, until the study ends.

Another feature of the app is that multiple studies are supported. Researchers can define different configurations for surveys without the need for a new version of the app, and notifications and questions can be tailored based on the study the user selects.

On initial installation of the app, the participant is prompted to select the study they are involved in, an identification code, the type of lens they will be wearing and notification preferences (so phone notifications only appear when desired). The app reminds participants to visit the app by generating local notifications on their device, however the app will still function without notifications enabled

At key points in the day, the mobile phone app presents questions to collect information about ocular comfort, vision, and lens handling characteristics such as how easy participants found insertion, removal, and general handling of the lens. Within the app are ‘tooltips’ which provide popup screens containing help about the questions.

Storage Connect

The data collected through the app is stored on a secure data storage system called Storage Connect which is a Research IT web service providing a SQL database for secure data storage. The service resides in the Windows Server data centre and is replicated and backed up daily. Administrator access to the data is restricted to named University users and has been secured through collaboration with the Information Governance Office (IGO) and ITS Security.

The configuration of databases, access, and the ability to export data is implemented through an associated web application. This web application is accessible to Storage Connect administrators and allows the configuration of “apps” representing a particular project or client configuration. Within an “app”, administrators can configure one or more “studies”. Each study defines a data specification outlining the expected structure of the data packet sent by a client associated with the parent “app”.

A public API is available for processing HTTP requests from remote clients. A given remote user can register with a particular app using a chosen username and password. Registered users are then able to send data from remote clients to be stored in the database associated with a given study. This system has been used successfully numerous times before on previous mobile app data collection projects. The data packet sent from the mobile app must conform to the schema configured on the Storage Connect database study related to the app to be accepted.

The Storage Connect Client library is a plugin to MDS Xamarin apps suitable for implementing communication with the service. It holds a buffer of records which can be sent to the server “en masse” when internet connection is available. The Storage Connect Client library and Storage Connect Service are maintained in parallel and are easy to integrate into MDS apps which enables decoupled, secure, fast, and reliable development of the data collection feature.

Dynamic Content Views

eurolens 2

Most pages in the app are multi-purpose and display all or some dynamic content. For example the Question page displays different question content depending on the lens study status. Question page view models use visibility bindings and button logic to control visibility and content of pages. The app generates the content of the questions on the Question page using values from the Question repository database. There is very little XAML (UI design) code other than to call code which builds the content programmatically depending on lens study status.

Cloud Content

eurolens 3

The app easily enables new studies or changes to existing studies to be implemented without changes to the app code by utilising a free Firebase cloud service. Cloud Firestore provides a flexible, scalable database for mobile development from Firebase and Google Cloud. It is a scalable NoSQL cloud database with high availability and global redundancy. Cloud Storage stores files in a Google Cloud Storage bucket, making them accessible through both Firebase and Google Cloud allowing flexibility to upload or download files from mobile clients via the Firebase SDKs.

All the ERA studies and question content is stored in Firebase files and researchers are given the ability to make changes to the questions via the Firebase console. By simply logging into the Firebase console and uploading a new text file of questions, researchers can make a study with a new set of questions available to users or changes to existing study questions without the need to re-release the app.

Crash Reporting

eurolens 4

App Center Diagnostics is a cloud service that helps developers monitor the health of an application, delivering the data needed to understand what happens when an app fails during testing or in the wild. Internet access is required for the crash to be reported. If the crash causes the app to become unusable the app will display an error message along with an error code, update the lens user status and display a descriptive message on the app’s Home page.

In some cases, the app status can be reset via the Administration page in other cases the app may need a re-install. A crash report describes how the app terminated and contains trace information which shows what code was running at the time of the crash. Crash reporting provided by the app centre helps us to understand any stability problems the app may have and so helps speed up the fixing of any critical problems.


If you have an idea for a mobile app and want more information or have any suggestions or questions about our service, please feel free to make contact using the MDS email address. You can also contact us through the Support Portal via the MDS request form under Research Computing.