what is spark specifically used for?
Spark is a client side program which is used to connect to a server side program. In other words, Openfire is the instant messaging server and Spark is the instant messaging client, though you can use Spark to connect to other server programs (like Jabberd, ejabberd, etc.)
P.S. advertisements are not tolerated in these forums.