Published on by Devin Reams
Jabber wanted to offer their customers a set of rich, client-side only libraries that would easily allow XMPP insertion on websites. Crowd Favorite and Jabber collaboratively defined the feature-set for the first release to include: tabbed one-to-one chat, group chat, and push notification. Since Jabber is a local Denver-based client we were able to have weekly status meetings in person over the span of about three months.
As a software company ourselves, it can be hard for us to reach outside for expertise, but when we found Crowd Favorite, we jumped at the chance to get some of the best web talent available working on our JabberWerx AJAX libraries. Crowd Favorite understood our complex requirements and built out a toolkit that our web developer customers are finding both simple and enjoyable to use. I would definitely work with Crowd Favorite again.
— Joe Hildebrand, CTO, Jabber
Style is art, and less is more
Instead of simply providing some default styling for the libraries, we needed to allow for flexibility. By creating a CSS-driven theme system we made sure that the libraries would allow for easy customization. We also created a set of complimentary icons to represent the presence of users (offline, away, etc.).
Notification library means real ‘push’ functionality
Most of us think of XMPP/Jabber as a chat protocol, and it does that very well (as anyone using GTalk can attest to); but it’s also got a very interesting place in the web 2.0 space as a real time data push channel. Using push instead of pull/poll can dramatically reduce server loads, and also gives you new data faster.
Tabbed and group chat
We built bits that allow for tabbed one-to-one chat and group chat. What’s that mean? It depends on your imagination but we’re thinking that companies can build customer support into their site and social networks (or blogs) will be able to easily integrate chatting.
Libraries are not web applications
Building libraries and building applications are two very different things. With applications you need to make functionality available to your end users. With libraries, you need to build robust and complete solutions that will be used in ways you probably haven’t thought of yet; abstraction and building small, distinct components is key. It’s a fun and different challenge.