Short:    A PalmPilot Desktop for the AmigaOS!
Uploader: torchia@windsor.igs.net (Ralph Torchia)
Author:   torchia@windsor.igs.net (Ralph Torchia)
Type:     comm/misc
Date:     29-04-2000
Version:  1.0 Preview 13
Requires: MUI 3.8+, OS 3.0+, 020+


*************
* IMPORTANT *
*************

This is a work-in-progress of the new SpitireČ.  Please DO NOT
distribute this sofware, or any of its parts, to others.  Some
parts of this software are not completed and certain features
which Spitfire 1 has are yet to be implemented.

Before trying out this sofware, Please READ this entire document.
Also, make a backup of your current handhelds contents!  This is
a warning!  I take no resposnibility for any loss or damage from
the use of this software.

Key important features of SpitfireČ:

 * One-button HotSyncing!  Just have the HotSync Manager (HSM)
   running, drop your handheld into its cradle and hit the
   cradle's HotSync button!

 * Modularity!  With each desktop and conduit being a seperate
   componant, Spitfire's features and abilities can expand
   through third-party plugins.



Installation
------------
Please use the supplied installation script.


If you must manually Install SpitfireČ, then unpack the archive and
drag the directory to where you like!  Make certain that the mui
classes are installed to your "MUI:libs/mui" directory, and the libraries
in libs are copied to "libs:"  Then add an ASSIGN of "Spitfire:" to
the directory's location.

The layout of the SpitfireČ directory is as follows:

 SpitfireČ
   add-ons  (DIR)       - storage for .prc, .pdb, etc files
   catalogs (DIR)       - .catalog, .ct, and .cd files
   conduits (DIR)       - hotsync conduits
   desktops (DIR)       - desktop GUI programs
   images   (DIR)       - images for Spitfire/desktop programs
   libs     (DIR)       - 3rd party support libraries
   mui      (DIR)       - 3rd party support classes
   users    (DIR)       - contains user Handheld files (created if not available)
   Spitfire.readme      - this readme file
   spitfireAPI.library  - API library
   SpitfireHSM          - HotSync Manager
   SpitfireDAM          - Desktop Application Manager

Other files and directories are created by Spitfire as required.
Do not place the spitfireAPI.library in your libs: directory.
It is to be maintained in the Spitfire: directory (Well, you can if
you REALLY want, but I don't recommend it since it isn't a system
library, but a local library used by the SpitfireČ package only).


History
~~~~~~~
Pre-v1.0
   - Old "monolithic" Spitfire.  Development shall cease with
     release of SpitfireČ

SpitfireČ
   * All new Spitfire.  Version numbering shall start at 1.0

   V1.0 Pre-Releases
        16-01-00 - First beta sent to testers...

        17-01-00 - Added scanning of "user" directories when no user.dat file found
                 - Added intro for first time users of SpifireČ (no user.dat or user
                   directory are available)
                 - Fixed some misspellings in the HSM
                 - Fixed typo in HSM calling SpitfireDTM insteasd of SpitfireDAM
                 - Added simple Installation script
                 - HSM gives better feedback when viewing log files now.
                 - Fixed remapping problem with loading disk images for DAM on
                   screens other than the frontmost.  Needed to change startup
                   also to accomplish the remapping for Newicons/GlowIcons.
                 - Added ability to set the SpitfireČ data directory via prefs
                   (defaults to "Spitfire:")
                 - HSM assumed that it was located in the Spitfire: directory, so
                   problems would arise with locating resources for itself. Fixed.
                 - HSM had problems creating a user directory if the "users" directory
                   was not present.

        18-01-00 - HSM wasn't properly releasing its lock on newly created directories
                 - Added prefs for Installer.desktop
                 - Installer.desktop now remembers last directory used.
        19-01-00 - Fixed problem of 'All' category not being the very first one shown,
                   like original Palm applications do.
        21-01-00 - System.conduit was freeing memory that was still in use! Fixed.
                 - Modified some of the main sync code within Throttle subtask.
                 - Accidently mixed MUI List with NList commands, and was leading to
                   crashes.
                 - DEBUG mode activated for HSM.

        22-01-00 - Fixed problem of HSM not looking in correct directory for conduits
                   when launched from outside the main Spitfire: drawer
                 - Work-around for systems that patch asl.library (MagicASL, RTPatch,
                   etc.) within Install.desktop
                 - Fixed enforcer hit when removing files from Install.desktop
                 - system.conduit will not attempt to backup files that are currently
                   in use/open within PalmOS
                 - Changed all exclusive directory locks to Shared Locks.
                 - HSM will forcefully remove subtask if it refuses to listen to break
                   command (not very elegant, I know...).
        23-01-00 - Added category editing to Memo Pad desktop
                 - Removed some references to NList when they should have been to List

        24-01-00 - Added category editing to Address Book and To Do List desktop apps
                 - HSM and DAM localized.  Still need to localize conduits and desktops
                 - Fixed bug with system.conduit in which it did not properly scan
                   through the PalmOS RAM databases and thus causing problems with
                   backups (i.e. getting stuck on certain files, missing files, etc.)
                 - Changed some internal IDs dealing with MUI, therefore prefs need to
                   be reset if installing over a previous beta.
                 - Began work on AmigaGuide file for SpitfireČ
        25-01-00 - When conduits would perform a "Handheld overwrite Amiga" action the
                   old .dat file would still be in place.  It is now deleted, and a
                   new .dat file is generated from the backed-up .pdb file.
                 - Disabled "Abort" button in Hotsync.  Use Palm "Cancel" until fixed
                   (see "Bugs" below)

        02-02-00 - Proper restoring (amiga -> handheld) of database items completed for
                   the memo, todo, and address conduits.
                 - Changed some text items.
                 - Renamed desktop filenames.
                 - All desktop applications can now only be launched once.  Attempting
                   to launch them a second time will result in the application's
                   main window popping to front. Same applies to DAM.
        05-02-00 - Worked a little more on the AmigaGuide file.
                 - Created AmigaOS 3.5 GlowIcons!

        16-02-00 - Syncing of categories was not properly functioning
                 - Memo items from desktop were not being synced

        18-02-00 - Conduit information was not properly displayed in window
                 - Localization of conduits
        19-02-00 - Localization of Install
                 - Localization of Memo Pad
                 - Localization of Address Book
                 - Localization of To Do List
                 - Selecting cancel for deletion of a category would result in the
                   category being deleted anyways.  Fixed for all desktop apps.
                 - Modified and added to AmigaGuide documentation
        21-02-00 - Localization of Date Book


   v1.0 Preview 1
        23-02-00 - Public release

        Preview 2
        24-02-00 - Fixed errors with Install.script copying files that I changed
                   filenames.
                 - Fixed filename typo in Install.script
                 - Fixed Install.desktop and conduit not being able to remove files
                   with its delete protection bit not set.

        Preview 3
        26-02-00 - Fixed all applications crashing when attempting to run them
                   more than once.
                 - Fixed desktop applications which were not opening locale.library

        Preview 4
        01-03-00 - Fixed bug with install.script
                 - Fixed bug with HSM causing system havoc when key file not found.

        Preview 5
        08-03-00 - Added Spit_NotifyServer() to spitfireAPI.library
                 - All conduits now log all errors encountered, not just the last
                   one generated.
                 - New additions to catalog developer files.
                 - Restoring of backups was broken in system.conduit.
                 - Updated textinput classes.
                 - Small code changes to DAM.
                 - Icons in DAM should now all be same height (GI images)

        Preview 6
        13-03-00 - Fixed bug in spitfireAPI.library that could lead to crashes.
                 - Updated vapor_toolkit.library
                 - Modified code in install.conduit for installation of files
        14-03-00 - System would crash if images for HSM and desktops were not found.
                 - Install.desktop now updates display after a hotsync
        15-03-00 - Added progress window to system.conduit for backup/restore
                 - System and install conduits give better feedback to hotsync.log
                 - Modified items from Address, To Do, and Memo were not being updated
                   on Amiga side during HotSync.
                 - Address, To Do, and Memo conduits were passing wrong memory pointer
                   to procedures causing eventual enforcer hits.

        Preview 7
        16-03-00 - Fixed English typo in system.conduit's "partial backup".
                 - Fixed bug in newicon includes I was using.
                 - I seem to have forgotten to update the Install.script in the
                   archive.  Opps.  Anyways, this script will add the necessary ASSIGN
                   and copy the SpitfireČ folder icon.
        17-03-00 - Fixed missing string in spitfiredesktop.cd/.ct files.
                 - Updated Spitfire locale to handle keyboard and menu shortcuts.
                 - HSM prefs window had inactive shortcuts for Port settings.
                 - Added a window ID to the system.conduit progress window.
                 - System.conduit was not properly deleting files there were no longer
                   available on the Palm in Partial and Mirror backups.
        18-03-00 - Added more logging function to conduits

        Preview 8
        18-03-00 - Forgot to call the MUI input handler to handle snapshoting of the
                   system.conduit progress window.
        20-03-00 - Fixed desktop apps to change database info when changing user.
                 - Install.conduit will now only install supported PalmOS applications
                   (.prc, .pdb, .pqa, .pnc, and .scp files).
                 - Memory allocations were not being properly cleared with category sync
                   and could lead to thrashing of database categories.
        22-03-00 - When changing user the last shown category was not being remembered.
                 - Changed users.dat file and all library support code for it.  Was done
                   to have HSM recognize Palms by userid and not usernames.
                 - HSM updated to handle userids and changes in usernames.
                 - HSM now sets the lastsyncPC id for your Amiga and on the Palm.
                 - Spitfire will now remember the last active user.
                 - Install.conduit now brings up a progress window.

        Preview 9
        26-03-00 - HSM would crash with no users.dat file.

        Preview 10
        28-03-00 - Desktops would not save data when switching users.
        03-04-00 - Fixed typos in catalog files.
                 - Datebook.desktop can now edit/create appointments.
                 - Fixed bug with displaying weekly events in datebook.
                 - Datebook.conduit now syncs events (not tested completely).
                 - Moved expiry date in unreg previews to May 30/00.
                 - Fixed crashing HSM on startup (wrong version made it into the archive).
        05-04-00 - Desktops apps would release unallocated memory when existing from a
                   start up error, resulting is a crash of the system.

        Preview 11
        06-04-00 - HSM would crash with no users directory. Opps...

        Preview 12
        08-04-00 - Fixed problems with category syncing in conduits (hopefully).
                 - Hitting Edit in desktop apps when no items in listviews would
                   generate enforcer hits.
                 - Archive includes a new Helvetica/13 font containing PalmOS glyphs.
                 - Desktops and conduits were looking in the wrong PROGDIR: for the locale
                   files.  Would only work if catalog files were placed in LOCALE:
                 - 'Listening for Hotsync...' text in HSM and 'None' were not using the catalog
                   translation.
        12-04-00 - Added some more strings for translators.
                 - Added category indicator for shown memos and addresses.
                 - Changed layout of About window, somewhat, and cropped SpitfireLogo image.

        Preview 13
        16-04-00 - Forgot to include Ingo Heinicke's excellent Spitfire.font in the archive.
        22-04-00 - Updated date.library.
                 - Fixed note editing in Date Book.
        29-04-00 - Added translations for desktop applications.  This involved changing the
                   internal behaviour of DAM and adding to the API of the conduits.
                 - HSM's Tools menu now has listing of available desktop applications.

Need to Do
~~~~~~~~~~
+ Conduits
  + Memo

  + Address

  + To Do

  + Date Book
    - complete testing of date synchronizing routines

  + System

  + Install
    - checking available handheld memory before installing?


+ Desktops
  + Memo

  + Address
    - Better Find abilities
    - Improve CSV import with ability to map CSV fields to Address book
      fields via user selection.

  + To Do
    - Import and Export CSV files

  + Date Book
    - Implement exceptions for appointment events.
    - Search for appointment?

  + Install


+ HSM
  - ARexx interface?
  - Appending new log files to old ones
  - Change GUI appearence?

+ DAM
  - Integrate into HSM? Change GUI?

+ spitfireAPI.library

+ Misc.
  - Improve Installation script
  - Spitfire fonts that have support for all PalmOS glyphs
    (modified helvetica/13 font currently exists).
  - User and developter documentation (hate doing this stuff)
  - Localization (will need help!  I've currently contacted ATO, but
    no translation yet available)


Conduit/Desktop Requests
~~~~~~~~~~~~~~~~~~~~~~~~
- Email (sync with YAM/MD-II/aml.library?)
- Expenses
- Handheld database directory/listing
- Time/Date sync between Amiga<->Handheld
- Clipboard sync between Amiga<->Handheld
- Changing of user ID name on handheld
- Contact Manager synchronizing


Suggestions
~~~~~~~~~~~
- Deleting/Clearing log entries from the Log view window.
- Changing of user name on Amiga side (can currently use Palmname on Palm)


Crashes? Bugs? Etc...
~~~~~~~~~~~~~~~~~~~~~
- HSM randomly appears to loose its sync, throws up an error, and then
  usually will recover.  If not, may be able to recover if you open the
  prefs window and then hit SAVE or USE.
- If icons in listviews do not appear then upgrade to latest picture.datatype
  and ilbm.datatype.  This should cure the problem.
- Abort button is disabled until I can figure out a way to safely abort HotSync
  with the palmlink.library.  Use the Palm's "Cancel" button to safely abort
  hotsyncs.
- Because I have not been updating the version numbers in SpitfireČ (only
  dates are changed), the Installation script may not properly copy the
  new files!  So, if updating from an older preview version then manually
  copy the new files to the Spitfire: folder.
- If using CGX with Spitfire and experiencing problems, upgrade to CGX 4.2.
  This may cure the problem.

