The Wolfram Demonstrations Project

Jeff Bryant

Wolfram Research, Inc.

Background

The goals:

• Collect demonstrations of anything using Mathematica.

• Organize an effort to improve on current "applet-like" visualizations.

• Create a great marketing tool for Manipulate and Mathematica 6 in general.

• Demonstrate the wide range of applications of Mathematica.

• Testing environment for Manipulate, Mathematica, and webMathematica.

What is a Demonstration?

• visualizes some concept using a single Manipulate

• authored using a template

• contains interesting snapshots of the Manipulate

• contains supporting text and links

• uploaded to a custom build system

• converted to HTML with a FLASH animation

The Whole Collection

Currently we have a collection around 600 Demonstrations and we are still growing. The goal is to have thousands. We need your contributions!

Source material is typically code just lying around that can be easily adapted, MathSource, MathWorld, etc.  We need lots of simple concepts that can be contributed like things from school, or code you are already working on, ideas from everyday life that can be illuminated with Mathematica. 

In our experience, it is easy to overthink a given Demonstration.  Keep it simple.  The best Demonstrations are functional in just a few minutes.

Specific Examples

Simple examples

Integers

Approximating Pi

Fractal Trees

Lines: Slope Intercept

More Involved Examples

Slide Rule

Reflections in an Elliptical Region

Precession of the Equinoxes

Contours of Algebraic Surfaces

Person Walking from Spotlight

Demo Ideas

• Recreational topics

• Education (get your kids involved)

• Scientific experiments

• Illustrating math

• Mathematica features

• Anything else...

Contributing

1) Look through the existing examples to avoid duplication.

2) To get the template, go to the site and click on the Contribute link.

3) Open the Demonstrations Template, linked at the top of the upload page.

4) Fill out the template.

• Title

• Initialization Code

• Manipulate

• Caption

• Thumbnail

• Snapshots

• Details

• Search Terms

• Related Links

• Authoring Information

Useful Functions/Options

• AutorunSequencing - useful for FLASH

• ControlActive

• SaveDefinitions

• ControllerLinking

Basic Guidelines

• Keep the Manipulate square if possible.

• Make sure the performance is reasonable.

• Keep the file size down.

• Never use InputField and try to avoid Buttons.

• Let the sliders do the animating

• Limit the number of controls.

Resources

http://demonstrations.wolfram.com

demonstrations@wolfram.com

Workshop

4:00 Friday in the C-U Lab