Ten Years of Match!
In the beginning there was a mistake: In summer 2002 we were speculating
that a customer might soon order a new phase identification software for his database.
Hence, we started to develop the core search-match code of what should some day
become "Match!" on July 17, 2002.
However, about two months later we were informed by the potential customer that he
was no longer interested in the project and had switched over to an alternative.
Although we were very disappointed about this fact, we thought that we should do something with the
code that was already existing. Certainly, there were quite a lot of programs
for phase identification from powder data on the market, but most of them were
only available at significant costs, and others did not show any further development anymore.
Hence, we came to the conclusion
that if we would be able to further develop our existing core code to a final product while
limiting the functionality to the very basics, this would allow us to sell the
software at a rather low price, so that we should be able to reach new customers that were unable
to afford the established search-match packages.
Starting with the basic functionality, our new program should be continuously improved
after the release of the first version, in order to add as many common features as possible.
Once the core functionality was working in December 2002, a new icon had to be developed
for the new product. We
were looking for something that looked dynamic, while at the same time representing the very
basic functionality of the program, which is to evaluate
the quality of the agreement of experimental and reference pattern
peak positions ("figure-of-merit"). To the right you can see the evolution of the icon.
In addition, the working title "Search-Match" had to be replaced by a real product
name. Holger Putz suggested "Match", and Klaus Brandenburg replied "Yes, but with an '!' at the end!". This way
we agreed on the final program name "Match!" on December 17, 2002.
Around Christmas 2002, the new program 'Match!' was getting shape, although there was no doubt
that quite a lot was still missing:
Two months later, the software already looked much more promising:
However, this screenshot was kind of artificial; it was composed for our marketing material and
flyers that we needed for the product announcement in March 2003. Quite a lot of functionality
still had to be added 'under the bonnet'. By the beginning of July 2003 most of this work had been
finished, and we knew that we would soon be able to release a very first beta version to the public.
The actual beta-test phase started on August 25, 2003 when version 1.0 beta became available
for public download. Because the functionality was limited to the basics, the beta-phase could
be kept rather short (just one month).
When Match! version 1 was released on September 23, 2003, quite a lot of functionality was
still missing: It was not possible to store own diffraction patterns in a user database
in order to use them in phase identification, there was only support for relatively few
diffraction data file formats, no profile fitting, and no user-defined coloring for the
entries. And finally, using restraints was rather complicated.
The most important issue that needed to be fixed after Match! version 1 had been released
was the missing user database. This would allow users to both use their own diffraction
patterns in combination with the established PDF reference database provided by ICDD, and
also to create their own reference database from CIF-files they might have collected. The corresponding
Match! version 1.1 containing the user database functionality was released on March 29, 2004.
About the same time, ICDD announced to release the PDF-4 database in a new relational database
format, so we had to add quite a lot of code in order to access the new database.
On May 24, 2004, Match! version 1.2 supporting the new ICDD relational PDF databases was released.
Several updates (basically maintenance (i.e. bug fix) releases) were following in 2004 and 2005.
By the end of 2005 we felt that Match! version 1 had reached a level that might be a good base
for a large update, i.e. version 2. We started to develop version 2 in 2006 based on
the version 1 code, with the major new feature being visualization of the crystal structures
of entries marked in the Results list.
The idea was to add tabs to the pattern graphics area so that the user could switch between the
diffraction pattern, the structure picture viewing, and some other views (like the Report).
The structure visualization functionality would be far below Diamond, but enough to get a
first impression of a structure.
Until today, few people have ever seen the corresponding prototype that we created from 2006-2008.
It was only demonstrated to very few customers at conferences in Bremen, Erlangen and Mainz in 2007
and the beginning of 2008. Today, you can take a look by yourself; here is a screenshot:
Rotation of the structure picture was extremely easy; you just had to press the left mouse button
inside the graphics pane and move the mouse around. Besides this, it was possible to change the
background color and to add atom labels using the graphics pane's context menu.
Note that this prototype already had an "FP"-button
in the center of the main toolbar to run FullProf (i.e. Rietveld refinement)
calculations, similar to the current version 2.1. However, in the prototype
the functionality behind the button was very crude (no selection of refined parameters, just running of
a default script).
Unfortunately, the reaction of customers to the new prototype was rather moderate. People were
interested in versions for Linux and the Mac and in Rietveld refinement. Structure visualization
was not of interest in this context.
Another issue with the prototype was that it (just like version 1) had been created using Borland C++ Builder,
which by that time already showed signs of aging (no real further development,
database drivers getting incompatible with more recent databases etc.). Finally,
on August 6, 2008 we decided to drop the "structure viewing" prototype and start version 2 from
scratch, using a new emerging development system (Qt)
that would also allow us to develop (nearly) the same code for Windows, Mac OS X and Linux.
The delay between the creation of the first version 2 prototype and the decision to start
again from scratch was also caused by another problem: In autumn 2007 it became more and more
clear that our original idea to provide a phase
identification with basic functionality at an affordable price was counteracted by the
prices for reference databases available on the market. For many customers it didn't
really make sense to purchase a low-cost search-match software, while they had to pay several
times more for the reference database required. We knew that the price for the reference
database was justified by the large extent and the enormous effort for data recording and
checking, but there had to be an alternative for people that simply could not afford it.
Hence, we decided to offer an alternative. The "Crystallography Open Database" (COD) provided
crystal structure data free-of-charge on the internet, so the idea was to calculate
diffraction patterns from these crystal structures and include the resulting reference
database in the Match! package without additional costs for the customers. The corresponding Match! version
1.7 supporting the COD was released on January 25, 2008.
In the following months we decided to also support the old ICSD/Retrieve version. The idea
behind this was one major problem associated with the COD reference database: Although it
contained quite a lot of recent entries, there were only very few entries of
publications before 1991, the year when the IUCr journals introduced the creation of cif-files
for published crystal structures. However, several important basic (especially inorganic)
compounds and structures were investigated and solved before this year, so that many
were missing the COD.
In order to compensate for this flaw, one could add the entries from the
ICSD/Retrieve which might not be really up-to-date but contained all the basic inorganic structures
that were missing in the COD. Hence, we added a corresponding import filter for the ICSD
to the user database manager of Match! version 1.8 which was released on April 25, 2008.
When the summer 2008 was already over, we finally started the development of the current
version 2 on September 1, 2008, with the intention to release Match! version 2 in December 2010
at the latest. We were quite optimistic that this goal could be reached, since we quickly had
working prototypes for most views like the pattern graphics or the Results list (now called
Along with porting the software to the Qt system, we also had to develop a new icon for version 2.
The idea was to keep some kind of relation to version 1, by reflecting the version 1 logo at the
base line. At the same time, we wanted to add some kind of 3-dimensional look, in order to
make it look more modern and to emphasize the improvements in the software compared to version 1.
Here is an early version as well as the final icon.
By the end of 2009, the new version looked already pretty similar to the final version,
although quite a lot of functions had not yet been fully implemented:
Nevertheless, in the end the development process took a "little bit"
(about 1.5 years...) more time than originally expected. We found that while the views in the main window
had been setup rather quickly, most of the code in the background as well as many dialogs
had to be rewritten, improved or at least modified for the usage of the Qt libraries. In addition,
quite a lot of new 'last minute' ideas and features had to be implemented.
In the end, version 2 was finally released on May 31, 2012; the
long-awaited Rietveld refinement functionality becoming available even later in Match!
version 2.1 (on July 29, 2013).
Looking back at these ten years of continuous development, we are quite happy with the result:
Match! has become an accepted and wide-spread tool for phase identification from powder
diffraction data, being used in 53 countries all around the world, from Finland to Australia.
And the list of new ideas and features for future versions is
rather long... In this context, we are looking forward to the next ten years!