History of Jmol development

The origins of Jmol

Jmol was originally intended to be a fully functional replacement for XMol which was a molecular viewing program developed at the Minnesota Supercomputer Center. Although the program executables were distributed, the source code was not available to users, and since the program was not maintained, the free binary versions became obsolete. For example, the SGI version of XMol did not run on IRIX 6.x because IRIX switched to a new executable format.

XMol's demise left a need for a similar tool. Dan Gezelter, the originator of Jmol, chose to avoid the same problems by making Jmol open source. Although it did not completely met the goal of functionally replacing XMol, Jmol duplicated many of the most useful features, and in some ways, it surpassed XMol functionality. In time, Jmol was hoped to include even more advanced features.

Jmol was started as an OpenScience project which is dedicated to writing and releasing free and open source scientific software. For more information about the OpenScience project, go to http://www.openscience.org/.

Jmol grows

Later, Bradley A. Smith took over the project and did a lot of work in streamlining the project as well as the software. Under his leadership new releases found its way to the user base, and many new features were added, some of which contributed by users.

In the end of 2002, Egon Willighagen became the new project leader and a start was made with integrating Jmol with The Chemical Development Kit, something that was already planned in September 2000 by Dan, Egon and Christoph Steinbeck.

Jmol - an open source replacement for the Chime plugin

Miguel (Michael T. Howard) joined the project at the end of 2002, with the explicit goal of helping build Jmol into a viable replacement for the Chime plugin (offered by MDL).

In the first few months Miguel contributed the Spanish translation and made an initial pass at the RasMol/Chime script interpreter. He then made some performance improvements and began working on rendering performance and speed.

It quickly became apparent that the Java2D graphics did not provide the performance and functionality needed. In addition, it became clear that the core Jmol classes would not support the performance and space requirements for working with macromolecules with tens of thousands of atoms.

In the spring of 2003 Miguel began designing and implementing a high-performance software-based graphics engine. In order to ensure web deployment of the Jmol applet it was important that the engine run on version 1.1 Java Virtual Machines and that no specialized graphics hardware be required.

Miguel also rewrote the core classes in order to support much larger molecules. In addition, he separated all file IO from the Jmol core, making it much easier to support new file types.

An extended test period began at the end of 2003. During 2004 a small set of users around the world contributed to Jmol development by testing Jmol, explaining chemical concepts, and explaining scripting behaviors of RasMol and Chime.

Jmol version 10.0, an open source replacement for the Chime plugin, was released in December 2004. It was followed by an improved version 10.2 on April 2006.

Technical notes about the development of Jmol v.10

Jmol outgrows Chime

Shortly after 10.2 was released, Bob Hanson started leading the work on Jmol source code, and began adding extra features that were not available on Rasmol and Chime –many of them after users' timid questions or dreams–. As a consequence of a huge amount of work, version 11.0 was released in February 2007, followed by versions 11.2 in August, 11.4 at the beginning of 2008 and 11.6 in October 2008.

These are some of the more outstanding capabilities added:

History of changes

There are lists and demonstrations of the features added in Jmol 12.0 | Jmol 11.8 | Jmol 11.6 | Jmol 11.4 | Jmol 11.2 | Jmol 11.0 | Jmol 10.2.

Former history:

Jmol 10.x

Jmol 10.0

Jmol 9

Jmol 8

Jmol 7

Jmol 6

Jmol 5

Jmol 4

Jmol 3

Jmol 2

Jmol 1.2

Jmol 1.1

Jmol 1

Jmol 0.6.1

Jmol 0.6

Jmol 0.5

Jmol 0.4

Jmol 0.3

Jmol 0.2

Jmol 0.1.1

Jmol 0.1

Jmol 0.0.4

Jmol 0.0.3

Jmol 0.0.2

Jmol 0.0.1

Contributors

Miguel Howard (miguel_AT_jmol.org)
Egon Willighagen (egonw_AT_sci.kun.nl)
Tim Driscoll (driscoll_AT_molvisions.com)
Nicolas Vervelle (nvervell_AT_club-internet.fr)
Simon Tyrrell (smt40_AT_cam.ac.uk)
Oliver Stuker (revilo_AT_oc38.uni-paderborn.de)
Rene Kanters (rkanters_AT_richmond.edu)
Bob Hanson (hansonr_AT_stolaf.edu)
Jan Reichert (jr_AT_imb-jena.de)
Fabian Dortu (fabian.dortu_AT_wanadoo.be)
Bradley A. Smith (bradley_AT_baysmith.com)
Dan Gezelter (gezelter_AT_openscience.org)
Christoph Steinbeck (steinbeck_AT_ice.mpg.de)
Tom Grey (t.grey_AT_ic.ac.uk)
Charles Fulton (fultoncr_AT_ucarb.com)
Mike Beachy (beachy_AT_alum.mit.edu)
Hugo Garcia (elhugo_AT_objectchemistry.org)
Matthew Meinek (mmeineke_AT_nd.edu)
Jochen Junker (jochen.junker_AT_yale.edu)
Christian Ribeaud (christian.ribeaud_AT_genedata.com)
Jonathan C. Rienstra-Kiracofe (jrienst_AT_emory.edu)
Carl Resnikoff (carl_AT_resnikoff.net)
Agustí Sánchez (asanc_AT_users.sourceforge.net)
Chih-Peng Yang (cpyang_AT_siraya.net)
Rajarshi Guha (rxg218_AT_psu.edu)
Tache Ionut Madalin (madalin_AT_notme.org)
Friedmann Lívia (semper_fi_AT_galamb.net)
Ivo Sarak (ivo_AT_vendomar.ee)
Clodoaldo Pinto Neto (clodoaldo.pinto_AT_gmail.com)
Peter Vanwing (gagaman_AT_gmail.com)
Angel Herráez (angel.herraez_AT_uah.es)
Toby White (tow21_AT_cam.ac.uk)