[Date Prev][Date Next][Date Index]

Re: Diffraction Issues ...




The ultimate understatement! 

> 
> I hope there is enough here to start discussion
> 
> - John        
>

For everyone's amusement, here is a little history on Super, those 'two-
letter' commands and macros (the lack thereof).

Super was motivated in 1977 by Denis McWhan's and David Moncton's experience
with an interactive program in use at the Brookhaven triple-axis neutron
diffractometers.  (I forget the name of it.)  These were some of the
first interactive diffractometer control programs that were designed for
'scattering' and not crystallographic data collection.  Many of the
existing programs of the day were batch-input oriented, some still used
cards.  The 'cryptic' commands, the lack of user-input prompts and the
lack of macros are all a part of the original design of Super.  The
design philosophy includes a fast (no prompts, menus, etc), text-oriented
interface, easily portability, functional modularity, and a universal
recognition of the Super interface.

The lack of macros as a design feature that is not initially appreciated
by those unfamiliar with the program. In fact, this is the main
difference between Super and Spec.  Otherwise, the two programs are very
similar.  We reasoned that if one is going to have short, easily typed
commands, the list had better be finite and fixed in time.  Super's
command set has continued to grow since 1977, but it remains manageable, and
nearly all of the 1977 command names and functions remain today.  This
allows users of to use different implementations of super with minimal
hassle.  Extensive use of macros leads to a locally-defined interface
with remarks at the beamline like' 'What was that macro name anyway?' 
Since I wrote Super primarily for my own use, changing functionality by
changing the source code has never been a problem.  I have received help
from others, notably Ian Robinson in this regard.

Tim Mooney recognized that the macro-wanters could not be deprived and
added Rexx, a third party macro language to Super's interface.  The
output of Rexx is standard Super commands.  Presumably this could be
done with any other macro language.

Similarly one could add a pseudo-GUI to Super or any text-based
interface by 'encapsulating' the program in a window with buttons, help
pop-ups, etc. This does not change the functionality of Super since one
still has a text window, but it does not take full advantage of fast
graphics displays of modern workstations.

I think that these dicussions are not being ambitious enough in thinking
of a good user-interface for diffractometer control.  (There is better
agreement about the functionality of such a program.)  I would like to
see someone come up with a slick graphical interface that would allow
one to 'drive' around 3-D reciprocal space and allow an increase of
productivity over the existing text-based interface.  I'm not sure if
such a thing exists, but what I am looking for would change our
perception of the diffractometer as much as the original interactive
'scattering' programs did.  Like Tim Mooney suggested, the issue may not
be whether you can define such an interface, but rather can you pay the
price of the software design. Talk is cheap, however and I would be interested
in ideas along these lines.

-Robert Fleming