Lowering Barriers to Simulation
Accelerating Deployment of Scientific Software
In June 2005, NCN released Rappture 1.0, a new, open toolkit to facilitate the rapid development and robust deployment of scientific simulation packages. Designed to work as a library for a variety of programming languages, including Matlab, C/C++, Fortran, Python, Perl, Tcl, and Ruby, Rappture automatically generates a graphical user interface from a description of the inputs and outputs of the simulation program. Rappture has become the main vehicle for software deployment on nanoHUB. Students across the NCN network are using Rappture to enable simulation applications for use on nanoHUB.org. Simulation usage on nanoHUB has grown seven-fold to over 7,900 users in less than four years and we attribute this increase to the friendly interfaces afforded by Rappture.
Prior to Rappture, a significant portion of nanoHUB users downloaded software and installed it on their own computers. However, since the introduction of Rappturized applications, the number of software downloads has all but vanished – Rappturized software is user-friendly. Rappture is also central to NCN’s long-term strategy to link simulations in complex workflows. Because of the scale of the NCN initiative, we expect that Rappture will have broad impact on scientific computing outside NCN. There are currently over 282 Rappture software development projects under way with 318 developers. In all, 140 tools have been deployed on nanoHUB, with all but seven using Rappture. Although we do not force developers to use Rappture, approximately 95% of the deployed projects use it, which indicates developer buy-in and the ease of development with Rappture technology.
Every obstacle that is removed from the start-to-finish process of performing simulation increases the number of people who can productively employ that software. To achieve significant widespread use of computation in support of theory, modeling, and simulation, the barriers to use must be very low. The figure below shows how use of the nanoHUB simulation tool Schred changed dramatically when its web form interface was replaced with the Rappture GUI. Before the GUI, many users downloadedthe code, most likely because the effortto download, compile, and run the code locally was less than the effort to run the code via the web form. With introduction of the GUI, Schred downloads fell precipitously and, at the same time, use increased dramatically.
Clearly, there is a large user community seeking to use tools written by others and, more importantly, a large fraction of that community does not use simulation until it has a Rappture GUI. We have seen these usage and download trends for all nanoHUB tools converted to our GUI interface. When users can depend on running simulations in their browser, they see little need to download, install, and support tools on their own computer.
Reducing the cost of conducting research enables many more institutions to participate. Enabling simulation use in the classroom dramatically broadens the impact of nanotechnology. Cyber-enabled resources level the playing field for less financially well-endowed colleges and universities and their faculty and students.