| SiteMap |
The Plain Vanilla Magical Machine
This is a menu of the topics on this page (click on any):
The client's hopes with new technology are that information is readily accessable and easy to maintain, that experimentation with the relationships in data is easy, that the most critical information is very, very easily available, and that reports are easy to generate in a form acceptable to management, operating departments or committees, researchers, lenders, statutory agencies and his or her clients. A second but still very important client hope is that it is relatively easy to put the new technology in place. These hopes are the underpinnings of this plan.
Information Management
This is an html document linked to approximately 400 pages and available at
www.qkw.com/dv/pvmm/.
It describes a vision that has evolved over several years.
(Some pages are out of date; they are updated on an as needed basis.)
These 400 pages are managed with
shareware created by Carl House & friends.
This software is also used to manage approximately
8000 webpages which are also linked to from this document.
software also handles all
user i/o, data management, forms, editors, and reports in Windows.
The intent is that information will be stored in a format that is
independent of any platform and then compiled for use in whatever platforms for which we build compilers.
The concept of "self descriptive data" is key to the approach described in this paper. XML is an example of a self descriptive data. This idea as used in this paper is described in two documents. "Self-Descriptive Data" was presented by Christopher H Lee at the November, 2002 conference in Naples, Florida. "Strategies for Dealing with Multiple Arguments: The Case for Names" was presented by Eric Landau of APL Solutions, Inc. at the November, 2001 conference. The technical form in which we use self-descriptive data is called "property value pairs", or "PVP"'s. PVP and XML data can be changed from one format to the other quite easily. The advantage of PVP's is that they are far more concise and do not need to be parsed.
Black Boxes
Our software is designed to be useful for a variety of applications.
Assuming you have a black box that can do valuable work provided that is has a
viable platform, this approach might help. Our software
is intended to provide high level object oriented software for publishing and user i/o.
It should be understood that what is being presented is not yet
commercially viable and trouble-free. Instead, it is presentation of
software that is on its way to being a suite of programs
for simultaneous software development for Windows and for use on the web.
If successful, this effort may present a new plateau for rapid applicaton development.
One of the features of this software design is that new forms are created (on the fly)
from the characteristics of the data (rather than by programming effort).
Your black box can create its own forms.
USMS archives are maintained by batch programs written in APL. These batch programs have little or no user i/o and are run with command line processing. TTDB (used by Barbara Dunbar) and IMGInfo (used by Katie Cooper) are the first attempts to make these batch programs useable by people other than their creator. Both TTDB and IMGInfo are 100% compatible with and are fully expressive of the ideas in this paper.
Publishing
Source material is of wide variety, including narrative text, images, data tables and many variations of each.
All source material should be stored with minimal enhancement.
Publishing tools should make it possible to render the source material in all of the generally
used formats without the need for typists or publishing persons or technical people.
Whoever wants the data should be able to get it in the most useful format.
Most of our publishing tools are being created by Causeway Graphical Systems. Like Eric's Objects, Adrian's products are designed to allow one to program exactly what one wants and with remarkable elegance. Our challenge is to define generalized specifications that will meet a wide variety of needs and then to write the drivers needed to use NewLeaf, RainPro and Objects to handle them easily and dependably. Whereever our generalized design and drivers can't do the job, the power and elegance of NewLeaf, RainPro, Objects and APL are available for lower level programming.
Utilities
Utilities include tools for backup, FTP, HTTP, SQL, MDI and many other essential technologies.
In addition, several highly developed software products should be considered as essential
utilities to our software.
These include the products of
APL2000, Causeway, Ltd., and Lescasse Consulting
which must be licensed directly from those companies.
These utilities are used for USMS without cost to USMS because they have been licensed to Carl House
on terms that allow for run-time use by others.
Strategy for Proceeding
Our tools will have value to others and it is our intent to share
generously as those whose tools we use do.
Furthermore, there are uses of our technology which we serve on a
pro bono basis
and this will continue. We have two tasks at this time.
The first is to build a facility to annotate the 3000 photos in our photo library.
Demos for the 2002 APL2000 User Conference
The following are at a stage where they can be demonstrated if time allows in our Naples presentation.
Some will be on the Conference CD.
All are available as shareware on request.
Rendering PVP's
Data retrieved and distributed as PVP's can be rendered in many different formats
which provide different modes of interactivity.
Here are the formats we've been using.
qkForm
Forms are specified in a generalized manner that is independent of the intended platform.
The TTDB data editor is a good example of building upon objects to reduce development time and to simplify maintenance.
qkPublish
All source material is stored
in a consistent manner that is independent of the intended platform or publishing vehicle.
We're envisioning a qkPlayer that will allow the user to ask for work to be done by our calculating engine with results sent back in our standard data format. qkPlayer will have the ability to print all the reports we've thought are necessary, but it will also have the ability to allow the user to create his/her own reports in any desired format. There is no reason why this can't be a general facility useful in many applications. The user then adds to the load of our server only while obtaining data, not tieing up our server for the time he/she spends with qkPlayer to print standard reports or to tinker with custom reports.
qkHelp
All source material is stored
in a consistent manner and can be rendered in many formats.
One of those formats is a traditional Windows help system.
Managing images
We were led into the problem of managing images by the generousity of
Sports Publications, Inc. of El Segundo, California,
in making available all the images published in "Swim Magazine" since 1995.
qkButton
"qkButton" uses APLDraw.ocx to create lovely graphics for the web or for Windows,
but this demo is especially designed to generate navigational buttons for websites.
qkWebFolder uses qkButton to automatically create navigational buttons when they are needed.
This is not important to USMS, but this was the first step in creating IMGBatch which
is needed by USMS for resizing and reformatting images from Swim Magazine.
Managing a very large library of images
IMGInfo was created by Carl House and Eric Landau using Eric Lescasse's
Objects to provide for image annotation. It is part of a suite of
four workspaces used for archiving images for United States Masters Swimming:
IMGInfo
IMGInfo is a very object oriented application.
Here is its objects heirarchy.
The Multiple Document Interface (MDI)
In simplest terms, an MDI form is simply the means by which multiple documents or forms are handled.
In the Miscrosoft world, they tend to have a very similar physical appearance,
and, in fact, there is remarkable similarity in the names of the "first level children".
Excel and MSWord both have first level children with the following 8 names:
File, Edit, View, Insert, Format, Tools, Window and Help.
Excel adds one (Data) and Word adds one (Table).
This similarity and the widespread use of these two systems
gives us considerable advantage in designing our MDI form.
We've thought of several other first level child names that might also be useful:
Process, Publish, Inputs, Run and Outputs, but we've got a big head start from Microsoft.
Now all we have to do is arrange our functionality in these categories
and make sure all works well within the environment we choose.
Objects Hierarchy for all APL functions used by USMS
The total number of APL functions in use for maintenance of USMS Archives is 1207
with a total of 3.9 million characters of code.
69% of this code is in Carl's utilities, many of which are widely available in the APL community.
11% of the code is in Lescasse Objects, 5% comes from Causeway Graphics Systems, Ltd.,
14% is code written specifically for USMS (as a volunteer) by Carl,
and .2% is in code written by consultants to USMS. These numbers are based on an estimate by Carl on 12/6/02.
| source | code | functions | characters of code | characters % |
| utilities | 0 | 807 | 2723558 | 69.4 |
| Bill Parke | 1 | 2 | 8555 | 0.2 |
| LescasseObjects | 2 | 46 | 427801 | 10.9 |
| Causeway | 3 | 214 | 181820 | 4.6 |
| Eric Landau | 4 | 7 | 13979 | 0.4 |
| Carl for TTDB | 5 | 128 | 562069 | 14.3 |
| USMS Consultants | 6 | 3 | 8070 | 0.2 |
| Total | 9 | 1207 | 3925852 | 100.0 |
Acknowledgements
This is to express appreciation to the following for contributing their ideas and effort over the years.
Help comes in conversation, shared code, shared applications, high quality licensed software utilities,
in consulting assistance, and in teaching, both formal and informal.
Tom Atkins, Eric Baelen, Warren Baelen, Steve Brooks, Brian Chizever, Davin Church, Scotty Elmslie, Gert Glantz, John Gregg, Brent Hildebrand, Jeff Koloseus, Eric Landau, Christopher Lee, Eric Lescasse, Jairo Lopez, Jeremy Main, Jonathan Manktelow, James Merrill, William Parke, Patrick Parks, Colyn Phillips, Adrian Smith, Michael Steiner, Roy Sykes, Fred Waid, John Walker, Andy Weiss and to others whose name is not coming to mind at the moment. Thanks very much. I hope there is something here of help to you. Carl House, revised 12/5/02 for what I learned at the APL2000 conference.