Gathering Ideas for a Desktop application


thatgui

Advanced Member
Joined
Apr 2, 2009
Messages
3,048
Hello,


I'm currently working on a desktop applikation, to manage PNDs "outside" of the Pandora. The meaning of currently is a little stretched though as I'm working on this for more than eight months now as I only occasionably find time to work on it.


Usually I loose interest on such projects rather quick, but surpriseingly I'm still on it, so there is very small hope, that something usable comes out of this.


Whats the scope / reason or why do "we" need this if we have already pdnstore,panorama and milkyhelper ?:


It is simply my usage scenario: as I find very little time at home to use my Pandora, I usually update my Pandora software library during lunchbreak at work. Due to security reasons I can't connect my Pandora to the companys network, so I use the mass storage mode to manage pnds - this is rather time consuming.


So I thought about a application that sits silently in the tray and waits for a pandora to connect via mass storage. Depending on how the application is configured, it automatically syncs the pnds on the SD Card with a local library, also keeping an eye out for updates in the repo.


Other aspects that could be usefull:

  • Automators:

    A script with basic file i/o functions, that could be associated with a pnd. One usage scenario could be if the a pnds needs some datafiles, such a script could be created. So somebody else would just have to click on "run datafile automator", and the application just asks for the directory where all files are and copies them in the proper location on the SDCards, or tells the user that some files are missing. Another usage scenario, is to implement a schedule mechanism, so that these automators could be automatically executed in a certain intervall (maybe every week, or every time the application is started) - could be used for backup purposes
  • Managing:

    Control the appearance of pnds on the Pandora. Like moving a pnd from the desktop into the menu just by making a choice in a combobox. Or "parking" a pnd (including the appdata dir) on your disc, if you currently need the space on your card for something else. Or simply tipeing some text in a field, to change the title of the app in minimenu, and the application creates the necessary ovr file in the background
  • Cleaning:

    With testing new pnds the appdata directory on the SD cards gets quite full, so i thought about that appdata directories where no corresponding pnd exists in the library could be just deleted or copied into a special folder in the library on the computers drive


Currently there are some limitations to this.


As the mass storage scripts only support one sdcard at a time my program currently supports only one card as sync - partner. Also the NAND is off limits currently. But I also thought about backing up some config files - like the ones from the network manager, so someone does not have to configure everything again after a full flash. Or that some config files (maybe nubs, mounts, etc) could be altered via a specialized interface in the application - but this can get complicated, and maybe dangerous as having the NAND mounted writeable (if possible), someone could easily break the system.


My programm is currently in a very early alpha stage, the basic functionality works, but its very far from beeing stable. Currently I dream about bringing it into the contest, but I'm not very confident I can create a usable Version till then.


The First Question is, is there someone else with a similiar usage scenario that could make use of this ? Or is there already something similiar or more thought trough that would be better to use ?


If you have any thoughts (negative or positive) about this, feel free to express them.


DISCLAIMER:


There is a great chance, that there won't come anything out of this - so don't build up any hopes !!!


WIP Screenshot:


pbox.jpg

pbox.jpg
 
IMO, you have great ideas. And what you already have there looks quite good.


Just keep doing it :)
 
My old app from 2009 [Pandora Sync Suite - successor of gp2x EmuDownloader ] but maybe you'll find it somehow usefull [some creation gui hints]. I was using it a lot in pre-repo ERA, when dl.gp2x.de ruled as a repo..


pandorasyncsuite2009032.png



pandorasyncsuite2009032x.png
 
Last edited:
What language are you writing this in? Looks like a Visual Studio app. Was just thinking if it was portable enough to run on the Pandora.


Edit:


To further my thoughts...


PNDstore is pretty outdated IMO, only from the fact it's so longwinded to browse. That said I still use it every now and then. I never connect the Pandora to the computer, though I will occasionally download from the repo on my desktop PC and copy to an SD card.


Having something which sync'd my PND's from my respective cards as I inserted them (or even if you just held the "SD Card" in a folder on the harddrive), and maybe automatic updating them whilst it's sat in the background, I'd probably find useful
 
Last edited by a moderator:
I'm not sure how the save button we can already see will work, but if we could change the title of a PND and it's appdata path and store it automatically to a *.ovr file your tool could be an *.ovr editor too.


I'd like to see some kind of "set" management, the configuration set-up for one SD-Card should be possible to save and load. If my SD broke, i could restore the setup easily. I wish you the best to get it to the rebirth contest in time. Thumbs up! ;-)
 
thatgui -- Since this program is used to manage software on a Pandora, a great addition would be to go a step further and include managing functions for things like flashing Pandoras, creating image-based Pandora backups, or possibly even for rescuing bricked Pandoras through a USB connection. By creating an agent that runs on the Pandora, it should be possible to get access to all of /media , and also to allow for easy managing.


For instance, it would be great if a user could connect her computer to a Pandora via USB, use your program to save an image-based backup of the current state of that Pandora on the computer, tell your program to download the latest beta version of the Pandora's firmware from the internet, instruct your program to flash that firmware onto the Pandora, and then retransfer all locally saved PNDs using your program.
 
For instance, it would be great if a user could connect her computer to a Pandora via USB,


[...]instruct your program to flash that firmware onto the Pandora
Is it possible to flash the pandora via USB?


You need a host computer for that and stable software to do so. I think the actual way via the SD card is much easier to handle by the common user. But your idea to support them in creating the firmware-update-sd is superior great!
 
Is it possible to flash the pandora via USB?


You need a host computer for that [flashing the Pandora via USB, remark] and stable software to do so.
Well, the Pandora has an unbrickable bootloader capable of booting from a USB client.


I have no idea whether this could be used to flash a Pandora from another USB host though, whether one of those special host-to-host USB cables would be required, or if it wouldn't be possible at all (without some kind of uncommon hardware, that is).
 
Last edited by a moderator:
My old app from 2009 [Pandora Sync Suite - successor of gp2x EmuDownloader ] but maybe you'll find it somehow usefull [some creation gui hints]. I was using it a lot in pre-repo ERA, when dl.gp2x.de ruled as a repo..
Yeah it surely needs some simplification gui wise, I tend to overcomplicate and overfeature things. But I would be really happy if I get all the functionality in it I want, gui concerns have a lower priority

What language are you writing this in? Looks like a Visual Studio app. Was just thinking if it was portable enough to run on the Pandora.
Its written in C#. As I want it to be Multiplattform, it try to stick with Windows Forms for the Gui (thats the reason it is rather ugly and not very modern ui - wise). Mono supports WinForms, and I already build it succesfully in Monodevelop for Mono on Windows, so it highly likely that it will also build in a Linux environment.

Having something which sync'd my PND's from my respective cards as I inserted them (or even if you just held the "SD Card" in a folder on the harddrive), and maybe automatic updating them whilst it's sat in the background, I'd probably find useful
The programm does not depend on a special device. It just monitors for usb mass storage devices that contain a "pandora" folder. You could also use a usb-stick if you like. In my case it is just out of convenience, as the SD - Slot in my notebook is already in use and I also load my Pandora per USB on my desk.

I'm not sure how the save button we can already see will work, but if we could change the title of a PND and it's appdata path and store it automatically to a *.ovr file your tool could be an *.ovr editor too.
As the pndviewer still needs a lot of work, the screenshot shows the automator editor, so the save button just saves the automator to disk. I already adressed this - see "Managing"

I'd like to see some kind of "set" management, the configuration set-up for one SD-Card should be possible to save and load. If my SD broke, i could restore the setup easily. I wish you the best to get it to the rebirth contest in time. Thumbs up! ;-)
The broken SD-Card is a scenario I also had in mind. In this case you would just plug in the new SD, fire up pndBox (=my application) and change the synchronisation partner. Hit "sync" and after a while your card should be good to go

thatgui -- Since this program is used to manage software on a Pandora, a great addition would be to go a step further and include managing functions for things like flashing Pandoras, creating image-based Pandora backups, or possibly even for rescuing bricked Pandoras through a USB connection. By creating an agent that runs on the ...
That was actually my first idea, but I discarded it, as it would be to complicated. I'm a lazy programmer, and my c/c++ is a bit rusty, and I can't remember a bit of my "linux system programming" lectures in university. You also have to keep the strict rulesets in mind that linux tightens around processes, so to avoid that the user has to constantly enter his password, the agent would need su rights, which leeds to security concerns and so on...
 
Last edited by a moderator:
Back
Top