I am working on a project that collects and analyzes moderately complex engineering data. Many people will be creating the data, but only a few actually performing analysis. A goal is to have this input data be in “documents” that are authored by the experts and machine readable, so there is no translation between the authors and the analysis. (This has been a source of error with current methods.) I have been struggling with how best to achieve this.
A prototype used Microsoft InfoPath 2007 forms as a means of data entry, where the program read the resulting XML. This sort-of worked, but the forms couldn’t really handle the complexity very well, and were very difficult to revise when the requirements changed. Additionally, most users are still stuck with Office 2003.
I am exploring the idea of structured plain-text input files that are written manually. Most users aren’t comfortable with XML and would refuse to write using it. Inventing a custom language and parser seems like a nightmare. JSON seems … reasonable, but not really meant for human use.
Are there any other options for input that I should consider?
It sounds very much like you need an application level input to support your “expert” users. This should include all manner of data input validation and verification.
The result of the data input will then be a usable XML format.
The application itself can be quite simple but still facilitate the data entry process.