Thursday, November 6, 2014

ThumbFish Beta (three)

​Glad to announce that ThumbFish Beta.3 is out. This new beta version comes with some new features and a lot of bug fixes. The new release in available on the product website.

Here is a list of some newly added features:
  1. Displaying Connection Table version on thumbnails for files with MOLFILE format such as mol, rxn, sdf and rdf.
  2. Displaying approx record count for multi-molecule files such as sdf, rdf, cml and smi (smi is now treated as multi-molecule file as it can contain multiple SMILES strings).
  3. A new property: Smallest Set of Smallest Rings (SSSR) is now available for structures.
  4. A new command "Extract Molecules" is now available in the Windows context-menu under ThumbFish. This new feature works only on multi-molecule files and can be used to extract molecules as separate files in a variety of formats. It also introduces a new kind of user interface named Statement User Interface.
  5. Chemical warnings for valence and ambigious hydrogen atoms are now displayed in the preview window. A new file ketcher.mol has been added to the sample files to see this feature in action. Note that the warning icon is only displayed when there are warnings available for selected structure.

The next beta will focus mainly on searching inside multi-molecule files. If you want to take a look at the Beta.4 features, here is the sprint on GitHub. Feel free to add any new features request or bugs to the list. 

Have a great day!!!

Sunday, November 2, 2014

Statement User Interface (SUI)

While working on the "Extract Molecules" feature for ThumbFish Beta.3, I experimented with a new kind of dialog based user interface. I named it "Statement User Interface" because it displays a statement to the user that describes the current operation. The statement is displayed in a dialog responsible for carrying out the operation. Certain parts of the statement are modifiable i.e. can be changed by the user. These modifiable parts decide how the operation is carried out. The benefits of using statement UI are:
  • It eliminates the use of having separate preferences for operations. 
  • Eliminates the use of popping validation messages because the statement describes what the operation is going or not going to do. 
  • Provides a single place to fine tune and execute an operation. 
For e.g. the following statement can describe an import operation (highlighted part is configurable):

Import {N|ALL} records from {C:\Documents\Somefile.mdb}. Duplicate records will be SKIPPED. Execution will STOP|CONTINUE if an invalid record is found. Records will be imported as TEXT|HTML.

The following screenshot is taken from ThumbFish "Extract Molecules" command and shows how the statement UI is implemented. There are five configurable parts in the statement.
  • extract-count and extract-filename-format expands the dialog and displays controls for additional input (as shown in the dialog).
  • extract-format and overwrite-skip option display a menu with available options because the choices are limited.
  • output-folder option opens a "folder select" dialog allowing the user to select the output directory where the extracted files will be placed.


The above dialog clearly states what the extract operation is going to do and what will happen in case the files already exist. More options can be added to the dialog based on the operation. The default and user selected values for these options can be saved and loaded from storage so that the dialog remembers the last selected values. A default button can also be provided to automatically the values to their default value.