craigix
Mega GP Mania
An IPA file is effectively a zip file with a very specific file structure. Data and binaries must go in preset directory names. It also contains an info.plist file which is basically an XML file containing all the information for the application.
That IPA file is then mounted as a filesystem. This can also be done in Linux (as well as Windows and on Mac) but it is not as flawless as Craig says. It looks flawless to the end user, but it is actually quite a bit slower than it needs to be: ZIP files were not designed with random access of files in mind, and file lookups need to be performed sequentially through the archive. They chose ZIP because it was easier on the developer, not because it was better for the end user.
A better solution would be to use squashFS, or similar compressed filesystem designed for random access. To the end user, it would have functioned basically the same, with the added bonus of file reads being slightly faster. The developers would have required a program other than some zip program, adding a small amount of additional complexity, but that's easy enough to come by, provided you have no problems with open source.
So, to summarize, Apple is using a compressed archive format (ZIP) with a very specific directory structure, containing a single XML file with basic instructions on how that application is run.
PND uses a superior compressed archive format (squashFS) with no limitations on directory structure, except that it must contain a single XML file with basic instructions on how that application is run. As a bonus, that XML is also appended to the end of the archive for even faster access: no need to scan the archive and decompress it.
Apple's IPA format is loaded as a filesystem and executes binaries within it, but to the end user looks like a single file.
Pandora's PND format is loaded as a filesystem and executes binaries within it, but to the end user looks like a single file.
tl;dr: PND is IPA with a few extra features.
Thanks for clearing that up, I personally wish the Pandora had used Zip as everyone can make/open/edit zip files and it's an established format. (keep it simple and all that).
I'm also sad that people instantly assumed I must be wrong about the iPhone using zip files, even though they know I develop for it, and the iphone Zip format is now probably the most popular way of handling this in the world.
Does the PND format compress as well as Zip files?
Last edited by a moderator: