[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
(&apos;:&apos;)internal(&apos;:&apos;)
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