MobileTechReview.com PDA, Notebook and Phone Reviews and buyers guide
PDA Phone Notebooks Gaming Gadgets iPhone & iPad Shop Discussion

 


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.

NorthGlide's Uninstall Manager 2.49/Cleanup 3.30

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

 

screen shot

 

 

screen shot

 

 

screen shot

 

 

PalmGear logo
add to cart NeatFreak Pack

 

 

 

StacWorks' InWatch 4.61

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

 

screen shot

 

 

screen shot

 

PalmGear logo
add to cart

 

 

 

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.

Back to MobileTechReview.com Home Questions? Comments? Post them in our Discussion Forum!