[JDEV] Alpha release of Game Playing - IM DON'T USE..
Thomas Charron
tcharron at ductape.net
Tue Jul 24 15:35:50 CDT 2001
Quoting Ashvil <ashvil at i3connect.net>:
> We would also like some feedback on this alpha version. Magrathea is
> designed to be used as a game playing system over an Instant Messaging
> platform. You can find more information and download it at
> http://i3Connect.com
This client does horrible things in an open environment. It actually sends a
message of type HEADLINE to all clients on your roster, with silly text within
it. This is a horrible way to perform feature negotiation. I understand that
when comminicating with AIM/ICQ/etc users, its simply the only way to handle
it, but the Jabber protocol itself was built with such extentions in mind.
Please scrap this mechanism of feature negotiation. Either do something with
jabber:iq:browse to check for supported namespaces within the client, or a
simply static jabber:iq:version check. Everyone on my roster has recieved your
iSuSiNgSiMiLaRcLiEnT message now. For the uninformed, this is what the
offending message looks like:
RECV: <message to='tcharron at jabber.org/Work' type='headline'
from='tcharron at jabber.org/Magrathea'><thread>0</thread><subject>InfoCenter
(':')internal(':')
Query</subject><body>iSuSiNgSiMiLaRcLiEnT</body></message>
I belive you use the Subject line of InfoCenter (':')internal(':') to trigger
your handling. Thats all great and fine when ONLY dealing with your own
client, but Jabber itself was built on a generally open namespace, and ANY
client may interact hypothetically with any other.
If you need a reference document, please refer to
http://docs.jabber.org/draft-proto/ under 'Jabber Browsing'.
The best way to do this would be to send an IQ get on the JID that is online:
<iq type='get' to='jer at jabber.org'>
<user xmlns='jabber:iq:browse'
</iq>
The response to this would be something along the line of:
<iq type='result' to='called at someserver.com'>
<user type='device' xmlns='jabber:iq:browse' jid="jer at jabber.org/palm"
name="Palm Pilot"/>
<ns>jabber:x:bdflactor</ns>
<ns>jabber:x:gamenegotionation</ns>
</iq>
And even better way would be to use a different ns for each game, that way,
each game could have it's own XML, etc, and other clients would be free to
implement the functionality of the games into their own clients.
Even if you don;t publish, please at LEAST use IQ to do this someway.
Messages can be used *ONCE IT'S BEEN DETERMINED* that a given resources client
supports it, but NOT BEFORE..
---
Thomas Charron
<< Wanted: One decent sig >>
<< Preferably litle used >>
More information about the JDev
mailing list