As for the roms themselves, and having screenshots etc, two solutions come to my mind;
1. A central repository, keeping MD5 hashes of every game to every platform, and letting ZiB access it whenever new content is detected on the SD-Card
Pros:
- Easy to set up
- Once the database is established it requires minimum maintenance
- Doesn't require anything from the emulators or users
Cons:
- Requires a bit of work to get it working properly
- Single-point-of-failure - if the database dies we're back to square one
- Bandwidth intensive on the server side
2. Define a new format (let's call it .urf - Universal Rom Format), which is basicly a zipfile containing several smaller files:
- title.png - The screenshot of the title screen
- screenX.png - A bunch of optional screenshots, where X is a number between 0 and 9
- romimage.ext - The ROM image(s) (sometimes a game has more than one disc, etc)
- info.xml - A short XML document containing all useful metadata like company, release year, game system, tags, your rating of the game etc (doesn't have to be xml, might as well be a textfile)
Also, the zipfile format should be seekable, that is, you can uncompress it on-the-go directly to RAM, even if the file is bigger than your available RAM.
Pros:
- Not dependent on an internet connection for getting screenshots and stuff
- Bandwidth friendly
- Intelligent sorting after tags, title etc, and also allows for nifty things like letting the front-end put the game where it belongs (automagic placements! Yays!
)
Cons:
- It'll take lots and lots of work defining the format, deciding whether to allow localizations, what about translation patches etc
- Emulators must be able to accept this new format, so devs must cooperate (can be worked around somewhat by unzipping to a temp dir first, but will not work with those 700 MB iso roms)
- Things WILL get tagged in a stupid manner (Like someone tagging "Zelda: A Link To The Past" as "Super Mario World" - A minor headache however)
Personally, I think the second option is the more viable long-term solution, but it's also the one that needs the most planning and coordination to get to a working state. However, if it's happening now in the beginning of the Pandora's life cycle when most emulator devs are still active, the plans of a nice shiney frontend stands a much greater chance.
Either way is fine for me however.