In 2006[cite]10.1021/ic0519988[/cite] we published an article illustrating various types of pseudorotations in small molecules. It’s been cited 20 times since then, so reasonable interest! We described rotations known as Lever and Turnstile as well as the better known Berry mode. Because the differences between these rotations are quite subtle, we included an interactive electronic supporting information to illustrate them. That ESI was written in HTML and used Jmol to animate the rotations. Now, 16 years is a long time in the Web ecosystem (some early wag suggested, like dogs, that one year in normal time approximates to about 7 years in Web time) and inevitably, like e.g. both Rasmol[cite]10.1039/P29950000007[/cite] and Chime before it, Jmol no longer works when invoked from a Web browser; Java applets are very much dead and we are now on the fourth generation of molecule viewer, JSmol. Two days ago I was contacted by someone (thanks Peter!) who had noticed that the journal landing page did not seem to point to any ESI. Here I tell the story of what happened next.
Thus the landing page[cite]10.1021/ic0519988[/cite] does not mention any method for accessing any ESI. But since the page is paywalled, you have to login to see more. When you do this, you get a reference to “enhanced objects”, so I should explain what these were.
The norm nowadays seems to be that ESI is expressed as a PDF file, but that allows interactivity only with extreme difficulty. In 2006, if you wanted this feature, you used HTML. The publisher (ACS) coined the expression of WEO, or Web-enhanced object. We produced perhaps 50 or so of these for various publishers and in those days they were hosted on publishers’ own sites. At some stage since 2006, these pages have been moved and the enhanced object for this article has been (temporarily?) “lost”. It is perhaps easy to understand why, since changes to the publishers publication workflows would need to factor in such pages and probably there were not enough of them to merit inclusion in the workflow.
So on to 2022, when I was contacted by Peter about this issue. Whenever we submitted such interactive ESI, we always kept a local copy, and indeed this was quickly located at DOI: 10.14469/hpc/10849, now of course allocated its own DOI. By now the ESI had lost its interactivity, but more worryingly, was lacking any error messages. Why? This was the HTML code then used:
<applet width="300" name="ClF5-gsA"
height="250" archive="JmolApplet.jar" code="JmolApplet"
mayscript="true">
<param name="progressbar" value="true" />
<param name="progresscolor" value="blue" />
<param name="boxmessage"
value="Downloading JmolApplet.jar" />
<param name="boxbgcolor" value="black" />
<param name="boxfgcolor" value="white" />
<param name="load" value="ClF5-gsAC2vpTZ.mol" />
<param name="script"
value="select all; labels off; spacefill 0.25;
wireframe 0.1; center atomno=2" />
</applet>
In modern web browsers this is simply ignored. So the solution is to rewrite this code into modern syntax, and for this I turned to a long time hero and expert, Angel, who is one of the active maintainers of JSmol, the successor to Jmol. A few hours later a conversion script came back.‡ It is just 55 lines long! It is invoked in the header of the HTML document as:
<script type="text/javascript" src="JSmol.min.js"></script>
<script type="text/javascript" src="convertJmolApplets.js"></script>
and hey presto, all works as originally. I transclude a small snippet here to give a flavour, although the original is formatted for wide pages, so go see all the ESI there.
So what is the take home message? Well, it turns out that the Java/Jmol syntax developed for the Web more than 20 years ago has actually proved pretty resilient. And so pages where technology has overtaken them can sometimes be quite easily rescued and restored back to life. A number of those WEOs from the early naughties have indeed been rescued by expedients such as described above. And perhaps in 10 years time when Javascript and JSmol have themselves moved on, further rescues will be needed. But had I been asked back in 2006 or earlier whether I expected those interactive ESI pages to still be working 16+ years later, I may well have replied that it seemed unlikely. So it is a very pleasant surprise to find that they (now) are. All we need is for the journal itself to point to a working version; for that, keep your eyes peeled.
On a more general point, a history of “ESI” as used in chemistry would be an interesting topic. Although generally thought of as having its roots around 1996, it may well go back further. Any historians around?
‡Available at https://wiki.jmol.org/index.php/Jmol_JavaScript_Object/Legacy and 10.14469/hpc/10852
Very nice story, Henry. I am so glad to have been able to contribute. As I said, it was a tempting challenge for a holiday pastime, to try and convert these pages without rewriting them completely. Just a single new JS file that makes the conversion upon page loading. This may be used for other pages, so I am leaving the file itself and some comments in the Jmol Wiki [1], for the future.
One relevant background message is that the syntax of web pages and things embedded into them keeps changing, but the actual scripts of commends that make Jmol render the structures have needed no modification. So 2022 versions of Jmol and JSmol interpret without hesitation the instructions designed for 2006 Jmol and JmolApplet. Long live Jmol!
I have also added a comment about this revival of Henry’s article at [2]
1. https://wiki.jmol.org/index.php/Jmol_JavaScript_Object/Legacy
2. https://wiki.jmol.org/index.php/Journals_Using_Jmol
Thanks Angel. I did actually record the early history of “interactive” ESI at this post: https://www.ch.imperial.ac.uk/rzepa/blog/?p=701
This one from 1998 and the Royal Society of Chemistry as publisher is perhaps one of the very first: https://doi.org/10.1039/A805668D with the ESI at https://www.rsc.org/suppdata/perkin2/1998/2695/index.html It predates Jmol in using the Browser plugin Chime. Now that really is beyond rescue without re-writing the code I fancy.
The earliest using Jmol from us appears to be https://doi.org/10.1021/ja043819b from a 2005 ACS article and seems rescuable using the script noted above. Please see later.
In this example, two types of data were converted to interactive models; molecular coordinates and vibrations and orbital isosurfaces. The JSmol format for these latter is nowadays JVXL, but this predates the availability and another format known as .3dmf was used. This required a browser plugin, much like Chime and so no longer works. Furthermore it is very unlikely that any converter from .3dmf to .jvxl will ever be written.
What one learns from this it that during the period 2005 – 2007, when the concept of author-provided interactive ESI (IESI ?) was evolving, many different styles and expressions were being experimented with in something of a time capsule for that era. Of course, the genre did not stop this process then – the period 2008-2022 continued to show much evolution.
WEO4: DOI: https://doi.org/10.14469/hpc/10951
I have been steadily curating old instances of Jmol diagrams submitted to journals, and had reached 28. Now I come to one which represents a change. Read on to find out why
1. The article described how the static presentation in all journals could be enhanced with an interactive data-based version. Ironic then that after a few years, the interactive version had transformed into a ZIP archive of files (although now recovered to again be interactive by suitable curation).
2. These lines appear “We may also speculate at this point on other forms of rendering data. Jmol was written in Java, and requires the browser to support a Java virtual environment. New generations of mobile information devices, which are primarily designed for long battery life, may not continue with this approach. Instead, one favoured alternative is to interface the browser directly to the graphical hardware using e.g. WebGL, and to implement the functionality of something like Jmol using the emerging HTML5 standard and appropriate scripts [20, 21].” This is the first statement in print of the potential appearance of a non-Java implementation. The “appropriate scripts” of course soon became JSmol! WebGL did not really make it!
10.14469/hpc/10998, 10.14469/hpc/10999, 10.14469/hpc/11000, 10.14469/hpc/11001,
10.14469/hpc/11002 and 10.14469/hpc/11003
A functioning JSmol version is now at https://doi.org/10.14469/hpc/10991
https://static-content.springer.com/esm/art:10.1186/1758-2946-5-6/MediaObjects/13321_2012_363_MOESM2_ESM.zip
https://static-content.springer.com/esm/art:10.1186%2F1758-2946-5-6/MediaObjects/13321_2012_363_MOESM3_ESM.zip
https://static-content.springer.com/esm/art:10.1186%2F1758-2946-5-6/MediaObjects/13321_2012_363_MOESM4_ESM.zip
whilst the non-Java versions can be seen at https://doi.org/10.14469/hpc/10997
This collection also breaks new ground in using not just JSmol, but also ChemDoodle and GLMol, two alternative script-based systems for molecular rendering introduced around that time. These last two have subsequently not been as successful as has JSmol in this regard.
The http request (rather than https) is probably a mis-configuration at the publisher’s site.
A functional version (which has not been updated during this rescue and is original JSmol) is at https://doi.org/10.14469/hpc/11008
an the journal also offers the IESI as a set of links
But, one component has decayed. We were also introducing a new mechanism to retrieve the original data files from a data repository, using a mechanism which depended only on the DOI of each file and its media type. This depends on making a http://dx.doi.org/… request to retrieve the file. Unfortunately the environment into which the file arrives is deemed secure by virtue of having used a https request, and so http:// content cannot be absorbed. Using https://doi.org/ to try to get the data also now fails, since the server responding to the https request (Tomcat) was deemed to have a security issue and has been disabled. Updating Tomcat to a more recent secure version is also deemed “difficult”. At any rate, functioning versions of these IESI table have now been produced that use local copies of the required files and these can be found at
https://doi.org/10.14469/hpc/11014
https://doi.org/10.14469/hpc/11015
https://doi.org/10.14469/hpc/11016
https://doi.org/10.14469/hpc/11017
https://doi.org/10.14469/hpc/11018
https://doi.org/10.14469/hpc/11019
https://doi.org/10.14469/hpc/11020
https://doi.org/10.14469/hpc/11021
But do not try to use the Java-Jmol version offered, it will not work!
http://dx.doi.org/10.6084/m9.figshare.865637
http://dx.doi.org/10.6084/m9.figshare.865638
http://dx.doi.org/10.6084/m9.figshare.865639
http://dx.doi.org/10.6084/m9.figshare.1029169
http://dx.doi.org/10.6084/m9.figshare.1030188
and interactive versions hosted by the journal at e.g. https://pubs.acs.org/doi/media/10.1021/cs500326e/table1_index.html
However, one gets the following error
This appears to be a systemic error at the ACS server-side; potentially absolutely trivial to fix! I have contacted the AC via their Chat service and a case has been raised CSCSI0088211 Created On: 08-24-2022 12:07:13 PM EDT. Lets see what they say!
Functioning versions are at
https://doi.org/10.14469/hpc/11024
https://doi.org/10.14469/hpc/11026
https://doi.org/10.14469/hpc/11027
https://doi.org/10.14469/hpc/11028
https://doi.org/10.14469/hpc/11029
and have not required any modification.