The LSA Technology Services’ Research Software Programming service provides the college with an in-house group of software developers dedicated to making custom programming capabilities available to researchers across the humanities, social sciences, and natural sciences. When a research project has needs that can't be met by existing software or services, this team gives researchers an alternative to the traditional options of learning to program on their own or hiring a graduate student who may not be around to support the application in a year or two. Working with LSA Technology Services saves researchers time and effort while also providing a professional level of code development and maintenance practices.
Our programming team members partner closely with researchers to understand their needs to create viable technology solutions. In a research environment, this often involves working through multiple iterations of a project, trying out a variety of solutions to find the one that best fits the researcher's needs, and rapidly adapting the software as new findings arise or needs change. One example of this work involved developing a mobile app to track the circadian rhythms of study participants through data collection on activity tracking devices. The programming team developed an iPhone app to collect heart rate and step data, and get an analysis of this data back from the research lab. As the project expanded and additional participants were recruited, the team created an Android version of the app, incorporated additional data collection options, and expanded analysis functions.
In addition to mobile apps, the programming team has developed a variety of projects involving database setup and interactions in several different environments. For example, they worked with a lab that conducts many studies on the same population of monkeys and collects all of the data in Excel Worksheets. This lab needed a system for tracking subjects across multiple studies to compare their performance on different tasks, so a database was created with a custom R library for adding and accessing census and study data, as well as a website using R-Shiny for lab members who are unfamiliar with R.
A second data collection project assisted a Physics lab with tracking the construction process of thousands of identical robots to be used in the Dark Energy Spectroscopic Instrument. Each robot consisted of many parts, all of which had to be installed in a specific order and by a strict process. The programming team developed a database to track robots, their component parts, and the build progress, as well as an iPad app to allow the technicians building the robots to easily enter the parts and progress as they worked on the construction. Based on feedback found during use, the LSA Technology Services’ programmers quickly updated the app by adding functions to show how to perform each construction step, view previous builds, and check overall progress.
Our programmers don’t work solely with software; they are also experienced with integrating hardware and software systems in a lab environment. For example, a researcher wanted to surround a mouse with a 4-walled display of synchronized striped patterns for behavioral experiments and sync the history of these displays with her neural and video recording system. The programming team developed a MATLAB program to display the desired patterns on a set of four computer monitors arranged as a box, controlled by a fifth monitor, with additional signals wired from the computer to the recording system to track the timing and types of patterns displayed. This allowed the researcher to perform a novel experiment.
This is just a small sampling of projects LSA Technology Services’ Research Software Programming team has worked on. More details on some of their past projects can be found in their portfolio site. The team is always willing to learn something new, so if you or someone you're working with would like to explore the possibilities of a custom software project, contact the team at LSATechnologyServices@umich.edu.