Group Abstract Group Abstract

Message Boards Message Boards

Mathematica as the media for thinking about the unthinkable

Dear community members, after watching this video by Bret Victor, I'm wondering if Mathematica could become the media for thinking about the unthinkable. What are your thoughts? How easy would be to replicate and extend the examples shown in the video using Wolfram Language?

Bret Victor - Media for Thinking the Unthinkable

enter image description here

15 Replies

Please no Java applets! Java is dying, chrome is already blocking them, most mobile phones and tablets can't/don't run them. Definitely not good to invest in Java. It will die soon, like flash did. Javascript is much better choice nowadays, it is very 'hot', and most browser do a lot of tricks to run it incredibly fast!

POSTED BY: Sander Huisman
Posted 9 years ago

The title should have been Yet Another Graphics Program. I don't see any encouragement to think, quite the opposite in his caution to "forget the details, just trust me". The graphics are tuned and colorful but what's novel? Even GeoGebra has sliders. Show me a demonstration that produces an Aha! moment, a QED moment. The demonstration is more like the trend to tune a model to produce a predetermined output and claim to have done "science".

POSTED BY: Douglas Kubler

I looked at this video and several others by Bret Victor. The examples he gives are interesting, but I don't think that they scale.

I think that the most important thing is interactivity, whether one is manipulating graphics or writing code snippets. Fro the most part, I think it would be faster to build up a graphic or an analysis by building up Wolfram Language code than to do all the (similar in principle) steps needed to make a graph directly.

More could be done in Wolfram Language, of course. The suggestions bar could be made more robust, and the function to roll up all the changes made with the suggestions bar could be made more robust. It should be possible to have a command like "Turn this into a function" or even "make these functions into a package". The idea is to make things as transparent as possible. There are some actions in WL that tend to break this transparency.

I used to write music. I started with this at a time when you had to use pen and paper. I welcomed even the most primitive software. However, none of it is transparent. Right now, with software like Finale, you can play on a keyboard (or use a microphone for a flute or Violin) to enter music. It is certainly more transparent than using the computer keyboard to enter one note at a time, but there are drawbacks. First, you need to be really competent in the instrument to make it work. Second, there is still an awful lot of work to clean up even the best transcriptions. Third, it works best for things like simple music or choral music. For complicated stuff, a composer still needs to have the fine control that only manipulating single symbols provides.

In a similar way, direct graphic manipulation to make code may be useful for a lot of simple cases, but there comes a point where only code will do well. For some things, such as 3-D plots or large data sets, direct manipulation would be much harder than code. What Wolfram Language provides is a faster, more intuitive (in the right hands) way to get things done with code.

Having said that, it would be nice to have more widgets for directly manipulating graphics in Wolfram Language.

There is new pricing for Premier service plus for the home edition, which should lower the cost of ownership for many people to a very reasonable level. I have been paying for a commercial license (Premier Service) for many years, and will continue to do so because of other perks. However, the cost is trivial compared to what I can do using Wolfram Language on the desktop with all the bells and whistles.

The student versions are dirt cheap when compared to books, graphing calculators, etc.

There is also the Raspberry Pi, which is really cheap but which requires a bit of tech savvy.

None of the alternatives (CDF, etc.) in my opinion come close to providing the functionality of the full Mathematica.

I agree with you that it is not easy at all. However, the thing Bret made is probably even so not that easy! I can't imagine another programming language where you can 'whip out' these kinds of programs, he shows some nice visualisation and 'manipulation software' (for lack of better words) but the code behind it is definitely not easy.

POSTED BY: Sander Huisman

I'm in agreement here. While there are a lot of things in the documentation and lots of 'neat' examples, they all cover elementary applications. I frequently have to contact support to get clarification or hints. This usually works -- some great ideas have been returned -- but it would be better if there were more examples and more details of the internals of Dynamic.

When Mathematica has a book (last version was version 5), there were chapters about theory that were quite long and detailed. Most of this documentation is still useful -- which is why I still have the books -- but they do not cover anything newer. This includes Dynamic and Manipulate in version 6. It is possible that this type of long discussion does not fit into the electronic documentation, but it should be possible to publish monographs or other specialized documents for advanced users.

Bret Victor frequency response of the filter example shown in the video (at 18:10 time), he has on his different web site, that one can interact with directly also. (bottom of the the page).

Of course, one can do this example and much more using Manipulate and Dynamics. Many examples at Demonstration site. But the nice thing about this example, is that it runs directly inside web page, and runs smoothly, with no additional installation of anything by the user.

If there is a way to compile Manipulate to Javascript (and any kernel code needed of course) and somehow be able to run Manipulate inside web page without any plugin, this will go a long way to make Manipulate more popular.

POSTED BY: Nasser M. Abbasi
Posted 9 years ago

Ruben,

You ask

How easy would be to replicate and extend the examples shown in the video using Wolfram Language?

An my view is

I will not be easy at all, except if you try small toys like those in the Mathematica Help system.

Although one can elaborate tiny examples (small toys) mimicking some aspects of the Bret Victor’s presentation, I think that, as per today, the Wolfram Language cannot be considered as «the media for thinking about the unthinkable» in the Bret Victor’s sense.

Could it be the day after tomorrow? Perhaps it could, but not as it is now.

In general, the dynamic architecture of the Wolfram Language collapses (freezes) as soon as you attempt something complex beyond a well curtailed essay for marketing or classroom purposes, or for making a piece of software for the Demonstration project. (By the way, I guess that it could have been the same with the Bret Victor’s video show: namely, the content could have been carefully chosen to fit his idea in the presentation, I would like to see a a Bret Victor like real life solution).

The unquestionable fact that WRI does not fix many bugs or bad functions that clearly affect the smoothness and functionality of Dynamic and correlated, among others, is in my opinion, a corroboration of it, (see my posts on inefficiencies of Locators in MathGroup for a reference, whose solution, as far as I know, has not been tackled at all). Remember that locators are a key tool in the Victor’s show, however used in a very very simple way.

You asked and I share my humble opinion. It is my personal experience after 8 years of working with Mathematica on very similar subjects in different fields, in a very similar way to the one presented by Bret. Working on dynamic pieces of software since the appearance of Mathematica version 6 which was released in May 1, 2007.

What if working with a gigantic supercomputer? Could it change partially the story?... Maybe. But only in the realm of crunching number capacity and not in the adequateness of the algorithms themselves. And it is algorithms which matters: first sofware then hardware.

Anyway, I would appreciate an example of a large enough working system deployed in an industrial environment, or equivalent, as a refutation of my view.

Martin.

POSTED BY: E Martin

The examples he shows are very impressive, but also very very specialised! There is always a balance between those I think. Mathematica is less specialized but can certainly do the tasks he showed, but it will take some time to program them. But I'd bet it also took him quite some time!

POSTED BY: Sander Huisman

I think quite the contrary, this is one of the best areas covered. The doc's page on Manipulate links to 5 very extensive tutorials. Plus Manipulate and Dynamic pages have numerous examples. And more than 10,000 examples on Demonstrations.

enter image description here

POSTED BY: Sam Carrettie

I completely agree that Mathematica could probably do amazing things. IMHO, the problem is that there's not so much clear information about how to create dynamic interactive interfaces and the existing documentation is spread all over the place. Until existing and potential users have access to that, people will still underestimate or be unaware of the power of the Wolfram Language. I hope Wolfram Media can publish some titles in the near future about the topic. It would really help to make Mathematica and the Wolfram Language go mainstream!

Bjorn Tipling, the author of the post If programming languages were weapons, would possibly answer "yes", as he sees Mathematica as "a low earth orbit projectile cannon, it could probably do amazing things" ;-)

enter image description here

POSTED BY: Sam Carrettie

An interesting question. IMHO Mathematica is definitely the top interactive programing environment. I think you have to also consider Wolfram SystemModeler as it also represents visual interactive approach to programming. A related post: Climate change and programming?

POSTED BY: Vitaliy Kaurov
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard