[Interview] The power of the browser as a platform for scientific data visualisation

I recently came across a web-based visualization project called “Luminosity“, a recent winner of the Mozilla Ignite app challenge led by Amit Kapadia, a developer on the citizen science project Zooniverse. Ignite is an open innovation challenge hosted by Mozilla and the National Science Foundation (and a sister project to the Science Lab), funding app development showing the potential of gigabit fiber networks.

Luminosity sets out to better enable researchers to create scientific visualizations based in the browser. The app is focused on astronomical data, exploring the power of using the web as a platform for the sciences.

At the Science Lab, making the web work for research is in part about creating open, innovative tools to help advance discovery. Sometimes these tools are open source by design, othertimes not, but still contribute nevertheless to open science.

Amit’s approach with Luminosity takes that work to another level, exploring using the browser as the platform – a space Mozilla is quite involved in 😉 – to create scientific visualizations. I asked Amit if he would share his thinking about the possibilities for not only better visualization tools in the sciences, but also about his design decision in making his app browser-based.

Kay Thaney: Thanks for joining me today. Let’s start with Luminosity. Tell us a bit more about the problem the app sets out to solve, and how you address it.

Amit Kapadia: Luminosity is an experiment to bring science grade tools to the web.  The browser is evolving into a full-fledged platform where all types of applications can exist.  Many software applications in the sciences rely on older technologies, often sitting on a 10 year old code base.  Luminosity is an attempt at a fresh start.  In its current implementation, the app allows astronomical data to be imported and visualized in the browser, emphasizing a modern user experience, performance, and a collaborative workflow.

Kay Thaney: One thing that struck me from the description was the web-native design. In today’s world, most of us interact with the web through browser-based applications. Is Luminosity’s design unique when it comes to the sciences, or are others taking the same approach towards data visualization tools for research?

Amit Kapadia: The functionality of Luminosity is typically expected from a native desktop application.  Putting aside the science for the moment, there are many application such as Photoshop or Final Cut Pro, that we know as being strictly desktop applications.  Over the last years, browser technology has advanced tremendously such that functionality of these heavy-weight applications can be executed in a browser.  Proof of concepts are beginning to emerge, but far fewer in the sciences.  One example from the sciences is Slice:Drop, an application for visualizing 3D medical data.

Kay Thaney: Did you encounter any challenges in taking a browser-based approach? Why aren’t more startups and tool developers in this space creating tools in this manner?

Amit Kapadia: There are difficulties taking a browser-based approached.  Many disciplines, such as astronomy, have existing toolsets that have matured over the years.  These are often well established libraries written in low level languages.  Migrating to the browser requires porting these libraries to JavaScript, so that, for example, scientific formats can be read in the browser.  This is a difficult task, but offers the reward of using the browser as a scientific platform.

Only now are developers beginning to utilize the full power of modern JavaScript engines.  The gap between native and JavaScript performance is narrowing thanks to the large investment of Mozilla and Google.  It would serve the science community well to take advantage of this technology.  Many developers are still not aware of the level of performance.  Hopefully that changes, and we’ll see more desktop applications migrating to the browser.

Kay Thaney: At the Science Lab, we’re strong supporters of providing not only better tools but ones that can help make concepts such as data visualisation more accessible and understandable to researchers. Looking beyond astronomy, do you think Luminosity could be applied to another disciplines data problems (say, ecology or the life sciences)?

Amit Kapadia: Many of the initial ideas behind Luminosity have been specific to astronomy.  Currently the web app only supports a file format known as FITS (Flexible Image Transport System), a format archiving nearly 40 years of astronomical data.  Despite being able to read an arcane format, the real problem that Luminosity addresses is visualizing complex imagery.  Astronomical images have a very high dynamic range, requiring tailored tools to best visualize the data.  Medical and satellite images share the same problem, storing their data in formats such as DICOM and GeoTIFF.  In the future, Luminosity could be extended to offer more domain specific tools, while levering it’s current capability of displaying high dynamic range images.  The plotting features, utilizing D3, are already generic.  Other disciplines could take advantage once other file formats are supported.

The most experimental feature of Luminosity is the collaborative workflow.  Collaborative image viewing has been implemented for a subset of data, allowing a group of researchers across multiple institutions to view and manipulate an image together.  Collaboration is the most straightforward idea to apply across different disciplines, including education.  Cizzle, another recent submission of Mozilla Ignite, is developing a web app for students to better understand our Solar System.  Between these tools, one could imagine researchers digitally visiting a classroom for a data exploration activity.

Kay Thaney: What is next for Luminosity?

Amit Kapadia: Luminosity is still experimental.  In the short term I’d like to continue building collaborative features, so that researchers spread across a large distance can visualize data together.  Another item on the to do list is visualizing three-dimensional volumes, and luckily WebGL provides a solution.  The application will continue to utilize only open standards, and I’ll continue to experiment with ways to approach performance of native code.

Kay Thaney: Thanks, Amit. We look forward to hearing more about Luminosity’s development in the future.

Want to check out the code behind the project? Visit Amit’s GitHub page and have a look. You can also see the tool in action in this video.

Leave a comment