So I'm thinking about rewriting my chatroom. It's old and not very cleanly written. Totally not extensible. Overall stable, but. Now here's the conundrum -- I had the thought to redo the messaging part of the chatroom in XML. Great -- an excuse to sit down and use XML in a project, learn a couple of standards, yadda yadda.
But then I start to realize... if I'm going to write this thing AND have an applet part to it... the applet part is going to have to do its own parsing with no help from any of these *large* libraries. JavaTM API for XML Messaging (JAXM): 8 megs. Someone downloading a 100k applet is not going to want an 8 meg library to go with it!
While I'm looking through those pages (I hadn't really gotten to the filesize of JAXM, just knew it was going to be something like that... was actually thinking on the order of a meg. I mean, what in the hell code is in there?? that looks like microsoft bloat. :sigh:) -- right, while I'm looking through those pages, something catches my eye -- jabber's XML based. I knew that at some point. Hmm. So maybe I can use THEIR metaprotocolthing. (still looking into how ugly that would be). Or do I use my own DTD? Or? Or? Or? And what do I do about parsing? Do I just go ahead and parse everything myself? Do I forget about the fullfledged ultraextensible niftiness of XML on a platter?
I just want a client/server relationship. It looks like a lot of work is going into the whole "peer to peer" business which I'm not currently interested in dealing with (it's a chat *room* -- you have to GO there... it's quite content to serve. maybe later I can think about peer to peer while keeping the "room" metaphor. Of course, that would be a complete rewrite, probably, but hey, that would be a couple years down the line again. :)
HELP!? XMSG - XML Messaging Specification
... apparently you can't browse the JAXM API online, but there is this nifty tutorial
JAXM is SOAP and SOAP is good, right? Hmm; actually the Soap part of it can be extracted out. Maybe that's all I need, and maybe that's significantly smaller? Hmm. Okay, time to read through the tutorial.
"brain.spongemode = on"