JackSprat and JackFlash for Palm OS Posted May 2004 by By Tanker Bob
If you’re like me, then your devices can
never be fast enough or have enough RAM. When I bought my first computer
years ago, I immediately replaced the PAL chip with one that gave
me an unsanctioned 4x the memory, and have developed an insidious
addiction to overclocking CPUs. PDAs provide more of a technical
challenge due to their compactness, but there is a relatively inexpensive
way to milk more memory out of your system. Brayder comes
to the rescue with JackSprat and JackFlash.
To understand these utilities, one must understand
the types of memory that PDAs use. Random Access Memory (RAM) appears
explicitly on the marketing brochures. It furnishes the fast “working
memory” where most applications and all changeable data must
be loaded to execute. The downside comes in its requirement to be
constantly powered, so loss of power erases all data in RAM. Pure
Read Only Memory (ROM) lives in a hard-wired chip. Some PDAs use
this for their OS to save costs. While accessible like RAM, information
in it is permanent and cannot be changed. There exist special types
of ROM, though, that carry greater flexibility.
FlashROM is widely used in PDAs because it retains
its data without power, yet can be accessed quickly and its contents
can be changed using special commands. It comes at a higher cost
than RAM, though. Programs can be run directly from FlashROM (that’s
where the Palm OS resides), but data cannot be changed on the fly
there. The biggest advantage FlashROM has over RAM from a user perspective
is that its contents survive hard resets and, of course, power failures.
Not all PDAs possess FlashROM, especially low-priced
bargain Palms, and some high-end OS 5 Sonys use incompatible ones.
JackFlash will work on some of the Sonys, while JackSprat does not
support any OS 5 Sony device. If you have a Sony, best to email Brayder
to determine JackFlash compatibility first if your device doesn’t
appear here.
Lastly, before laying the axe to the root, have
a solid RAM backup. After restoring a device’s original Flash,
the device must be hard reset. That will erase your RAM contents.
There are a number of good backup options out there, including Secure
File PDA Backup that MobileTechReview.com just reviewed. Don’t
be caught short.
JackSprat 3.0b4
Enter JackSprat. JackSprat first and foremost backs
up your FlashROM, and then allows you to delete built-in apps in
Flash that you don't use or need. Always back up your Flash
before doing anything with JackSprat. The screenshot doesn’t
have the Remove Languages button because I’ve already done
that. JackSprat will create an app called FlashWrite when it backs
up the Flash. Back this up when backing up your Flash files and use
this app to restore the original Flash image if/when needed. At the
least, you'll need to restore the Flash when you sell your device
or trade it in on a new one.
Some devices don't need JackSprat to provide a
usable quantity of Flash, mostly some Sony devices. EFIGS devices
(European-targeted, multi-language PDAs) benefit greatly by removing
the languages you don't need (e.g., gained additional 3 MB on my
T3). Older Palms generally have a bunch of Flash available out of
the box because Palm back then provided very little in the way of
extra programs and libraries that provide/support enhanced capabilities.
Sony, on the other hand, provides a host of VFS-supporting programs
like MS Gate, MS Autorun, MS Backup, and MS Import. Also, all the
extra hardware capabilities in Sonys like high resolution displays,
built-in MP3 players, enhanced IR port, JPEG decoding, etc., use
programs and libraries provided in FlashROM. Newer Palms like the
Tungsten|T3 and have their FlashROM packed with value-added programs
like Documents To Go and VersaMail, plus system libraries for Bluetooth,
phone linking, SMS, and more. Not everyone uses all this capability,
so JackSprat allows you to delete or move the ones you don't need,
or you can remove versions that are superseded and replace them in
Flash. If, on the other hand, you have enough Flash available for
your needs (check it with Brayder's demo programs), then you don't
need JackSprat at all.
So, why bother with the Flash
when all new devices support memory cards? Good question. My answer
would be access speed. Although card access on OS 5 devices are
very quick, it still isn't nearly as fast as RAM, which is virtually
instantaneous. The 400 MHz T3 reads its SD card very rapidly, but
it still isn't as fast as RAM. Plus, some programs and databases
will only work in RAM, not on the card. Examples are programs that
come to life with some system trigger like alarm times, key presses,
or other system events. These generally work just fine in Flash
just as the built-in apps do. You also may want to put some apps
in Flash so that you can use them while listening to MP3s on a
dedicated MP3 card. Only you can decide what you need, but I value
the extra Flash these programs provided for me, even with 52MB
of user-accessible RAM on the T3.
Some precautions: JackSprat can suffer interference
from apps that capture system interrupts. Under OS 4, JackSprat
will perform a warm reset to avoid these conflicts. I recommend
launching JackSprat from the default launcher under OS 5 to minimize
problems. The first thing that you must do in JackSprat is backup
your Flash and store several copies in safe places (hard
disk, zip disk, CD, etc.). I’ve lost count of the number
of Flash restores I’ve conducted for testing or PDA sales,
all without incident. These should be done while connected to
power to avoid any chance of running out of battery in the middle
of operations.
For T3 owners, Brayder says: “JackSprat
3.0b4 is intermittently failing on the Tungsten T3. We are
investigating this and hope to have a new version shortly that
address this issue. T3 users should wait for a new release.” I
initially used 3.0b4 on my T3 without problems when I launch
it from the built-in application launcher, but it seems to
fail on exit now. That's not too surprising with all the testing
that I do. YMMV.
Upon backing up your Flash and selection of
Remove Extras, JackSprat presents a simple file manager-type
interface to the user. The pull-down lists on the right select
where the apps reside or will go—OS (Flash), Delete, and
RAM (for some). A running tally of the RAM and Flash that will
be available appears in the lower right corner. The display can
even sort by size. User-proposed changes are bolded to make them
obvious. Nothing actually changes until the user taps Update.
JackSprat then does its thing and soft resets the device when
it finishes the user-requested actions. That’s all there
is to it.
The following recommendations come either from
Brayder’s manual or from my experience with JackSprat on
three devices—a Sony T615C & T665C and the Palm Tungsten|T3.
Programs You Should Not Remove From Flash
1) Applications is the Palm OS default
application launcher. If you hard reset and this isn’t
present in Flash, you’ll be hard pressed to use the device
again unless you've thought ahead. This can be worked around,
but there are other instances that require it. DO NOT DELETE
THIS OR MOVE IT TO RAM. LEAVE IT IN FLASHROM.
2) Security enables you to lock or password your device. I believe
that you’d also lose the ability to hide private records as well.
Best to keep it.
3) Removing Bluetooth support on the
T3 can interfere with HotSync support. It doesn’t happen
on all devices, but I haven’t found a way around it on
mine yet (and not for lack of trying).
Programs That You Might Want To Think Twice
About Removing
Removing some things in Flash like Network
Support and MSAutorun (on Sonys) may have unintended
consequences. I removed Network Support from my Sonys
only to find out that Fireviewer would no longer work.
Clever work-arounds I needed at one point required MSAutorun which
I eventually restored to the Sonys. Still, both can be removed
if you don’t need them. CardInfo formats your
memory card, so you may want to keep it around just in case.
Think your requirements through to a logical conclusion before
laying the forest bare. You can always restore the original
Flash and start over, but it requires a hard reset and full
RAM restore each time. It’s better to think ahead.
Things You Can Remove Safely
Lots of stuff falls into this category. All the PIM apps (Calc, Calendar, Contacts/Datebook, Expense, Memos/Memopad, Note
Pad, Photos, Tasks/Todo) can safely be removed
if you have substitutes for the functions that you need. JackSprat leaves
stubs in Flash to preserve HotSync conduit functionality, so no worries
there. The PIM databases remain in RAM for the replacement apps. Some
OS apps will copy to RAM but a few end up stuck there, requiring TCatalog
(which doesn’t work on a T3) to delete. Programs that you can move
to RAM but that won’t copy to the stick include Calc, Mail,
and MSAutorun on Sonys, so just delete them from Flash if you
don’t need them.
Examples of non-PIM apps or features that can
safely be removed include Audio Player and its skins, Clie
Demo, Dialer, Documents To Go, Expense, gMovie, Kinoma
Player, Modem Support, MS Backup, MS
Gate, Network Support (usually), PGPocket, Phone
Dialer & Link, PhotoStand, QuickTour, RealOne, SMS
Support, SoundUtility, VersaMail & Extras, VoiceMemo, Web
Clipping, and Welcome. This list includes both
Sony and Palm apps, isn’t exhaustive, and should give you
a good feel for what’s possible. Some apps you may want
to keep on the card for infrequent access, like PGPocket and SoundUtility.
Brayder’s documentation has a more complete list of apps
in Flash with brief descriptions. JackSprat even has built-in
explanations for some things you can remove as you select a new
location for or delete them.
What you will lose (depending on the OS version) if your remove the built-in
PIM apps, however, is the ability of the Palm OS Find function (and some
third-party Find enhancements) to search the built-in apps' databases
unless their replacements are in RAM or Flash. You can search them from
within their replacement apps, however. Remember, the built-in Find and
many replacements aren't VFS-aware and hence don't see apps on the card.
Hey, nothing comes free.
JackFlash 3.0b14
So, after you've cleared out some Flash with
JackSprat, what do you do with it? Fill it up w/stuff you like
better using JackFlash. I choose stuff that will likely never
or rarely change to put in Flash, since the Flash is essentially
read-only and I don’t want to be moving stuff around all
the time. Under OS 4, I usually didn’t put hacks in ROM,
as some don’t work from there. However, others work just
fine in Flash. If a program or database needs to be changed or
updated, just move it to RAM, update it, then move it back to
Flash. OS 5 is somewhat more forgiving as to what will go into
Flash. So far, the only apps I’ve found that don’t
work from Flash on my T3 include AeroPlayer, Pocket Tunes, CardSync,
TimeSync, and ZReaderLite, though I’m sure the list is
significantly longer. I also avoid putting apps that intercept
system calls in Flash for activation of advanced functions, just
for insurance. I've had TealLock lockup big time when in Flash,
so I just avoid any problems by avoiding the issue of system
call intercepts other than the basics like alarms.
JackFlash’s flexible display can list
a number of categories as shown in the screenshot. These enable
the user to move by file type depending on your personal preferences.
The free RAM and Flash totals tally in the lower right corner
as you propose moves. The display can freely swap between looking
at Flash and RAM so that you can optimize your setup. It can
even sort by size if you’re looking to fill a hole. Choices
for movement include Flash, RAM, Delete, and Beam. User-proposed
changes are bolded to make them obvious. JackFlash changes nothing
on the PDA until the user taps Update.
JackFlash comes with two other programs called
JackSafe and FlashEnable. They make the Flash available after
a hard reset w/o having JackFlash loaded on the device. JackSafe
operates automatically from Flash itself after installed. Three
words: just load it. 'nuff said. JackSafe seems to work fine
on the T3 starting with 3.0b12. FlashEnable has to be run manually
after a hard reset if you don’t use JackSafe, but will
re-enable Flash access after a hard reset.
JackFlash does many things automatically that
other programs used to require user intervention to do. The most
prominent example is compacting (i.e., defragging) the Flash.
If JackFlash can't find a large enough chunk of unused Flash
to put your program into, but the overall free space is sufficient,
it will automatically compact the Flash to make room. Moving
stuff in and out of Flash is very fast.
Feel free to pack the Flash to the gills. Spare
Flash space doesn’t buy you anything. I had only 1K free
Flash on my T3 at one point! Since the Flash is essentially read-only,
filling it up is no problem. Just don’t put a database
in there that some app might try to change.
Do I Need Both Jacks?
This question appears on the forums more than
any other, save the Marathon Man’s bane: “Is it safe?” To
the former question, I always answer that it depends. If you
have a Sony OS 5 device, of course the answer is no. JackSprat
doesn’t support these. For others, it depends on your requirements.
If JackFlash Lite reveals that your device has enough available
Flash for your purposes, then you don’t need JackSprat.
JackFlash will enable your access to what’s available out
of the box.
OTOH, if you want to remove unused stuff from
Flash and/or your device doesn’t have enough Flash available
for your needs, then you need both. JackSprat will remove the
items you don’t need from Flash and JackFlash will enable
you to access the newly available Flash to put other things there.
JackSprat does not enable the Flash to be used by the user, it
only removes stuff from Flash.
It makes no sense to remove stuff from Flash
if you aren’t going to put other stuff in there—you
gain nothing from this. Hence my rule of thumb: You never
need JackSprat by itself, but you may find that JackFlash
by itself will suffice if your device has enough available Flash
for your purposes.
A Word About Betas
Brayder designates the most current versions
of JackFlash/Sprat as betas. In fact, their successive latest
versions have been betas for over a year. They functioned very
well for me on my previous OS 4 Sonys as well as now on my T3.
Other than the remaining issues between JackSprat and the more
complex launchers on the T3, these releases show the solid stability
of release software. I wouldn’t be put off with the beta
designations as long as you read the manuals and ensure that
they support your particular device. Brayder stands firmly behind
these products and their excellent technical support will help
you if you run into serious problems—and these are rare.
Results
My old T665C had 64K of free Flash out of the
box. Eliminating most of the Sony stuff listed above plus the
PIMs gave me 1,092K free. I used that to store a number of my
important applications.
My T3 came with about 1 MB of Flash available
for JackFlash. Using JackSprat to remove the extra languages
bumped me up to 4 MB. Removing a bunch of other stuff I either
don’t need (like QuickTour; phone, modem, and
SMS support; VoiceMemo, et al) or have updated (like Kinoma and Docs
To Go) left me with over 9 MB of free Flash. I could get
even more but elected to keep a few things I might use later,
e.g., the built-in PIMs so I can help others who use them.
I used JackFlash to put a number of large Bible
databases, the complete updated Docs To Go Premium with spell
check dictionary, and a few apps into Flash. You’d be surprised
how fast it fills up. I avoid putting apps in Flash that update
often just because the swapping back and forth to RAM for updates
would be inconvenient. JackFlash will warn you that some databases
don’t like to be in Flash. In my experience, this only
applies to databases that apps change. Fixed databases like Bibles,
dictionaries, spell checkers, references, etc., work fine in
Flash. Moving all this into Flash leaves me about 11.5 MB of
free RAM with fast accesses to these large databases. Sweet!
Conclusion
JackSprat and JackFlash provide Palm OS users
with nice options to expand their available memory by moving
applications and read-only databases to Flash where they will
still be immediately and rapidly accessible. Used in accordance
with their instructions, these apps work safely on supported
devices. JackSprat sells for $7.95, JackFlash for $19.95, and
the combination for $26.95 here.
I’ve enjoyed several years of great use on a variety of
Palm OS devices without major problems—because you can
never have enough RAM!