opensim-org / opensim-gui

SimTK OpenSim graphical user interface and distribution.
Apache License 2.0
62 stars 32 forks source link

Show welcome page when OpenSim starts #499

Closed tkuchida closed 6 years ago

tkuchida commented 6 years ago

We currently display two polar bears in a snowstorm:

IIUC the Visualizer window is a webpage, so we could show, e.g., a page of links to (the many) OpenSim resources, snapshots of cool models, a biomechanics-themed picture, the words "Welcome to OpenSim", "Getting started" tips, …

chrisdembia commented 6 years ago

I think that's a great idea. Another option I like is, on first launch, to load one of @carmichaelong's predictive simulations and allow users to simulate it and watch it walk out of the box.

aymanhab commented 6 years ago

Agree it's a good idea. We went down this route before ISB and there were the following issues:

  1. Server takes time to start which used to result in a "Page not found", this restricts contents.
  2. Because of 1, we can't show any models right after launch, though there could be a kiosk mode where a canned model is loaded later. In which case the model needs to be treated a special so that users don't need to close etc. before doing work.
  3. As of now the page that shows is plain empty html that we populate in code, we can make this more pretty, loading text, images but not much more, likely no movies. I'd try to avoid having users treat the 3D window as a generic browser since it has limited functionality and could open a can of worms.

With that said, I'm open to suggestions to improving the page (to see more than 2 bears in snow ;)

tkuchida commented 6 years ago

I would avoid putting anything "heavy" in the window- a welcome message and a list of links would be better than polar bears.

chrisdembia commented 6 years ago

I wonder why one of the polar bears got a <No Properties> tattoo.

aymanhab commented 6 years ago

Sounds great. Feel free to start one, and we'll see how it looks (and add a checkbox to not show on startup or use it to publish updates, or put ads 🤑

tkuchida commented 6 years ago

I propose the main "monopoly" page on Confluence:

…but I would store the page locally to guarantee that it will load (even without an internet connection), and make the links open in a new browser window (not within the GUI). Thoughts?

aseth1 commented 6 years ago

@aymanhab is that straightforward to do? To redirect the opening of links to your default browser (it seems so since my email can do it!)

aymanhab commented 6 years ago

@tkuchida I created a branch https://github.com/opensim-org/opensim-visualizer/tree/nonempty_homepage that serves as a starting point for contents. If you can build locally then use that branch or let me know your thoughts. As of now there's a link that opens in a separate browser. @chrisdembia my understanding is that we get artifacts only when building gui master branch so there's no easy way to get this in hands of the team until it makes it to master, please let me know otherwise.

tkuchida commented 6 years ago

@aymanhab Please clarify what I'm supposed to do. I don't know anything about the opensim-visualizer repo and I can't find any html files in that repo. How does the opensim-visualizer repo relate to opensim-gui and the opensim-org fork of three.js? I spent a day trying to build the gui a while ago but there were errors I was unable to resolve so I would prefer to avoid spending more time on that. I have the AppVeyor artifact OpenSim-6826a797-2018-02-28.zip; can you tell me what file/line to modify and where to put the new html file? I could then design and test locally.

Also, I saw the change made in the "[WIP]" PR (https://github.com/opensim-org/opensim-visualizer/pull/16), but I haven't been able to deduce what to do. One file was edited (jxBrowserTopComponent.java) but I can't find the corresponding file in the AppVeyor artifact. Also, if possible, I think it would be helpful for debugging to point to a separate html file rather than inlining the entire page in a string passed to browser.loadHTML().

aymanhab commented 6 years ago

@tkuchida I wasn't sure if you have built from source on windows in the past and that's why I asked @chrisdembia if branch commits are published. For debugging purposes, it would be good to have the html standalone, eventually we want to control the contents though so we'd likely keep it in code. I may make a build for you so you can modify/test. The file in the PR is in the opensim-visualizer repo, on a branch off opensim-gui which is our packaging of jxbrowser if that makes any sense. That''s a separate module on github.

tkuchida commented 6 years ago

Thanks @aymanhab. There are a few html files in the AppVeyor artifact, so I thought I might just be able to hack something into, e.g., OpenSim\OpenSim\threejs\editor\js\libs\app\index.html or OpenSim\OpenSim\threejs\editor\index.html. Perhaps I can just design as a standalone html page, commit to https://github.com/opensim-org/opensim-visualizer/pull/16, and revise down the road if necessary. I'm not planning anything fancy (essentially reproducing the main "monopoly" page on Confluence).

chrisdembia commented 6 years ago

@chrisdembia my understanding is that we get artifacts only when building gui master branch so there's no easy way to get this in hands of the team until it makes it to master, please let me know otherwise.

You are correct.

tkuchida commented 6 years ago

Prototype 01 (as it appears in Chrome Version 64.0.3282.186):

It sounds like everything will be inlined, so I haven't used CSS. Here's the html (changed extension to .txt): welcome.html

tkuchida commented 6 years ago

Should end up looking something like this:

jenhicks commented 6 years ago

Thanks for working on this @tkuchida and @aymanhab .

A couple comments/questions:

aymanhab commented 6 years ago

Thanks for the feedback @jenhicks

jenhicks commented 6 years ago

I created an issue to track (#605)

We could skip adding a way to navigate back. We might point Online help to the main confluence page. downside is that we'd lose pointing people to the page with the google search bar. (We tried but found no way to put the search bar on confluence).