Wolfram|Alpha: The First Year

Years ago I wondered if it would ever be possible to systematically make human knowledge computable. And today, one year after the official launch of Wolfram|Alpha, I think I can say for sure: it is possible.

It takes a stack of technology and ideas that I’ve been assembling for nearly 30 years. And in many ways it’s a profoundly difficult project. But this year has shown that it is possible.

Wolfram|Alpha is of course a very long-term undertaking. But much has been built, the direction is set, and things are moving with accelerating speed.

Over the past year, we’ve roughly doubled the amount that Wolfram|Alpha knows. We’ve doubled the number of domains it handles, and the number of algorithms it can use. And we’ve actually much more than doubled the amount of raw data in it.

Things seem to be scaling better and better. The more we put into Wolfram|Alpha, the easier it becomes to add still more. We’ve honed both our automated and human processes, progressively building on what Wolfram|Alpha already does.

When we launched Wolfram|Alpha a year ago, about 2/3 of all queries generated a response. Now over 90% do.

So, what are some of the things we’ve learned over the past year? Continue reading

What We’ve Been Doing This Summer

(This post was originally published on the Wolfram|Alpha Blog.)

So what’s been happening with Wolfram|Alpha this summer? A lot!

At a first glance, the website looks pretty much as it did when it first launched—with the straightforward input field. But inside that simple exterior an incredible amount has happened. Our development organization has been buzzing with activity all summer. In fact, it’s clear from the metrics that the intensity is steadily rising, with things being added at an ever-increasing rate.

Wolfram|Alpha was always planned to be a very long-term project, and paced accordingly. We pushed very hard to get it launched before the summer so that we could spend the “quiet time” of our first summer steadily enhancing it, before more people start using it more intently in the fall.

Two really great things have happened as a result of actually getting Wolfram|Alpha launched. The first is that we’ve discovered that there’s a huge community of people out there who want to help the mission of Wolfram|Alpha. And we’re steadily ramping up our mechanisms for those people to contribute to the project. Continue reading

The First Week of Wolfram|Alpha: Thank You!

(This post was originally published on the Wolfram|Alpha Blog.)

It’s now a week since we officially launched Wolfram|Alpha into the world.

It’s been a great first week.

Approaching 100 million queries. Lots of compliments.

But for me the most striking thing is how many people want to help Wolfram|Alpha succeed.

Making the world’s knowledge computable is a huge undertaking.

And it’s wonderful to see all the help we’re being offered in doing it.

We’ve worked hard to construct a framework. But to realize the full promise of computable knowledge, we need a lot of input and support. Continue reading

Wolfram|Alpha Is Launching: Made Possible by Mathematica

(This post was originally published on the Wolfram|Alpha Blog.)

Starting later today, we’ll be launching Wolfram|Alpha (you can see the proceedings on a live webcast).

This is a proud moment for us and for the whole Mathematica community. (We hope the launch goes well!)

Wolfram|Alpha defines a new direction in computing—that would have simply not have been possible without Mathematica, and that in time will add some remarkable new dimensions to Mathematica itself.

In terms of technology, Wolfram|Alpha is a uniquely complex software system, which has been entirely developed and deployed with Mathematica and Mathematica technologies.
Continue reading

7 years of NKS—and its first killer app

May 14, 2009 marks the 7th anniversary of the publication of A New Kind of Science, and it has been my tradition on these anniversaries to write a short report on the progress of NKS.

It has been fascinating over the past few years to watch the progressive absorption of NKS methods and the NKS paradigm into countless different fields. Sometimes there’s visible mention of NKS, though often there is not.

There has been an inexorable growth in the use of the types of models pioneered in NKS. There has been steadily increasing use of the kinds of computational experiments and investigations introduced in NKS. And the NKS way of thinking about computation and in terms of computation has become steadily more widespread.
Continue reading

Surprise! Mathematica 7.0 Released Today!

In the middle of last year, we finished our decade-long project to reinvent Mathematica, and we released Mathematica 6.

We introduced a great many highly visible innovations in Mathematica 6—like dynamic interactivity and computable data. But we were also building a quite unprecedented platform for developing software.

And even long before Mathematica 6 was released, we were already working on versions of Mathematica well beyond 6.

And something remarkable was happening. There’d been all sorts of areas we’d talked about someday being in Mathematica. But they’d always seemed far off.

Well, now, suddenly, lots of them seemed like they were within reach. It seemed as if everything we’d built into Mathematica was coming together to make a huge number of new things possible.

All over our company, efforts were starting up to build remarkable things.

It was crucial that over the years, we’d invested a huge amount in creating long-term systems for organizing our software development efforts. So we were able to take those remarkable things that were being built, and flow them into Mathematica.

And at some point, we realized we just couldn’t wait any longer. Even though Mathematica 6 had come out only last year, we had assembled so much new functionality that we just had to release Mathematica 7.

So 18 months after the release of Mathematica 6, I’m happy to be able to announce that today Mathematica 7 is released!

Wolfram Mathematica 7
Continue reading

Russell Towle: 1949–2008

A few times a year they would arrive. Email dispatches from an adventurous explorer in the world of geometry. Sometimes with subject lines like “Phenomenal discoveries!!!” Usually with images attached. And stories of how Russell Towle had just used Mathematica to discover yet another strange and wonderful geometrical object.

Then, this August, another email arrived, this time from Russell Towle’s son: “… last night, my father died in a car accident”.

I first heard from Russell Towle thirteen years ago, when he wrote to me suggesting that Mathematica’s graphics language be extended to have primitives not just for polygons and cubes, but also for “polar zonohedra”.

I do not now recall, but I strongly suspect that at that time I had never heard of zonohedra. But Russell Towle’s letter included some intriguing pictures, and we wrote back encouragingly.

There soon emerged more information. That Russell Towle lived in a hexagonal house of his own design, in a remote part of the Sierra Nevada mountains of California. That he was a fan of Archimedes, and had learned Greek to be able to understand his work better. And that he was not only an independent mathematician, but also a musician and an accomplished local historian. Continue reading

Mathematica Turns 20 Today

Today is an important anniversary for me and our company.

Twenty years ago today—at noon (Pacific Time) on Thursday, June 23, 1988—Mathematica 1.0 was officially launched.

Much has changed in the world since then, particularly when it comes to computer technology.

ut I’m happy to be able to say that Mathematica still seems as modern today as it did back then when it was first released. And if you take almost any Mathematica 1.0 program from 20 years ago, it’ll run without change in the latest Mathematica 6.0 today.

From the beginning, I had planned Mathematica for the long term. I wanted to build a system that could capture the essence of computation, and apply it wherever that became possible.

I spent great effort to get the fundamentals right—and to build the system on principles that would endure.

And looking back over the past two decades it’s satisfying to see how well that has worked out. Continue reading

Ten Thousand Hours of Design Reviews

It’s not easy to make a big software system that really fits together. It’s incredibly important, though. Because it’s what makes the whole system more than just the sum of its parts. It’s what gives the system limitless possibilities—rather than just a bunch of specific features.

But it’s hard to achieve. It requires maintaining consistency and coherence across every area, over the course of many years. But I think it’s something we’ve been very successful at doing with Mathematica. And I think it’s actually one of the most crucial assets for the long-term future of Mathematica.

It’s also a part of things that I personally am deeply involved in.

Ever since we started developing it more than 21 years ago, I’ve been the chief architect and chief designer of Mathematica‘s core functionality. And particularly for Mathematica 6, there was a huge amount of design to do. Actually, I think much more even than for Mathematica 1.

In fact, I just realized that over the course of the decade during which were developing Mathematica 6—and accelerating greatly towards the end—I spent altogether about 10,000 hours doing what we call “design reviews” for Mathematica 6, trying to make all those new functions and pieces of functionality in Mathematica 6 be as clean and simple as possible, and all fit together.

At least the way I do it, doing software design is a lot like doing fundamental science.

In fundamental science, one starts from a bunch of phenomena, and then one tries to drill down to find out what’s underneath them—to try to find the root causes, the ultimate primitives, of what’s going on.

Well, in software design, one starts from a bunch of functionality, and then one needs to drill down to find out just what ultimate primitives one needs to support them.

In science, if one does a good job at finding the primitives, then one can have a very broad theory that covers not just the phenomena one started from, but lots of others too.

And in software design, it’s the same kind of thing.

If one does a good job at finding the primitives, then one can build a very broad system that gives one not just the functionality one was first thinking about, but lots more too.
Continue reading