Release PNDstore


Works fantastic !! Really good job here - Thanks a lot. But I do have some thoughts :rolleyes: :

  • I get a error message stating that there are some pnds with malformed pxmls in it when upgrading the lists. Can you limit the size of the message box, it was way out of the displays boundaries ?
  • I'm still a little bit confused on how the application list is sorted (it seems that it is not entirely sorted alphabetically)
  • I did understand that your application is single threaded for now. But could you please give some info that your application is doing something after the user initiated something that does take a time (like installing a bigger file). Some users (like me) may think that the app has 'crashed': I was trying to install mole invasion (which is ~80MB, so it takes some time), but after choosing the location and clicking ok, your application seemed to hang. Which in fact was not the case, but it occured to me like that. Maybe a little info like ("trying to install now, this could take some time, please be patient") would help here.
  • Any chance to get the description element of the pnd as a tooltip while hoovering with the mouse pointer of a list item ?



Again thanks a lot
 
Last edited by a moderator:
Ok I've been playing with this a bit today... While I was playing with it the repo stopped working, (though milkshake has since fixed the issue and it is now working again) so I noticed a few things I might not have otherwise.


What follows is essentially a wish list interspersed with random thoughts on my experience with the software... I expect some of it is probably already on your todo list and some may be of questionable relevance, but I hope you find some of it helpful. so in no particular order:

  • Window size: initial window is so small it doesn't even fit a single item. (maximising the window fixes this, its just a curiosity)
  • Description pane - an option to split screen it, displaying the PND description in the bottom pane would be really useful, especially if you can link in the screenshots (screenshots on request, not automatically)
  • It would be nice to be able to see at a glance if a given installed package is recognised as being in the repo.
  • If the installed version is more recent than the repo version, its not clear that its not the same version.
  • with different install locations it would be nice to be able to see where an installed PND is installed to, and also what category it is in.
  • Probably not really within the scope, but being able to move a package between said install locations within the software would be a nice touch.
  • currently the only indication of an operation having completed is if it fails. It would be nice to confirm successful operations as well. :)
  • Upgrade lists first does a full scan of the SD card, before checking the repo. This can be quite tedious if you happen to know the local list is up to date and only really want to update the repo list. an option to indicate which lists you want to update when you click it would be appreciated.
  • Malformed PNDS should be included in the list by name and marked as such
  • sorting and filtering functions would be really useful. Not just filtering by name, and category but also by whether a PND is installed, whether it's in the repo, whether its valid and whether its upgradeable.
  • I'd like to be able to pick and choose which PNDS to upgrade when using the upgrade function.



There's probably more but that's what comes to mind in the immediate. Hope you find some part of it useful. :)


- Neelix
 
bosbeetle: Did you download version 0.2 yesterday? There was a dumb bug that's since been fixed. Clear your browser cache and redownload it, and let me know if that makes a difference.


thatgui and Neelix: Thanks for the thoughts! I've made some minor updates; the latest 0.2 beta can be found at the same location.


Changes:

  • Error messages: They're no longer produced on invalid PXMLs. Even if the PXML is bad, PNDstore can parse it as long as libpnd can parse it (and if it shows up in your menus, libpnd can parse it). Users shouldn't worry about bad PXMLs. It will still give warnings on PNDs that can't be parsed at all, but I've never seen one of those. If you do, let me know where to find it so I can add it to my tests.
  • Window size: I didn't know it would do that! I've changed it so it starts maximized.


Other notes:

  • Sorting: I also don't really know how the default sorting works, but resorting is on my list of things to do, particularly by status (not installed, installed, upgrade available). That might be in 0.3, but definitely by 0.4.
  • Window to indicate something is happening: I'm pretty new to GTK, but it seems harder to do than you'd think without multithreading. So multithreading is on the top of my to-do list, and will definitely appear in 0.3.
  • Additional package info: There's a lot of information that can be shared, but I don't know the best way to share it. I don't like the idea of hovertext, since it's a touchscreen/gamepad focused device. I do like the idea of a pane showing further info, though I imagined it on the right rather than the bottom. The question is what information belongs in the main list, and what should be relegated to the info panel? The main list can show a little about a lot of packages at once, so it should have the most important stuff, but I'm not sure what that is.
  • Package not in/more recent than repository: I didn't think that this information is overly relevant to a user. It can certainly be shown, but I don't see a reason. Can you give me one?
  • Location of installed PND: This is a good idea, but should it be shown in the main list or extra info pane?
  • Move packages: I really like this idea! I intend PNDstore to be a complete PND manager, so it's certainly in the scope. To make this work, I'll first need to add the ability to handle appdata directories, which is planned for 0.3.
  • Update just remote lists: I was hoping that local updating would be fast enough to not need this. Roughly how long does it take for you? If I can't get it down to negligible levels, I'll definitely split the two functions, though I'll have to do it so that it's not cluttered and still convenient to update all lists at once.
  • Pick upgrades: Individual packages can already be updated with the Install button. But picking which to do could be easy by putting a checkbox next to each on the upgrade all confirmation window. Maybe less easy to implement, but expect it in 0.3 most likely.



Thanks again; let me know how the latest update works. Any further comments from anyone?
 
Last edited by a moderator:
Works well for me, got a couple of PNDs which it shows the PND then below the entry from the repo, I guess this is because of the id changing?


But working great, cant wait till it gets the extra features your planning
 
I've made one more update that should speed up updating of the installed packages list. Testing here showed it took about one-quarter of the time, so it's significant. Of course, I don't know how well that'll translate to the Pandora, but that's where you guys can help :D .


meandu: You're most likely right about the cause. It should be safe to remove your locally installed version and download the repo's version. But I do make plenty of mistakes, so if it keeps doing that, let me know. As devs start using milkshake's repo more, we'll see fewer and fewer packaging issues. I'm looking forward to it.
 
I'm Still getting an error on the Java installer:


The following errors were detected in update_local:


Could not process /media/PANDORASBOX/pandora/menu/java.pnd: TypeError('sequence item 0: expected string, NoneType found',)


The other PNDs that the last version generated errors for are now included in the list, so I assume the update process is completing successfully. If so, its taking only a fraction of the time it used to and the new time-frame is quite acceptable. Again, without dialogue boxes to indicate that the process has successfully completed, I can only assume that it has. (as opposed to say quietly crashing out without generating an error for some reason).


I'll post again with more thoughts shortly, as I'm short on time, but I wanted to share my immediate impressions of the new version.


Thanks for all the work you're putting into this, Tempel, its much appreciated. :)


- Neelix
 
Last edited by a moderator:
Thanks Neelix. I've downloaded the Java PND and see the same error you do. It looks like a mistake on my end; I'll check it out in the morning and hopefully a fix will follow. I look forward to your further thoughts too.
 
  • Window size: I didn't know it would do that! I've changed it so it starts maximized.

    One click less (which is good for me, because even after more the 2 years of xbox360 I still have a hard time using nubs)

  • Window to indicate something is happening: I'm pretty new to GTK, but it seems harder to do than you'd think without multithreading. So multithreading is on the top of my to-do list, and will definitely appear in 0.3.

    In the meantime a little more info for the user would help here. For example: just add some text to the "select install location" - dialog, like "After clicking OK, PNDStore will try to download the pnd" or even better - if possible - add the size of the pnd, so the user has a blurry picture of how long it will take.

  • Additional package info: There's a lot of information that can be shared, but I don't know the best way to share it. I don't like the idea of hovertext, since it's a touchscreen/gamepad focused device. I do like the idea of a pane showing further info, though I imagined it on the right rather than the bottom. The question is what information belongs in the main list, and what should be relegated to the info panel? The main list can show a little about a lot of packages at once, so it should have the most important stuff, but I'm not sure what that is.

    Hovertext was just a short term solution, I came up with because I thought it would be very easy to implement (at least in gtk# it is). I would also prefer the detail - area to be on the right side, vertical space is much more limited than the horizontal. Maybe it is a little hard to implement (at least if you use icons instead of text), but what do you think about instead of showing the version of a pnd showing the version status: if the version in the repo is newer than the local there could be something like "update available", or if they have both the same Version "up to date" and so on.

    Is it possible to have a line break in a list entry, if so you could show the first xx characters of the pnds description in the second line. Everything else should be in the info - panel (except the title if course).


  • Package not in/more recent than repository: I didn't think that this information is overly relevant to a user. It can certainly be shown, but I don't see a reason. Can you give me one?

    How is this handled in the update process ?

  • Location of installed PND: This is a good idea, but should it be shown in the main list or extra info pane?

    Info panel

  • Move packages: I really like this idea! I intend PNDstore to be a complete PND manager, so it's certainly in the scope. To make this work, I'll first need to add the ability to handle appdata directories, which is planned for 0.3.

    Would it be possible to include the second SD-Card in the whole process, because there are some people out there who have their pnds on the card in the second slot - most times because the first slot is occupied by the "alternative OS" card.

  • Pick upgrades: Individual packages can already be updated with the Install button. But picking which to do could be easy by putting a checkbox next to each on the upgrade all confirmation window. Maybe less easy to implement, but expect it in 0.3 most likely.

    this should be definitely on the list. Again I would like a size info here, so if I want a "quick" or "connection - sensible" update I can skip the 50+ MB pnd files.


I've made one more update that should speed up updating of the installed packages list. Testing here showed it took about one-quarter of the time, so it's significant. Of course, I don't know how well that'll translate to the Pandora, but that's where you guys can help :D .
Update lists works a lot faster now for me - I think it only takes 1/3 of the time now than the previous version. I also noticed that the error - message concerning malformed pnds is a lot shorter now, but I can't remember updating or deleting the relevant pnds.


One new thing that occured to me (no bug, but also no feature :) ):


If I execute the upgrade packages and actually no new versions of the installed pnds are available, I see the same dialog as if there where upgrades available, including the possibility to upgrade ( = OK - Button). Maybe you could disable the button (in the main window) if no upgrades are available ?


Also one feature request I would like to add - please pay attention to/ add the ability to control the whole app via dpad/keyboard. I'm no fan of xfce on the pandora, and I try to avoid the use of the stylus or nubs as mouse as much as possible, so this would be a huge gift to stubborn ones like myself.


Keep up the good work, its very much appreciated!


PS.: Why ist PNDStore in the repo ?


PSS.: I also spread the word (beware german only)


Edit: Would it be possible to rename the PNDStore. I know I'm a bit "special" in this matter, but it sounds to me like an "appstore" ripoff.
 
Last edited by a moderator:
Other notes:

  • Package not in/more recent than repository: I didn't think that this information is overly relevant to a user. It can certainly be shown, but I don't see a reason. Can you give me one?

This would indicate a situation where if I uninstall PND I can't necessarily just reinstall it from the repo. I feel it important to be able to take that into consideration when I am looking at the package list.

  • Additional package info: There's a lot of information that can be shared, but I don't know the best way to share it. I don't like the idea of hovertext, since it's a touchscreen/gamepad focused device. I do like the idea of a pane showing further info, though I imagined it on the right rather than the bottom. The question is what information belongs in the main list, and what should be relegated to the info panel? The main list can show a little about a lot of packages at once, so it should have the most important stuff, but I'm not sure what that is.
  • Location of installed PND: This is a good idea, but should it be shown in the main list or extra info pane?
Hovertext was just a short term solution, I came up with because I thought it would be very easy to implement (at least in gtk# it is). I would also prefer the detail - area to be on the right side, vertical space is much more limited than the horizontal. Maybe it is a little hard to implement (at least if you use icons instead of text), but what do you think about instead of showing the version of a pnd showing the version status: if the version in the repo is newer than the local there could be something like "update available", or if they have both the same Version "up to date" and so on.


Is it possible to have a line break in a list entry, if so you could show the first xx characters of the pnds description in the second line. Everything else should be in the info - panel (except the title if course).

I guess I just look at things from another angle then. *wry smile*


When I'm reading a list of items with multiple fields going across the screen, I want to give as much space to those fields as possible to minimise the possibility that a field might be truncated. I therefore value my horizontal space far more than the vertical space in that situation, so having the details pane at the bottom makes sense to me. I also don't see the point of adding part of the description to that area when it has a dedicated area, so one line per PND makes sense to me.


Ideally (to my current line of thinking), I would have each line show the following:


Status icon (with multiple icons to show the various states. using one more icon to show PND not in repo should be enough I think)


Name of PND,


Version installed,


Latest Version in Repo (even if this is lower than the installed version)


Installed location (abbreviated if need be)


Categories (Which menu is it on)


Everything else should go in the details pane.


The obvious answer here is to make it possible to choose which columns are listed and the orientation of the description pane, but of course that would require a lot more programming time.

[*]Update just remote lists: I was hoping that local updating would be fast enough to not need this. Roughly how long does it take for you? If I can't get it down to negligible levels, I'll definitely split the two functions, though I'll have to do it so that it's not cluttered and still convenient to update all lists at once.

Before the latest update it would take several minutes to scan the card... now it seems to update in seconds. Something to keep in mind here is that I'm running firefox beta 10 at the same time and good chunk of the time involved in scanning in the earlier versions was also spent intermittently accessing the swap file.

Would it be possible to include the second SD-Card in the whole process, because there are some people out there who have their pnds on the card in the second slot - most times because the first slot is occupied by the "alternative OS" card.

Erm... the whole time I've been using this program, the card I keep my PNDs on has been in the second slot. (the only thing I currently use the card in the left slot for is a swap file. ) What is your basis for the assumption it is only checking the first slot? Do your cards have volume labels? and are you using HF5?

One new thing that occured to me (no bug, but also no feature :) ):


If I execute the upgrade packages and actually no new versions of the installed pnds are available, I see the same dialog as if there where upgrades available, including the possibility to upgrade ( = OK - Button). Maybe you could disable the button (in the main window) if no upgrades are available ?
Seconded, it does seem kind of silly to allow the upgrade feature to be triggered when there are no upgradeable packages... :)

Also one feature request I would like to add - please pay attention to/ add the ability to control the whole app via dpad/keyboard. I'm no fan of xfce on the pandora, and I try to avoid the use of the stylus or nubs as mouse as much as possible, so this would be a huge gift to stubborn ones like myself.
Also seconded. :) I do actually prefer xfce and have no problem with using either the stylus or the nubs, but do think this would be a plus.
 
One more set of tweaks has been uploaded. This lets it handle the Java PND, and any other PND that doesn't include a version number (they're supposed to!). Also, as per thatgui's suggestions, the upgrade button indicates if there are none available, and both upgrade and install buttons give a small warning saying that the process will take time and to be patient.

Would it be possible to include the second SD-Card in the whole process, because there are some people out there who have their pnds on the card in the second slot - most times because the first slot is occupied by the "alternative OS" card.
It should be already! By default, it looks in all directories that libpnd looks; when installing, it should give the same list of directories. The second SD should be included in that list, as long as it has at least one of pandora/menu, pandora/desktop, or pandora/apps directories on it. Let me know if it's not working that way.

Also one feature request I would like to add - please pay attention to/ add the ability to control the whole app via dpad/keyboard. I'm no fan of xfce on the pandora, and I try to avoid the use of the stylus or nubs as mouse as much as possible, so this would be a huge gift to stubborn ones like myself.
I've kept it in mind, don't worry. You should be able to use the dpad to move through the list, and the Enter button will install/upgrade the selected package. I intend to make the face and shoulder buttons useful for control too, but I don't know what a good control scheme would be. Any suggestions?

PS.: Why ist PNDStore in the repo ?
It is. I've only put version 0.1 up there for now, but 0.2 will go up once we're finished with this beta testing here.

Edit: Would it be possible to rename the PNDStore. I know I'm a bit "special" in this matter, but it sounds to me like an "appstore" ripoff.
Well, it stores your PNDs, so that's what I called it. I considered using a clever name, but instead decided on something that makes it immediately obvious what it does.

Woo, thanks :) .

EDIT:

This would indicate a situation where if I uninstall PND I can't necessarily just reinstall it from the repo. I feel it important to be able to take that into consideration when I am looking at the package list.
That's a pretty good reason. Rather than a separate icon to indicate this, I was thinking of modifying the columns. Currently, there are "Latest" and "Installed" version columns; perhaps I could change those to "Remote" and "Installed" (or something), where "Remote" would show the most recent version available from repos, being blank if not available. Would this suffice?
 
Last edited by a moderator:
I would very much love to try this out but for the life of me, I cannot figure out how it works.


I have installed the pnd on my sd card, connected to the internet, tried to launch the pnd but nothing happens..


I downloaded the newest 0.2 pnd but none.


Seems like it works for others but I must be doing something wrong.
 
EDIT:

This would indicate a situation where if I uninstall PND I can't necessarily just reinstall it from the repo. I feel it important to be able to take that into consideration when I am looking at the package list.
That's a pretty good reason. Rather than a separate icon to indicate this, I was thinking of modifying the columns. Currently, there are "Latest" and "Installed" version columns; perhaps I could change those to "Remote" and "Installed" (or something), where "Remote" would show the most recent version available from repos, being blank if not available. Would this suffice?
Now that you mention it, having those columns would actually cover that, and that still matches with my suggested list of columns. :)


-Neelix


EDIT: Just tried the latest version.


Seems to be working pretty well now. Update lists works in good time and without errors. Installation of the latest file to be uploaded to the repo (Apple ][) went flawlessly.


My only other suggestion at this point would be to use something shorter to indicate an invalid version - eg X.X.X.X rather than none.none.none.none.
 
Last edited by a moderator:
I have installed the pnd on my sd card, connected to the internet, tried to launch the pnd but nothing happens..
That's too bad. Are you using sebt3's modified pnd_run.sh? If so, make sure to get the latest version of it; there was a bug in it that prevented PNDstore from launching, but it's been fixed.


If you're not using sebt3's pnd_run, then I'm not sure what would be causing that. After running it, find the output file: /tmp/pndrun_pndstore*.out. Post its contents so I can try to spot the problem.


Neelix: Great! I'll try to implement that by the end of the day (but not for a few hours, I have a meeting to attend). That should be the last change I make before officially releasing 0.2 (other than any further bugfixes).
 
I have installed the pnd on my sd card, connected to the internet, tried to launch the pnd but nothing happens..
That's too bad. Are you using sebt3's modified pnd_run.sh? If so, make sure to get the latest version of it; there was a bug in it that prevented PNDstore from launching, but it's been fixed.


If you're not using sebt3's pnd_run, then I'm not sure what would be causing that. After running it, find the output file: /tmp/pndrun_pndstore*.out. Post its contents so I can try to spot the problem.


Neelix: Great! I'll try to implement that by the end of the day (but not for a few hours, I have a meeting to attend). That should be the last change I make before officially releasing 0.2 (other than any further bugfixes).

I will download his newest version of pnd_run. That must be why.. Cannot think of any other reason.. Thanks, Will post later.
 
wow Im excited, cant wait to try it when I get my pandora back :p , well done tempel!, i must say this has been a good project for us both (well and everyone else who gets to benefit) :)
 
I made the aforementioned minor change to the "Latest" column, and decided it was ready for proper release. Version 0.2 is now in milkshake's repository.

I just have one little request... Can the PND be allowed to check for its own updates please?
It can! Try it out. Right now.


It can only update packages that are in the repository. I didn't put version 0.2 in the repo until just now because it was in beta. That's how I plan to keep it in the future, with betas in this thread (and the corresponding one on gp32x), and full releases on repo.openpandora.org.
 
Last edited by a moderator:
Back
Top