The Problem

Collecting and Organizing Data for Research Studies

Often times the only measurement tool available to doctors is a visual inspection. Our goal was to use an iPad app to provide objective, quantitative data that doctors can use to make better informed decisions.

My Role

Design, Development, Leadership

I was tasked with designing, developing, and overseeing the maintenance of the Cleveland Clinic Research App. I created the first version of the app and then, as the project grew, oversaw a team of three developers charged with adding functionality and maintaining features.

The Design

Designing a Patient-First User Experience

Making the workflow intuitive for both administrators and patients took research and dedication.

The Design

Cleveland Clinic Colors

To make the app look and feel like a Cleveland Clinic product a great amount of attention to detail was required. One of these details was the colors, which were based on the official Cleveland Clinic colors.

The Design

Final Designs

The Development Process

Building a Solid Foundation with Git and Git Flow

I was tasked with creating a development flow that enabled a team of developers to contribute simultaneoulsy. I based our flow on Git Flow, a branching model that encourages separating releases, development, and individual features using Git branches.

The Development Process

Continuous Integration with Jenkins

Testing is an important part of the development process and with Research App this was no exception. To help faciliate testing, I created a continuous integration server with Jenkins.

This server was responsible for compiling, running unit tests, and deploying test builds of Research App. The date, time, and commit hash were included with every build to help track builds. Builds were triggered when changes were pushed to the development branch. Pull requests were built and tested automatically, requiring a green-light from Jenkins in order to be merged.

The Development Process

Plug and Play Modules

With an ever-growing library of modules, developing code in a reusible way was extremely important for Research App. To help accomplish this, each test, ranging from balance assessments to visual acuity eye charts, was made into a CocoaPod. These CocoaPods could then be shared among Cleveland Clinic apps, allowing us to develop disease-specific apps for populations with multiple sclerosis, chronic obstructive pulmonary disorder, and others.

In total, over 25 modules were developed and tested in Research App.