CDF: Mathematica’s PDF

Wolfram is pushing a new document format called Computable Document Format (CDF). It looks like PDF + embedded Java apps.

One the one hand, there’s the xkcd viewpoint. This is basically just another step in the evolution of Mathematica’s native file format. And right now, Mathematica 8 is the only way to author a CDF file. Alternatively, one can simply author a webpage with embedded Java apps, or maybe even HTML5. Then everyone can use it, anyone can modify it, and most platforms will play it. On the other hand, web pages don’t print out as nicely as PDFs (CDFs should print out as nicely), and it can be a bit messy to download and view a webpage with embedded apps offline.

So maybe there’s a future for CDF. Although the same basic results can be obtained using HTML5 or Java, Mathematica makes it very easy to create some types of interactive infographics. Arguably, it’s possibly exactly what Elsevier’s Executable Paper Challenge is looking for. However, it’s a closed format. Although Wolfram says the specification is public, the restrictions are perhaps enough to prevent wider adoption. There’s only a player for people who don’t own Mathematica (~500 MB download).

It’s hard to get people to install another player on their computer. Flash had success because of streaming video. Shockwave got people to install it for games. I think it will be a challenge to get readers of the NY Times to en mass download another player for their browser just so that they can see an infographic.

See that 23% bar for the RealOne player? And that’s for streaming media, a very broad market. What does Wolfram expect for such a narrow application? No matter how optimistic they are, why would they want to do this? They have to support this software for a bunch of different platforms, including mobile devices. This includes direct customer support and keeping up with changes to the platforms, security, etc. All for free. If Mathematica offered an “Export to HTML5” option, they’d sell more software. Because then authors would know that everyone can see what they produce, without having to download another player.

So perhaps CDF is a bit like Wolfram Alpha: utterly useless outside of a very narrow field of applications, in which it performs utterly beautifully.

But that’s where the problem lies. I downloaded the player and tried out several of the CDFs. They were ugly and inefficient.

Note the lack of antialiasing. The animation wasn’t very smooth either. I’ve seen much better results with Java and HTML5. I think Processing is probably a better path towards this sort of thing. And that is free and outputs Java.

You can hide source code inline, and that’s nice. But it’s not a particularly innovative feature. Basically there’s a place to click on the right margin that expands a block of source code.

To cap it all off, the typesetting doesn’t seem to be as rich as that of PDF. It really looks like a webpage. The equations look good, as we would expect, but they don’t always select and highlight in intuitive ways. So if you want to cut and paste, it can be frustrating.

Overall, it’s hard to get too excited about CDF. It’s a way to get people to see a Mathematica document when they don’t have the software. But it only works when the intended audience is more likely to download the player than the author is likely to write it up in more standard web technology.