Tuesday, April 24, 2007

Value

Nucleomatica today has announced the availability of iNMR 2.1.9. If you don't need the latest incarnation, the still recent version 1.7 (Universal Binary, well-tested, packed with features) is still offered at a luring price. Not only it sports 1D/2D & 3D processing, etc.. but also includes several precious extras that are rare to find elsewhere:

  • interactive simulation of chemical exchange
  • automatic indexing of the private spectroscopic database
  • tools for graphic and text (supporting transparencies, Unicode, etc...)
  • a sophisticated yet intuitive module for line-fitting

go to www.inmr.net

Monday, April 23, 2007

United

As announced in this page on the Varian web site, last Saturday the Varian Users' Meeting hosted the presentation of the forthcoming Mestrenova, held by Santiago Dominguez, CEO of Mestrelab Research. This is not the first time that Varian endorses an external software (Varian itself has never released a program for Windows, as far as I remember, while its users have always been asking for such a thing).
The new collaboration between Varian and MestreLab has a special meaning, partly due to the current difficulties faced by Bruker (TopSpin is not compatible yet with Vista!), and mainly because of the importance of this new product.
MestreNova has long been announced and never released. The official news is that it will be commercially released during this week for the Windows OS. It is a completely new program, not an adaptation of old code, as many others are used to do. During the last years the MestreLab team has been touring the world, meeting thousands of chemists and hearing directly from their mouths what a modern NMR software should be like. At the same time they invested real and big resources into the making of it.
The ambition of MestreNova is to become everybody's ideal product. They want it to become the best choice for both the academic and the industrial reseacher, for both the casual user and the expert specialist. In the short term, they declare, MestreNova will also cover Mass Spectrometry, Infrared and Ultraviolet and will run on MacOSX and Linux. Need anybody a version for the GameBoy?
It will take a long time for me to write a review, both because MestreNova is a large package (a huge one if you also consider NMRPredict) and because I must do something else to get my bread. Do not wait for me: register yourself at the MestreLab site (it's enough to give your e-mail address), where you can download MestreNova from and evaluate (use) it for as long as 45 days.
Bruker programmers should feel under heavy pression today!

Friday, April 20, 2007

Bingo

2007 will be remembered as the golden year at Bruker BioSpin. Their main software product is not compatible with Windows Vista. They are working at making the next version (2.1) compatible and they will certainly ask no money for THIS upgrade. But all those who are still using XWin-NMR or TopSpin 1 have either to think twice before upgrading to Vista or prepare themselves for a double sacrifice.
Read the story, as written by Bruker itself.
The fact that a program becomes so rapidly obsolete is an irritating inconvenient for the loyal customer, but a lucky event indeed for the seller! Will they exchange the favor to Microsoft and make the next TopSpin incompatible with Windows XP?

Friends

Yesterday I commented on a communication I had found on a 26-year old issue of Analitica Chimica Acta. Afterwards I have discovered that the author, Marshall Siegel, is still a chemist, currently involved in Chemometrics and MS spectrometry, and contacted him via e-mail. A couple of hours ago I received a transatlantic phone call from he himself. He shared with me his current plans and liked to reminisce how it was difficult to transfer a spectrum out of a spectrometer back in 1980. He resorted to print the single data points on paper! Doesn't he deserve the title of pioneer? Curiously, he has added that transferring spectra is still an issue in 2007.
We talked at length of many interesting subjects that I will not report here. Being both of us fond of computation, this could be the beginning of a fruitful cross-pollination between FT-MS and FT-NMR.

Pruning

This list used to be much longer. This time have removed the broken links, the sites that ceased to report the price tag and programs that haven't been updated in years and that probably never worked. I have not performed any additional search for new products. If you want to add an entry, there is space for comments here below.
When I find a new product, whatever it is (car, hi-fi, laptop, wine, after-shave, you name it...), even when I don't know what it is, I automatically look for the price tag. Initially the reason was: "If I can't afford it, why bother?". Now I have a different attitude, I often bother and seldom buy, but the first thing I do is still to look for the price-tag. It's so immediate, you know. Most of the NMR processing programs have their price published on the internet. I have created the following list that redirects you to each price page. You'll find all forms of licensing schemes, and programs of all sizes and all qualities, ranging from the unusable to the great. The purposes of the products are also quite varied. You find the general-purpose tool, the protein-specific, the synthetic-chemistry-oriented, the spectroscopist-oriented, the easy-to-use, the etc... Eventually I have repeated the error of all list-makers: I have added products that I know nothing about.
My long-term mission is just the opposite: to write a detailed review of each product. (Still have to find the time, a copy of Windows, etc...).
Here are the sites that report the prices:

I have included the available freeware, because the price is implicitly stated. I have excluded some products that are NMR programs but not NMR processing programs. I have excluded some freeware that requires a commercial package like Matlab or Mathematica.
Some important names are missing, because their companies don't disclose the price on the web. Ask their quotations, it doesn't hurt.

Obituary: ADVASP

Darwinian selection asked its toll. Only yesterday I have discovered that Umatek and ADVASP have disappeared from the web, before I (or anybody else) could have written a review. The following letter was posted on usenet (sci.techniques.mag-resonance) on 11 Sep 2000. I am reporting it here to preserve a trace of the company. I have also preserved the typos and grammar errors, yet I have removed the links.

Dear Sirs:
We are pleased to announce the release of ADVASP package (spectral processing software) under Windows 9x and Windows NT (2000). ADVASP spectra analysis software is especially designed for total customer satisfaction in analyzing IR, MASS and NMR spectra. The main idea in creation of this program is to make user interface as easy as possible from one side and as functional as it is required by professionals. The offered software products allows to get maximum of performance and possibilities due to the combination of the newest software technologies and mathematics algorithms.
The NMR module base features:
The NMR module of Analyzer and Viewer programs has a lot specific features which make the work with the programs very pleasant and fruitful:
The program supports different spectrum file formats and allows to work the majority of the known formats. The Converter program can be also used.
The interface of the program (colours, disposition, font size, etc.) of the program window, toolbars can be adjusted very simple using the command Properties in the menu NMREdit and simple drug-and-drop operations.
The programs allows to process and to analyze the spectrum files very efficient due to the well worked out program algorithms and some other specific features:
the phase adjustment can be introduced after the integrals have been obtained (the integrals values will be changed automatically);
the integrals area can be changed by drug-and-drop operation;
different integrals splitting operations and some other commands.
The use of macros - the number of commands which are applied by running a single command - executes the work fast an effectively. The macros may contain any commands and is executed from the command line, which allows to accomplish the routine work very fast. For example, it may contain a typical list of commands, such as: window function, Furrier transform, automatic phase adjustment, automatic baseline correction, automatic integration. For the spectrum of high quality executing a macros of such a kind in most cases is enough for great majority of purposes.
The programs supports the work with several opened spectrum files at one time that is very useful for serial spectrum processing. The windows of opened spectrum files can be placed cascade, title or arranged.
The programs window contains several toolbars, which can be used for the performing most of operations. The toolbars are very simple at work and useful both for beginners and for experienced users.
The disposition of the toolbars can be changed using drug-and-drop operations and the interface can be adjusted according to the users taste.
The programs have the command line - console, which allows to input spectrum commands, parameter values and macros simply by typing on the keyboard. Due to the wide list of commands and parameters the main work of spectrum processing and analyzing can be done simple and fast using the keyboard only.
The integrals in the spectrum can be obtained by several different ways. The programs support different specific operations with integrals, such as setting the sum value of several integrals; splitting of the integrals; moving by drug-and-drop the integral area. All this makes the integration process simple and convenient.
The programs save the starting FID and allows to switch between processing spectrum and the FID. This option makes possible the application of the window function and other commands even after the FID was transformed into spectrum.
The peak picking commands allows to mark the peaks automatically or only for selected region.
The programs can apply several baseline functions to the spectrum, and varying the functions the best results can be obtained. The cubic splines function allows to get the satisfactory results even for spectrum files with the bad baseline.
To download the evaluation version of software, go to ...
Please notice ADVASP evaluation version is fully functional for 30 days only. We would be thankful if you send any comments to: ... You will find more information on our web site: ...
Sincerely yours,
Peter Demenuk
Umatek International Inc.

Jeol Delta

I have noticed that my old link to Jeol Delta ceased to work. I will soon update my list called "Today's Prices" but I will not redirect the corresponding entry. I will simply remove it, because the revamped Jeol site doesn't report the price. The new site is more enjoyable than it used to be and contains eight movies apparently dedicated to beginners with no prior NMR experience. I can't hear the audio, admitting there is an audio: I have seen English captions. An arguable choice.
Clicking on the above title should bring you to the index of the movies.

Consequences

The rare times I write a scientific article, I spend hours looking for a non-silly starting sentence, and rarely I found one. An article written by Canet at al. (Anal. Chem. 1990, 62, 864-867) started with an apparently innocuous statement, whose implication is deep indeed:
Phasing an NMR spectrum [...] is still time-consuming and tedious with most existing software.

They hit the spot! Manual phasing is not difficult per se, it's difficult because those lazy programmers have not worked hard enough. If they make appealing interfaces, ergonomic controls, faster programs, simpler documentation, etc.. manual phase correction can become an easy task. The second sentence is not clear even if put into historical context:
This is generally accomplished by trial and error...

What they probably meant is that their computer was so slow and unresponsive that they renounced using the interactive adjustment. They probably used to correct the phase by directly typing the value of the parameters. If this was the case, however, the correct term would be "systematic search", or "iterative adjustment", not "trial and error". It would literally take hours in the latter case! The third sentence is mostly wrong:
The criterion to be met is left to the spectroscopist’s appreciation or experience.

Don't be mislead!

  1. The criterion is clearly stated: the phase is correct when all peaks are positive and completely symmetric.
  2. If properly taught, manual phase correction can be learned in one minute.
  3. It does not require a degree in physics.

The article then goes on describing yet another recipe for automatic phase correction, subsequently faded into oblivion. The most remarkable thing about the paper is that it was signed by four authors, which is the world record in the field.

Thursday, April 19, 2007

In Principio...

The literature contains countless articles on Automatic Phase Correction. They all begin stating that no prior method is satisfactory. Reading each article you get the sensation that the problem has found the definitive solution, at last. Unfortunately, after a while a new article appears and... resets the situation. If we continue in this way, we'll have hundreds of methods and no one will work. The lesson so far has been: devising a novel method is easy, evaluating your own method is above man's possibilities. I have found one old document of an external observer attempting to rate all existing methods:
R.E: Hoffmann and G.C. Levy, "Modern Methods os NMR Data Processing and Data Evaluation", Progress in NMR Spectroscopy, Vol. 23. pp. 211-258, 1991.
They only demonstrated their incompetence by affirming:
The DISPA autophasing method has proved to be very reliable and is often more accurate than automatic phasing. [...] The Simplex method is slower than DISPA and curve fitting and sensitive to digital resolution, baseline and in the presence of asymmetric line-shapes.

They at least mentioned the work of Siegel, the one that I consider the seminal paper in the field, and that has been unjustly forgotten in recent years. For example, it has not been cited at all by Garland et al (J. Magn. Reson. 158, 2002, 164–168), despite their method has many similarities with the one of Siegel. Like all authors, they have filled their paper with cryptic equations, while Siegel obtained the best results with no equations at all...
Marshall M. Siegel sent his communication to Analytica Chimica Acta exactly 27 years ago (received 29 April 1980). He had collected his spectra, while working at FMC Corp. in Princeton NJ, on a Varian FT-80A and had written his program on a Dec PDP 11/70 with the RSX-11M operating system. He decided to exploit the modified simplex method, which is a popular and well-tested general purpose algorithm for optimizing a process. The simplex is a very simple concept in itself. If you know what a Cartesian plane is, you can instantly understand what the method is about: a moving triangle. Try this interactive Java game. When you click somewhere, you are fixing a new optimal position. The triangle will crawl and reach the minimum. Be sure to select the "modified" option!
The simplex is however an empty set of rules: you must feed it with a numerical measure of the correctness of the NMR spectrum. Siegel's first choice was the total integral of the spectrum. You know: when the phase is completely wrong, all peaks are negative and the total integral is negative. When phase is OK, the total integral is positive. Siegel was surprised to discover that the integral is maximized when NMR peaks are slightly out of phase. In such circumstance, they have a small negative dipping on one side that is more than compensated by a large positive tail on the other side. Siegel than decided to only integrate the negative part of the spectrum and to minimize it, and it worked. Eventually he found that even better results could be obtained if the integral was limited to the single most negative point in the plot. Like saying: the only thing that matters is the one little point that has gone astray. Now substitute "sheep" for "point". Where else have you already heard this concept?

Wednesday, April 18, 2007

King James version

How think ye? if a man have an hundred sheep, and one of them be gone astray, doth he not leave the ninety and nine, and goeth into the mountains, and seeketh that which is gone astray? And if so be that he find it, verily I say unto you, he rejoiceth more of that sheep, than of the ninety and nine which went not astray. Even so it is not the will of your Father which is in heaven, that one of these little ones should perish.

Mt 18

12 Quid vobis videtur? Si fuerint alicui centum oves, et erraverit una ex eis, nonne relinquet nonaginta novem in montibus et vadit quaerere eam, quae erravit? 13 Et si contigerit ut inveniat eam, amen dico vobis quia gaudebit super eam magis quam super nonaginta novem, quae non erraverunt. 14 Sic non est voluntas ante Patrem vestrum, qui in caelis est, ut pereat unus de pusillis istis.

Monday, April 16, 2007

Kudos

26 years ago a simple, short and humble article explained how to tackle the problem of automatic phase correction and also gave a working recipe.

M.M. Siegel, "The use of the modified simplex method for automatic phase correction in Fourier-transform nuclear magnetic resonance spectroscopy", Anal. Chim. Acta, 133, 103-108 (1981).

None of the articles appeared afterwards has been more useful and you could safely ignore them all. The method of Siegel is rarely cited, for mysterious reasons, but it really stands out. Although it assumes the complete absence of baseline distortions, a condition which is never satisfied in practice, the performance is more than acceptable, generally speaking. The method cannot be used blindly, and should be followed by manual refinement, but still saves hours of time to those who adopt it.
Last night (see previous post) I gave the link to a poster that will be exhibited next week at the 48th ENC Conference. This morning I read the poster again and eventually I understood it. My rating doesn't change, though. Do you wonder how could I rate a method before understanding it? When I can't understand the equations I resort to common sense, and it rarely fails. That poster says so many implicit things than demolishing it point by point would be easy and funny for this blogger, if only it had been authored by someone called Bruker or ACD. It would have been the replica of Manchester United-Roma (hey! I have just written a pindaric flight!).
The two companies behind the poster are to be praised for the many amazing things they are doing, compared to their small size, so I feel really bad at the mere thought of criticizing their poster here. Just a caveat: the new method called eDISPA does not derive from DISPA and has nothing to do with the latter, despite the poster wants you to swallow such a genealogy. Substantially I am giving you good news because, as I wrote in the other post, DISPA doesn't work. Apparently Stan and Carlos liked the name "eDISPA", or couldn't find anything better, or had not enough pictures to fill the poster, so they invented a fake relation.
To make it short, the poster exclusively comes from the legitimate and laudable desire to go to the ENC with something new to show. In case you are lucky enough to attend the event, don't forget to visit the MestreLab boot and bring my salute.
To learn more about optimization in general, the book Sequential Simplex Optimization can be downloaded for free.
If you can't wait for the future download iNMR 2.1.8 and admire automatic phase correction in action today.

Sin

Many scientific articles are forgettable and should had never been published. I am one of the many culprits. Even if I have written only a few articles in 22 years of research, there is not a single article I am proud of. There is a single article, instead, I should be extremely ashamed of:

A new criterion for automatic phase correction of high-resolution NMR spectra which does not require isolated or symmetrical lines

J. Magn. Reson., Ser. A - 1994, vol. 110, pp. 19-25

It correctly describes a method (called ZOE) that, unfortunately, doesn't work at all. This is what happened. After successfully testing my new ZOE on the only 1-H spectrum I had on my computer, I was so eager to publish the method that I performed no other test. You should know that in those years it was extremely painful to transfer a spectrum, especially from an old spectrometer like mine (I had set up a method to send it through the parallel printer port of the Gemini into the modem port of a Mac Plus). After having submitted the article, I had the opportunity to transfer more spectra and was disappointed by the failure of my ZOE method when applied to a large sample of spectra. It was not even the case of trying to improve it. It just doesn't work. I was so disappointed that I didn't even care about withdrawing the article. During the submission time I could think about it. I was publishing so little in my career and I didn't want to renounce to a single chance. I did just nothing and kept the secret for myself. The article was approved (without modifications!) and never demolished afterwards. I do hope that nobody else wasted her time trying to rewrite the algorithm and test it...
You shouldn't be surprised, because the literature abounds of such articles that claim to have found the (ultimate/definitive/astonishing...) solution for automatic phase correction and they never work. It's not dramatic because many chemists can't even notice a phase error as large as 5 degrees, at least in 1D spectroscopy. When I published iNMR 1.0 back in the beginning of 2006, a blogger had the bad idea of writing a review on it. The sad thing of the review was that contained a picture of a spectrum, and it was (to my eyes) terribly out of phase. I wrote to the author of the review: "I don't expect the average chemist to be a wizard in automatic phase correction, but I expect such a thing from a serious reviewer). Daniel Kaesmair removed the review from the web (but you can still find an older one related to iNMR 0.0).
What I want to say is that most chemist don't care if the phase is not perfect and tend to believe that whatever automatic algorithm they are using is OK. In reality we haven't found yet an algorithm that always work. I don't know if we'll succeed neither, because I often find some spectra that can't be phased at all, even manually (they contain some spikes or sharp solvent peaks whose phase is completely different from the rest of the spectrum). In March 2007 I advertised a new automatic phase correction algorithm, designed for metabolomic experiments in fluids, shipped with iNMR 2.1.4 (and slightly revised in version 2.1.8). It has been intensively tested. I have already applied it on more than 100 cases. Other people have also tested it and are using it for research. Today I don't care about the list of publication in my CV (I don't even have a CV...), I only try to sell the software. In theory, admitting that my method is the best on the market, I should keep it secret, cover my algorithm with a patent a make as much money as I can. In practice, however, the only way to be noticed is just to disclose the method and publish it on JMR or another journal. I don't know how this story may continue, neither this is the reason of this post.
All I have said so far is merely the premise to the news of the day. On Sunday my close friends Carlos and Stan have published a poster explaining yet another method, called eDispa. I had never seen such a complicated explanation before, at least in the field of phase correction of NMR spectra. I should try to study it a little more better tomorrow, but I am not motivated. I prefer testing the compiled program before wasting my time studying the equations. I suspect that eDispa, just like all the methods that came before it, will disappear into oblivion. The old DISPA, in particular, is one of the most overrated algorithms in the whole NMR field. They say the new eDISPA works, but this is exactly what I wrote about my ZOE in 1994. I bet that eDISPA is better than ZOE. During the week I will explain why I can't bet that it is the definitive automatic phase algorithm.

Saturday, April 14, 2007

CARA

Having already dedicated a post to Sparky, I feel obliged to dedicate another one to CARA. If you forgot it, Sparky assists the biochemist to assign 2D and 3D spectra of biopolimers. CARA does the same thing in a conceptually different way. You are lucky that there are two alternatives, because they are doing their best to conquer you. Being Sparky freely available, the group behind CARA felt compelled to make the latter freely downloadable too. I have never worked with either, so what can I say about CARA? The name of the author, for example. Rochus L.J. Keller. He has a personal site where he sells his records and distributes sample music tracks. You can verify that Dr. Keller has recorded more records than the Beatles! You can add your comments about the music here below. Here I am writing about NMR, instead.
If you need either Sparky or CARA you probably already know them or one of your colleagues does, therefore you need not my advise. If you are a casual user then both alternatives are perfectly suitable, but you'd better try Sparky first. First reason: it's a lot easier to install, on the Mac at least (the only installation I have attempted). Second reason: CARA's documentation is very rich indeed. It encompassing a wiki, a PhD thesis and the book "The Computer Aided Resonance Tutorial", while Sparky says it all in a few web pages. Both products are well documented, but reading, or even consulting, CARA's documentation takes more time. The web sites are also both well done, but what a difference! The Swiss had more resources to invest than the Californians (it's well known their boss received a Nobel prize in 2002). Only CARA has its own top level domain, and the choice of the name is arguable. Why www.nmr.ch? Does it mean that NMR is all about biomolecules? I guess the simple reason is that the name www.cara.ch was already taken, there was no arrogance. For example, Keller is honest enough to cite the competitor, though in his own way.
He writes: Former XEASY or Sparky users, who are used to manual work with peak lists, might experience a little cultural shock when they start using CARA, because it demands a new way of thinking.
If those who have matured an experience with XEASY risk a shock, what about those who are new to NMR?
If you have read my whole blog, you know how much I criticize interpreted programs and modal programs. This time is different: CARA has been written in C++ and it's mode-less! Does it lead me to nirvana?
There is no need to first learn the complete program, and since each major use-case has its own environment window, there is litte danger to get lost (as for example in XEASY or even Microsoft Word, where one window incorporates each conceivable function, and an inadvertent shortcut execution can lead to nirvana).

Focus

ChemScribe

The average synthetic chemist knows it. Transcribing NMR data for publication is tedious. Up to the extent that they forget that there's more in NMR than listing the chemical shifts and Js. Let's pretend there's nothing more. Everybody offers a solution and the one coming from ChemScribe, the data transcriber, is noteworthy. It's not based on software, but on dedicated hardware: a tablet and a USB pointing device. The movies and the FAQs section on the web site are so well done that I dare not to give here another explanation. The starting idea is perfect, commercially speaking, because duplicating their patented hardware will not be as easy as duplicating a software program. The implementation and the presentation are also perfect. The intermediate assumptions are difficult to accept, instead. First of all they assume that the chemist has room to spare on his/her desk. Wherever I have worked I saw the contrary to happen: quite often there was hardly the space to place a computer. Second assumption: chemists still do NMR exclusively on the spectrometer. The data transcriber require the use of Bruker or Varian software to print the spectra, it's not compatible with third party software. Third assumption: they say that, with existing software, you are forced to constantly switch from the panoramic view to the expansions. 13 years ago I solved the problem with a combination of software elements (the cutter tool, on-screen annotations, multi-page documents) and have used them (through SwaN-MR) along all these years to transcribe my NMR spectra into MS-Word. Fourth: they rely on the chemist's ability in picking the peak maxima, renouncing to automatic peak-picking. I mean: if the plotted spectrum contains the customary vertical lines corresponding to the maxima, they are easier to point at than the peaks themselves.
Now pretend you have not read my criticism and enjoy at the movie. Everything is recent (the company has been founded in this century, you'll see an LCD monitor and Windows XP), yet many things looks pure vintage, and fascinatingly so. There are moments, in the movie, when the plastic of the pointing device magically becomes beige like a PC of the 80s. The sound of the keys also resembles the old keyboards. The mere idea of an empty desk (no photocopies on it!) transmits a sensation of forgotten luxury. I can't comment on the speaker's language and accent, being not English my mother tongue.
Is it the revenge of hardware on the software?

Friday, April 13, 2007

Impressions

There are so many NMR programs in circulation that I am forced to admit that creating a bad NMR program is easy. With one single, outstanding and obvious exception, however, no existing program satisfies me, so I conclude that writing a _good_ NMR program is very difficult. In my first two sentences I have already implicitely mentioned one of the extrinsic reasons. Any new program has to fight against a multitude of historical competitors that are normally crappy but can count, nonetheless, on a faithful users' base. Users resist to changes, don't want to learn anything new, don't like to spend money. I personally prefer spending my money on software rather than on hardware, because the former lasts many years and has no negative impact on our environment, but most of the people I know have never purchased a software product in a lifetime, including somebody who buys a new PC every other year.
While the software industry has discovered the importance of the WOW factor, there are many spectroscopists who believe the WOW factor is evil. They don't want their working tool to look like a toy, they need the protection of a difficulty barrier that separates men from children. When a program becomes too elegant and too simple they feel they are losing the control of what really happens underneath.
For the historical software makers the wow factor is terribly difficult to achieve. They have tons of old code that's been recycled hundreds of times. Who wrote the code twenty years ago doesn't work at the company anymore and nobody else can adapt it to new needs or optimize it for the modern hardware. What I like the most is to interact with spectra in real time. The requisite is to have fast algorithms. In many cases it is necessary to break the old algorithm in pieces and mix them with new instructions that allow for interactivity. The major makers simply rewrite the user interface on top of their historical code, they change the clothes, cannot change the substance.
A fitting example is Topspin. It does not allow the user to interactively correct the phase of a 2D spectrum. This is really huge. It's not the only limit. Last year I asked Bruker if anti-aliasing was implemented and they admitted they had heard about such a thing, but it was not feasible. I really wonder why other people like Topspin so much. Probably it's because it still responds to the venerated "zg" command. Bruker worked hard to insure backward compatibility (and had no choice about it). Incidentally, this is another reason why it's so difficult to write an NMR program.
Even those who are brave enough to rewrite a program from scratch (and free from backward compatibility issues) don't know where to start from. Users expect a modern NMR program to perform so many different tasks. It's not by chance that small applications, perform a single task, are elegant and do it wonderfully. It's terribly complicated to unify under a single project the so many disparate tasks of NMR spectroscopy. Just think at drawing 1D, 2D and 3D spectra with the same program, and this is only the beginning... A word processor isn't simpler to write: the problems to solve are comparable, but the public is wider, so much more resources are invested.
I have beaten enough around the bush. Let me come to the main point. Many recipes can create a wow factor, but only one never fails. For a program to never stop impressing me, its reaction time must be zero. With today's double core processors this is feasible, but requires both ingenuity and hard work. To exploit every ounce of power you should split every task in two or four processes, and assign one at each available core. To achieve top performance the compiled code should also be light and short. Even with today's cheap RAM, this is still a requirement. The general trend is the opposite: mainly they try to reduce the cost of making software, interpreted programs are preferred to compiled ones, general purposes (and bulky) libraries are preferred to the practice of writing specialized code.
The good news is that there is still people who enjoy writing their own code and optimizing it.

One Up, One Down

David Platt has written the book "Why Software Sucks...and What You Can Do About It", whose first chapter is freely available and that's the only chapter I have read, of course. Though really engaging and informative, the book seems written mainly to collect a little of cash. I don't get this guy who hates Windows but can't switch to another OS: the first chapter at least gives the impression that there is only one OS in the world. The main thesis, apart from the title itself, is that programmers don't know their users. Programmers believe that all computer users are as expert as they are, while the average user is not and therefore the final product is too difficult for the latter. Programmers [...] value control more than ease of use, concentrating on making complex things possible instead of making simple things simple.
From the point of view of this blog, NMR software is completely different. It has been in circulation before the advent of personal computers, before GUIs, before Windows. The users of NMR software not only should be experts by definition but are expected to be versed in science. I actually believe that they are the main cause why NMR software often sucks, with a good reason: they resist to changes. After you have worked for a year or more with a program driven by the command line, your fingers have learned to type the commands even when they are disconnected from your consciousness. If you switch to a menu-driven interface all your ability is wasted and, what's worse, you'll spend hours seeking the command you need inside all the menus. Even after they have learned to survive into a graphic environment, spectroscopists have written to me that they don't like simple programs just because they hide the complexities. Just like Platt's programmers, they "value control more than ease of use".
I am convinced that even the cleverest user benefits from a simple interface. Most of the software contains the double of menu items and the triple of icons than the strictly necessary and this is bad. I have always suspected that behind this abundance of interface elements there is a marketing strategy. When you buy a book, you accept an higher price when the book contains a lot of pages, when you buy a program you accept an higher price when there are ten modes, each one embellished by three rows of icons. Awake! I don't remember how to use the software I myself wrote 12 months ago: why should the user? A program is less valuable the more interface elements it has and the more it takes to read the manual, not the other way round. The ideal program contains no unused commands.
The making of a great software requires a prolonged interaction between the user and the programmer and both should be ready to change their minds often and to experiment new ways of doing things, even when they seem bizarre at first sight. In the real life, in the long term, we privilege the objects with a simple, minimal interface.