Bringing Scientific Software to the Web Browser
Live execution log for DISHTINY web app.
Although nominally open sourced, much scientific software is inaccessible in practice because it is prohibitively difficult to use — particularly for members of the general public. This software usually requires users to manually download and install the software, manage complicated software dependencies, and have familiarity with command-line interfaces. Browser-based software with an interactive GUI removes those barriers for both the public and for other scientists.
The Empirical project unlocks the benefit potential of in-browser scientific software by providing a C++ interface to implement HTML GUIs that wrap the pre-existing research version of software, making it easier for researchers to keep the most recent version of scientific software available widely.
Where possibles, I package my experiments & software with Empirical and publish them as interactive in-browser apps like DISHTINY. I also serve as a core contributor on the Empirical project, leading development of re-usable “prefabricated” GUI components and maintaining support for the Emscripten Web Worker API in the core library, among other responsibilities.
Publications & Software
View at Publisher
Authors | Anya Vostinar, Alexander Lalejini, Charles Ofria, Emily Dolson, Matthew Andres Moreno |
Date | June 2nd, 2024 |
DOI | 10.21105/joss.06617 |
Venue | Journal of Open Source Software |
Abstract
Empirical is a C++ library designed to promote open science and facilitate the development of scientific software that is efficient, reliable, and easily distributable to researchers and non-experts alike. Specifically, the library sets out to fulfill the following goals:
- Utility: Empirical tools streamline common scientific computing tasks such as configuration, end-to-end data management, and mathematical manipulations.
- Efficiency: Empirical implements general-purpose data structures and algorithms that emphasize computational efficiency to support scientific computing workloads.
- Reliability: Empirical provides sophisticated debug-mode instrumentation including audited memory management and safety-checked versions of standard library containers.
- Distributability: Empirical is highly portable, uses common data formats, and facilitates compile-to-web app development with object-oriented bindings for Emscripten/WebAssembly GUI elements, all with the goal of building broadly accessible scientific software.
BibTeX
@article{vostinar2024empirical,
year = {2024},
publisher = {The Open Journal},
author = {Vostinar, Anya and Lalejini, Alexander and Ofria, Charles and Dolson, Emily and Moreno, Matthew Andres},
title = {Empirical: A scientific software library for research, education, and public engagement},
journal = {Journal of Open Source Software},
volume = {9},
number = {98},
pages = {6617},
doi = {10.21105/joss.06617},
url = {https://doi.org/10.21105/joss.06617},
}
Citation
Vostinar, A., Lalejini, A., Ofria, C., Dolson, E., & Moreno, M.A. (2024). Empirical: A scientific software library for research, education, and public engagement. Journal of Open Source Software, 9(98), 6617, https://doi.org/10.21105/joss.06617
Authors | Matthew Andres Moreno, Santiago Rodriguez Papa, Katherine Perry, Charles Ofria |
Date | January 1st, 2020 |
Venue | header-only C++ library |
C++ library for digital evolution simulations studying digital multicellularity and fraternal major evolutionary transitions in individuality.
Supporting Materials
Date | January 1st, 2018 |
Venue | header-only C++ library |
Empirical is a library of tools for developing useful, efficient, reliable, and available scientific software. The provided code is header-only and encapsulated into the emp
namespace, so it is simple to incorporate into existing projects.
BibTeX
@software{Ofria_Empirical_C_library_2020,
author = {Ofria, Charles and Moreno, Matthew Andres and Dolson, Emily and Lalejini, Alex and {Rodriguez Papa}, Santiago and Fenton, Jake and Perry, Katherine and Jorgensen, Steven and hoffmanriley and grenewode and Baldwin Edwards, Oliver and Stredwick, Jason and cgnitash and theycallmeHeem and Vostinar, Anya and Moreno, Ryan and Schossau, Jory and Zaman, Luis and djrain},
doi = {10.5281/zenodo.4141943},
license = {MIT},
month = {10},
title = {{Empirical: C++ library for efficient, reliable, and accessible scientific software}},
url = {https://github.com/devosoft/Empirical},
version = {0.0.4},
year = {2020}
}
Citation
Ofria, C., Moreno, M. A., Dolson, E., Lalejini, A., Rodriguez Papa, S., Fenton, J., Perry, K., Jorgensen, S., , H., , G., Baldwin Edwards, O., Stredwick, J., , C., , T., Vostinar, A., Moreno, R., Schossau, J., Zaman, L., & , D. (2020). Empirical: C++ library for efficient, reliable, and accessible scientific software (Version 0.0.4) [Computer software]. https://doi.org/10.5281/zenodo.4141943