Quote! Requirements

by Stephan J.C. Eggermont [1|1|1]
Introduction What is this? This document provides the requirements for Quote!, a program that allows you to keep record of what you read. It is in a very early state, and subject to lots of changes (see version).

Why does it look like this? Part of the user-interface is similar to that of LiteratuurManager, a dutch-language hypercard program on the Macintosh. This is on purpose. I've extensively modified LiteratuurManager in the past. It works ok, but cannot handle large numbers of references without bogging down. This limitation is shared by almost all reference managers I've seen (and I've seen a lot of them). A notable exception is Endnote.

The user-interface will change considerably. A fixed-field approach as in LiteratuurManager is not flexible enough. Endnote provides a much more usable interface. The fields used are so different and the total number of them is so large that a fixed-field approach runs out of screen real-estate.

My past experience with reference managers has shown me that the output layout should be programmable by the end-user. A WYSIWYG approach shall not be taken, because of the significant abstraction problems it creates.

The structure of this document. First a description of the tools used in developing this program is given, with some comment as to their usability for the task. Then an address for comments are given. My background in working with literature references is given. Then the actual requirements are given. A to do list follows and I end with a literature list.

Contents
Version & Tools
At the moment this document is written in plain HTML using vi. That is not a good way to maintain a requirements document. It doesn't allow for structure-based mark-up and doesn't allow for easy version control. I'll probably write some simple Delphi-based tools to rectify the situation.

At the moment it is not easily possible to port a Delphi application to the Macintosh.

Comments
Comments are welcome, you can mail them to me.
My background
It all started with using BibTeX with LaTeX for my papers. BibTeX provides some very flexible and powerful tools for creating fine-looking bibliographies and references. With the number of references I needed for my university papers the free-format text-file approach worked out fine. It was not very easy to use and modify, but was adequate for my use.

Frans van Eijnatten, having collected literature on Socio-Technical Systems Design for more than 10 years, did have a problem on a larger scale. He wanted to publish a bibliography on SocioTechnical Systems Design containing a few thousand references. He was using a Macintosh-based program called LiteratuurManager to manage these references.

LiteratuurManager is a hypercard stack using the one-reference, one-card approach. This slows down to an unacceptable level at about 1000 references on the Macintosh IIci then available. The older Macs still used had problems when more than about 200 references were used. In addition to the slowing down, it also couldn't handle lists of references longer than 32K characters (a limit on the size of a character field in Hypercard).

Frans did want to use American Psychological Association (APA) style for formatting his references. Both LiteratuurManager and BibTeX provide an APA style, but that has a lot of loose ends and small problems.

First I wrote some Hypertalk (the programming language of Hypercard) code to improve the APA-like layout LiteratuurManager used, and then I modified the list generating and exporting code so a RTF (Microsoft Word interchange format: Rich Text Format) file could be produced with a list of all references in APA format. I also wrote some code to export these lists of cards to a LaTeX-based card format capable of printing 6 cards on A4.

Next I developed a small database program for a PC using DOS capable of handling some 3000 references in 640k of ram. Some simple compression techniques were needed to make that possible. The program was extremely fast and small, and allowed the same exports as the hypercard stack. This was later converted to a dutch-language version, and a protected-mode one capable of handling 16k references with sufficient ram (8M). This first program was delivered on one floppy disc with the bibliography book.

To do
Of course there is a long list of things that is needed. It's not here, but the first things I thought about are here. Priority can be influenced by comments:
  • APA formatting. I've written that in hypercard for the STSD project, so that should transfer easily.
  • Printing.
  • BibTeX in- and output.
  • Win95/NT support. The current program is limited to 16K references.
  • HTML output. Of course I want to be able to show off, so this is one of the first to come. The list of books I've read is made with an older program I wrote. That is a Turbo Vision based one I used to get to know TV. The code is easily transferable, so all I need is some time.
  • Clipboard/OLE/DDE support. I want to be able to paste formatted references to articles I write. A post-processing approach as used by BibTeX is needed too.
  • Multi-platform support. I want to be able to use the program on both my PC and my Macs. Development will be started in delphi on the PC. A third platform to support would be Unix/X, but there the development environment is rather bad.
Literature
Well, this better be good :-)

Not yet.

Arthur J. Riel (1996) Object-Oriented Design Heuristics, Addisson-Wesley, ISBN 0-201-63385-X


Go back [ Sensus home | Quote! home ]

Last updated: Mon Nov 17 15:01:05 1997