About 10 years ago, I turned the Jmol project over to a series of fantastic lead developers (Jmol programmers regenerate in different bodies just like Doctor Who does). Since then, the aspect of the new work on Jmol that has most delighted me is the Jmol applet, which allows the program to be embedded in web pages. The Jmol applet transformed Jmol from a niche application into a way of broadly disseminating and interacting with chemical structures. It has become the de facto standard for showing protein structures at the RCSB Protein Data Bank, as well as in a number of chemistry journals.
The problem with Java applets is that many new tablet and phone web browsers don’t support them (and it looks like Java applets are being slowly disabled on Mac browsers as well). Java has always been an elegant but relatively heavy-weight solution to dynamic content, but I think its time as a widely-used language for web content is coming to a close.
So, how do you interact with chemical structures without Java or Flash?
The Jmol team has been hard at work converting the Jmol source so that the same source code that produces the Jmol applet can also be run through Java2Script to create the entire Jmol applet in JavaScript. The new beast is called JSmol and has almost all of the functionality of Jmol itself (file IO, scripting, etc.) Bob Hanson’s demo pages give a taste of this work.
This is amazing work. The same Java code is compiled to create the Jmol applet, a WebGL version of JSmol, and the HTML5 version of JSmol that can run on my phone. Almost all of Jmol is there – the ability to display orbitals, crystals, and van der Waals surfaces. Some menu interaction is still missing, but if the goal is to display and interact with a chemically meaningful structure on a web page, JSmol looks like a great solution.
The credit for this work largely goes to a number of people: The GLmol interface was written by Takanori Nakane. Java2Script was written by Zhou Renjian. The Jmol code conversion to JavaScript was done by the current Doctor Who, Bob Hanson.