Mathematica 6

Mathematica 6 in the Wild

Reaching New Audiences with The Mathematica Player Family and The Wolfram Demonstrations Project

Theodore Gray

Wolfram Research, Inc.

Getting your great stuff out to the public

Mathematica users tend to be very proud of the stuff they do with our product.

Why does someone like Nathan Myhrvold, former CTO of Microsoft, mention in an interview with Wired magazine that he used Mathematica to model heat transfer in food for his sous-vide experiments?

Because he's pleased as punch that he could do it and he wants the world to know how clever his solution to the problem is.

Publish or perish

The average academic is no different than Myhrvold, with the added motivation that they have to get their work out to their peers if they want to keep their job.

Publishing a paper is often a very unsatisfactory solution: It's traditional, and it works, but a lot is lost in translation.

People would often like to be able to publish something more powerful and useful than ink on paper.

Distributing a Mathematica program, particularly an interactive one build with Manipulate, would be a great solution, but what about people who don't have Mathematica?

Publish or perish

Prior to the release of Mathematica Version 6 we had no really good solution to this problem.

MathReader let people distribute Notebooks, but you couldn't run the programs without buying a copy of Mathematica.

Why was it so hard?

Why didn't we just release a runtime environment people could compile their programs for?

This turns out to be quite difficult, because when you use Mathematica you're often using large amounts of our work.

Your compact, power programs are compact and powerful because they are calling up powerful algorithms built into Mathematica, which can't be boiled down to a small runtime package.

This is also at the root of why Mathematica is such a productive environment to work in.

Why was it so hard?

Consider a very simple example like this:

Manipulate[∫(1/(1-(x^n)))\[DifferentialD]x,{n,1,20,1}]

In order to use this interactive example, you have to have the entire Mathematica symbolic integration system available in real time.

That's a hundred man-years of work right there, and if you want to give your friend this clever example, you have to give them all of that Mathematica functionality too, otherwise the example can't work.

How we solved the problem

In Version 6 we took a bold leap: Give away for free nearly the entire core of Mathematica.

Mathematica Player, the free downloadable version, is basically all of Mathematica, but locked in such a way that you can only run interactive programs (i.e. move sliders and other controls).

You can't type in new text or evaluate input lines in existing notebook files.

This in effect means that you can use interactive things someone has created, but you can't create your own.

Mathematica vs. Player

Mathematica is an authoring environment.

Mathematica Player is a player.

A good analogy is the difference between the QuickTime player and Final Cut Pro, or between the Flash player and Flash CS3 (Formerly Macromedia Director).

The player is free, the authoring environment is not.

Player vs. Player Pro

There are two variations, Player and Player Pro.

Player is free and does a huge amount.

Player Pro isn't free and does even more.

People can buy individual copies of Player Pro, but we expect that many will be distributed under bulk terms arranged through our Partnerships group or site licenses.

Player vs. Player Pro

Features

If your application is designed to teach, illustrate, or communicate an idea, the free Player will almost certainly have the features you need.

If the purpose of your application is to do work targeted to individual users, for example to analyze the user's own data, then Player Pro is likely required.

Licensing

If you are distributing your content free, then you can have people use the free Player.

If you are selling your content, you need to licence Player or Player Pro.

Player vs. Player Pro

To put it another way, demonstrations are free, tools require a license.

The Player page on our site includes a detailed side-by-side feature comparison.

The goal has been to make the differences clear and straightforward so there is minimal confusion about which version is required for a given application.

The most important differences are that Player does not allow the Import command for reading in user data, while Player Pro does.

And Player does not allow text entry in input fields, while Player Pro does.

Distribution of Player

We are actively working with all the obvious partners to make Player something people already have pre-installed on their systems.

These things take time.

In the mean time, the player is easy to download.

Deployment of Player

As discussed in my earlier talk, the nature of Manipulate means that dynamic interactive content created in Mathematica can easily be deployed though entirely new systems, even ones not yet invented.

Again, we are not prepared to make any announcements, but expect news in the form of Player showing up on interesting devices and embedded in interesting places.

Player and Player Pro opportunities

Player and Player Pro can be used to deploy anything from individual interactive applets to entire textbooks.

If your book is very technical interactivity-oriented, you might decide to distribute the whole thing, including all the text, as a set of linked Notebook files, in the way that Andre demonstrated earlier today.

Or you might choose to deploy the book using some other overall structure like Grava or PowerPoint, and embed individual interactive demonstrations in those environments.

Or you might deploy the book in paper form only, with the interactive elements made available in isolation, without the text also being in electronic form.

Player and Player Pro opportunities

If you're a consultant, would you rather deliver a paper report or an interactive simulation tool the customer can play with?

If you're a teacher, which would your students learn more from?

If you're a curriculum publisher, how long will your courseware be competitive without dynamic interactivity?

The Demonstrations website

Demonstrations.wolfram.com is our online showcase of what can be done with the free Player.

It contains over 2500 interactive applets (but every time I look the number gets bigger).

They cover a great diversity of subjects, and are tagged and cataloged carefully.

Each one comes with an animated Flash preview, which is generated automatically from the Manipulate expression, with the sliders being driven by a clever algorithm.  (Another example of the power that comes from a high-level language.)

Demonstrations

Series Steps on a Number Line

Radial Engine

Revolutionary Cup

The Duty to Settle

Tree Bender

Illustrating Tangent With The Unit Circle

Probabilistic Forest Fire Model

Polyhedral Koalas

Basic Statistics of Movable Points

2500 is an amazing number

Perhaps the most remarkable thing about the demonstrations site is the sheer number of interactive applications on it.

Imagine trying to use Flash or Java to create 2500 attractive, technically sophisticated interactive applets that demonstrate serious ideas and use real math to do so.

Considering that our users were only introduced to Version 6 nine months ago, it's quite remarkable that they have been able to get up to speed and start creating real content so quickly.

The Demonstrations site is a publication

We run the Demonstrations site like a journal.

User submissions are examined by editors who suggest improvements, or make those improvements themselves.

Only Demonstrations that meet our quality standards are published: This is not an open, un-moderated forum.

Every posted item has been examined in detail, so the site is safe for schools: Anything a student decides to download will work and do something sensible.

IsotopeBrowser

Isotope Graph Navigator.

Wiggle Wab

Demonstrations opportunities

Opportunities for you to use our content

The ever-growing content of the Demonstrations site represents a huge resource.

Bundles of demonstrations can be assembled on certain topics, or to cover specific requirements.

For example, High School math and science curriculum requirements for a given state.

Partnership deals can be (and have been) made to redistribute bundles of our Demonstrations to schools as part of larger curriculum packages.

Opportunities for you to use our distribution mechanism

Electronic supplements to books, or a subset, can be published on the Demonstrations site to promote the book.
(But note that publication through Demonstrations is not required as it was at the beginning: Free Player documents can be created and distributed independently of the Demonstrations site.)

Scientific papers can refer to demonstrations published through our site.

Teachers can make demonstrations available to their students through our site.

The editors provide valuable feedback about what makes a good demonstration: You could learn a lot by submitting examples to our site.

Conclusion

The combination of Mathematica as an authoring environment and the Player Family as a distribution mechanism means it's now possible to create and distribute high-quality interactive applets with radically less effort than ever before.

This qualitatively changes the range of projects that should consider developing interactive content.

It's now technically and economically practical for virtually any book, curriculum packet, scientific paper, or other publication to include one or many interactive applets.