forio Toggle navigation

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:

Epicenter also supports additional languages such as Python, R, and Julia.

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.

Support Forum

Epicenter Documentation

Webinar Archive

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.