<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 25 Apr 2012, at 17:36, Sergey Dobrov wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>On 04/25/2012 11:11 PM, Theo Cushion wrote:<br><blockquote type="cite">That looks interesting.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Have you got a demo of habahaba anywhere?<br></blockquote><br>Sure: <a href="http://habahaba.im/">http://habahaba.im/</a><br></div></blockquote><div><br></div><div>Cool! Can't believe I completely missed this project</div><br><blockquote type="cite"><div>Actually, this is just a Jappix fork with some extra features. You can<br>take a small description of the project here: <a href="http://jawiki.ru/Eng:HabaHaba">http://jawiki.ru/Eng:HabaHaba</a><br><br>For the moment, habahaba doesn't actually use jslix, it mostly inherits<br>jappix code. (except of server side part which was rewritten in python<br>and uses twilix).<br><br>I started to write jslix because I want to implement jingle in habahaba<br>using webrtc protocol (for now there's only voice support using Flash<br>and without jslix and written by another developer).<br></div></blockquote><div><br></div><div>WebRTC is looking very promising.</div><br><blockquote type="cite"><div>Unfortunately, I realized that existent libraries are too bad to write<br>fast and flexible things (moreover, they are written in bad js, both<br>jsjac and strophe, so my aim is to get rid from them but for now jslix<br>needs them as a transport layer) so I decided to write the same thing<br>I've already done for python and twilix: some simplified XML schema in<br>declarative style which will be used to parse, build and validate XML. I<br>have also dispatcher which can handle queries and catch exceptions and<br>represent XMPP errors as language level exceptions. It most interesting<br>in python because it has a generators support, so the work with XMPP<br>became too easy just as work with synchronous protocols:<br><br>query = SomeQuery()<br>iq = Iq(to='somenode@someserver', type_='get')<br>iq.link(query)<br>try:<br>    result = yield dispatcher.send(iq)<br>except FeatureNotImplementedException:<br>    alert('Client does not support this feature')<br>else:<br>    print result.some_result<br><br>twilix has some problems which need some refactoring because but it's<br>almost useful, I have several services written and working on that.<br></div></blockquote><br></div><div>Keep me posted! On the Ruby side of things I'm working on <a href="https://github.com/theozaurus/jubjub">https://github.com/theozaurus/jubjub</a> which gives a neat API for generating the XML stanzas. I like the API, but it's blocking.</div></body></html>