Modular File Renderer: an easy way to help make science more accessible

The following is a guest post by Austin Macdonald, a developer intern at the Center for Open Science where he contributes to a variety of open source projects. You can follow him on GitHub or on Twitter @asmacdo.

Two weeks ago, we held a very successful Mozilla Science Lab Sprint at the Center for Open Science (COS)! We were very happy to be part of the two day sprint to “encourage groups all over the world to write and build useful things, and to strengthen ties within the open science community by giving people a chance to work together.”

Part of our mission at COS is to make practicing open science simpler and the results more accessible. One way we’re addressing this is to build tools that allow for easier communication and file sharing. To help make file sharing easier, COS has been building a framework for displaying a diverse set of file types in the browser, called the Modular File Renderer (MFR). We recently restructured the entire project, so many file types are not yet available in the new architecture. Peter Fan and I, both interns here at COS, have been focused on completing the restructure. We chose to work on the MFR for the global sprint and hoped to encourage others around the world to help add new file types and add their ideas on how to make file sharing and dynamic rendering better.

image01image00

For the sprint, our goal was to port file handlers from the old architecture. We had two great volunteers, Oliver Daniel, who was able to build a working prototype of a PDF renderer, and Amanda McDermott, who is getting started with Python by porting an audio renderer. Peter worked on rendering IPython notebooks, I worked on helping Oliver and Amanda get started, and I fixed bugs and documentation along the way. We weren’t sure what to expect from the sprint, but we were quite happy with the work that was accomplished, particularly that we have two new excited volunteers!

There is still a lot to do! There are still many file types that need to be ported to the new architecture, and so many new file types we would like to support in the future (including domain specific files). An individual module is simple and independent from the rest of our code, which makes it a great project for interested developers of any experience level looking for a way to contribute to an open source project.

We love getting new volunteers to help out on any of our projects! If you are interested in helping out, please check out our GitHub repos, or get in touch by emailing contact@cos.io.