Ignite Realtime is the community site for the users and developers of Jive Software's open source Real Time Communications projects. Your involvement is helping to change the open RTC landscape.
The Ignite Realtime community is very happy and proud to announce the release of Smack 4.1.0, our open source XMPP client library. Since Smack 4.1 is not binary compatible with Smack 4.0, i.e. it is not a drop-in replacement, make sure to have a look at the "Smack 4.1 Readme and Upgrade Guide".
Smack 4.1 marks a milestone in the development history of Smack, as its obsoletes aSmack, the build environment formerly required to port Smack to Android. Starting with 4.1, Smack is able to run natively and unmodified on Android.
A further release highlight, among many others, is the support for XEP-198: Stream Management. Note that like every new big feature, Stream Management is disabled by default.
The full changelog can be found at https://www.igniterealtime.org/builds/smack/docs/4.1.0/changelog.html, the javadoc is available accessible via https://www.igniterealtime.org/builds/smack/docs/4.1.0/javadoc/ and the documentation available at https://www.igniterealtime.org/builds/smack/docs/4.1.0/documentation/
We would like to thank everyone who provided feedback, bug reports and contributed. The developers and contributors for the 4.1.0 release, since 4.0.0 are:
$ git shortlog -sn 4.0.0..4.1.0
631 Florian Schmaus
4 Vyacheslav Blinov
3 Anno van Vliet
3 Daniele Ricci
2 Georg Lukas
2 Júlio Cesar Bueno Cotta
1 Abmar Barros
1 Chris Deering
1 Christoph Fiehe
1 Gilles Cornu
1 Gligor Selimovic
1 Jae Jang
1 Luke GB
The signed tag used to upload the 4.1.0 artifacts to Maven Central points to 4bb8aea2815ceaab4224d1e2c3d80ba70c1f3803. As always, Smack 4.1.0 is available via Maven Central.
Now go ahead and implement a open source XMPP client with Smack. Be it for Android or one of the many platforms supported by Java. But even more importantly, provide feedback and help to improve Smack. We try our best to make Smack one of the best, stable and reliable open source libraries for XMPP, but it's far from being perfect. Join #smack (freenode) and discuss with us how Smack could be improved.
The Ignite Realtime community is participating, as part of the XMPP Standards Foundation (XSF) GSOC organization, in this year's Google Summer of Code. Besides various Openfire projects, there are two Smack related ones:
All XMPP project ideas can be found at the XSF wiki: Summer of Code 2015 - XMPP WIKI
Furthermore we are proud to announce the availability of Smack 4.1.0-rc3, which should fix the last outstanding issues with Stream Management (XEP-198).
Also the first alpha version of Smack 4.2 has been released. Smack 4.2.0-alpha1 is basically Smack 4.1.0-rc3 with two major modifications that introduce the first big API changes in Smack 4.2:
We just released (a)Smack 4.0.7. This is a bugfix only release.
It was found that the passed "hostname" argument to the configured HostnameVerifier in Smack 4.0 was server controllable, which could allow a malicious attacker to circumvention hostname verification. Hostname verification is disabled by default in Smack 4.0, but enabled by default in Smack 4.1. The faulty code was long ago removed in the Smack 4.1 branch, so most Smack 4.1 (pre-)releases are not affected.
As a reminder: The second release candidate of Smack 4.1 is available. Consider updating when possible, but please refer to the Smack 4.1 Readme and Upgrade Guide · igniterealtime/Smack Wiki · GitHub first.
The Ignite Realtime community is happy to announce the first release candidate of the upcoming Smack version 4.1. Smack is an open source XMPP client library written in Java with multi-runtime support. It can be used with Java SE and Android runtimes. If you haven't done already now is the ideal time to grab Smack 4.1.0-rc1 and try it out. A '4.1' branch has been created, that will track the further development of Smack 4.1. The API of Smack 4.1 is now officially stable and will not change in an incompatible way between further 4.1 releases.
One of the reasons I got involved with building real-time web based communication applications with messaging, audio and video audio was because it was a stepping stone on my journey to find the holy grail of cooperative real-time web applications. These are web applications can be used in an N:N model (each user can simultaneously interact with all the other users). These type of applications are closer to real-life and are not restricted by the limitations of technology. As humans, we achieve a lot more when we work in teams and as a community . Now, thanks to the excellent work of the active Jitsi and retired Mozilla Labs teams, I have enabled the Openfire Meetings Collaboration API, a platform to explore real-time collaboration.
Openfire Meetings is an Openfire plugin that combines JItsi Meet, Jitsi Videobridge and TogetherJS to create a web-based platform with unified mutli-user communications (presence, messaging, audio and video) from which real-time collaborative web applications can be developed.
As each meeting participant can see and hear each other and share digital content in real time, we now have a working environment very close to real-life interaction. As a starting point, I have added the following demo/sample applications. The real power is when proper business applications are used, enabling tasks to be completed cooperatively by a team working together in real-time and not in a queue or by tag-teaming as we currently do today with email, social software and most web based business applications.
This is the simplest type of application that can be developed. It is a web site that enables joint navigation by all participants in the meeting. It is using the TogetherJS engine to track and show the multiple cursors and administer remote mouse clicks on each page. In the screen-shot above, I am co-browsing the ignite real-time web site which is not completely co-browse friendly as JIve SBS (for security reasons) does not permit it's pages to be loaded in an iframe. Consequently, the community link click does not work.
This is a modified version of "woot", a rich-text collaborative editor by kroky. There are tons of stuff on this subject matter. Just look up "google wave". Etherpad is the most popular and mature implementation so far. I found this presentation very informative especially explaining operational transformation and why woot (without operational transformation) is simpler.
This is the TogetherJS drawing sample application. Openfire Meetings automatically saves the contents of each application for each meeting on the server as XMPP private data against each user that creates the content. Next time you have the meeting, the drawing or rich text pad opens at where you left it from the last meeting.
Scrum-Board for Post-It Notes
This an adaptation of Ali Asaria's scrumblr application. It is a very visually appealing application with real-time animation and reminds me of my previous life as a multi-user virtual reality applications developer with VRML.
I have promised to explain in detail how to use Openfire Meetings and over the coming months I plan to post a few more blogs on this and how to use the collaboration api for those who may be interested in taking this journey with me.