Migrate Your Simulation from Forio Simulate
Introduction
This article is a guide to building simulations in Epicenter aimed at Forio Simulate authors.
Topics
- Why use Forio Epicenter?
- Getting Started with Your Epicenter Simulation
- Using the Epicenter Interface Builder
- Protecting Your Simulation
- Implementing Simulate Features in Epicenter
- More Things You Can Do in Forio Epicenter
- Additional Resources
Why use Forio Epicenter?
Forio Epicenter was launched in early 2014 and is a direct replacement for Forio Simulate. Both platforms allow you to upload simulation models, create web interfaces, and share them with colleagues, customers, or the general public.
One reason to move your simulation to Epicenter is that many Simulate simulations are distributed as the older web technology, Flash. Simulations developed with the Interface Builder, a drag-and-drop tool for creating interactive simulation interfaces, are compiled to Flash. This will display on a laptop but not must tablets or phones. Furthermore, Adobe has announced that the Flash Player will be discontinued in 2020, and most browsers are effectively dropping support for Flash in 2019. This means that your simulation (if developed with the Simulate Interface Builder) will stop working in 2019.
Forio Epicenter has significant improvements to help you create your simulation interfaces. The Interface Builder in Epicenter creates HTML5 based interfaces. These follow principles of responsive web design and can be displayed on a laptop, tablet or phone.
Because the interfaces are HTML, you can also start with the templates provided in the interface builder and then customize them by editing the HTML directly. Forio provides a library, Flow.js, which makes it easy to include simulation data in HTML. (This is a marked improvement from Simulate, which required you to choose Interface Builder or HTML without the ability to go back and forth).
Getting Started with Your Epicenter Simulation
Building a web simulation in Epicenter is conceptually similar to building a web simulation in Simulate.
In Epicenter, we refer to these applications as a "Project" instead of a “Simulation”. Similar to Simulate, projects consist of a model and a set of interface files. After creating a project, you may copy any model from Simulate and use it in Epicenter. Specifically, Epicenter supports Simulate-compatible models written in:
- Excel
- SimLang (Forio’s equations language)
- Vensim
- Powersim
- Stella Pro
- Excel
Epicenter also supports additional languages such as Excel, Python.
Unfortunately, there is no way to port your interface from Simulate to Epicenter directly. You will need to create a new interface using the Interface Builder. You can also upload HTML files directly into the interface folder and build the interface using the library Flow.js.
To get started, follow the QuickStart documentation. It will help you do the following:
- Create a Project
- Upload your model to the Model folder
- Create your interface with the Interface Builder.
Using the Epicenter Interface Builder
As mentioned above, most customers will use the Epicenter Interface Builder to create a simulation interface. Like Simulate, this tool allows you to create interactive simulations based on a model without having to do programming. However, there are some important differences in the way this works.
The Epicenter interface builder takes a template based approach. To begin, you choose a type of simulation (Run Comparison, Turn-by-Turn simulation, or a Calculator style simulation). You are then able to choose from a set of page templates, filling in details to set up components such as graphs, tables, images, and sliders. This is a contrast to the pure "drag-and-drop" approach of the Simulate Interface Builder.
The advantage of the template approach is that you can choose from a number of design themes created by experts that work well on the modern web. Specifically, these interfaces follow principles of responsive design and can be displayed on laptops, tablets, or phones. Forio is regularly updating the themes and types of pages. Check back on a regular basis to see what is currently available.
Protecting Your Simulation
Like Simulate, you can create an unlimited number of publicly available projects. These are labeled with access "Public". You can also create projects with access “Private” which will allow the projects to only be run by you. Both Public and Private projects are hosted for no charge when you create them as part of your “Personal” projects.
If you purchase a paid "Team" account, then you can set projects to “Authenticated”, which allows you to create end users who log in with passwords. You can also collaborate with multiple authors on projects in a Team account.
To help you resell the simulation, you may set up groups and upload users in a manner similar to what you would do in Forio Simulate. You may include an expiration date or run limit to provide a limited window for users to access the simulation. You also may turn on self-registration, allowing users to sign up for your simulation directly.
Implementing Simulation Features in Epicenter
Here’s a list of other features you might have in your Simulate simulation and how you would implement them in Epicenter. Many features are available in the Interface Builder. Some require HTML or Javascript development using Forio’s Flow.js and Epicenter.js libraries.
Simulate Feature | How to Implement in Epicenter |
---|---|
Review/compare past simulation runs | Create a "Run Comparison" style simulation with the Interface Builder. |
Interactive simulation game | Create “Turn-by-Turn” style simulation with Interface Builder |
Single page simulation | Create “Calculator” style simulation with Interface Builder |
Include videos, images in simulation | Interface Builder |
Conditionally showing/hiding images and other interface components | Develop the simulation with interface builder, and add custom Javascript logic to show/hide components. |
Facilitator able to see all runs in a group | Develop the simulation with interface builder, and add custom page with Javascript that displays table of runs. Future: Interface Builder |
Multiplayer simulation game | Use Javascript libraries available from Forio to manage multiplayer users and state. Future: Interface Builder |
Causal model explorer | Not currently included in Forio Epicenter |
More Things you Can Do in Forio Epicenter
As you work with Forio Epicenter, you’ll probably want to explore features in the platform that go beyond what you previously could do with Simulate and the Simulate Interface Builder. These include:
- Use additional modeling languages like Python, R, and Julia.
- Create interfaces directly in HTML (but with little programming) using the Forio library Flow.js.
- Integrate your simulation into a larger website by hosting the simulation HTML files on your own server.
- Create a multiplayer game with automatic push notifications between the server and the browsers.
Additional Resources
For additional help in creating an Epicenter project, please take a look at the following resources.
We’d love to hear from you! Particularly if you have an existing simulation in Forio Simulate and would like advice or help in migrating to Epicenter, please contact us on the Support Forum or directly at support@forio.com.