I hope everyone is excited about the new year, and to celebrate, I've got a present for everyone - Strophe.js 1.0 has finally been released! You can find it on the Strophe site.
This code is the result of much labor and love over the last four years, and I'd like to share the history of its origins.
Back in 2005, Chesspark was still just getting underway. We had been busy working on the backend code as well as a desktop client for Windows. Gmail had been release just a year earlier, and Google maps was just six months old or so. People were just getting excited about AJAX, but it was still early days.
I was extremely inspired by the demo, and I started to imagine a web-based Chesspark client. I started reading anything I could get my hands on related to AJAX or DHTML. At some point I stumbled across the young XMPP HTTP binding specification.
I hacked all weekend and turned my wife's chess board demo into a working XMPP game prototype. These were the first lines of the Strophe.js library. The prototype was so promising, we completely pivoted Chesspark to be web focused and launched a web-based, real-time, multi-player gaming service based on XMPP in October of 2006.
After the launch, I told several people about Strophe, and the code was available if you knew were to look for it. It took me almost three years before I had time to re-factor, modularize, and prepare the code for a real release. In June of 2008, I announced this Strophe.js preview.
Since then, it has been a wild ride. Here I am over four years later, and my little weekend prototype has grown into quite a library, if I do say so myself. I hope you enjoy Strophe.js.
Thanks to all of you who helped me along the way, contributed code, bugs, or advice, or used Strophe in your own projects. Special thanks to my wife, Kim, who unknowingly started it all.
Also, don't forget that Strophe.js now also has a book,a Professional XMPP Programming! There are two full chapters available for free that should help you get started to making your own real-time XMPP applications.