Launching Wolfram Player for iOS

UPDATE:

Wolfram Player for iOS is out of beta! You can download it from the App Store today. Learn more in this blog post.

It’s been a long road. To some degree, we’ve been working on a Wolfram notebook front end for iOS for about six years now. And in the process, we’ve learned a lot about notebook front ends, a thing we already knew a lot about. Let’s rewind the tape a bit and review.

In 1988, Theo Gray and Stephen Wolfram conceived the idea of the notebook front end for use with the Mathematica system. My first exposure to it was in 1989, when I first saw Mathematica running on a NeXT machine at university. That was 27 years ago. Little did I suspect that I would someday be spending 20 years of my life (and counting) working on it.

It’s interesting to see how relevant today the basic concepts we started with are. We have a document we refer to as a notebook. The notebook is structured into cells. Cells might be designated for headings, narrative, code or results. Cells with code are considered input, which generate outputs inline in the document. While the word “notebook” evokes the idea of a laboratory notebook, it easily encompasses educational documents, literate programs, academic papers, generated reports and experimental scratch pads.

One might have thought that the web would make notebooks obsolete. HTML exposes many similar concepts as notebooks at a lower level. Editing environments such as various Markdown editors or the WordPress environment expose many of these concepts at a higher level. But those environments don’t accomplish inline computation, and the world is increasingly recognizing how much inline computation with immediate feedback really matters.

And even the notion of what “computation” is has evolved over time. It seems that in the 1990s and 2000s, we were in a cycle where many in the software field thought that inline computation was merely for a few math tricks of the sort that could be done by Mathematica or Excel, while hardcore computation required some sort of compile or deployment step. I remember the immediate feedback of line-by-line programming from my youth in the 1980s, although it had actually begun much earlier. But by the time I graduated university, this wasn’t considered “serious programming” anymore. In computer science, there’s a fancy name for this: a read–evaluate–print loop, or REPL. And while the REPL fell out of fashion, the humble notebook continued to present its REPL-plus-narrative structured content.

In 2010, as iPhones and iPads evolved into general computing platforms, they became an obvious platform for notebooks. But iOS came with some very different constraints from the desktop system—so much so that it seemed an impossible task to try to adapt our existing notebook technology to the platform. So, we decided to try to recreate the notebook experience from scratch in a way that both fit within the constraints of the platform and played to its strengths. Seemed straightforward. Cells. Evaluation. Maybe some basic Manipulate support. Surely it wouldn’t take long to get that up and running, we thought.

That was the second notebook front end. Since then, there have been others. A short while later, another Wolfram development team started contacting me, asking about notebook front ends. Turned out they were working on this web thing, and wanted a bit of advice. But it can’t be that hard. A small skunk works project.

Even outside Wolfram’s doors, people were adapting to notebook-oriented computing. REPLs started becoming fashionable in software development circles again. Variants of Markdown started to become the language of document creation on the web, and many of those documents looked a lot like notebooks. There was even a significant open-source project that recreated some of our major concepts, down to the use of cells and the Shift + Enter evaluations.

All of these projects ran into some trouble, though. It turns out that the “cells and notebooks” concept wasn’t as easy to recreate as we all thought it would be. Above and beyond the basic technology hurdles, it turns out that we had evolved notebooks to do things we’re no longer willing to sacrifice.

Notebooks today support typesetting. Mathematical typesetting. Typesetting of code. Typesetting that you can properly interact with. Some of this is about the math. Typeset math has had broad appeal to our users, well beyond a core math education market. But making the math and the code coexist while remaining fully interactive and easy to read is a challenge requiring extreme attention to a large number of details.

Notebooks today are dynamic documents that can be generated, transformed and manipulated at the language level. Many core features rely on being able to read and write raw notebook content from the language, and we quickly discovered just how many notebooks in the wild would stop working without this functionality. We use this functionality prolifically to enable our user interfaces. In retrospect, this shouldn’t be too surprising, since we’ve been active exploiting this capability of our product since 1996.

Notebooks today offer a truly interactive experience with computation. We’ve been doing this since 2007 with Manipulate and Dynamic functionality, but it’s easy to undersell the achievement. When I slide a slider, I learn so much more about what I’m doing from instant feedback than I do from waiting for a web server to respond. Our devices are so powerful today that there is simply no reason for me to wait for computation when it can and often should be done on my local device. And we can create incredibly sophisticated and general interactive interfaces with just a single line of code. The ability to do this allows for novel applications. For example, I find myself using Manipulate to understand bugs and test features while doing notebook front end development.

And that brings us to today. iOS has been a challenging platform to bring a proper notebook experience to, and in order to do so, we’ve been creating a brand-new front end from scratch. In terms of CPU power and memory, this new front end is running on the most diminished platform we support today, but we’ve worked hard not to sacrifice the notebook experience. More than any previous front end, this new notebook front end uses its environment incredibly efficiently. It uses more CPU cores, less energy and less memory to get its job done.

And so what we have today is a product that displays and plays notebook content that we’re extremely proud of. It’s just entered into beta for the iPad, and we’re hoping to have a version that works well on the iPhone coming out soon. It’s been a long time coming, but I think the technology we’ve developed is worth the wait.

16 Comments

Dear John,

thank you very much for this annoucement. Reading your blog post and having the possibility to participate on a Beta is 1000 times more encouraging than the “coming soon” label on the various Wolfram sites.

Personally, I was looking forward to this since Theodore Gray teased “Mathematica on iPad” in February 2012!! So the Wolfram Player, I hope, is an important first step on this path. Thanks to you and your team for tackling this task to write the FrontEnd from scratch!

I urge Wolfram Reasearch not to stop here and bring proper Mathematica to iOS. Why not beat Apple (in bringing XCode to iOS) with releasing a full Mathematica on this mobile platform? Mathematica on an iPad Pro would truely leverage this powerful hardware to push the platform from consumption to education to programming to creation…

And yes, REPL’s: from all REPL’s out there Mathematica is most elegant and powerful.

Well, the Player already has a full Wolfram Language kernel in it. But the Mathematica notebook interface has a lot more functionality than the Player interface does, and we wanted to actually ship it this year! A Mathematica for iOS certainly is under active consideration, and the response to the Player product will help us to determine how to proceed with that.

I have been following this as long as commenter Stefan. Anyone perusing Wolfram’s supported-platforms.html page in The Internet Archive will see that the CDF Player for iPad was announced as “coming soon” back on October 25, 2011 (!!!). I presume such a long delay was related to technical issues: insufficient computation resources, or a massive re-write of what Theo Gray demonstrated at the O’Reilly TOC Publishing conference talk, “Meaningful Interactivity In A Mobile World” (February, 2012; easy to find on YouTube).

This really is a great happening. When the product is released, it would be wonderful for Apple to include a demo version on the iOS devices — especially the iPads — in their stores. This would also be a win for Apple: they can demonstrate software that University students and professionals typically associate with heavy-duty computers and workstations. It should definitely be a major thrust of Apple’s ConnectED and other classroom initiatives.

This is great news! I have been calling into Wolfram and tapping forums for years asking when this would be ready. At times, I thought Wolfram had abandoned the idea. It sounds like there was lot more development needed than anyone had orginally thought. I’m glad Wolfram has invested in making CDF functionally for IOS.

Mathematica has been a game changer for me as a college math instructor. It wasn’t until I saw (and studied) Eric Schulz’s lecture, “Sharing Wisdom Gained from Publishing a CDF Ebook”, did I realize that with CDF technology, I had the ability to create a learning environment for my students that is far superior to anything out there. It lit a spark in me, and have invested almost all of my free time creating tools that will allow me to use this technology more effectively in the classroom. For me, the only thing that’s been missing is a CDF player on IOS. Made my day. Thank you for investing in this technology and bringing it to IOS.

This is great news! I have been calling into Wolfram and tapping forums for years asking when this would be ready. At times, I thought Wolfram had abandoned the idea. It sounds like there was lot more development needed than anyone had orginally thought.

Mathematica has been a game changer for me as a college math instructor. It wasn’t until I saw (and studied) Eric Schulz’s lecture, “Sharing Wisdom Gained from Publishing a CDF Ebook”, did I realize that with CDF technology, I had the ability to create a learning environment for my students that is far superior to anything out there. It lit a spark in me, and have invested almost all of my free time creating tools that will allow me to use this technology more effectively in the classroom. For me, the only thing that’s been missing is a CDF player on IOS. Reading this made my day. Thank you for continuing to invest in CDF technology and bringing it to IOS.

I don’t think there is need to move the full Mathematica onto iOS.
Because typing with the on-screen keyboard is horrible. And iOS is so weird. For example, you can’t see the file path explicitly. This OS’ extreme limitation brings a lot of extra challenges that are originally unnecessary. It is not fair to require programmers to strive for a PC-equal status for iPad, which Apple essentially hasn’t confer.
iPad’s CPU(A9X) is boasted especially by GeekBench. According to Anantech’s test, A9X is only at the same level as Intel Core M5 (SPEC int 2006). Furthermore, what could you actually do with a poor 2GB RAM? Sophisticated tasks have been denied innately.
So, rebuilding Mathematica is wasting Reseach team’s time. A player is enough. Let them focus on frontier problems.

Mathematica on iPad isn’t a waste of time at all. The Wolfram Cloud app since its last release is night and day different from the original. Why? Well for one thing, when people say “iPad” they don’t’ realize that they’re talking about 2 different input mechanisms. The iPad Pro with the Apple keyboard presents a laptop-like experience completely different from using the device with onscreen keyboard. Whatever the player turns out to be, please make it well with both keyboards. You’d be amazed at how much an iPad Pro can do with Apple’s keyboard.

And while at it, please consider building collaboration. Systems in 1968 had better online collaboration than what Mathematica offers. This is what the Internet was about, please build it in.

Yes, we do plan to release for iPhone. I didn’t mention this because it wasn’t yet ready and I didn’t want to promise a specific date. I’m still not ready to make such a promise, although I will say it’s being actively worked on, and I expect it to be delivered as part of this beta release before we finalize the product.

With great excitement I have read this announcement, because interactive documents make most sense for those interactive devices, which lots of people actually use. No doubt, that iOS is a must have.

Unfortunately, Beta testing proves to be challenging with the CDF I have produced myself. Would you have some examples, of which you reasonably assume, that they should run with the intended user experience?

Having access to those would make Beta testing a much better experience.

Apple has given signals that they wish to migrate laptops and desktop machines to IOS. If/when this becomes the case wouldn’t it behove Wolfram Research to get ahead of the curve and start a migration in that direction?