Results 1 to 12 of 12
  1.    #1  
    In reading various different posts on the net, it seems that everyone has their own opinion regarding whether the new Palm m500/505 series can run applications directly off an SD card. I would appreciate if someone could settle this argument once and for all, or will we have to wait until the m500/505 acutally ships?
  2.    #2  
    Upon further reading at the palm's m500 series faq/support site, I came across the following at:

    http://www.palm.com/support/sdcards/faq/sd_faq.html

    Can I copy apps to and from Secure Digital or MultiMediaCards?

    Yes. Palm OS v4.0 loaded on the Palm m500 enables copying of Palm OS applications to and from cards. Palm OS v4.0 also enables running of applications stored on cards with a single tap.

    The "single tap" looks suspiciously "non-direct" to me. If the m500 series were able to run apps directly from an SD card, wouldn't Palm have written "...enables running of application stored on card DIRECTLY" instead of this "single tap" businness, which may involved auto copying of the application onto the main memory as well as deletion after the app has finish running, thus REQUIRING the main Palm memory to have at least the same amount of memory free as the app itself.

    Oh well I guess I can still hope for a mircale. Someone please prove my reasoning wrong
  3. #3  
    I believe that you are right. I think that Palm OS4 copies that app from the storage medium into system memory and executes it there. When the app terminates. It is removed from memory.

    Based on the slides from PalmSource, it appears that by default, databases are kept in system memory. But, applications can be written to explicitly store data in the expansion memory.

    I think that answers your question. The next part goes a little deeper for anybody that cares.

    The way that all of the APIs are designed, the basic functionality provided by Palm doesn't actually access the memory. That part of the code is meant to be OEM specific. each OEM can add the necessary code to implement the functionality on the type of expansion memory that they provide (SpringBoard, SD, MMC, CF, Memory Stick) etc. This also means that if a third-party manufacturer, like the folks making a Smart-Media SpringBoard adapter, want it to work on a Palm OS4 machine, they will probably have to provide some kind of a hack to hook the functionality into the OS. This won't be problem for SpringBoard manufacturers until HandSpring ships a device with Palm OS4.
  4. #4  
    Quote from above link:
    ____________________________________________________
    What can I use the Palm™ Memory Expansion Card for?

    You can use your Palm™ Memory Expansion Card for storing software, pictures, audio files, or...anything else you can dream of! The Palm™ Memory Expansion Card provides your handheld with extra memory that allows you to easily read, write, and store files for access when you need them. Make personal photo albums, soundtracks, and store project documents in one convenient place--all without sacrificing your handheld's valuable memory. ____________________________________________________

    There is either a serious aversion to the words "run software" or this is another form of dumb media.
    <i> If it's worth doing, it's got to be done right now.</i>
  5. Rob
    Rob is offline
    Rob's Avatar
    Posts
    531 Posts
    Global Posts
    533 Global Posts
    #5  
    Originally posted by bradhaak
    I believe that you are right. I think that Palm OS4 copies that app from the storage medium into system memory and executes it there. When the app terminates. It is removed from memory.

    Based on the slides from PalmSource, it appears that by default, databases are kept in system memory. But, applications can be written to explicitly store data in the expansion memory.
    I believe that's correct. 'Normal' apps will be transparently copied to system memory and automatically deleted when the application exits. However, Palm has added new APIs that allow developers to modify their applications so that they can read/write data directly to/from the MMC/SD card. For example, Peanut Reader (now called Palm Digital Reader or somesuch) has a new version that supposedly reads encrypted peanut reader books and palm docs directly from the SD/MMC card. I presume that the other cards announced (game card, dictionary card, travel cards) also work this way.
  6. #6  
    So in other words, the SD card works just like the CF card in the TRG pro and the Sony memory sticks in the Clie.

    The "single tap" feature creates an illusion that the apps are running from the SD card, but in actuality it's a two step process, the app is copied into the systems memory and then launched.

    The database access is accomplished using the same method except that only a selective chunk of the database is copied to the system memory. This enable quick access of large databases without copying the whole database into the system memory.

    I can see two problems with this approach:

    1. available memory must be left free in the system memory to allow room for the copied apps and/or database chunks.

    2. as the programs for the palm gets larger, there may be a lag time to copy and launch very large apps. For example: PatientKeeper is over 300kb's! If that is store in the SD card, the lag time of copying the app to system memory may be noticable.

    my $0.02
    Fat's
  7. #7  
    FAT_MAN wrote
    1. available memory must be left free in the system memory to allow room for the copied apps and/or database chunks.
    Yes, you do have to leave memory free to run apps, but I think that you may be missing the point to this system (or else maybe it's me that's missing the point ). This is analogous to the hard disk on you computer. You keep your apps on external storage. You run your apps in memory. As time goes by, more and more apps will be able to keep their databases on the memory card with the app itself.

    The only exception to this rule are apps that you need to run while using the expansion slot for a peripheral rather than a program. In this case the app(s) used to control the peripheral would have to be residing in primary memory unless the peripheral provided additional storage.

    Another good thing about the OS4 implementation of this capability is that the APIs provide an abstraction layer. As a programmer, I don't need to know that the device being used is a Visor with a SpringBoard memory expansion, or a TRG with CF, or a SONY with Memory Stick. I write a single implementation and the device does the proper thing for the memory in question. This will encourage programmers to actually support the capability.


    FAT_MAN also wrote
    2. as the programs for the palm gets larger, there may be a lag time to copy and launch very large apps. For example: PatientKeeper is over 300kb's! If that is store in the SD card, the lag time of copying the app to system memory may be noticable.
    Actually if it is on SD, it is less likely to be noticeable. SD runs at a blazing 10 Mbits per second. That is 1.25 MB per second. A large app like PatientKeeper with it's size of slightly over 300KB will load in about a quarter of a second. Probably not noticeable. Other memory standards run at different speeds. CF runs at (I believe) 6 Mbits per second. MMC hits up to 2.5 Mbits per second. I don't have the numbers for Memory Stick, Smart Media, or the 8 MB Flash SpringBoard, but I would expect performance in the same range. For small apps, you would not be able to notice the load times even if you were looking for them.
  8. #8  
    Sorry to be dense... I'm still trying to get a handle on this. Can I put both Noah and it's database on an SD card and, provided there is enough available system memory, run it as if it were in system memory?
    Mike
    I'd rather be upside down in my kayak than rightside up at my desk.
  9. #9  
    You can keep the app (Noah) on the SD card. It will be copied into standard memory when executed and deleted from standard memory when finished.

    To use the databases from the expansion, you need to wait until there is a new version of the program that is aware of the new features in Palm OS 4.
  10. #10  
    Brad, maybe you could clarify...

    1. If under Palm OS 4.0, the apps are copyied and then launched from internal memory, will there be the same constaints as with the Sony MS. I have read from sony's site that you need 2x the amount of internal memory to accomdate the size of an app stored in the memory stick, For example; if I want to launch a 50kb app from the SD/MS, I would need at least 100kb of internal memory free.

    2. Also, what about apps that runs in the background like Launcher programs, can they be stored in the SD card?

    The unqiue aspect that I like about Handspring's flash module is that the memory card runs as an extension of the CPU's memory instead of like a hard drive. Although, you still cannot edit databases in the Flash Module, I think for practical purposes the flash module is more versitile than the other storage mediums.

    Thanks!
    Fat's
  11. #11  
    Thanks a bunch. That's kinda what I thought. But that begs the question: How likely are developers (especially developers of freeware like Noah) to actually create new versions of their software to support this?

    I'm very seriously considering an m505 but this is an important question for me. I want to know that I'll be able to use something resembling my current set of software (nearly 16 mb of apps & data).
    Mike
    I'd rather be upside down in my kayak than rightside up at my desk.
  12. #12  
    Fat_Man wrote:
    1. If under Palm OS 4.0, the apps are copyied and then launched from internal memory, will there be the same constaints as with the Sony MS. I have read from sony's site that you need 2x the amount of internal memory to accomdate the size of an app stored in the memory stick, For example; if I want to launch a 50kb app from the SD/MS, I would need at least 100kb of internal memory free.
    I don't know. the documentation isn't clear on this and I don't have a Palm OS 4 machine with external memory. But for me it's really going to be a moot point because I am planning on keeping all of the apps that I can on SD expansion cards. The only memory that will be used on the device will be for apps that I need when the expansion slot is otherwise occupied and databases of programs that don't support the expansion (this means all programs initially). I don't see that keeping a megabyte free for the largest programs will be an issue. We will see if this works out.

    Fat_Man wrote:
    2. Also, what about apps that runs in the background like Launcher programs, can they be stored in the SD card?
    Let's clarify a point first. Launchers do not run in the background. There is only one task that is running in PalmOS at a time. There are a couple of system threads but they don't count. Even hacks that you install are not actually running. They just patch themselves in so that when a program calls a specific OS feature, the hack is executed instead.

    OK, based on the above, I don't know of any reason that you couldn't use a launcher from an expansion card unless the OS specifically prevents you. Just keep in mind that there might be problems if the OS can't find the Launcher because you have another card plugged in. In the 3.x OS, I believe that the OS will switch to the default launcher if it can't find the one that you have added. I'm not 100% sure about this (and have no inclination to test it right now), but I seem to remember that I did something similar a couple of weeks ago in the process of debugging a program.

    I suspect that for your own sanity a launcher replacement might belong to the class of programs that you would keep in system memory.

    Jupe wrote:
    Thanks a bunch. That's kinda what I thought. But that begs the question: How likely are developers (especially developers of freeware like Noah) to actually create new versions of their software to support this?
    Depends on the developer the app and how strongly this mechanism is supported by Palm OEMs. The cool thing about this system is that it isn't MMC/SD specific> HandSpring can support it for future products (with existing modules). SONY and HandEra (TRG) can also use it with their memory products. If the OEMs support the standard in their Palm OS 4 products (and upgrades to existing products), Developers will almost certainly support it where appropriate.

    Where is it appropriate? Any application that uses large application specific databases.

    Where is it inappropriate? Apps with small databases that don't have a large impact on system memory. Also apps that share databases with other applications. Especially apps that are replacements for the built-in programs. Your Address book and calendar are probably always going to be in system memory. There are probably other examples of programs that would not use this feature, but you get the idea.

Posting Permissions