Wednesday, February 20, 2008

The Future of Web Applications

While Mathematica is not an application most people have even heard of, let alone used, its latest incarnation is a prime example of how client-side applications can utilize more powerful machines elsewhere on the net to do the heavy lifting while still offering a user experience every bit as rich as any desktop app.

For years, Stephan Wolfram's Mathematica has been the leading desktop application for conjuring all manner of mathematical wizardry. It does everything from factoring polynomials to graphing differential equations to your freshman algebra homework. The only problem is that for more complex tasks, it can make thick black smoke spew from the ears of the average laptop. That means it won't do the college students much good unless they happen to have a kick-ass rig at their disposal. The idea behind webMathematica is to bring the desktop version's true power to those without access to the necessary hardware.

But one might ask how an application that can generate thousands of floating-point-operations per second would possibly run smoothly inside a browser. The answer turns out to be: do the actual math somewhere else.

Here's how it works. Set up your formulas, datasets and such, and when the calculations are ready to begin, all the info is sent via XMLHttpRequests to a server where all the actual math is forwarded to machines specifically designed to handle the task. The response is then rendered via JavaScript, CSS and HTML.

Very cool.

No comments: