[JDEV] ANN: Smack -- Open Source Java Jabber library

Iain Shigeoka iain.shigeoka at messaginglogic.com
Fri Jan 10 17:11:45 CST 2003

On 1/10/03 12:01, "Matt Tucker" <matt at jivesoftware.com> wrote:

>> Is XML Parsing built in?
> We use the XPP3 pull parser (http://www.xmlpull.org). Pull parsers are great
> for this type of application since the XML is streaming. It's also the
> fastest parser available and the JAR for it is small at 45K. That JAR will
> be embedded in the Smack, so yes, XML parsing will be "built-in".

In addition, you can go with the minimal build of XPP with some minor tweaks
to the source of Smack. The tweaks involve removing the XmlPull
compatibility and XmlPull API. This gets the XPP jar down to 23k. Notice
that this will require tweaks to Smack.

Another alternative is to swap in another XmlPull compliant parser (see the
list at www.xmlpull.org). The Enhydra project has one called kbxml which is
designed to run on J2ME systems. The jar I believe is in the teens of kb.
It's a bit slower than XPP but gives you smaller jar size and J2ME
compatibility. Smack is not designed to be J2ME compatible although it
probably wouldn't be difficult to tweak the source to make it so (it's not
inherently J2SE if I recall other than the use of Socket and some collection
classes which isn't guaranteed on J2ME configs).

> The total JAR file (Smack classes plus XML parser) should weigh in at less
> than 100K. The size of Smack will likely grow slowly over time as additional
> features such as SASL and end-to-end encryption are added, but the focus
> will always be on having a compact API.

Yes, a compact API is the main focus. But as with all open source, hopefully
people will help to address more problems than the original inventor's
focus. For example, we are interested in small jar size for applet usage but
not really thinking about J2ME although that's a place where this library
could really be useful...


More information about the JDev mailing list