Friends,

Thank you for your help.
This is my first attempt at a Shareware program and I hope to gain insight
from your experiences with my program.

OBJECTIVE
---------

For a long time, I have been amazed by the simplicity and versatility of
the common CardFile application and although there are several Unix
variants (e.g., xcard, an Xlib card tool, and rolodex), none offer
the look I've grown accustomed too.

Thus, the adventure begun. I set out to write a cardfile emulator which
used the Motif library, was extensible to foreign languages, and
completely customizable by the user.

My design goals were to
 - complete compatibility with the DOS *.crd files.
 - include "cut and paste" functions between Unix applications.
 - include a graphic image in a card.
 - offer a customizable interface.
 - mimic Cardfile as closely and appropriately as possible.

I hope to meet these lofty goals and if I do, "Motif Cardfile", mcard
will be a success!

Microsoft is a registered trademark of the Microsoft Corporation.
Motif is a registered trademark of Open Software Foundation.
CardFile is a copyrighted program from Microsoft.

CURRENT STATUS
--------------

Included in this distribution is mcard 1.3.  This version cleans up
more simple bugs, adds command line arguments (eg, "-file
my_cardfile.crd"), uses only Xtmalloc() and not malloc(), fixes
cut/paste, and adds List View.

Like former versions, mcard has no memory leaks, it releases every
byte of memory it allocates, Opens and Saves -> text only *.crd files
<-, Adds new cards, Deletes cards, Deletes all cards, Duplicates
cards, alphabetizes cards, Prints a single card or all cards to a
postscript printer "ps", save DOS compatible .crd files, and the
interface is fully customizable.

Although, this is the fouth release, it is still not complete.  There
are no Images, Help, or resizing for more than 7 VISIBLE cards.

YOUR ROLE
---------

To compile mcard, you must know where your Motif libraries reside, are
able to execute a compiler (eg, GNU gcc), and copy the resource file
to a location that the Xserver is able to find. I have never written
an imake file or used xmkmf nor do I understand how to make a truly
distributable piece of software in the diversity of Unix. Any insight
you can supply in this aspect would be greatly appreciated.

Beyond that I'd like to know your reaction.

- Have you seen this before, and not just in MS-Windows?
- Were you able to make the program easily?
- Do you know of a better way to distribute? For example,
   could GNU make/config do most of the installation?
- What system, Release of Motif and X, and compiler did you use?
- Do you known anyone who speaks a foreign language and would be
   able to translate the resource file (ie, they'd have to know
   a little about computer interfaces and their terms. For
   instance, the word for "exit" in French is "sortie", and
   that's what any English to French dictionary will tell you.
   However, "sortie" is more synonymous with leavin a room or
   especially, a highway. "Fini" may be more appropriate
   for finishing or quiting a program).
- Were you able to read in the example card file in the
   distribution? Did you try and import one from a DOS
   machine?

SECURITY
--------

There is only one security implication I have discovered with
"CardFile." Specifically, it has an Object Reuse problem in its
saved (*.crd) files. I spent numerous hours opening and saving
cardfiles on a PC, and soon discovered that indexes and address
were not fully cleared. Data after the NULL byte in a string
appears in the file. A big deal in the CompuSec areana. Not a
big deal anywhere else.

Anyways, mcard addresses the object reuse issue properly.

Since mcard was meant to handle names and addresses, it is a reaonable
assumption that you will be using it with personal privileged
information. Remember, data travels over the network in the clear. If
you use mcard in the typical X client/server fashion, your data may be
on that network. Just a reminder.

WHERE TO NOW & OTHER DOCUMENTATION
----------------------------------

Please look at the Install file, INSTALL in the base directory.
It contains the steps necessary to install mcard on your system.

If you have trouble making the executable, please look at the
file: docs/OH-NO. Please e-mail me too (mjo@ai.net)!

The "docs" directory contains two other files, "cardfile.format"
and "card_file_explanation". Cardfile.format is a copy of the
publically available file that describes the cardfile format. See
file for its location. Card_file_explanation is my example used
during debuging.

There is user manual. Please visit:
http://www.ai.net/mjo/mcard/mcard.html

Admittedly, it is a bit simple-minded, and won't be much help if you
already know how to use "CardFile".

Functionality
-------------

Some functionality in mcard is limited, but on purpose. Note, the
difference between "limit" and not done. I may at some latter date
offer the "full version" and may offer "demo ware" on the internet
based on your inputs.

Here are the limitations:
- "Save As"  calls a stub routine.
- "Save" only saves to the file "mcard.crd" in the current directory.
- "Print" only prints to the "ps" printer.
- "Copy","Cut","Paste" only work on text. Its been real hard
   understanding the X cut/paste model. No wonder few Unix app's for
   a consistent cut/paste!


Thanks for any comments you have and the time you've put into helping me.

-Mike Oehler
mjo@ai.net