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


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to