In order to be able to classify Cocomo, I would like to know: How does it relate to Adobe LCDS/BlazeDS ? Does it leverage parts of those products ? How does it compare in terms of functionality and performance ?
Both LCDS and Cocomo leverage RTMP, the bidirectional persistent socket protocol used in the Flash Player (it's worth noting that LCDS also supports HTTP "near-real-time" data push as well). Other than this overlap in data push, I'd say Cocomo targets a few unique cases that LCDS does not, and obviously vice-versa.
:: Cocomo supports audio/video communications (via hub and spoke streaming as well as direct client-to-client streaming).
:: Cocomo really focuses its design center around the social aspects of multi-user applications. We firmly believe that data push is an important element in multi-user apps, but it's only the first element - Cocomo focuses on multi-user workflow, dynamic roles and permissions, client-to-cilent messaging, and the sharing of the "UI Surface" of an application - think of it as "user to user" synchronization.
:: I'm not on the LCDS team, so I'm not speaking with authority here, but LCDS provides rich connectivity to back-end systems, including data synchronization to and from DataBases, pagination, large dataset management, and server-based messaging. Cocomo provides none of this.
So I think while there is a technology overlap, I think there's a real difference in design focus. Also mix in the fact that one is exclusively a hosted offering at this time, and there are some pretty distinct cases for when you would use one or the other - as well as some great cases for mixing and matching both.
Thank You very much for Your detailed, excellent answers 🙂 !
The conclusion for my own efforts is: Should I go with Flash/Flex on the client-side, the couple Cocomo/LCDS could deliver much of what I need already out of the box; of course, examples for how to mix and match Cocomo and LCDS would be great, too.