What's Wrong With Artemis?

After several years of developing Artemis I have run into a wall. There are too many problems with Artemis that make its development and use a frustrating, unenjoyable experience. In short, Artemis has not proven to be the success that Athena is.

Several things that are wrong with Artemis

It is overly difficult and tedious to build multiple-data-set fitting project
  • There are two kinds of MDS projects, multiple edges of the same sample and the same edge of multiple samples. Outside of the materials science world, the latter type is the more common. In that case, it would be nice to prepare a Feff calculation once and reuse for each data set in the fit, possibly with a mechanism for floating certain parameters independently for different data sets. Currently in Artemis, the scheme for reusing a Feff calculation is clunky and error prone.
It is unclear how to merge two projects
  • Merging parameter lists will always be troublesome, but it should be easy to slurp data and feff calculations from one project into another.
Not enough stuff is visible on the screen
  • The worst example is that a path and the GDS page can not be seen at the same time.
The fit history mechanism is buggy
  • What's worse, the implementation is so complicated that I am loath to dig in and fix it.
The project format wastes space
  • There is no need to keep every single feffNNNN.dat file. These should be generated as they are needed.

The project format has perl-specific components
  • The description file is a Data::Dumper serialization of Artemis objects. That is fine, but a language neutral serialization (like YAML) would be better.

The project structure is kludgy
  • While the use of a zip file is certainly appropriate for a fitting project, what goes into the zip file is confusing. I think that the main problem is that the project file did not make the transition to including the fit history in a graceful way. Also, as I developed the fit history concept, the fit folder acreted lots of tiny little files of inconsistent formats.
There is no programmatic interface to Artemis' components
  • This is sort of a corrolary to the previous comment. There is no convenient way for something like Shelly's mkfit utility to write directly to an Artemis project file. It would be attractive to write special-purpose code to set up some complex fit but still be able to use Artemis' good features while doing your analysis.

The long-promised interface for converting PDB and other files types to 'feff.inp' never was implemented

Several things that are right with Artemis

Plotting
  • Plotting is Artemis' killer feature. The tree metaphor, which is so troublesome for setting up the fit, is wonderful for plotting the results of the fit. It is quick and easy to examine data and paths both before and after the fit.
The Feff interface
  • Running Feff is just about as easy as possible, given the constraints of Feff, and the interpretation page is useful, featureful, and well-implemented.
The concept of fit history
  • This is a great idea and really makes the difference between "a fitting model" and "a fitting project." It can, in principle, be the infrastructure needed for things like parameter maps and batch fitting.
The Ifeffit::Parameter object is decently implemented
  • This is an under-the-hood thing. The implementation of the Parameter object is one of the more recent things I wrote, and it shows. It is one of the more sophisticated and properly object oriented parts of the code. Other objects should be at least as good.

So, what am I gonna do about it?

These next few pages are way out of date (31 Dec 2007)

  1. wiki:Demeter/UserInterface: Overhaul the user interface

To do

  1. Come up with a name. I'll probably stick with Artemis for the release version, but I am using Demeter as the work-in-progress name.

  2. Refine layout of graphical layer
  3. Glue between graphical layer and various objects, including data structures for holding the various objects mentioned above

Comments

Here is a space for writing comments. Please indicate who you are in some way -- that will help me contextualize your comments.


Except where otherwise noted, Bruce's content on the Ifeffit wiki is licensed under a Creative Commons Attribution 2.5 License


Demeter/WhatsWrongWithArtemis (last edited 2008-02-02 14:23:56 by BruceRavel)