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.
The Ignite Realtime community has released Spark 2.7.0 for general availability and it can be downloaded from Ignite Realtime: Downloads (Note: there are no working Mac OS X installer as our current build environment has no working setup for Mac, also Spark has lots of issues on the current Mac OS versions and the community has no active Mac OS developers willing to step in).
This release is a mandatory one to use with the recently released Openfire 3.10.0. As 2.6.3 version has issues connecting to the new server version. Though there is a not recommended workaround to revert to using Old SSL setting, which is less secure than TLS. The community strongly advises to upgrade to 2.7.0 version. Even if you are not planning to update to 3.10.0 release of Openfire yet. Spark hasn't seen a release in almost 3 years, but it was constantly evolving. Many fixes and improvements have been applied to the code since the last release. Some users have it deployed in the production environment for years and find it more stable than 2.6.3 version (as myself with 200+ user base).
We are sad that currently Spark has no Project Lead and there are no active contributors to this project. So, fixes and new features may not come up quickly. We hope open source community will embrace and improve this project in the future. You can start sharing your patches on the GitHub. If you find new issues, you can report them in the forums and we will at least file them in the bug tracker for the future developers to tackle.
Here's a list of some important fixes/changes:
[SPARK-1074] Sending part doesnt get a notification about the transfer cancellation - Jive Software Open Source
[SPARK-1362] No confirmation on the sender's part that the file transfer completed - Jive Software Open Source
[SPARK-1397] Fix the displaying of system tray icons - Jive Software Open Source (minor one, but not for such a picky person as i am, Spark icon now looks much nicer)
[SPARK-1414] Chat window is not flashing when receiving new message on Windows 7 64 bit - Jive Software Open Source
[SPARK-1525] Update smack - Jive Software Open Source (huge update for Spark and this is probably the cause why 2.6.3 can't connect to newer Openfire as it uses older Smack library)
[SPARK-1524] Spark is not reconnecting automatically after connection loss - Jive Software Open Source
[SPARK-1546] Spark visually shows that a message is not sent - Jive Software Open Source (one of the most annoying bugs in 2.6.3)
Also the Conversation history dialog has been completely reworked and should load faster and should be easier to navigate. Java has been updated to the recent 1.7.0 version, which should fix issues with some timezones. There are also numerous memory leak fixes. You can find the full changelog here: Spark Changelog
There are also some open issues. Like the still broken voice chat module. One of the past Spark maintainers cstux has started a work on fixing this, but it is moving slowly. File transfers may not work between 2.6.3 and 2.7.0 versions because of many changes to this functionality in 2.7.0. This is a somewhat frightening list of open issues (though many are minor) Spark - Jive Software Open Source So, again, we encourage Java developers to move this project forward.
Here are sha1sums for the downloads:
The Igniterealtime community and Jitsi.org 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
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 prezi.org and etherpad.org 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 prezi.org.
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.
Group Video Chat
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.
For those following the use of Openfire for audio and video communication, The Jitsi project released very recently, the. 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.
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.
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