Spark 2.6.3

Spark is an Open Source, cross-platform IM client optimized for businesses and organizations. It features built-in support for group chat, telephony integration, and strong security. It also offers a great end-user experience with features like in-line spell checking, group chat room bookmarks, and tabbed conversations.

Combined with the Openfire server, Spark is the easiest and best alternative to using un-secure public IM networks.

Download Spark 2.6.3 Latest build: July 1, 2011

Spark 2.6.3

Latest Blog Entries
Dele Olajide

Jitsi Videobridge Plugin for Openfire ver 1.3.0

The Igniterealtime community and is proud to release the Jitsi Videobridge plugin for Openfire version 1.3.0 with Openfire 3.9.2. The new version has the latest code from the Jitsi project, fixes a number of issues and implements some requests made from the community


New Features

  • New layout and improvements to user experience of ofmeet and jitmeet.
  • Username and password protection for the web conferencing applications (ofmeet, jitmeet and candy)
  • Support for audio only participants (no webcam).
  • Conferencing recording for audio and video separately. Each conference has a single audio recording and a video recording for each participant. Video recording is only available for Windows. Support for video recording on other platforms will be available on a later release.
  • Telephone users can join or be invited to the conference as audio only participants
  • PDF Presentations can be shared and driven by the presenter.

Fixes, Improvements

  • Ofmeet and jitmeet are now auto-configured. Install plugin, restart openfire and go to app home page. You can even use an IP address. Removed config.js. It auto-detects the websockets plugin and uses it when available.
  • Screenshare has been improved. Publish.js is no more needed for ofmeet and jitmeet
  • Improved the plugin admin web page.


Known issues

  • The candy web application has not been touched. It should still work, but could have issues.
  • There is an experimental fastpath with video application which uses candy for the agent and some javascript you can add to your web site. Not tested and could have issues.
  • There are no user or admin guides. There are also no tutorials or "how to use" videos or blogs. There is a good document by bakko to get most users started, but needs an update.

How to use

Make sure:

  • you are using Google Chrome as your web browser
  • you have a webcam or at least a sound device installed and ready for use for each user
  • you have opened ports 50000 - 60000 (or whatever you configured) on your openfire server

To run the ofmeet video conference application, point your browser at https://your_server:7443/jitsi/apps/ofmeet


To run the Candy web application with multi-user video, point your browser at https://your_server:7443/jitsi/apps/candy


To download the Spark plugin, point your browser at https://your_server:7443/jitsi/apps/spark/jitsivideobridge-plugin.jar


To run the jitmeet video conference application, point your browser at https://your_server:7443/jitsi/apps/jitmeet

You will need Google Chrome as your default browser to use the Spark plugin



Although jitmeet (Jitsi Meet) and ofmeet (Openfire Meetings) look similar, they are different underneath and are heading in different directions.

Jitsi Meet is for generic XMPP servers and aimed at public internet facing conferencing using services like and while Openfire Meetings is for private in-house conferencing where all collaboration applications are integrated into Openfire. For example, Ofmeet uses a PDF viewer which supports in-house corporate powerpoint presentations, while Jitmeet uses


All the source code is now out there on GitHub. Go to and and start to making improvements

Tags: spark , openfire , fastpath , sip , candy , jitsi , ofmeet , colibri , jitmeet , videobridge 31
Dele Olajide

Jappix plugin for Openfire with WebRTC audio/video

A new version of the Jappix plugin for Openfire is available with support for WebRTC restored back. It only supports Chrome version 26+ and is compatible with the WebRTC plugin for Spark. It uses The Openfire JingleNodes plugin for media relaying via Openfire server when WebRTC peers can connect directly with each other.


Video Chat


Group Video Chat


How to use

Click on the webcam icon to share video in an active chat/groupchat.


With chats, the other party receives a prompt to share their audio/video.


Groupchat does not prompt and auto shares audio and video with all participants.

Tags: spark , video , openfire , audio , jappix , webrtc 31
Dele Olajide

A video plugin for Spark using WebRTC

For those following the use of Openfire for audio and video communication, The Jitsi project released very recently, the VideoBridge plugin for Openfire. If you use Jitsi with Openfire, you find it very useful for creating both audio and video conferences with multiple people.  I am hoping someone will try and make a Spark plugin for it


In the meantime, I did a quick experiment to see if I could convert the Redfire plugin for Spark to use WebRTC instead of RTMP/RTMFP



Guess what!!. It worked


It works the same way as the Redfire plugin for Spark. Click on the webrtc button to share audio and video with the person you are chatting with. On the other side, that person will receive a prompt to accept or reject the offer.



So here it is attached, if you want to play with it. It does not depend on any Openfire plugin, but will use the JingleNodes plugin if available to relay WebRTC audio/video media when a direct connection cannot be made between two Spark clients..


It needs Google Chrome version 26+ running on the client desktop as the default browser. It supports Google Chrome frame for Internet Explorer. The source code is in there as well. When Firexfox WebRTC support becomes stable, I will probably add support for that too.


*** UPDATE ***

I finally got multi-user video conferencing working in group chat like Redfire. Please note that there is no prompt. Each participant MUST click on the webrtc button to join the video conference and the plugin ensures a webrtc peer-connection is made between each and every participant. This should be done after everyone joins the groupchat.


If a new person enters the room and wishes to join the video-conference, each participant should close their browser windows and click on the webrtc button again.

Tags: spark , video , openfire , webrtc 18
Dele Olajide

A new Jingle voice chat plugin for Spark

I recently started a project called jitsi-jingle primarily to add Jingle support to an audio-conferencing engine I was developing. It was also an opportunity to provide a replacement for the outdated smack jingle extension library (smackx-jingle) using the Jingle implementation of the active Jitsi project. This however turned out to be more challenging than it sounded as the OSGI dependecies in Jitsi and the internal abstraction model to support multiple protocols like SIP and XMPP made the code extraction difficult. There is a soon to be released libjitsi which should make the task easier, but I am running out of valuable time (I do this stuff in my spare time), so I had to choose another option for my immediate first release.


Fortunately, there are alternatives. I had used phono from on the inspired-social project. It has a Java applet which first started life as the IAX applet and is now the backbone to the phono java library. It has an excellent media engine and even supports Jingle internally, but from Javascript. I on the other hand, needed a simple Java Jingle library.


Enter mini-jingle from Thiago Rocha, the original developer of smackx-jingle (while he was at Jivesoftware) and the architect of Jingle Nodes. Project mini-jingle is a simple, but working Jingle implementation minus the media engine which makes it a very good fit with phono-java-audio. By adding support for basic raw RTP UDP packets, the standard PCMU (ulaw) voice codec and the Openfire jingle-nodes plugin, I now have a working Jingle library for Smack that should work most of the time either directly peer to peer or via a Jingle nodes media relay plugin for Openfire. There will always be the exception cases of where UDP packets are completely blocked by a firewall.


In order to test the library and put into practical use, I created a Spark plugin for it as a replacement for the old outdated Jingle plugin for simple voice calls between Spark users. When it is used with the Candy plugin for Openfire, it offers Spark users, group and private audio-conferencing from MUCs with Candy web clients as well. Just click on the telephone icon in the chat room toolbar.


If you intend to use it, pick it up from here and remember to delete the old jingle plugin in both the Spark folder and User data folders. Both won't work at the same time

Tags: spark , openfire , conference , jingle , audio , candy 33
Walter Ebeling

Spark 2.7.0 beta 1

Dear Community,


after some more weeks of testing, debugging and developing, we would like to ask for your support and publish the first beta of Spark 2.7.0. Ultimately, we would like to move Spark to Java 7, but that is currently not implemented via the installers. This will change in January after an update to the lastest version von Install4j provided by ej-Technologies.


You can find the nightly build for Windows here: l4j


About Java 7: Spark 2.7.0 will run with Java 7. Please interchange the bundled JRE (located at Spark-install-folder\JRE) against a Java 7 JRE or use the installer named spark_2_6_3_12555_online.exe and install Java 7 as default on Windows. Using Java 7 will stop Spark from stealing the focus, when a new message is received.


Important Note: Oracle has introduced a bug in Java 1.6.0 u 25-27 that prevents Spark from closing automatically during the log-off on the Windows plattform. This is not Spark related. This affects all users that install the Spark version without an included JRE.


About file transfer: Spark 2.7.0 beta 1 is fixing an big bug with file transfer. Spark 2.6.x has an programmatic error that was making IBB file transfer very unstable. Tim Jentz deserves a big credit for finding this after weeks of debugging. Great job Tim!!!

Spark 2.7.0 will also move to a standard implementation for IBB file transfer. As a result of moving to the standard IBB implementation, you may have issues with transfer between Spark 2.7.0 and Spark 2.5.8 on IBB. This is an unavoidable result of obeying the standard. IBB is the fall back implementation, if Bytestream is not an option. Hence IBB is not the regular transfer method as it is much slower than Bytestream.


About plugins: There were large scale changes in the way Spark is dealing internally with plugins/extensions. All Plugin developers are kindly ask to review, if their plugins are still working. This applies also to Fastpath. Feedback regarding issues with this are highly appreciated.


About GUI: The Spark developers are only supporting JTattoo Luna. There are several reports that other skins are not working properly. This applies especially to Substance. If you are experiencing any GUI bug, please check if JTattoo Luna is also having this issue and report it.

As a general statement, I would urge all professional users to use the customizing options of Spark to get rid of Substance in corporate environments. The dev team may ultimately decide to remove Substance for 2.7x in a future release.


About Mac and Windows7 64 bit: The next Mac release is NOT secured. We are looking for a developer who can provide a Mac beta release. The integration to Windows7 64 bit is ok, but the flashing notification in the tray may or may not work. A tester and developer (MS C++ Code)  for this is also needed.


The change log for this beta is:


SPARK-1465     Checkboxes appear bigger then normal since the jtattoo update

SPARK-1464     When user accepts group chat invitation, status is always online

SPARK-1460     No group context menu on a right click

SPARK-1459     Update to the latest JTattoo version (Nov 2011)

SPARK-1452     If conferences tab is hidden, then Fastpath tab is hidden also

SPARK-1451     Vcard popup is not always showing up on mouse hover

SPARK-1450     When network connection is lost, chat window cannot be closed

SPARK-1449     UNC Path does not link to folder

SPARK-1445     Selecting 'Start a chat' in a group chat room opens an incomplete chat window

SPARK-1444     Subscription dialog shows the id value instead of the nickname

SPARK-1443     Privacy plugins cannot be accessed if we log into Spark through the IP address of the server

SPARK-1465     Checkboxes appear bigger then normal since the jtattoo update

SPARK-1464     When user accepts group chat invitation, status is always online

SPARK-1460     No group context menu on a right click

SPARK-1459     Update to the latest JTattoo version (Nov 2011)

SPARK-1452     If conferences tab is hidden, then Fastpath tab is hidden also

SPARK-1451     Vcard popup is not always showing up on mouse hover

SPARK-1450     When network connection is lost, chat window cannot be closed

SPARK-1449     UNC Path does not link to folder

SPARK-1445     Selecting 'Start a chat' in a group chat room opens an incomplete chat window

SPARK-1444     Subscription dialog shows the id value instead of the nickname

SPARK-1443     Privacy plugins cannot be accessed if we log into Spark through the IP address of the server

SPARK-1442 uses hardcoded value "Spark IM Client" for version name

SPARK-1441     ContactItem in shared group - right click popup menu performs copy when move is selected

SPARK-1440     Bug in that can break smack communication

SPARK-1439     Plugins are loaded in random order - plugins with no dependency has to be loaded first

SPARK-1438     Avatars are not scaled in user login/logout notification dialog

SPARK-1437     Bug in PrivacyManager that can break smack communication

SPARK-1429     Update French translation

SPARK-1427     Default Appearance/Colors cannot be overwritten through plugin;Group-Chat colors are hard-coded

SPARK-1423     typo error in

SPARK-1422     persist vcard may throw file not found exception when jid is empty

SPARK-1421     Application version and application name are hardcoded

SPARK-1420     The messages in the set status message window is not getting deleted

SPARK-1419     Chat room configuration shows wrong roles for which presence is broadcast

SPARK-1418     Update simplified Chinese translation

SPARK-1414     Chat window is not flashing when receiving new message on Windows 7 64 bit

SPARK-1413     Update build.xml to check for Java 7

SPARK-1411     Sometimes file transfer indication is not updated on the receiving side

SPARK-1408     Remove "#" character next to Accounts button on the login screen

SPARK-1405     Improved last activity recognition

SPARK-1403     Enhance ability to extend core classes like ContactItem, ContactGroup, etc through plugin

SPARK-1400     Update to latest version Exe4J

SPARK-1381     Group Chat - Actions/Start a conference menu: propose bookmarked room (if any) instead of adhoc (random) room name

SPARK-1379     Support for XEP-0147

SPARK-1326     Make tabs position optional: TOP or BOTTOM; make search input appearance optional

SPARK-1324     SparkToaster showing avatars in real size

SPARK-1313     Enhance ability to overwrite spark properties values through plugin

SPARK-1215     Log out doesn't log out, it shuts down spark

SPARK-891       Typing notifications would be easier to see if also displayed near typing area


The beta release also includes a new Smack library that is based on Smack 3.2.1 plus the following bugfixes:


SMACK-362      smack throw NoSuchElementException if the muc#roominfo_subject has no values

SMACK-354      Provide milliseconds in timestamp colum debugwindow

SMACK-353      Thread leak in the FaultTolerantNegotiator

SMACK-350      Bytestream is not working in Spark 2.6.3 from XP to W7

SMACK-349      Smack's IBB sends too much data in a packet

SMACK-348      Documentation error - broken link

SMACK-346      Bug in return code for rejection handling in FileTransferManager

SMACK-343      Make Smack jar an OSGi bundle.

SMACK-338      IBB filetransfer doesn't work as expected

SMACK-336      There is an empty element in a SASL response

SMACK-335      Need to set file size and name for outgoing file transfer from input stream

SMACK-324      Investigate SASL issue with jabberd2 servers

SMACK-322      NPE in XMPPConnection

SMACK-263      Set file info in all send* methods


Expect a second beta in the first quarter 2012 that will include the latest final release of Smack


Please report issues in the Developer Forum

Tags: planetjabber , spark , smack , beta , 2.7.0 29

winsrev winsrev Constantly moaning, raving and getting stressed, then writing mysterious code that only works with the magic of Spark.

Latest Build 2.6.3
Downloads 5,358,442
License Open Source Apache
Platforms Windows, Linux,
Unix, Mac OS X

Screen Capture Screen Capture

See more...