Thursday, April 1, 2010

JavaScript molecule editor roundup

Next to JsDraw which had it's 1.0 release recently, I've found two more pure JavaScript molecule editors:

WebCME which has a lot of features, notably a large library of molecules but is quite painful to use. This is because it's developers have chosen a system of 'select two atoms, add bond, deselect them, select another two atoms, add bond, oh wrong one, delete bond, add correct bond...' for drawing.

The ChemDoodle web components on the other hand have a totally minimalistic, yet powerful UI. Atoms are drawn by mouseclick, bonds drawn by mouse drag. Atom types can be changed via keyboard, bond types by mouseclick and delete is done by the Backspace or Delete key.

Unfortunately none of the three works on mobile browsers. Either they don't work at all or only by half.

In contrast, the jsMolEditor does work even in Android WebViews, but seems to be not under development anymore. I suspect that it was abandoned in favour of JsDraw.

What a pity. Having a (even simple) but working JavaScript molecule editor, that works in Smartphone WebViews would open a whole new world of applications for those devices. They now have the computational power to handle chemical data, but who wants to enter SMILES strings by hand...


  1. Yeah. You're right. jsMolEditor is no longer under development, because we're working on a better one starting from scratch. Watch if you have interest. It's not only an editor. The project will expect to have a usable version before summer.

  2. Hi ergo,

    Thank you for your feedback! We are currently researching the best way to provide interaction with ChemDoodle Web Components in mobile browsers. It is an interesting problem as there is no mouse or keyboard, so it should work differently on a mobile device than on a desktop computer (especially if you do not have buttons like the Doodler component!). The other issue is that canvas elements don't yet absorb mouse events from mobile browsers (at least the ones that I am using), but I am confident the mobile browser teams are working towards implementing this. I am still waiting for the day that I update my iPhone OS and canvas text renders properly! :)

    You may also be interested in reading Peter Ertl's recent review: .

    I'm intrigued by your statement, "It's not only an editor". Is there somewhere we can learn more about your project?

    Kevin Theisen

  3. The other issue is that canvas elements don't yet absorb mouse events from mobile browsers (at least the ones that I am using)...

    Yes. Plus the browsers and the web view UI elements (which in therory should be a browser without decorations) behave differently too.

    E.g. JsDraw shows up in the Android browser, but does not display atom symbols, only bonds. In the web view it shows nothing at all. What a mess..;->

  4. Hey There,

    Try out jchemhub. We're working on making it as good as jsDraw but free to the world forever.

  5. Hi Brian

    I'm interested, but couldn't find any files or info in jchemhub's site at SF, its Wiki etc.

    Is there a way to test it without knowing how to extract code from github, compile, etc.? I'm not into programming.


  6. You can see a primitive demo of Jchemhub at

  7. I did a quick check with the Jchemhub demo. It works with Firefox but not with Safari on the iPod touch -> blank screen.

    I'll check with Android as soon as I have access to the Nexus again.

  8. All,

    JChemhub is now kemia! for the demo. We're planning a 1.0a version for the fall. Completely open source and friendly licensing for corps.


  9. ChemWriter is written in pure JavaScript and runs on all browsers in common use today - without plugins, from IE6 (still used in pharma) to Safari on iPad:

    If using iPad, check out the live demo at: