Firefox 3.1
takes several important steps toward beefing up the browser’s ability
to run Web applications, one of which is that it adds support for “worker threads.” These allow the browser to deal with heavier computation–if it needs to do something data-intensive, JavaScript can run in the background, while the user goes on interacting with the application as normal. This capability is very important for sophisticated Web applications and, in an impressive Firefox 3.1 demo,
Blizzard showed off a browser application capable of detecting motion in a
live video as it played (see the clip below). Without worker threads, there’s no way that
the application could have handled this without locking up.

Maybe you’re not planning to run a browser application that parses the
feed from your security camera? A less flashy but equally important
example of the concept can be seen in the new Offline capability from Gmail Labs. Using offline mode, users can access Gmail
online or off (or in “flaky connection mode,” which smooths out the
experience of a now-you-see-it-now-you-don’t Internet connection, or a four-hour Gmail outage). One
key part of the underlying technology is WorkerPool, which, like Firefox’s
worker threads, allows intense computation to go on in the background
while the user interacts with the Gmail interface. In a conversation I had recently with Gmail product manager Todd Jackson, he explained to me that WorkerPool
is what allows Gmail to perform the heavy task of coordinating the data
in a user’s online Gmail account with what’s stored offline, without
forcing the user to wait for long periods while the browser responds.

These changes are just part of a larger trend of re-engineering browsers to improve their ability to handle Web applications. Google’s Chrome browser is one example of this, as is work on the W3C’sHTML 5 specification, which is making great strides in standards for Web applications.