Here is some anonymous feedback I received in an IM conversation today: ******
I have a few implementation observations with respect to Jingle. The current implementation really requires all Jingle stuff to be managed centrally in an app. For example, you need a "Jingle engine" that things like file transfer and audio chat need to register with. This is problematic if you are implementing a Jabber client where all of the features are plug-ins. Conceptually, file transfer should be separate from audio chat, but according to the spec they both are Jingle stanzas. This makes it impossible to have more than one Jingle engine. To really understand this problem one needs to think about how routing would work in an app itself. Plug-ins would conceptually "tune into" certain stanzas by namespace, id value, or source field. Since there is no way to differentiate file transfer Jingle stanzas from audio chat Jingle stanzas by looking at the namespace, you would have to move all of the Jingle logic out of the plug-in and into the app. By keeping the Jingle logic in the plug-in, you greatly reduce the complexity of the plug-in API. ****** Comments are welcome. /psa
smime.p7s
Description: S/MIME Cryptographic Signature
