Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use case for minimal functionality #144

Open
3 of 14 tasks
CSchoel opened this issue Aug 17, 2020 · 0 comments
Open
3 of 14 tasks

Use case for minimal functionality #144

CSchoel opened this issue Aug 17, 2020 · 0 comments

Comments

@CSchoel
Copy link
Member

CSchoel commented Aug 17, 2020

The goal of webmodelica is to enable non-experts (students, biologists) to run simulations of Modelica models with minimal effort.

Personally, I would consider this goal as achieved If the following use case was possible:

  • New User, who is interested in Webmodelica and/or our Models visits https://thmodelica.org/ for the first time and is presented with information how to obtain a login if they do not have a GitHub account.
  • User sends an E-Mail to the administrator to receive a login for the server (or uses whatever way we use to obtain logins).
  • User inputs username and password obtained via E-mail.
  • [Optional] Maybe user should be prompted to change password, unless the password was sent through some secure channel.
  • We can skip to here, if the user actually does have a GitHub account and is willing to use it for Webmodelica.
  • User is sent to overview page of Webmodelica and immediately sees list of public projects (e.g. instead of an empty list of own projects).
  • User selects the project they are interested in and clicks on the project name (not some obscure other button)
  • User sees the files and code associated with the project and can browse them.
  • User has a button "Create private copy to run simulations" or something similarly obvious.
  • Copy is created (without the need to input additional information such as a unique project name)
  • [Optional] Ideally, this should send them straight to the simulation tab and allow them to select simulateable models from a Drop-Down menu
  • User navigates to the example model they are interested in and hits the "Simulate" button.
  • User sees pre-adjusted simulation parameters and another simulate button.
  • User hits simulate button and is sent to plot view, where they can select variables for plotting using a tree view.

The goal is to reduce the amount of clicks needed for this workflow as far as possible. I have taken the liberty to check the steps that I currently think are already working as required.

And just as a note. My ideal Workflow for new users would look like this:

  • User inputs user Information in a registration form.
  • User is informed via e-mail when registration is approved by the administrator.
  • User logs in with their credentials and sees a list of public projects.
  • Each project has a "view code" and a "clone and simulate" button.
  • "view code" takes you to the (read-only) project overview, which also contains a HTML-description of the model that is parsed from the documentation(info="...") string of some "main" Modelica class in the project (can be configured in project settings).
  • "clone and simulate" automatically creates a private copy of the project, compiles it, and opens the simulation tab in which the "main" model of the project is preselected (can be configured in project settings and can be different from "main" class mentioned above)
  • The user clicks on the "simulate" button and is presented with a plot that already shows the time course "main" variables that are important in the model (can be configured in the model file using vendor-specific annotations), but can also deselect them and select other variables

This would require much more effort from the current state of this project, but would actually require only two clicks after login to simulate a public model. I think this is what we should strive for in the long term.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant