Uninstall Programs for Palm OS:
NorthGlide Uninstall Manager/Cleanup and StacWorks InWatch Posted Feb. 2004 by Tanker Bob
Anybody remember the old song by Shel Silverstein
about Sarah Cynthia Stout, who would not take the garbage out?
And finally Sarah Cynthia Stout said,
"OK, I'll take the garbage out!"
But then, of course, it was too late...
The garbage reached across the state,
From New York to the Golden Gate .
And there, in the garbage she did hate,
Poor Sarah met an awful fate,
That I cannot right now relate
Because the hour is much too late.
But children, remember Sarah Stout
And always take the garbage out!
Well, if you try a lot of shareware or just don't
c leanup like you should, a good uninstall program will keep you
and your PDA from meeting Sarah Cynthia Stout's fate, which I here
won't relate...
A Brief Tutorial
What's the magic here? Most newer launchers offer
to delete all related databases and preference settings when you
delete an app. That's all you need, right? Don't we wish. Ever try
a shareware app, decide that it doesn't work for you and delete it?
Months later an update comes along and you decide to try it again,
only to have it come up and say your trial period expired? You're
not alone. There are several techniques used for persistent trial-period
tracking, but the two most popular are putting an entry in Saved
Preferences or adding a file under a creator ID different than the
core app uses. Launchers simply delete stuff based on the creator
ID, leaving these clever little entries/files behind. They stay there
forever, eating up your RAM, yet you didn't ask for them or have
any use for them. I think this practice stinks.
That's not the only possible scenario that leaves
these unclaimed remnants behind. Some more complex apps use a number
of interoperating executables or databases to perform all their functions.
Each of these usually uses a different creator ID without nefarious
intent and will be missed by launchers when deleted.
What do uninstall programs do differently? They
somehow monitor creation of Saved/Unsaved Preference settings and
databases, and assign them to the app that created them. When you
use such a program to delete the app, it supposedly deletes ALL it
pieces, even the sneaky ones.
What's in those preference files anyway? Palm OS
uses them much like Windows uses its registry. They are simply databases
that store information apps might need upon execution, like preference
settings (imagine that), last open file, position in files, database
locations, registration information, etc. Obviously when an app is
deleted, the preference settings are no longer needed by the user
and shouldn't be left behind. These leftovers and remnants eat
up your valuable RAM and offer nothing in return!
All testing took place on a Palm Tungsten T3 following
the directions for each program. I evaluated each program for user
interface, usability, flexibility, required user intervention, and
effectiveness at the core tasks.
Uninstall Manager and Cleanup
come together in the NeatFreak
Pack. This combination furnishes a thorough approach to cleaning
up your PDA and keeping it clean. The developer, Roy Perry, took
the approach of monitoring each app's system calls for file creation/modification,
preference database entry creation/modification, etc., in the background
during execution. Thus, no matter when an app writes a clandestine
entry or creates a tracking file, Uninstall Manager catches it
in the act.
Uninstall Manager could hardly be simpler.
Just install it, activate it, and forget it. It works in the
background, protecting you. Its simple and elegant interface
tells you what you need to know on one divided screen. Tap on
an app, and UM will tell you what belongs to it. In the screenshot
above, you can see that InWatch creates an entry in Saved Preferences
with a different creator ID. The total size of all elements and
creator ID of the parent app are displayed in the bottom-right
window. Apps on the card can also be displayed in a similar manner.
The Uninstall button is self-explanatory, except that you don't
have to uninstall an entire app, but can also uninstall individual
entries on the right side of the screen by selecting them individually.
UM makes good use of color icons and color-coded text to set
apart the apps and databases. Bold text in the Application, Installed,
and Card screens indicates Monitored Items—those with different
creator IDs than the parent app. UM handles apps on the card
just like apps in RAM for uninstall purposes. Entries can be
sorted by name or size.
Because of Uninstall Manager's monitoring approach,
it will find the parts of existing apps on your device and add
them to its database. The Monitored Items will be found when
the owning app executes and accesses those preferences and files.
This works remarkably well, so it's never too late to add Uninstall
Manager to your tool kit.
You can find the sneaky entries easily in the
Monitored Items screen. This screen centralizes that listing,
along with the apps that created them. Above you can see that
InWatch, whose creator ID is 'Iwch', created an entry under 'Iwci'.
It would remain behind after InWatch was deleted in the standard
ways. If an app was deleted some other way and left behind Monitored
Items, the “leftovers” would be displayed on this
screen with the app name and a trash can with a red X over it
for an icon, making them easy to spot.
One of the most powerful capabilities in Uninstall
Manager would be its ability to monitor apps being installed
during HotSync. The Installed Files display allows the user to
find the apps by date installed, providing a history. This could
be valuable in finding software conflicts if you can trace the
start of problems close to a point in time. You can also delete
all apps installed on a particular day in one easy step. Because
of the way UM monitors applications' activities, the user can
install multiple applications during HotSync without a problem.
For apps or data that might be falsely tagged
for deletion, like launchers, file compression programs, and
the like, UM provides an Ignore List. Simple add creator IDs
as applications, background or general items to keep those apps
from being saddled with spurious entries. This proved very effective
for a68k files as well as third-party launchers.
As you can tell from the 320x480 illustrations,
Uninstall Manager fully support s the Palm Dynamic Input Area
(DIA). It has several modes of operation. In addition to its
user-transparent background monitoring, Uninstall Manager implements
a “Sandbox” which allows you to run new apps in a
safe, isolated environment. When exiting the app in the Sandbox,
UM offers to delete it and everything it created while active
in the box. UM will also monitor deletes in your launcher of
choice, and will pop up offering to show you Monitored Items
belonging to the app you just deleted in the launcher. I
highly recommend that users enable both of these capabilities
in UM's preference settings. With this kind of flexibility
in operation, you never have to think about it. Uninstall Manager
always stands guard, always working for you.
Cleanup does what the name implies--it goes
in after-the-fact and looks for orphaned entries and files. It
conducts a thorough search and comparison, including the card,
for apps and their matching databases and settings using their
creator IDs. Starting with version 3.0, Cleanup reads Uninstall
Manager's database in addition to its own signature file. The
color coded dots tell you each file's situation. A green dot
means the entry appears in Uninstall Manager, a yellow dot indicates
the signature file identified the entry's owner, and a blue dot
means the file didn't match any of the present databases nor
does it appear in the header of any of the apps on the device.
The blue dotted files/settings should be the only candidates
that need user attention for a possible trip to the bit bucket.
The user can view Saved or Unsaved Preference
orphans, or all the settings in the databases, as well as orphaned
files. In addition to the creator ID and size of each setting/file,
the owner of the entry appears if known. Cleanup apparently lists
the entries in the order they occur in the database, which is
actually the best way to do it. This way, after you've done an
initial cleaning, you only have to concern yourself with items
at the end of the list.
A detail screen provides additional information
on entries. The Search button requires some explanation. Palm
OS expects apps to store their creator ID in a specific location
at the front of the file along with their name and version. When
Cleanup does its initial search, it apparently looks in that
place in all the files it finds. However, sneaky apps can store
their secret ID used for trial periods, etc., in another place
in the file that only it knows. To account for this, Cleanup
will search the entirety of all app files (including those on
the card) for a selected ID. This can take a long time if you
have a lot of apps, and may not find it at all if the ID is encrypted
or just disguised in some way. It's not fool-proof, but it's
a nice feature and proved quite reliable. To support launchers
and other apps like PowerRun, Cleanup allows you to specify additional
directories on the card to search for apps besides the launcher
directory.
You cannot assume that unclaimed files or entries
can be safely deleted. For those entries left unidentified as
indicated by their blue dots, I recommend the following approach.
Anything with a creator ID in all lower case letters is conventionally
a Palm system entry. For the rest, I use three sources of information
to try to identify an entry. Palm's official database of creator
IDs is at dev.palmos.com/creatorid/.
Another good database resides at www.geocities.com/palmcreatorid/index.html,
and it doesn't hide entries behind "confidential" like
Palm does. For entries that don't appear in either, I search
Google for "wxyZ Palm" where you would replace wxyZ
with the ID of interest. You'd be surprised how many show up
that way.
Once you've done your homework, which is unavoidable
if you want to preserve necessary files and settings, eliminating
only true orphans, deleting preference settings doesn't have
to be scary. By tapping Delete at the bottom of the screen, you
are offered the choice of backing up and then deleting or just
deleting. If you back up each deletion you're not sure about,
you can always restore it later. After you are sure you didn't
need it, you can remove the backup.
Cleanup fully support s the Palm DIA as the
illustrations indicate. It also furnishes a Safe List, to which
the user may add creator IDs identified through the above search
process, as well as other entries in order to declutter the remnant
list. Additional application types can be added for search purposes.
I found Uninstall at $14.95 and Cleanup at
$9.95 both highly effective and easy to use, but are most cost
effective in the NeatFreak combo for $18.50. You can purchase
them directly from NorthGlide.
All updates to date have been free. Uninstall Manager works in
OS 5, while the parallel app Uninstall Hack only works in OS
3.5/4.
Pros:
Virtually transparent to user
Extensive built-in help
Works in background, even support ing app deletions from launchers
Supports apps on the card
Tight integration between Uninstall Manager and C lea nup
Colored dot system in C lea nup quickly ID's likely targets for follow-up
Works fine even if multiple apps installed per HotSync
Will find and catalog existing apps and their parts as they run
No leave-behind presence when uninstalled
Cons:
Some user research required to unidentified entries in Cleanup
StacWorks took a different approach
to uninstalling. Rather than monitor apps' behavior, InWatch relies
on “snapshots” of the files and preference settings
before installing during HotSync, and then a comparison snapshot
after HotSyncing and running the new application. StacWorks claims
on their web site that this method provides the only fool-proof
system for complete uninstall performance. That's quite a bold
claim.
StacWorks cleverly includes an app, IW HotSync,
which intercepts the HotSync command and takes a snapshot before
executing HotSync. InWatch creates this application when first
run, and IW Hotsync is enabled by checking a box at the top of
IW's screen. After an app installs during Hotsync, the user should
execute the newly installed program and perform a number of its
functions. This gives the app plenty of opportunity to create
its databases and preference entries. After exiting the new program,
execute InWatch and tap Compare. InWatch then compares the initial
snapshot with the later one, identifying the new items on the
handheld. It displays those new items in the box on the right
side of the screen and offers an application name under which
to group the entries. In the illustration, MegaCommander installed
and IW caught all the parts created by it after I ran it and
changed some settings. InWatch contains a protection mechanism
that rejects comparisons made more than one hour after the initial
snapshot.
Uninstalling involves simply executing InWatch
and choosing the app to delete from the pull-down list. After
selecting the app, simply tap Un-install to delete all parts
of the targeted program. Individual parts of the targeted application
may be deleted individually by selecting them from the display
box.
InWatch can be run through a Wizard. It leads
the user through common tasks as a kind of guide. It first explains
the overall process selected, and then highlights the buttons
for each step in sequence as the user proceeds through the process.
Other selections in the Wizard simply explain aspects of InWatch's
operation as a kind of help file. The Wizard provides a clever
approach for the most basic user.
InWatch includes a Pre-clean operation. This
acts similarly to Cleanup, going through all the apps in RAM
trying to identify the Preference entries. After finishing the
search, which seemed pretty thorough, IW offers each unidentified
entry for deletion individually. The user may choose to delete
or retain each entry. You can use the techniques and sites I
listed earlier to try and identify the entries as they are presented,
but that will be considerable work since the list will include
all apps on the card and some Palm OS built-ins. There is no
way to stop the process, so the user must work through the entire
list of IDs. InWatch doesn't deal with orphaned files, and apparently
doesn't search apps on the card, so all preferences for apps
on the card will be offered up as orphans. I confirmed this during
testing. Although InWatch Wizard warns the user that Pre-clean
isn't as safe or effective as the snapshots, it seems to sell
the danger short. The result would not be pretty for a user that
chose to delete all the offered preference settings.
InWatch has a very basic screen, which is essentially
monochrome (the color in the screen shots comes from the T3's
Color preference, not IW itself). It doesn't support Palm's DIA,
so runs only in 320x320. Since InWatch doesn't search or uninstall
files from the card, StacWorks recommends installing all apps
to RAM first. Then after doing the snapshots and comparisons,
the user may move the app to the card.
InWatch's operating technique suggests several
limitations. In addition to not working for apps installed directly
to the card, new apps must be installed one per HotSync. If you
install multiple apps in one HotSync, InWatch will tie them together
in its database. Also, apps that delay writing their leave-behind
preferences either by time or by number of executions will not
be caught by InWatch. Application parts installed or created
later would not be added to a program's entry, but constitute
a separate entry in InWatch's file list. Since InWatch works
by comparisons made after its installation, it will not do anything
for apps already installed on your device.
The biggest surprise occurred as a result of
the testing order I happened to use. I installed Uninstall Manager
first, then InWatch. To my surprise, Uninstall Manager caught
InWatch creating a leave-behind preference setting! It shocked
me that an application dedicated to removing such sneaky preference
settings would use one itself. Draw your own conclusions on this
one, but uninstalling InWatch will leave a preference setting
on your device eating up memory unless you use Uninstall Manager
to uninstall it.
StacWorks sells InWatch for $15, which covers
upgrades for life. StacWorks provides a good, basic uninstall
application in InWatch, but steer clear of the Pre-clean function.
Be aware of InWatch's limitations with applications on the card
and its use of a leave-behind preference entry.
Pros :
Simple to use
IW HotSync automatically takes initial snapshot
Cons :
Creates its own leave-behind preference setting, preventing full uninstall
of itself by launchers
Requires user to initiate Compare after running installed application
Doesn't work on orphaned files
No backup for deleted preferences during Pre-clean
Doesn't help with apps on the handheld existing prior to its installation
Doesn't search or delete apps on the card
Requires uninstalls to be run from InWatch, not the launcher
Pre-clean requires significant effort to avoid deleting needed preferences
Head-to-Head
I asked each developer to submit examples of
applications they thought showed the strength of their program's
operation. I chose one of each's suggestions, an additional one
from StacWorks' web site advertisement, plus one of my own for
the formal test. Both applications successfully identified and
uninstalled all parts of PBubble, ZapCode, and the MegaCommander
beta. Uninstall Manager's Sandbox proved particularly effective
for testing apps before committing to their installation. Although
both programs caught all of CodeDiver 1.1b6 on its initial install,
only Uninstall Manager added its license file to its entry when
it was installed later. InWatch caught the license file's installation,
but cataloged it separately from the main application. StacWorks'
claim that the snapshot method comprises the only fool-proof method
of uninstalling did not pan out in this test. As mentioned earlier,
Uninstall Manager even caught InWatch's own leave-behind preference
setting.
Cleaning up an existing device's orphans proved
no contest. Since InWatch ignored apps on the card and also missed
identifying a number in ROM, it suggested 26 unique creator IDs
for removal from the Preference files. In contrast, Cleanup identified
on its own the bulk of those suggested by InWatch, leaving only
10 for further investigation. After investigating the codes, none
were actual candidates for deletion. Cleanup allowed me to add
them to the safe list so that they would not again be suspect.
Very impressive.
Conclusion
If you're like me and try a lot of software,
you can't be without these tools to ensure your RAM isn't being
nibbled away by left-behind garbage. Although both InWatch and
Uninstall Manager caught all parts of the test installations, only
Uninstall Manager kept all app parts together when a registration
file was added later. The Neat Freak Pack (Uninstall Manager and
Cleanup) offers a great many more useful features, supports apps
on the card, has a very nice user interface, and requires less
user intervention than their competition. The Neat
Freak Pack earned a permanent home on my T3.