This is half technobabble.......I'm gonna throw my thoughts out there into the technobabble and see what happens.
GUI: There would be an Addons button, that would have tabs for Mods, Maps, Tilesets, Scenarios, and Updates. Scenarios would have listed prerequisites, that would automatically be downloaded and installed with the scenario. The Addons button would blink(or do something) to notify an update or multiple updates are availble. All tabs would display a list that could be sorted alphabetically, by most downloads, and other things like size. Updates tab would be empty unless there is an update available(could have the update tab blink as well), and if there is an update available it would tell you your current version, and the latest version. The Mods, Maps, and Tilesets tabs would have preview images that could be clicked on to see larger. Maps could have a recommended tileset. For the sake or browsing I think each addon should have a little arrow at the far left that would open and close them, like in the older file managers with the plus and minus. Closed would be maybe
1/
2 of an inch tall, enough room for the map's name and other basic info. Open would be as tall as needed to display a description, preview images, and other info. A Download&Install button could be in the open mode as well? A 'refresh lists' button could be added to get the latest info. And possibly a setup tab with setup options for things like automatically downloading updates and stuff like that.
Structure: A server would hold the content. GAE would check the server on startup, and update a config(cfg) file which would hold all the list data. When a download is requested, GAE would get the link from the config file and download the content and any prerequisites.
Updating System: GAE would check your version and check the server's latest. GAE would then update step-by-step, through each version on the server to the latest.
Example: Your version: 2.8 Server version: 2.9.1 Updating: 2.8 --> 2.9 --> 2.9.1
Example with major version change: Your version: 2.9 Server version: 3.1.1 Updating: 2.9 --> 3.0 --> 3.1 --> 3.1.1 Notice that patch 2.9.1 is not installed.
Or course the server wouldn't always be able to hold all the versions of the mod, and if someone had an old version of something and it couldn't be patched up to the latest version, the latest full release would have to be installed and patched up to latest.
What do you guys think? Missing anything?