NewtInfo 0.9B8
(C)1994 Innovative Computer Solutions, All Rights Reserved
Written by Dan Rowley, Documentation/Graphics by Tom Collins

NOTE:  This is a beta version of NewtInfo.  It does not, to the best of our
knowledge, corrupt any information when run.  There is always a chance that
it could cause your Newton to crash or behave improperly.  If you do find a
bug with NewtInfo, please report it to us so we can fix it (see Bugs
section for more info).

< Overview >
    NewtInfo is a system profiler for the Newton MessagePad.  It can
display, print, fax, e-mail or serially transmit a detailed report of
soups, packages, memory usage, add-on prefs and formulas, power-off
handlers, idlers, find-enabled packages, and intelligent assistance
packages.  Users can find out what's taking up so much space on their
systems, what some hot new program patches, or why software is suddenly
running slower.  Developers can have customers use it when calling in with
technical support questions.

< Installation Notes >
    Install NewtInfo as you would any other package (with the Connection
Kit or some other utility).  NewtInfo will work if installed on a PCMCIA
card (no Grip 'O Death).  Do not attempt to remove the card while NewtInfo
is running.  NewtInfo must be available while printing, but does not have
to be running.

< Usage >
    When you launch NewtInfo, you are presented with a list of reports to
run.  Select the reports to generate, and tap on the Start button. 
NewtInfo will then build the reports (which can take some time).  Once
complete, the reports will appear on a roll similar to the Prefs and
Formulas rolls.  You can tap on the up and down arrows to scroll from one
report to another, or tap on the overview button to bring up a list of
reports.  Tap on a title in the list to go to that report.

    Generating the reports requires that you have enough free heap memory. 
Generating all of the reports on an average Newton (MP100 with 2 meg card)
requires at least 20k of heap.  If you are short on heap space, generate
one or two sections at a time.  The "Heap Usage" section requires the most
heap to run, followed by the soup stats sections.

    While viewing the report, you can click on the routing button (envelope
icon) to print, fax,or NewtonMail the report.  You can also export the
report to your Notes, or send it through the serial port at 9600 baud (N81)
using your Connection Kit cable.  (If anyone wants to share the pinouts for
the Mac and PC cables, e-mail them to us and we'll include them in the next
release.)  Since NewtInfo separates lines with a single carriage return, be
sure to have your terminal program add linefeeds to carriage returns.

    Note that NewtInfo must be present when you print or fax the report
from your OutBox (e.g., you cannot remove a card with NewtInfo to put in
your PCMCIA FaxModem to fax).  Also note that routing a NewtInfo report
will require additional heap space.  You may want to quit NewtInfo before
sending the report from your OutBox.  If you're low on heap memory, you may
want to generate the report in two parts.

[ List General Newton Statistics ]
    Provides info about the version of NewtInfo, the type of MessagePad
(Classic, 100, 110), Language/Locale settings, ROM version, and information
about stores (number, names, locked/unlocked, size, space used, space
available).  A "store" refers to a storage device (e.g., internal memory,
Flash RAM card, etc.).

[ Calculate Soup Stats ]
    What is a soup you may ask?  Well, the Newton stores information in
"soups" instead of files.  A soup is made up of multiple entries, similar
to a database file being made up of multiple records.

    	This report provides names of all soups on both stores with the number
of non-index entries, and total memory used (including indices).  Soups
listed as <none> do not have any entries or indices on that store.  Because
of indices, it is possible to have a soup with zero entries that still
takes up space.  Also, because of rounding, it is possible for entries to
"not add up" (e.g., if 0.1k + 0.0k = 0.2k appears, it could be 0.140 +
0.030 = 0.170).  NewtInfo also totals memory used by soups on each store in
addition to a grand total.

[ More Soup Details ]
    This section provides some more details on two built-in soups.  Since
many programs store information in the System and Directory Soups, this
report lists  the components of those soups with their storage usage.

    It also attempts to list "orphan" soups -- soups which may have been
left behind when you removed a package.  This section may list soups which
aren't actually orphans.  The orphan soup section lists soups with names
that NewtInfo can't match up with an installed (or NewtCased) package.  If
a soup doesn't appear in this list, it probably belongs on your Newton. 
Soups in the list may or may not be in use.  In other words, just because a
soup appears in the list doesn't mean you should delete it.

[ List Packages ]
    Packages are Newton programs.  Autoparts are Newton programs that run
once (when installed and at every reboot) and don't appear in the Extras
Drawer.  All packages take up storage space on your Newton.  This report
lists the installed packages (including autoparts) and storage used by
each.

[ Calculate Package Heap Usage ]
    Packages also use "heap memory".  The heap is a section of the Newton's
internal memory used by the operating system and packages during program
execution.  All packages take up heap space, some more than others.  The
"out of memory, you may need to reboot"Êerror occurs when you run out of
heap.

    This report lists the estimated heap memory used by closed installed
packages.  NewtInfo cannot calculate the heap used by open (i.e., running)
packages.  Because this operation is particularly invasive (it involves
temporarily removing and installing packages), NewtInfo will ask you twice
if you are really sure you want to run it.  This operation requires more
heap heap space than the others and may, in rare instances, cause your
Newton to crash.  If your Newton does crash while generating this section,
reboot it immediately -- do not attempt to continue to use your Newton
without rebooting.  A side effect of this operation is that packages may
appear in a different order in the Extras Drawer.  Also note that as of
this this beta version, this report will not work if you have ScrollEx
installed.

[ List NewtCased Packages ]
    This report lists all packages archived with NewtCase.  See <Our Other
Newton Applications> for more information on NewtCase.  The numbers listed
in parentheses are the storage used by the archived package, and the
estimated heap space that the package uses when installed.  The report also
tells you how much heap space you are saving by keeping the packages
archived.

[ List Add-on Prefs/Formulas ]
    This report lists new or modified entries in your Preferences and
Formulas rolls.

[ List PowerOffHandlers ]
    This report lists any programs that will be notified when the Newton
powers down.  If you have a Newton that won't go to sleep, its insomnia
could be caused by a package listed in this section.

    Whenever you hit the switch to turn your Newton off, the operating
system first notifies all packages with PowerOffHandlers to prepare for the
shutdown.  At this time, any package can abort the shutdown by refusing the
request.

[ List Idlers ]
    This report lists any idling programs, their frequency and their
owners.  An idling program performs some function on a periodic basis.  For
example, every two minutes a program is called to update the hands on the
clock in the status bar.  Our program SleepAid has an idler that checks for
the presence of AC power and adjusts the sleep time accordingly.  NewtInfo
might not be able to figure out the owners of certain idlers.  It will only
report the default idle frequency, which may or may not have been changed
by the program.

[ List Find-enabled Applications ]
    This report lists programs that are checked when you perform a "Find
All".  If your Newton crashes when you perform finds, this would be a good
place to look for the culprit.

[ List Intelligent Assistant Info ]
    This report lists built-in and add-on verbs that the Intelligent
Assistant understands.  The first section lists verbs that are handled
directly by the Newton operating system.  The second section lists user
installed programs that handle additional verbs.  In some instances
NewtInfo might not be able to find the owner of a particular verb.

< Registration Information >
    This application is SHAREWARE.  If you decide to keep it, please
register by sending US$15.00 to Innovative Computer Solutions; ATTN: Tom
Collins; 1075 North Miller Road, #142; Scottsdale, Arizona USA 85257-4612. 
Please include your name, the name of this utility (NewtInfo 0.9b8),
type(s) of MessagePad(s) owned, address (postal) and preferred e-mail
address so we can contact you about updates and our other products.  You
can also register NewtInfo on CompuServe.  GO SWREG and search for apps
with the keyword "ICS" to see all of our programs.  NewtInfo is program
#3932.

    PLEASE BE HONEST and register this software if you use it -- we can't
continue to write cool Newton apps if we don't get any support.  Look at it
this way -- if NewtInfo saves you an hour tracking down a problem with your
Newton, how much is it worth?  Even if you don't register it, e-mail us a
copy of your report when you try it out so we can get a feel for what other
people have installed on their Newtons.

< Bugs, Questions, Comments, Suggestions... >
    If NewtInfo crashes, please write down the error code and e-mail a bug
report to Dan.  Please be sure to write down the entire error message, all
of the information is important.  If there are any errors in the
documentation (spelling, grammatical, technical) or you have some input on
how to make a section clearer, send e-mail to Tom.

    Also, if you have any ideas for a report or routing option you'd like
to see, let us know and we'll try to add it to the next version.  If you
want us to add beaming, you'll need to come up with a very convincing
arguement as to how you would use it.

    Send e-mail to the author, Dan Rowley, at ics@amug.org or 73563,2343 on
CompuServe.  You can reach Tom Collins at ics@indirect.com or 75460,2121 on
CompuServe.  We want to develop Newton applications to fit your needs. 
Give us feedback, let us know if we're doing it right.  We're here for
you.

< Our Other Newton Applications >
    Check out our popular Newton utilities, NewtCase and SleepAid.  They
were voted numbers three and five (respectively) in the GNUT Top 10
Shareware List of September 1994.  You can find our software on CompuServe
(GO NEWTON), AOL (PDA and NEWTON), AppleLink, eWorld, and the Internet
(newton.uiowa.edu, ftp.amug.org, etc.).  Internet users should check out
our World Wide Web page at http://www.indirect.com/ics/newton/ and FTP
files (always the latest versions) at ftp://ftp.indirect.com/pub/ics/.

< Revision History >
    0.9b8 - Really fixed that -48406 error (knock on wood!) in addition to
some other bugs.  Added "More soup info", export to Notes and dump to
serial.
    0.9b3 to 0.9b7 - Special thanks to our beta testers who helped us
through these releases.
    0.9b2 - Fixed -48406 error on Intelligent Assistant section.  Added
heap usage section.  Added e-mail to routing slip.
    0.9b - Initial public release.

< Legal Mumbo Jumbo >
    Newton, MessagePad, Connection Kit and Apple are registered trademarks
of Apple Computer, Inc.  NewtInfo is a trademark of Innovative Computer
Solutions.

    You can't sell NewtInfo, but you can charge a nominal fee for connect
time or media (not to exceed $5).  Contact the authors if you plan to
include it in some sort of shareware/freeware collection or bundle it with
a commercial product.

    In using this software, you understand and agree that this software is
provided "as is" without warranty of any kind.  The authors do not make any
warranties, either expressed or implied, including but not limited to
implied warranties of merchantability and fitness for a particular purpose,
with respect to this software.

    In no event shall the authors be liable for any consequential,
incidental, or special damages whatsoever (including, without limitation,
damages for loss of critical data, loss of profits, interruption of
business and the like) arising out of the use or inability to use this
software.

    Have a nice day.  ;-)

Innovative Computer Solutions / (602) 970-1032
1075 N. Miller Rd. #142 / Scottsdale, Arizona USA 85257
Dan Rowley/ics@amug.org/CIS: 73563,2343/eWorld&NewtonMail: DRowley
Tom Collins/ics@indirect.com/CIS: 75460,2121/eWorld&NewtonMail: Innovative