Wouldn't it be cool if you could plug new windows into Jmol, each providing access to a different database, or any other kind of data source, from which the provider would create its own Jmol script? One data source could provide a list of proteins, another a list of generic molecules, and yet another some other kind of subset of data relevant to Jmol. Then, the display window would detect when a new item in a data provider has been selected, which would result in the publication of a new script provided by the data provider for the selected item. Receiving notification of the published script, the display window (with its backing code for processing scripts) would process the script and render it.
The above concept is now part of the Jmol/NetBeans application that I'm working on. Below, you see two data providers, one is the Protein Data Bank (rcsb.org) and the other is from a list of modules extracted from reciprocal.net. (You can also see that the Jmol output is shown in the Output Window of the new Jmol application below.)
I have put the sources here, but you cannot access it, yet, at the time of writing, because the project has not been approved and published yet by java.net:
http://java.net/projects/nbjmol
Once the site is approved, you can create your own data providers, which need to somehow provide a Jmol script, at which point the selected item will be rendered in the display area in the main part of the application.