In Internet terms, 23 years ago is verging on pre-history. Much of what was happening around 1997 on the Web was still highly experimental and so its worth taking a look at some of this to see how it has survived or whether it can be “curated” into a form that would still be useful. I had noted in my earlier comment a site which early on had become non-functional and then speculated whether any volunteers might have suggestions for how to best rescue it.
There are two ways of approaching any such rescue operation; a manual editing of the code behind the site (the HTML) or a more automated approach to doing so. The site in question in fact probably has more than 200 HTML documents that would need such an edit, which is impractical (or costly) for human curation. But the underlying well-formed structure of HTML lends itself to automation and now a saviour in the form of Ángel has indeed come forward with the solution!
One of the least stable aspects of Web pages written in the period 1993-1998 or so was the manner in which extensions to perform specialised tasks were handled. The first solution in chemistry[1] was to use the Web page itself to launch an external molecular viewer such as Rasmol via a protocol known as MIME,[2] but that depended very much on the viewer already being pre-installed on the device being used. This was a shop-stopper if you did not have the administrative rights to do so. Netscape was a company set up in 1994 whose main product was an innovative browser which could be extended by “embedding” a window directly into the display page using a plug-in rather than the earlier solution of having a separate window. In 1995, one such plugin appeared for the Netscape browser called “Chime”, which allowed 3D coordinates representing a molecule to be displayed as an interactive model within the page. The plugin still had to be pre-installed by the user and this is how in 1997 https://www.ch.ic.ac.uk/vchemlib was set up to function.
The limitations of plugin pre-installation soon became apparent. A partial solution was to download the plugin as part of invoking the web page itself. For this to work across a range of different devices running different operating systems, the plugin had to work on all of them. The solution was based on Java applets, which in turn would still rely on an initial underlying installation (with admin rights) of the JRE (Java Run-time Environment) on the device. This would now support a wide variety of different Java applets, rather than requiring each of them to be pre-installed by the viewer of the page. Between the period 1998 or so up to around 2015, the functionality of the Chime plugin was implemented and indeed greatly extended into the Java-based Jmol applet.[3] Unfortunately, using this did now require rewriting the underlying HTML code for each individual Jmol invocation.
The next step brings us up to the present method, which was to replace the Java applet by a Javascript-based module which would NOT require a JRE to be pre-installed. All the required installation would be handled by the browser itself; the runtime environment in effect was now built into browser itself. This again required a change to the HTML code for the invoking this tool. So the nature of the curation required to revitalise https://www.ch.ic.ac.uk/vchemlib/ can now be defined: replace the HTML code used to invoke Chime by new code which invokes its current replacement, JSmol (which stands for JavaScript Jmol‡). The good news is that this is a simple programmatic procedure, which itself can be implemented using Javascript. Here is where Angel comes in. He has freshly written convert.js as a script which performs this task. It is now invoked by simply adding a header to every HTML document as <script src="convert.js" type="text/javascript"></script> and all the necessary conversion from the old Chime syntax is then done on the fly when the page is loaded.
The big win is that as a toolkit, JSmol is very much more capable than Chime ever was! One of the many interesting things it can do that was not previously possible is “computation”. I thought I would illustrate how this veritable resource has not only been curated back into (mostly) working order, but also how its functionality as a molecular toolkit has been greatly enhanced.
We are going to illustrate this using the tool optimize structure, the menu for which can be invoked by a right-mouse click anywhere in the molecule window. What does this mean? Well, I need to start by covering the basic sources for 3D molecular coordinates, which can be generated using a wide variety of methods, some of which are listed below.
In general, information on which of the above categories were used to obtain the 3D coordinates are infrequently, if ever, actually declared on the web page. Indeed, this information for the site https://www.ch.ic.ac.uk/vchemlib/ is missing, only the original author might know! Of these types, #3 is computationally fast enough to be implemented into a Javascript such as JSmol, so we can now test how “optimised” any set of 3D coordinates actually is (#4 is not yet possible). Here are some instructions on how to proceed. For illustration I will use this molecule from the site, accessed as https://www.ch.ic.ac.uk/vchemlib/mol/direct_pdb.html?senses/vision/colour/pdbs/carotene.pdb The coordinates are expressed in the so-called PDB format, which was originally developed with proteins in mind and not small molecules.
The concept that a Web-based resource like this can provide a chemical toolkit embedded within the page to conduct experiments such as the ones described above was nonetheless very much the original intention envisaged all those years ago.[1]
‡Just to clear this up, Java and Javascript are NOT the same despite the name. †This is implied as kJ in this version of JSmol. ♥You might as well write out carotene.mol or carotene.cml, which are better suited for further processing with more reliable bond records. The latter was indeed designed to avoid any loss of information during such conversions if at all possible! ♠A similar anomaly formed the basis of this critique of the vibrational mode imaging of a tetraphenylporphrin.
In the mid to late 1990s as the Web developed, it was becoming more obvious…
I have written a few times about the so-called "anomeric effect", which relates to stereoelectronic…
The recent release of the DataCite Data Citation corpus, which has the stated aim of…
Following on from my template exploration of the Wilkinson hydrogenation catalyst, I now repeat this…
In the late 1980s, as I recollected here the equipment needed for real time molecular…
On 24th January 1984, the Macintosh computer was released, as all the media are informing…
View Comments
Very nice piece, Henry!
I'm so glad to have rescued this website. The collection of molecules is remarkable, even if not all the structures are very refined in terms of geometry.
It's a shame the large amount of educational websites that have been lost due to the technical issues, associated to browsers dropping the support first for plugins and later for Java applets. Fortunately with some effort and time they can be brought to life as long as the original source files are available, as it was in this case. This is all thanks to the Jmol project, which enjoys a continuous development effort (mainly Prof. Bob Hanson) and a lively community of users and authors of materials, both in education and research.
Thanks indeed Angel.
Yes, the genius in the creation of the Web, back in 1989, was to make "source code" an intrinsic part of the design. The ability to "reverse engineer" the early sites is how many people learnt how to write new pages in the first place. I remember about ten years later commercial companies (no names here but you can probably guess who they were) tried to convert the Web to binary (proprietary) code. Thankfully that never took off!
I will tell a story about a product I think was called LabSkills. Our department purchased it perhaps 15 years ago, and it was not inexpensive. It was written in Adobe Flash. Importantly, the source code was not accessible. A few years later we wanted to add some content, but were told that would not be possible, we would have to take out a new license to gain content. Now the Flash player is ceasing in a month or so, and browser support for it will vanish. No chance however of rescuing the Labskiils content in the way that the Vchemlib site has been.
The conversion library is now available at doi: 10.5281/zenodo.4252726