[Windows Mobile Development and Hacking General] acrosser:
comparison of the 3 "app managers" that I know of

Well-put. I agree. And I think it's okay if we also have multiple application-management solutions as well (updaters, repositories, app stores, etc.). The Fruit-Store and Android only have one app store each (as far as I know). Windows Mobile (and Windows in general) is all about providing choice to the end user, and an app-manager should be no different (which is basically what N1c0_ds is saying).

If a user likes the features of AppToDate and just wants to use that, then they should be able to. Or if they like Gecko or DeviceUpdate, or JAK Portal... they should be able to use those.

And we're not going to get a significant majority of developers to support all four application managers (and I know there are others). If a dev has to update an XML file, update a registry entry in their CAB installer, submit an online "Application Update" form [or 2, or 3] every time they release an update... then they are just going to say "screw it" and support only their favorite app-manager, or even worse support none.

And N1c0_ds, unfortunately a universal submission website page/form won't work, because it doesn't fit with DeviceUpdate and AppToDate's update mechanisms. DeviceUpdate requires you to update a registry entry in your installer, and AppToDate requires you to update an XML file that resides on a web server somewhere.

Here are the pros and cons of these 3 app-managers as I see them (from a developer's viewpoint)... excluding JAK Portal as I haven't looked at it yet:

Gecko

Pros:

- Developer doesn't have to host their apps themselves.

- Simple App Update form to submit when new version of app is released.

- Has an "App Store" to browse and download applications.

Cons:

- Developer doesn't have the -choice- to host the app themselves (some, like me, may want to do so)

- Developer has to fill out a form to update program, then wait for someone (or automated software?) to process this form submission.

DeviceUpdate

Pros:

- Updating an application takes only ~5 minutes to list in the database (according to its developer, when it's fully released and functioning)

- Doesn't require the developer to store the app installer on their own web server (good for developers who, for example, simply attach their CAB to an xda-dev forum posting, and don't have their own website).

- Features a categorized list of software with descriptions and ratings, and the ability to download them.

Cons:

- Requires the app to use the registry. Many developers strive to make their apps "green" -- not using the registry at all.

- Requires the developer to update a registry entry in the installer -and- submit an online App Update form (2-step process... why not just submit a form and upload the installer file, replacing the one in the DeviceUpdate database?).

- Developer doesn't have choice to host app themselves.

- Limited device support currently (doesn't support new devices, it seems)

AppToDate

Pros:

- Simply update an XML file with new version information when releasing an update, and upload the file to your web server. No registry, no submission form.

Cons:

- Currently there is no ability to browse available software in an "App Store" style -- only update currently-installed software.

- Requires the developer to have their own web server/storage (as far as I know).

So I like the App Store/Downloader from Gecko/DeviceUpdate, and the update notification mechanism of AppToDate (just update an XML file on the web, and AppToDate knows your app has been updated). Out of all 3, AppToDate is probably the most friendly to commercial application developers, giving them the ability to display a message and/or link to the user so they can visit a page to pay for and download the app.

Gecko and DeviceUpdate are both repositories, hosting the installer for the developer, and AppToDate requires the developer to host their app installer themselves. Ideally an app manager solution would give the developer the freedom to do either. If the app is hosted by the App Manager then the client downloads it from the repository. If the developer hosts it themselves (which I'm guessing many commercial developers would like to do), then the client downloads it directly from the developer's URL... or redirects their web browser to a page where they can pay for and download the installer.

I've been emailing the developer of DeviceUpdate, and he is willing to spit out an AppToDate-style XML file (though the developer still has to upload it to their webserver)... and even spit out an email to Gecko notifying them of an application update. So there is willingness on his part to work together.

However the update mechanisms are different enough for all 3 that I don't think they will be able to work together. I personally believe that all 3 app managers should adopt the XML file that AppToDate has utilized. A registry entry has many drawbacks. An XML file can be used to store all sorts of information.

(I hope I don't sound lazy by complaining about having to support all 3+ app updaters/repositories... but when I release updates 1-2 times a week I don't want to have to update an XML file, update a registry entry, and fill out 2 online submission forms. I also don't want to see the Windows Mobile platform become fragmented when it comes to application downloaders/updaters/managers, in terms of developers only supporting certain app-managers and not giving users one place to find "all" available applications).