Presentation about XMPP4R ruby gem, which was taken during the Kerala Ruby User Group Meetup.
The idea was to invite more developers into the project maintenance and development.
2. XMPP
â Exchange Message and Presence Protocol used in
communications
â Its a collection of standards that specify how a near
real time communication system can be build
â Its an open standard
â Popular companies that provide xmpp services are
google, facebook, microsoft, AOL, CISCO (they
own Jabber Inc.)
3. â Thus you can use it to build network and cross
network chat system
â You can use it to build a notification system for your
site, which is accessible even outside your site.
â You can use it to build twitter :)
4. My experience with XMPP
One day a client of ours asked us, can we
build a chat system for his CRM.
â I said yes, it sounds simple. I can build one
using web sockets.
5. Then he asked âcan you build it using Jabber so that
I can add my clients directly into it rather than make
them register againâ.
â Jabber. Hmm, I have never used them, but I have
heard about them. It might be possible, but let me do
a bit of research and get back to you.
7. â There is Jabber4R
â Last released August 14, 2005
â There is XMPP4r
â Last released July 15, 2009
â Bunch of gems that implemented parts of the
protocol were rubybosh, bosh4r, etc but not the
entire protocol
â Well what I wanted was BOSH as well.
8. I asked other Ruby Developers how they
worked with jabber, and there response
was like....
10. â Better not use jabber its hard to work with.
â Almost all responded. We used, xmpp4r, but it
doesn't work much any more. So we hacked what
we wanted.
â Not a complete solution, we just used what we could
get.
11. Well hearing all this I decide to build a solution, of
our own. (Reinvent the wheel)
12. â But as I started it made me realize
I have this problem, people before me had this
problem and people after will continue to have
these problems.
Why not fix it for everyone!!!.
13. History of XMPP4R
â Initial release was in early 2005
â It implemented the standard, and did nothing more
than what the standard demanded
â Despite being unmaintained, all the things it did do.
It did them well.
â Original author: Lucas Nussbaum
14. So what we did?
â Started to update xmpp4r.
â Got in touch with Lucas, who transferred the
ownership of the gem at rubygems to me
â Created a new website
â updated the readme and documentation
â Started looking around at various forks of xmpp4r.
â Every forked tried to fix one part of the system
â Those we felt were good fixes, we asked them to
send a pull request
â Asked them if they could help updating the original
gem :)
15. RoadMap XMPP4R
â Update the test Spec (Make Travis Green)
â Update the gem to work well with ruby 1.9 and 2.0
â Initial support for ruby 2.1 (not a priority)
â Update the examples
Expected release of the next major release by, End of October, 2013
16. Point of the presentation?
â So the idea I which to share is, rather than releasing
new gems, restarting old un-maintained projects is
also a form of contribution to opensource so:
â Take up old unmaintained open source projects
â Because in opensource no projects are really dead.
â And if are interested, fork and start contributing to
xmpp4r :)