h1

App installation explanation

February 20, 2009
Posted by: poisonedv

Skeezix says:

We’re building a system to make app installation stupidly easy.

We’re still banging it out, but assuming it all comes together and works (and it should, we’re nearly there) .. you’ll download special apps in a bundle, a .pnd file. Inside that will be a directory structure and so on for the app to live, but users won’t care (unless they unpack it into a directory.)

So an entire app (all its data etc) can be downloaded as one file, dropped onto an SD card. Stick the card into Pandora, and te launcher shows the app in its category. Tap to run and it just works. No unzip, no set up.. just download and run. Piece of cake. (You are of course able to unpack it, futz with it, put it in anywhere you want on sD or in NAND, etc.)

We also intend to build the OS in such a way that you can just use Angstron packages if you want to, but thats suboptimal. (I can explain why if you want.)

Anyway, its going to be easier than on the gp2x, which was not really rocket science either

We or I will start writing up some docs on the wiki soon, so folks can get an idea how it wll/does work.

(For devs.. it is pretty easy to pack up the files into a .pnd; trivial on linux, a little work on Windows.)

jeff

Source
Thanks to virtuosos Prometheus and DasFool tuning us in.

31 comments

  1. I like, I like.


  2. cool


  3. OK, I’ll bite. Why are the Angstrom packages bad?


  4. Svartalf posted this on the forums regarding Angstrom packages:

    “You’re going to be limited to putting things on the NAND and only on the NAND because it doesn’t really work nicely for something that’s removable. For some applications this makes sense- but you’re going to have a limit to what will go on at any given time.”


  5. So, reading between the lines: no proper package management. Upgrades done manually by the user. So it’s like the GP2X but no unzipping (except for the devs who ship their stuff as zip files, and I’m sure there will be some).

    You’ll have to excuse me if I’m not jumping out of my chair in excitement over this one.

    Somebody should look into porting pacman (the package manager, not the game). Or if a simpler one exists…that one. I was having visions of homebrew + automatic updates, evolving betas…it’s all dashed now. Sob.


  6. oops, I meant to add more to that. Angstrom packages aren’t at all a bad thing, they just don’t have the flexibility of being thrown onto an SD card (unlike the “.pnd” packages).

    I know I’ll be trying out some stuff from the Angstrom repository as soon as I can, such as Navit.


  7. I agree, atraintocry. Standards are there for a reason: to be used. PXML, .pnd… its just obfuscating everthing.


  8. This is rather confusing. I expected a normal package system to work, but I guess I expected to much. Main reason was to get easy and automatic updates of the system. But it probably will torn out nice, the devs know what they’re doing!


  9. Will the .pnd at least be a simple renamed ZIP?


  10. a packagemanagment can’t really make use of the SD-cards, so it’s good to have a standard for mobile-apps.

    I’d like to use a package-managment for everything I ALWAYS want to be with me, like base-system and main applications (DE, firefox, abiword, midori, liferea, pidgin, vlc, gimp, etc…).


  11. bleh: You bet it is. I think that I read about it before a while.


  12. What about saving application settings?


  13. Just to remind all of you with doubts, the default Linux distro isn’t the only one that will work on Pandora. Gentoo is being developed right now and I can see a Ubuntu port (one of the mobile versions perhaps) happening pretty quickly.

    Personally I think .pnd is a great idea, so it’s horses for courses innit.


  14. I think it’s great news. I think that, although Pandora runs Linux, it’s still a handheld, so no problem about using its own formats/package distribution systems if it does not get in the way of a normal Linux behavior and it makes a breeze to install/run apps/games for all human beings using the device.

    PXML: great, unless it tries to replace XML in the Pandora Linux OS (I really can’t see how…)

    PND: great idea, unless it tries to replaces apt, for example (again, I can’t really see how this would get in the way…)

    Two thumbs up!


  15. I think these guys have their heads screwed on. APT, package management and all that business never really turned me onto Linux much. I’d rather be using my software than spending all day installing it.

    PND files sound great – I can back them up on CD or on any system, I can copy them between Pandora machines… email, fileshare etc. etc. way more flexibility!

    No doubt someone will, at some point, write a program to slim down memory card usage by copying all the libraries from each PND file into a system folder on your SD and dynamically linking them (and I assume an option to reverse it).

    Have you cake and eat it anybody?


  16. Be sure to check a later post with some more details:
    http://www.gp32x.com/board/index.php?showtopic=46797&st=0&gopid=702989&#entry702989

    Yes, of course you can use a regular package system, and we’ll use that for firmware updates as well. The trick is when you think it end to end, a regular package system is probably not ideal from the average user standpoint. (Besides the fact they’re often complex to operate .. but the issue is a packager doesn’t generally know how to deal with SD which is where most people want most of their apps.)

    Read the post.

    Naysayying on a vague prelim set of posts just gets you worked up.

    Feel free to ask questions🙂

    jeff


  17. Sounds basically like how Mac programs work. They come in .app packages that you can just run directly.

    Someone should just create a standardized update system that anyone can add to their application. That way, although updates wouldn’t be centralized like apt, whenever you run the program it would update itself automatically.


  18. “I agree, atraintocry. Standards are there for a reason: to be used. PXML, .pnd… its just obfuscating everthing.”

    poisonedv, atraintocry,

    Can you suggest package management standards that cope well with management of dependencies and state information on removable non persistent media? I have personally failed to find anything that remotely works in that environment (well anything this is sufficiently mature to work). If there are options that have been missed then let us know.

    Whilst there are many aspects to this and this is not exactly something that has come about without some healthy debate behind the scenes (pros and cons of various approaches from building a full on package management system this is ‘SD aware’ to doing nothing at all). We are always open to input but in fairness sometimes things just have to get done.

    The core OS is Angstrom and it is all Angstrom is, package management is handled using OPKG just like any other Angstrom platform and there will be feeds for common apps with the restriction of only being able to install to NAND or whatever other ‘persistent’ storage to can provide your Pandora with (i.e. not an SD you ever plan to take out ;-)). There is/was some effort to get OPKG working with non persistent media and if that gets nice and stable you can be assured I’ll make sure we support it.

    Concerning libPND there is another aspect. If another distro is setup on the Pandora (Gentoo, Mer, Debian, you name it) and then libPND and the daemon (and its dependencies) are installed then most PND’s should run on that ‘alternative’ OS without any major issues with similar behaviour to the stock OS.

    John


  19. In addition to my post above, basically something like Sparkle for updating applications: http://sparkle.andymatuschak.org/


  20. First post (after months of lurking) and it’s not the best way to start maybe .)

    Long story short… there will be no way to autoupdate the apps in a pandora? I was hoping for something like an archive or at least a scan… and then a check on then internet in order to have something like “I see 20 possible upgrades… would you like to download them and replace the older ones?”…

    I think this would be the best for an average user who doesn’t want to mount esoteric things like a not-officially-supported distro like gentoo… And I have a gentoo box in this laptop too!

    My 2 pence… and you guys are GREAT🙂 Can’t wait to have my hands on this sweetie🙂


  21. As I said .. you have to start small. Auto-updat day one.. is not critical path. If you think it is, work on it🙂

    you don’t hit the ground running with everything done day zero. You hit the ground, see how things are going, see how peope are using things and ohw they need things, and you improve from there.

    When everythign has to be in day zero, it means youhave to wait an extra year for development to finish, or a really huge price to hire more devs. (And of course, not like people are getting paid here😉

    jeff


  22. Maybe I should clarify that..

    “Critical path” (to me, can’t speak for anyone else) is getting the device shipped and working and setting forth some standards so as to help keep things from falling apart later. Within time limits of course.

    So auto update .. its a ‘nice to have’. A great to have. But not neccessary — people know what apps they have, and they can check for updates by following gp32x and other sites.. same way they always have. So by definition its not a ‘must have’.

    Its a tough and fine line to walk, and John above is doing the hard part in a lot of cases.. what to include or not and all that .. but it has to be done.

    jeff


  23. Hello.

    What about a public repository and able to update only with a click? Like in a PC Linux distro or App Store.

    Is it going to be planed along with this too? A good example may be something a bit similar like the Homebrew Browser for Wii homebrew, but more features and somewhat faster. And easily skinnable/translatable, of course.


  24. Consider.. say you download:

    MAME-pandora.pnd

    If you want to update with 1 click, go download MAME-pandora.pnd again and overwrite your current pnd .. voila, you’re updated. No pandora-side client needed.

    The problems with that are it likely would be MAME-v1.0.1.pnd and the next one would be MAME-v1.0.2.pnd say.. but theres nothing saying they couldn’t hypothetically just keep a ‘current’ one named MAME.pnd and thus have easy updates.

    What you really want is a basic tool that knows how to ignore the versioning info in PXML or filename and remove the old one when the new one shows up. Or something fancier.

    I don’t think anyone is working on this aspect of things right now; we’ll get the whole thing working _at all_ first (soon!) then worry about where to go next😛

    As I said .. stuff like that is not ‘critical path’ for first release; it is ‘nice to have’. Everyone wants their devivce bas bad as possible.. so would you (if you had to) delay the release so the update could be automatic? No, I thought not. You could handle it yourself (like you always did on every other device) for awhile until someone writes it. Hence, no critical path🙂

    We’ll see what we can do, or once things shape up someone else can do it.. whatever.

    Certainly it _will_ happen, just ‘when’.

    jeff


  25. Having experienced first-hand how bad an application manager can be (the one in the Nokia Internet Tablets), I would prefer not to have automagical updates that can royally screw up things.

    Admittedly, the package system Skeegix is implementing is so insanely easy and transparent that I don’t see how an automated updater could feck it up, but remember: Computers will continue to surprize us with their ability to be even more stupid than humans.

    If we can have an easily accessible repository, with applications using a transparent version numbering system (also indicated in an “about” menu option inside the installed program) and clearly labelling unstable versions, I suppose anyone who can read should be able to find the latest version, should they have a pressing need to always run cutting edge editions.


  26. it sounds like .pbi installation


  27. Not at all like a .pbi in function .. pbi if I recall right is just a workalike to windows installers like msi etc.. ie: a tool that spit out pbi file that includes executable code and the package to be installed attached to it.

    In our shindig, the app will be run right out of the package, with no installation necessary. So its like getting a zip for an app for Windows, and double clicking on it to run it, without getting it out of the zip first. Sort of anyway🙂

    jeff


  28. Here is what i would consider ideal. For applications, something like described in the blog post is good because of the simplicity of having an app in one file. What would be nice is if the os could provide a wayfor the app to give it a url to replace files within the pnd file. This would give developers a simple way to have self updateing apps. I would however like the os to use packages and repositories as the os itself can never be removed from its self unlike how applications can be remeved from the os. not sure if that made sense


  29. The OS (firmware) patches will be normal unix packages.

    jeff


  30. Well, autoupdates can be possible in the future, as the version number is included in the PXML standard already, so basically, the system could check all PNDs and check the version number on the server and update them if you like.
    It’s just not in from day 0.

    About repository: There is already the Pandora File Archive (http://archive.openpandora.org/) which uses a database, so a client for the Pandora which connects to the site, lets you browse through it and install with one click is easily possible.
    As the version number is also included in the archive, automagic updating (or update checking) is possible.

    So you can either use your PC and browse through the archive, download everything you want, put it on SD Card and – voila – all the apps automatically appear in the menu in the correct categories, or you can use the Pandora itself to do the same via WiFi.🙂


  31. Forgot to mention:
    The main OS (which is on the NAND) will be updates using a standard package manager, so Firmware updates and app updates can be handled seperately.



Comments are closed.

%d bloggers like this: