<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-27702549</id><updated>2011-08-17T05:05:36.939+02:00</updated><category term='Geo Location'/><category term='Digital reputation'/><category term='Jingle'/><category term='Presence'/><category term='Digital identity'/><category term='Addressing'/><category term='SIP'/><category term='IPBX'/><category term='XMPP'/><category term='Social network'/><category term='Session signaling'/><category term='Instant messaging'/><category term='Phone system'/><category term='Publish Subscribe'/><category term='Conversation space'/><category term='VOIP'/><category term='Call control'/><title type='text'>antecipate</title><subtitle type='html'>anything real-time communication architecture...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://antecipate.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default?start-index=101&amp;max-results=100'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>111</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-27702549.post-6822015993576264288</id><published>2006-12-16T10:22:00.000+01:00</published><updated>2006-12-16T10:27:46.787+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Basic instincts</title><content type='html'>&lt;p&gt;What an interesting statement issued &lt;a title="Live Services" href="http://blog.jabber.com/filaments/2006/12/15/live-services/" target="_blank"&gt;here&lt;/a&gt; after yet another superficial interpretation of the well known and long identified dual model for IT applications distribution.&lt;/p&gt;&lt;blockquote&gt;At present, there is no one company covering these issues comprehensively. Microsoft must build scalable presence, Google must build trust. At Jabber, Inc. we're watching this looming battle with the inherent interest of an &lt;strong&gt;arms dealer&lt;/strong&gt;.&lt;/blockquote&gt;&lt;p&gt;The author is by the way Jabber Inc's public relations person. The actual issues referred to in the post are&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The inherent need for a high trust level that must come associated with any application service provider.&lt;/li&gt;&lt;li&gt;The scalability of the distribution system's architecture to support the service.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I somewhat agree that presence is called to play an increasing role in many upcoming applications, be they used in an ASP or edge model. But this is certainly not the unique constraint that one needs to consider for building a successful ASP infrastructure. Generic reliability, graceful degraded functions, high availability and self healing are just a few of the basic needs for a proper scaling architecture. Real time oriented data services will certainly also play a role. In that respect, Google probably has an edge.&lt;br /&gt;On the other front, I am not certain any of the two contenders can pretend to inspire a sufficient trust level. But, contrary to infrastructure, this is not a technical matter.&lt;/p&gt;&lt;p&gt;To conclude, although I have unfortunately observed several times that many in the PR world often associate “&lt;em&gt;public&lt;/em&gt;” with “&lt;em&gt;dummies&lt;/em&gt;”, I find rather curious to compare carrots (the illusive trust level of a corporation) and apples (the forbidden fruit of seamless scalability). More interestingly, I am wondering if the author is not falling into that category of people spending 5 months of their year's time in front of a television or a computer. Beyond the natural mental mimetism which results from trying to penetrate DoD contractors defenses and sell them presence, too much exposure to WoW, "&lt;em&gt;GI Jane&lt;/em&gt;", [&lt;em&gt;insert here any other B TV series, video game or reality show&lt;/em&gt;] is the only rational explanation I could find to why the inherent interests of this company should be those of an "&lt;em style="font-weight: bold;"&gt;arms dealer&lt;/em&gt;" when the context is "&lt;em style="font-weight: bold;"&gt;live&lt;/em&gt;" services…&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-6822015993576264288?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/6822015993576264288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/6822015993576264288'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/12/basic-instincts.html' title='Basic instincts'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-3423791030322330251</id><published>2006-12-15T10:22:00.000+01:00</published><updated>2006-12-15T11:21:54.324+01:00</updated><title type='text'>Google Mail and Talk outage</title><content type='html'>&lt;p&gt;Even Google is not king of 5 nines reliability...&lt;/p&gt;&lt;p&gt;Around 10:15 am (Central Europe time) GMail started spitting out "&lt;EM&gt;Server Error We're sorry, but Gmail is temporarily unavailable. We're currently working to fix the problem -- please try logging in to your account in a few minutes.&lt;/EM&gt;" POP access was also timing out from standard email client. At the same time logging onto GTalk would lead to contact lists in error&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;iq type="error" id="aacca" to="jlseguineau@gmail.com/psi100C6E2E"&amp;gt;&amp;lt;/iq&amp;gt;&lt;br /&gt;  &amp;lt;query xmlns="jabber:iq:roster"&amp;gt;&lt;br /&gt;    &amp;lt;error type="wait" code="500"&amp;gt;&lt;br /&gt;      &amp;lt;internal-server-error xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/&amp;gt;&lt;br /&gt;    &amp;lt;/error&amp;gt;&lt;br /&gt;  &amp;lt;/query&amp;gt;&lt;br /&gt;&amp;lt;/iq&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Around 10:30 the contact list access was re-established, and normal operations resumed on GTalk. But GMail was still unaccessible. Only towards 10:42 did it come back to a pallid life, but even at that time some function of the interface were spitting operational errors. UI functionality came back to normal around 10:45, with SMTP out re-established around 10:47, but at the time SMTP in was still not restored. In addition, the content of my "sent Mail" folder had disappeared... At 10:52 SMTP in was restored and I was able to receive some earlier test messages. Still, not all of them, as they were held back on their originating server following the outage, waiting to be retried later. At 10:57 the content of my my "sent Mail" folder re-appeared. And at around 11:02 the service was restored to its normal working state. In the end, the recovery was well orchestrated, and Google has certainly put some thought behind its procedure. Every external access was degraded gracefully, be it POP/IMAP, web UI or XMPP. Similarly, the service came back to life gradually, without spike, with different functions being restored independently. This incident brings to light some of the architectural options they took, and show how their messaging infrastructure is integrated.&lt;/p&gt;&lt;p&gt;In particular, contact lists are definitively shared between mail and instant messaging, which is why GTalk showed partial service outage when the contact list service was not operational. It also mean that Google could very easily come up with a presence enabled address book where end users could aggregate their contacts.&lt;/p&gt;&lt;p&gt;In the end, although I experienced a mere 40 minutes of inconvenience, the service was restored to its full capacity through what look like an entirely automated process. Lesson to be learned by some would be web 2.0 entrepreneurs&amp;hellip;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-3423791030322330251?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/3423791030322330251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/3423791030322330251'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/12/google-mail-and-talk-outage.html' title='Google Mail and Talk outage'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-873885102274031889</id><published>2006-12-14T17:22:00.000+01:00</published><updated>2008-11-19T02:04:00.712+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SIP'/><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Translating between otherwise incompatible networks</title><content type='html'>&lt;p&gt;This is the most common definition given of a gateway in the telecommunication context:&lt;/p&gt;&lt;blockquote&gt;A gateway is node that translates between two otherwise incompatible networks or network segments. Gateways perform code and protocol conversion to facilitate traffic between different architectures.&lt;/blockquote&gt;&lt;p&gt;On the ground of this definition, the application that IBM has built on its Websphere J2EE server for Sametime is effectively a gateway. For that exact same reason, I believe that a very substantial &lt;a title="What if IBM did this..." href="http://mikeg.typepad.com/perceptions/2006/12/what_if_ibm_did.html" target="_blank"&gt;leap of faith&lt;/a&gt; is required to envisage that it could lead to a multi-protocol presence server.&lt;br /&gt;Fom the information available, the gateway is an application build on the JSR-000116 SIP Servlet API. It is in its way following a similar architecture of what IBM tout as the Websphere Presence Server. The SIP Servlet API is an attempt at leveraging developers' knowledge of HTTP web containers and extending it to SIP. On paper this is a sensible idea. In practice it has a few drawbacks.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;First, it is entirely based on the SIP protocol, which means that applications built on top of this technology will be SIP applications. As such, the SIP servlets are designed to process SIP requests and return SIP responses.&lt;br /&gt;That somewhat restrict the scope, as each network protocol has very specific characteristics which are rarely though of as "universal". Moreover, not every presence protocol uses a request/response paradigm in the way SIP does. XMPP for example uses simple notification packets to signal modification in presence sates, without requiring these packets to be answered.&amp;nbsp; In that respect, it becomes more difficult to mold XMPP into a servlet paradigm in the way it was possible with SIP. Consequently, the advantages expected from a common programming paradigm become somewhat blurred.&lt;/li&gt;&lt;li&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_GCerry6OHyw/RYF6do6KpcI/AAAAAAAAAAk/tX4HKow9dI0/s1600-h/J2EEvsRTC.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5008418910228882882" style="FLOAT: right; MARGIN: 0pt 0pt 10px 10px; CURSOR: pointer" alt="" src="http://4.bp.blogspot.com/_GCerry6OHyw/RYF6do6KpcI/AAAAAAAAAAk/tX4HKow9dI0/s320/J2EEvsRTC.png" border="0" /&gt;&lt;/a&gt; Second, it relies on a J2EE server to run. One can argue that it is a proven robust architecture. I would simply say that J2EE servers were not invented to provide solutions to real-time communications problems, but rather to bring solution to transactional application problems in the enterprise. The table&amp;nbsp;herewith summarizes the differences between the two contexts.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;All in all, if the IBM gateway had been implemented using a more appropriate application server such as a JSR 22 JAIN SLEE API implementation, I would have been tempted to take the leap of faith. Unfortunately, this gateway architecture prohibits any use beyond bridging between SIP and other protocols. To be fair, the same inability applies to the equally &lt;a title="Federate to Standalone" href="http://blog.jabber.com/filaments/2006/12/08/this-gets-at-the-concept-of-decoupling-presence-from-any-one-application-so-that-no-application-owns-presence-but-each-uses-it-to-publish-and-subscribe-to-live-dataextended-to-an-ibm-shop-deploy-any-x/" target="_blank"&gt;shortsighted approach&lt;/a&gt; taken by Jabber Inc. A solution that only sees the world through the eyes of a particular protocol will always leave us far from what is necessary to build a multi-protocol presence server. For the simple reason presence encompasses more than just protocols&amp;hellip;&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/sip" rel="tag"&gt;SIP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-873885102274031889?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/873885102274031889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/873885102274031889'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/12/translating-between-otherwise.html' title='Translating between otherwise incompatible networks'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_GCerry6OHyw/RYF6do6KpcI/AAAAAAAAAAk/tX4HKow9dI0/s72-c/J2EEvsRTC.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-4466881863517258116</id><published>2006-12-13T17:52:00.000+01:00</published><updated>2006-12-13T17:54:26.193+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><category scheme='http://www.blogger.com/atom/ns#' term='Publish Subscribe'/><title type='text'>Ready for personal presence solutions?</title><content type='html'>&lt;p&gt;Mike Gotta &lt;a title="Windows Presence Platform?" href="http://mikeg.typepad.com/perceptions/2006/12/windows_presenc.html" target="_blank"&gt;had a dream&lt;/a&gt;: a presence aggregator service on every Windows workstation. If Microsoft could execute on this excellent idea, this would bring them back to the forefront of the individual applications scene.&lt;/p&gt;&lt;p&gt;As in most disruptive changes, the issue will certainly not come from the technology side. What Mike calls a "&lt;em&gt;headless presence client aggregator&lt;/em&gt;" is nothing more than a publish/subscribe broker where address handles are used as topics... I think that technically, it can be implemented in no time. If this service is aggregating presence information at a client level, the required processing power and memory footprint can be kept very low. A documented API would allow both applications and "&lt;em&gt;watcher&lt;/em&gt;" clients to subscribe or publish information to the common presence aggregator, ending up in a fully layered architecture that could benefit any application running on the workstation. The secret here would be to keep it simple.&lt;/p&gt;&lt;p&gt;The unknown lies in the incontrollable urge Microsoft always exhibit to "&lt;em&gt;control the world&lt;/em&gt;" when adding feature to its flagship products. For this aggregator to succeed, it would have to be open…&lt;/p&gt;&lt;ul&gt;&lt;li&gt;If this presence aggregator imposes a particular communication protocol, such as the RTC flavor of SIP/SIMPLE, then the adoption would be severely impaired. On the contrary, if the aggregator is open to other communication protocols, and provide by default both an RTC and an XMPP transport, Microsoft would be sending a very strong signal to the industry.&lt;/li&gt;&lt;li&gt;If the rivalries between different Microsoft line of products were ironed out and they agreed to use this service rather than creating their own version of a presence aggregator, they would certainly be sending a strong trust signal to their user base. And as the API would be publicly documented they would not be accused of creating an unfair advantage for themselves.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;In the end, there are many "&lt;em&gt;if&lt;/em&gt;" for a somewhat obvious and rational solution. This period of the year is always full of dreams and whishes. In this case, I am certain the model would work, but would Micosoft be rational and open?&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-4466881863517258116?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/4466881863517258116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/4466881863517258116'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/12/ready-for-personal-presence-solutions.html' title='Ready for personal presence solutions?'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-6759601622071128035</id><published>2006-12-13T14:35:00.000+01:00</published><updated>2008-11-19T02:04:01.013+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Instant messaging'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Speaking of cluetards...</title><content type='html'>&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_GCerry6OHyw/RYACAI6KpaI/AAAAAAAAAAM/hGI2_TFFOVU/s1600-h/zzzzzz7654159.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5008004987050698146" style="margin: 0px 10px 10px 0px; float: left;" alt="" src="http://1.bp.blogspot.com/_GCerry6OHyw/RYACAI6KpaI/AAAAAAAAAAM/hGI2_TFFOVU/s320/zzzzzz7654159.jpg" border="0" /&gt;&lt;/a&gt;Have you notice the drums roll and trumpeting around the latest Sametime &lt;a href="http://www.marketwire.com/mw/release_html_b1?release_id=192209" target="_blank"&gt;interoperability announcement&lt;/a&gt;? I always find it entertaining to witness how incumbents can turn a failure to respond to their customers wishes into a world saving progress without even a blush!&lt;/p&gt;&lt;p&gt;At the end of the summer of 2004, I had the opportunity to see IBM in action at a workshop held by the &lt;a title="Financial Service Instant Messaging Association" href="http://www.financialim.org/" target="_blank"&gt;Financial Service Instant Messaging Association&lt;/a&gt; on the subject of IM interoperability. FIMA had been worried very early on by the disparity of instant messaging protocols, both in the public and the enterprise IM space. So they set to give their least common denominator &lt;a title="FIMA Interoperability Definition" href="http://www.financialim.org/FIMA%20Interop%20Definition%201.0%20final.pdf" target="_blank"&gt;functional definition&lt;/a&gt; of interoperability, which when you think of it is not asking for the moon…&lt;br /&gt;At the workshop, vendor presented their views, and it all went smoothly until the chair of the &lt;a title="XMPP Standards Foundation" href="http://www.xmpp.org/" target="_blank"&gt;Jabber Software Foundation&lt;/a&gt; asked IBM why they wanted to support the still unfinished SIMPLE protocol as a federation protocol rather than XMPP which was already stable and widely used alongside Sametime in the financial industry.&lt;br /&gt;Anyone either business savvy or a little familiar with Sametime's technical architecture would have though along the same lines. From an architecture standpoint, the multiplexers, community hubs and community server applications of sametime, with their permanent TCP links, can be functionally mapped one to one with XMPP client connectors, session managers and service components. From a business perspective, federating the existing large financial industry's Sametime islands with the expanding XMPP footprint would have help IBM keep an edge against the nascent Microsoft LCS expansion.&lt;br /&gt;Instead, we were granted a flame from the IBM representative in favor of SIMPLE which was more typical of a Gorilla's behavior than a business representative:&lt;/p&gt;&lt;blockquote&gt;If challenged by a younger or even by an outsider male, a silverback [&lt;em&gt;Silverbacks are the strong, dominant troop leaders&lt;/em&gt;] will scream, beat his chest, break branches, bare his teeth, then charge forward.&lt;/blockquote&gt;&lt;p&gt;In short, SIMPLE was the way to go, and everyone not endorsing it was stupid and doomed to fail. Well, two years after, IBM announced interoperability with XMPP, which instantaneously guaranties secure and controlled communication with any XMPP server, including those at Google. They also announced interoperability with AOL, but funnily enough they do not specify what protocol they use. You maybe interested to know that AOL offers both an LCS flavor of SIMPLE and XMPP to enterprises for federation with AIM. As there is no mention of interoperability with LCS in the Sametime announcement, it would be interesting to have a clearer insight on what they IBM is using for interconnecting with AOL. As to Yahoo!, well it is always a little difficult to have anything but a fuzzy statement from these guys. Anyway, the announcement said federation between Sametime and Yahoo messenger is on the "&lt;em&gt;road map&lt;/em&gt;".&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_GCerry6OHyw/RYADSo6KpbI/AAAAAAAAAAU/ZZlt_jgSC44/s1600-h/zzzzazzdggg60.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5008006404389905842" style="margin: 0px 10px 10px 0px; float: left;" alt="" src="http://3.bp.blogspot.com/_GCerry6OHyw/RYADSo6KpbI/AAAAAAAAAAU/ZZlt_jgSC44/s320/zzzzazzdggg60.jpg" border="0" /&gt;&lt;/a&gt;Ken Camp came up with a &lt;a title="Don’t be a Cluetard" href="http://ipadventures.com/?p=1454" target="_blank"&gt;nice and illustrative contraction&lt;/a&gt; to apply to people unable to spot the appropriate answer to end-users' aspirations, cluetards…  In this case, IBM is only different from the average by the size, just a large cluetard. If I were a financial Sametime customer, I would claim compensation for having been treated this way and left longing for so many years.&lt;br /&gt;More importantly, this episode illustrates once again how large incumbent IT vendors are blind to real users' needs, when they are not in line with their core business. IBM business is in selling servers, not in providing communication between peoples. I find it amazing that a pure technical choice made by some ex-Ubique geek ended up depriving an important business community of an easy and beneficial way to conduct their business with small firms or other institutions.&lt;/p&gt;&lt;p&gt;Beyond this, Giacomo is in my opinion &lt;a title="Google and IBM pushing on Jabber: should we forget SIMPLE?" href="http://the-presence-of-presence.blogspot.com/2006/12/google-and-ibm-pushing-on-jabber-should.html" target="_blank"&gt;asking the right question&lt;/a&gt;: should we forget SIMPLE? In a perfect world, I would certainly answer positively. In the real world, it will take some time in view of the interests at stake. Having been involved in designing applications federating both protocols, I certainly have a unique perspective on the strength and weaknesses of each of them. From a technical standpoint, my only observation is that SIMPLE simply lacks the simplicity needed for a wide adoption.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Except the Microsoft LCS there is no SIMPLE based instant messaging and presence (IMP) application in service outside the telecom industry. Anybody having looked closely at the actual protocol used by LCS will agree that it's actual compliance with SIMPLE stops short after the first SERVICE packet. Microsoft has leaned the hard way that SIMPLE was not ready for IMP, and has been obliged to supplement the lack of the protocol with LCS own extensions. Such things as multi client instances, message sessions, contact lists management, preferences, multi user conferencing are notably absent from the specification and have partially been implemented by Microsoft using non-standard extensions.&lt;/li&gt;&lt;li&gt;From a user agent perspective, the closest to a "standard" SIMPLE client implementation is the Counterpath' eyebeam softphone and it XLite derivative. Their development team deserves the greatest respect for having incessantly been trying to accommodate the ever changing scope of XCAP, and the various contact lists management options that must be part of a "workable" SIMPLE solution. But while doing this, they had no time to automate the status change to "on the phone" when a SIP call was taking place…&lt;/li&gt;&lt;li&gt;From a standard stand point, those who have red the 2500 plus pages from the &lt;a title="3GPP Specifications" href="http://www.3gpp.org/specs/specs.htm" target="_blank"&gt;3GPP&lt;/a&gt; describing the use of SIMPLE for presence are well aware that, for example, list services, XCAP and a stable definition of rich PIDF are on the critical path for delivering the service as expected by the IMS architecture. XCAP is probably the most blatant example of wheel re-invention in this industry, where the oversized ego of the author is holding back an entire industry. More importantly, if one look at the SIMPLE RFCs and drafts authors, one can quickly infer that the standardization process is done by a vendor led consortium. As I have &lt;a title="An IM game of Go" href="http://antecipate.blogspot.com/2006/07/im-game-of-go.html" target="_blank"&gt;said before&lt;/a&gt;, almost every vendor led consortium has failed to impose any long lived interoperability standard on the Internet. I am afraid SIMPLE is another one of them, and it is time to realize it…&lt;/li&gt;&lt;li&gt;Finally, there is the complexity of SIMPLE. It makes it difficult to grasp by the average application developer outside those versed in "voice over…". When adding together the rather rigid framework provided by SIMPLE and the vast differences in interpretations by various implementers, it makes this protocol look "elitist" when compared to XMPP. As I mentioned above, having designed and implemented converged systems supporting those two protocols simultaneously, I can vouch that any application programmer can grasp how XMPP works; the same is not true from SIMPLE.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;As Ken &lt;a title="In a word - Simplify" href="http://www.realtime-unifiedcommunications.com/practical_pointers/2006/12/in_a_word_simplify.htm" target="_blank"&gt;put it&lt;/a&gt;, simplicity and elegance alway make winners and losers. Simplicity is unfortunately not the first quality of SIMPLE. As a result, it has not seen mainstream adoption by web application developers which are instead turning to XMPP. That said, SIMPLE will not go away easily in view of the heavy investments made by many cluetards. Unfortunately this state of affairs will help maintain the silo divide between the telecom and the internet worlds. &lt;/p&gt;&lt;p&gt;The term "&lt;em&gt;elegance&lt;/em&gt;" finds its origin in the Latin "&lt;em&gt;eligere&lt;/em&gt;" which also gave the derived term "&lt;em&gt;election&lt;/em&gt;". In fashion as in real life, elegance implies making a choice. In the Sametime case, it was between remaining &lt;strong&gt;I&lt;/strong&gt;ncredibly &lt;strong&gt;B&lt;/strong&gt;lind and &lt;strong&gt;M&lt;/strong&gt;ediocre, or working at solving real end-users pain points. You can guess what choice was made…&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/sip" rel="tag"&gt;SIP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-6759601622071128035?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/6759601622071128035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/6759601622071128035'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/12/speaking-of-cluetards.html' title='Speaking of cluetards...'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_GCerry6OHyw/RYACAI6KpaI/AAAAAAAAAAM/hGI2_TFFOVU/s72-c/zzzzzz7654159.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-3195570797787506406</id><published>2006-12-02T13:14:00.000+01:00</published><updated>2006-12-02T13:17:56.278+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><category scheme='http://www.blogger.com/atom/ns#' term='Publish Subscribe'/><category scheme='http://www.blogger.com/atom/ns#' term='Geo Location'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Maps of every country unite!</title><content type='html'>&lt;p&gt;Some time ago, I was researching XMPP presence indicators that could be embedded into a web or blog page. This is how I came across &lt;a href="http://jobble.org/map" target="_blank"&gt;Jobble&lt;/a&gt;, a Google maps and XMPP presence mashup. I knew of other similar services, such as &lt;a href="http://ralphm.net/world?language=en" target="_blank"&gt;Jabber World Map&lt;/a&gt;, &lt;a href="http://map.butterfat.net/" target="_blank"&gt;Jabber Google Map&lt;/a&gt; and &lt;a href="http://www.epigoon.com/maps/" target="_blank"&gt;Talk Maps&lt;/a&gt;. They all provide the same kind of information: a map with the presence state representation of online XMPP users. For some reason, I prefer the way the Jobble site presents the information. But it is only a matter of taste.&lt;/p&gt;&lt;p&gt;As I was toying with these different services, it appeared to me that they were used by different demographics, which were themselves geographically concentrated. For example, Jobble, which is a Polish project, has a vast majority of subscribers from north-eastern Europe. The same applies to Jabber World Map which is coming from the Netherlands. Talk Maps has a slight majority of users in Europe, but overall users are thinly spread. Curiously, north-american users don't seem to fancy this kind of service&amp;hellip;&lt;br /&gt;My second observation was that those of my contacts using these services were scattered on several separate maps. I would have liked to have them on the same map instead. This is how I thought of federating XMPP maps.&lt;/p&gt;&lt;p&gt;Putting people on a map is a way to make them feel closer, and somehow participate in a feeling of community. But when these communities do not intersect, the chances to communicate and establish new relationships remain low. I have discussed earlier why a closed community would ultimately be less sticky than an open one, and looking carefully at these services shows they somehow act as closed communities. I think that the choice of registering to a particular map service must only be governed by the features that can be derived from the user presence, and not from the presence collection itself. For example, someone may prefer the way Jabber World Map show online users when the mouse hovers above a symbol, other the traditional point and click approach of Google Maps found in Talk Maps. Furthermore, someone may want to develop a similar service using Yahoo flash based maps, to be able to add some overlays.&lt;/p&gt;&lt;p&gt;Unfortunately, the ways these services are implemented today only lead to a walled garden result. Each service is built around its own data store and does not communicate with the rest of the world. Furthermore, they only allow static geo-location mapping, leaving out mobile devices or traveling users. Thinking of it, it is not that difficult to modify these services and turn them into distributed geo-location providers. The base features I would expect of such services are summarized bellow:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Single registration and management point&lt;/strong&gt;. The options chosen for my geo-location information using a particular service may become available to other similar services without forcing me to register with each of them individually. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Static and dynamic geo-location data support&lt;/strong&gt;. I want to be able to specify either static longitude and latitude values for a fixed workstation, or have the service pick up this information dynamically from a particular client.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Privacy and information propagation control&lt;/strong&gt;. It may look strange to mention privacy amongst the expected features, as putting one's presence on a map is already revealing a lot. But I would expect the service to provide a way to control the propagation of these data outside the service through an appropriate combination of white and black lists.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Looking at possible implementation options, I believe we have to keep the current approach which exposes the service through a presence enabled bot. It has the immense advantage of being well understood by the average user. &lt;br /&gt;As a first step, the bot would need to be modified to understand the &lt;a title="Personal Eventing via Pubsub" href="http://www.xmpp.org/extensions/xep-0163.html" target="_blank"&gt;Personal Eventing&lt;/a&gt; (PEP) extension notifications. This will cater for dynamic &lt;a title="User Geolocation" href="http://www.xmpp.org/extensions/xep-0080.html" target="_blank"&gt;geo-location&lt;/a&gt; updates. As PEP implementation progress, the service will automatically get access to dynamic geo-location information as they are set on the end user device, and will be able to display it on the map along with the user's static data.&amp;nbsp; From an end user standpoint, this would also simplify the fine grain tuning of which piece of information is made available to the service directly at the PEP level.&lt;br /&gt;The bot could also be adapted to support PEP subscriptions. This would be appropriate in case the user's home server or the user profile does not allow an automatic subscription to PEP when someone subscribes to the user's presence information.&lt;br /&gt;Finally, the service itself would have to expose a &lt;a title="User Geolocation" href="http://www.xmpp.org/extensions/xep-0080.html" target="_blank"&gt;user geo-location&lt;/a&gt; node as specified by the publish/subscribe &lt;a title="Publish-Subscribe" href="http://www.xmpp.org/extensions/xep-0060.html" target="_blank"&gt;XMPP extension&lt;/a&gt;.&amp;nbsp; It would not be necessary to implement a full fledged publish/subscribe service, but rather make the service understand only the appropriate subset dealing with the http://jabber.org/protocol/geoloc namespace. Another map service interested to get geo-location information would then subscribe to this node and receive any published modification.&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;message from= "map.montague.net" to="map.capulet.com"&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;event xmlns="http://jabber.org/protocol/pubsub#event"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;items node="n48ad4fj78zn38st734"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;item id="a1s2d3f4g5h6bjeh936"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;geoloc xmlns="http://jabber.org/protocol/geoloc" xml:lang="en"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;country&amp;gt;Italy&amp;lt;/country&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;locality&amp;gt;Verona&amp;lt;/locality&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;lat&amp;gt;45.44&amp;lt;/lat&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;lon&amp;gt;10.996&amp;lt;/lon&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/geoloc&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/item&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/items&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/event&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;addresses xmlns="http://jabber.org/protocol/address"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;address type="replyto" jid="romeo@montague.net/orchard"/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/addresses&amp;gt;&lt;br /&gt;&amp;lt;/message&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Another possible approach would be to make the service itself support presence subscriptions and have the geo-location information implemented in a PEP node.&amp;nbsp; This way the relationship between two map services would be entirely presence driven, enabling added control through presence states. For example, there would not be notification toward a service which does not appear available. This is important in period of maintenance, or can be used as a way to throttle down heavy traffic. Presence would also be used to propagate end user's availability states.&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;presence from= "map.montague.net" to="map.capulet.com"&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;show&amp;gt;away&amp;lt;/show&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;addresses xmlns='http://jabber.org/protocol/address'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;address type="replyto" jid="romeo@montague.net/orchard"&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/addresses&amp;gt;&lt;br /&gt;&amp;lt;/presence&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The end result would be a distributed geo-location information aggregation that could be leveraged through a standard and open protocol. Several local aggregators could be built by geographically close communities, but see their reach extended to the Internet as a whole because of the distributed design. From an end user stand point, there is not lock in, as it is possible to choose a service on the feature set offered and move to another service implementation without being forced to use yet another address handle. The combination of service based and PEP based filters would ensure a good level of privacy control.&amp;nbsp; And in the end my presence and geo-location information as seen by Jobble will be reflected on as Jabber World Map, Jabber Google Map and Talk Maps without forcing me to add a bot in my contact list for each different service.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://technorati.com/tag/geo+location" rel="tag"&gt;Geo Location&lt;/a&gt;, &lt;a href="http://technorati.com/tag/publish+subscribe" rel="tag"&gt;Publish subscribe&lt;/a&gt;, &lt;a href="http://technorati.com/tag/social+network" rel="tag"&gt;Social network&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-3195570797787506406?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/3195570797787506406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/3195570797787506406'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/12/maps-of-every-country-unite.html' title='Maps of every country unite!'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-4183066032918407304</id><published>2006-11-30T13:51:00.000+01:00</published><updated>2006-11-30T19:23:05.017+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Instant messaging'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>The six oldest new ideas in chat…</title><content type='html'>&lt;p&gt;Since I came across &lt;a title="The Six Biggest New Ideas In Chat" href="http://www.techcrunch.com/2006/11/24/the-six-biggest-new-ideas-in-chat/" target="_blank"&gt;this post&lt;/a&gt;, I was looking for the proper illustration before coming back to it. In the end, the simplest and first impression is always the right one: &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/5397/3381/1600/159200/Cluetrain.jpg"&gt;&lt;img style="margin: 10px 10px 10px 0px; float: left;" alt="" src="http://photos1.blogger.com/x/blogger2/5397/3381/320/731183/Cluetrain.jpg" border="0" /&gt;&lt;/a&gt;this author does not have the slightest clue of what he is talking about…&lt;/p&gt;&lt;p&gt;First of all, he starts by being confused by the subtle difference between "&lt;em&gt;chat&lt;/em&gt;" and "&lt;em&gt;instant messaging&lt;/em&gt;". In effect, most of the "&lt;em&gt;exemplifying&lt;/em&gt;" services or product he mentions are doing with instant messaging, and some of them offers multi user chat facilities. But instant messaging is not really news.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Interoperability&lt;/strong&gt;. Ever since the invention of the telephone, interoperability has been &lt;span style="font-weight: bold;"&gt;the&lt;/span&gt; single requirement for any mediated communication system. In short we cannot decently consider this to be a new idea. Because of the early calcification forming into the innovative region of most corporate executives' brain, we unfortunately face a &lt;a title="Walled gardens redux" href="http://antecipate.blogspot.com/2006/10/walled-gardens-redux.html" target="_blank"&gt;walled garden&lt;/a&gt; &lt;a title="IM interoperability: it’s not an IM issue" href="http://antecipate.blogspot.com/2006/07/im-interoperability-its-not-im-issue.html" target="_blank"&gt;landscape&lt;/a&gt; for &lt;a title="An IM game of Go" href="http://antecipate.blogspot.com/2006/07/im-game-of-go.html" target="_blank"&gt;instant messaging&lt;/a&gt; (amongst &lt;a title="VoIP is a series of tubes..." href="http://antecipate.blogspot.com/2006/11/voip-is-series-of-tubes.html" target="_blank"&gt;other things&lt;/a&gt;). So suddenly discovering that "&lt;em&gt;clearly, open standards are here to stay&lt;/em&gt;" is not properly visionary. Well as they say in China, "&lt;em&gt;when the wise man point to the moon, the fool only sees the finger&lt;/em&gt;".&lt;br /&gt;As a passing remark, unless I am mistaking, Trillian, Gaim, Adium and Miranda are multi protocol instant messaging client applications, not "&lt;em&gt;services&lt;/em&gt;".&lt;/p&gt;&lt;p&gt;&lt;strong&gt;In-Browser Chat&lt;/strong&gt;. This one is misleading because of the confusion between chat and instant messaging. But a simple search on the term chat will bring back 551,000,000 results which tends to indicate that chat has been in the news for quite some time. And when you carefully look at the results, you will find that many point to in-browser chat for so called "&lt;em&gt;adults&lt;/em&gt;" services. But isn't this the oldest business in the world?&lt;br /&gt;There are a number of browser based instant messaging clients which are trying to solve the interoperability issues mentioned above. For the same reasons that lead to the ineluctable disappearance of communication silos, only those services that rely on open protocols will remain. At that point in time, the end user will have the choice of installing a standard based client application on its workstation or use the same application hosted at a provider. The debate between hosted and non-hosted application has been part of the IT landscape ever since its beginning. This is not new either.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Location Based Chat&lt;/strong&gt;. Geo location services have existed in mobile phone services since the early days of GSM. Before the web 1.0 bubble, some vendors were even touting geo location as "&lt;em&gt;killer application&lt;/em&gt;". And it is still part of several mobile application services trying to bring contextual search to road warriors.&lt;br /&gt;As I &lt;a title="Presence and going places" href="http://antecipate.blogspot.com/2006/11/presence-and-going-places.html" target="_blank"&gt;explained earlier&lt;/a&gt;, geo location can participate in bringing a sensation of "&lt;em&gt;place&lt;/em&gt;" into mediated communication. But &lt;a title="Visibility, Awareness, and Accountability" href="http://antecipate.blogspot.com/2006/11/visibility-awareness-and-accountability.html" target="_blank"&gt;initial research&lt;/a&gt; on the subject dates back to the mid nineties. It is fair to say that most of the research was concerned about "virtual reality" worlds at the time. Obviously, instant messaging was not yet considered mainstream. This simply re-enforce the length of the road leading from ideas to their applications in different domains, but this has always been the case.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Flexible Identities&lt;/strong&gt;. A quick look at &lt;a title="faceted identity != multiple personas" href="http://many.corante.com/archives/2003/10/13/faceted_identity_multiple_personas.php" target="_blank"&gt;this post&lt;/a&gt; will convince you that multiple personae have one of the longest research histories in the context of the Internet. You will also notice that there is a subtle distinction between "&lt;em&gt;multiple personae&lt;/em&gt;" and "&lt;em&gt;multiple facets&lt;/em&gt;" of &lt;a title="The Descartes identity" href="http://antecipate.blogspot.com/2006/09/descartes-identity.html" target="_blank"&gt;one's identity&lt;/a&gt;. The same as between Doctor Jekyll and Mister Hide…&lt;br /&gt;As a remark, the provided examples only implement precepts from the &lt;a title="The Palay Group" href="http://www.parlay.org/en/specifications/" target="_blank"&gt;now defunct&lt;/a&gt; Presence and Availability Management forum on how granular presence was to be used to manage communication address handles, and when thinking of it, all the call forwarding features available in a PBX were already a way to "&lt;span style="font-style: italic;"&gt;separate your private and professional faces&lt;/span&gt;". After ten years of "&lt;span style="font-style: italic;"&gt;converged communication&lt;/span&gt;" talks, applying the same principles to instant messaging should not come as a real surprise.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Contextual Chat&lt;/strong&gt;. In this case we are really talking about chat. This section presents a blurred mix of two different concepts. On one end there is the chat room client who can be embedded on different web pages, such as blog posts, and provide a fixed context for discussion. On the other end we have the "&lt;em&gt;virtual presence&lt;/em&gt;" clients as browser's add-in which will work on any web page. The &lt;a title="Virtual Presence Bibliography" href="http://www.virtual-presence.org/publications.html" target="_blank"&gt;idea&lt;/a&gt; of being instantly aware of other users reading the same web page emerged early in the history of the Web. Implementation projects &lt;a title="Virtual Presence history" href="http://www.virtual-presence.org/history.html" target="_blank"&gt;appeared in the fist half of the nineties&lt;/a&gt; with the advent of Virtual Places and other co-browsing initiatives. Ten to fifteen years on the Internet time scale are more like a century to me.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Rich Media Chat&lt;/strong&gt;. As the author puts it "&lt;em&gt;web cams and microphones have been on the web for a while&lt;/em&gt;", and it is only the commoditization of broadband network access and computing power that made "&lt;em&gt;rich media&lt;/em&gt;", read internet audio and video, accessible to the mass. Already in the early days of video-conferencing, when only ISDN and leased lines were available, several systems were offering in-band instant messaging and even document sharing. Once again the idea dates back fifteen years. As for the previous section, speaking of novelty is not appropriate. That said, the trend to combine audio to instant messaging is natural as it mimic a real world behavior. The challenge will be to provide a seamless experience moving from one medium to the other across different devices.&lt;/p&gt;&lt;p&gt;The Internet has an immense magnifying power. It even allows us to quickly search a vast knowledge repository for information that would be relevant to make a post valuable. But using a flashy title is still far easier than providing relevant content: you only need to utter six words instead of a few hundred.  Unfortunately the lazy approach based on making noise has been around since the beginning of time.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/instant+messaging" rel="tag"&gt;Instant messaging&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-4183066032918407304?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/4183066032918407304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/4183066032918407304'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/six-oldest-new-ideas-in-chat.html' title='The six oldest new ideas in chat…'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-9041469691176767922</id><published>2006-11-30T10:21:00.000+01:00</published><updated>2006-11-30T10:28:25.777+01:00</updated><title type='text'>The speech act of replying to a question</title><content type='html'>&lt;p&gt;It is somewhat interesting to note that the &lt;a href="http://www.google.com/search?hl=en&amp;amp;lr=&amp;amp;q=define%3Aanswer&amp;amp;btnG=Search" target="_blank"&gt;Google Search result&lt;/a&gt; for the definition of "&lt;EM&gt;answer&lt;/EM&gt;" gives a large majority of answers related to the legal practice. For a company so certain it can decrypt the vast complexity of human nature by using algorithms, that must the finding must have been devastating! From then on, the reaction to the stimulus was ineluctable. An automatic correlation with the recent increase of the number of legal proceedings against Google was obvious and could only lead to a single answer: &lt;a title="Google Closes Answers, A People Driven Service" href="http://battellemedia.com/archives/003134.php" target="_blank"&gt;bring down&lt;/a&gt; Google Answers&amp;hellip;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/5397/3381/1600/643525/RedneckLosers.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/x/blogger2/5397/3381/320/34597/RedneckLosers.jpg" border="0" alt="" /&gt;&lt;/a&gt;Although the announcement eulogizes the innovative nature of the service, it did not protect it from down to earth consideration: it was not making money. Many have been and &lt;a title="Does Getting Acquired by Google Means End of Innovation ?" href="http://labnol.blogspot.com/2006/11/does-getting-acquired-by-google-means.html" target="_blank"&gt;still are questioning&lt;/a&gt; the company's pretence to innovation. Google is no different than any other large incumbent, it just chose another moto: the "&lt;EM&gt;non evil&lt;/EM&gt;" company. But these are &lt;a title="Just In Case..." href="http://battellemedia.com/archives/003034.php" target="_blank"&gt;just words&lt;/a&gt;. Google is master at coercing and, as many businesses, will use its power to smooth out its way to domination. &lt;/p&gt;&lt;p&gt;More simply, Google is not about people: its business model is only to become the largest advertising agency ever. Advertising only works by flattering basic instincts, lowering critics barriers and feeding distorted and subjective information. No wonder there is no space for real human answers in this context&amp;hellip;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-9041469691176767922?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/9041469691176767922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/9041469691176767922'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/speech-act-of-replying-to-question.html' title='The speech act of replying to a question'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-1452312504470295014</id><published>2006-11-28T13:09:00.000+01:00</published><updated>2006-11-28T13:53:41.303+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Publish Subscribe'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><category scheme='http://www.blogger.com/atom/ns#' term='Social network'/><title type='text'>XMPP.fm</title><content type='html'>&lt;p&gt;The &lt;a title="XMPP rocks..." href="http://antecipate.blogspot.com/2006/11/xmpp-rocks.html" target="_blank"&gt;latest announcement&lt;/a&gt; of an XMPP based tool to support music fans communities got me thinking how easy this can be implemented by putting together the proper XEPs. Let us consider how to implement an XMPP internet music radio similar to Last.fm. Obviously we would want to put some "social" focus into it. So the scope is simple:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Broadcast music to anyone joining the service, even on a temporary basis.&lt;/li&gt;&lt;li&gt;Provide a music recommendation system.&lt;/li&gt;&lt;li&gt;Provide discussion spaces amongst listeners.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;From a protocol standpoint, the basic extensions we would need to provide this type of service are &lt;a title="Multi-User Chat" href="http://www.xmpp.org/extensions/xep-0045.html" target="_blank"&gt;MUC&lt;/a&gt; for the community part, and &lt;a title="Personal Eventing via Pubsub" href="http://www.xmpp.org/extensions/xep-0163.html" target="_blank"&gt;PEP&lt;/a&gt; for the announcement part, obviously complemented by the &lt;a title="User Tune" href="http://www.xmpp.org/extensions/xep-0118.html" target="_blank"&gt;user tune extension&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;A very straightforward implementation route would be to create a presence enabled service to which any users could subscribe. The service will expose a number of "&lt;em&gt;stations&lt;/em&gt;" implemented as MUC rooms corresponding to musical subjects of interest for the en users. So you may have rooms such as acoustic, alternative, ambiance, classical, dance, dark, experimental, folk, funk, groove, hip-hop, instrumental, jazz, lounge, metal, pop, punk, rap, reggae, rock, ska, techno, world, [add your own genre here]… To add the required "&lt;em&gt;social&lt;/em&gt;" trend, one can imagine a system where users are able to tag and rate the music pieces and rooms are automatically created and added from these user preferences.&lt;/p&gt;&lt;div style="clear: both;"&gt;&lt;/div&gt;&lt;div style="margin: 10px; background: white none repeat scroll 0% 50%; font-size: 20px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; float: right; width: 150px; line-height: 24px; text-align: right; opacity: 0.75;"&gt;&lt;small&gt;…kind of a lite &lt;/small&gt;&lt;strong&gt;social network&lt;/strong&gt;&lt;small&gt; system, featuring &lt;/small&gt;&lt;strong&gt;chat&lt;/strong&gt;&lt;small&gt; and &lt;/small&gt;&lt;strong&gt;commenting &lt;/strong&gt;throughout…&lt;/div&gt;&lt;p&gt;The service "&lt;em&gt;identity&lt;/em&gt;" is provided through some kind of DJ bot. End users subscribe to the presence of the bot, and are also automatically subscribed to the bot's personal eventing notifications. The bot also request to be subscribed to the user's tune events. Whenever a user come online, then it will receive &lt;a title="User Tune" href="http://www.xmpp.org/extensions/xep-0118.html" target="_blank"&gt;XEP-0118&lt;/a&gt; notifications from the bot describing what is currently playing in each active room. Obviously each notification will be augmented to include the URI of the corresponding room, to allow creating a "&lt;em&gt;stations&lt;/em&gt;" list for the user to choose from.&lt;/p&gt;&lt;p&gt;Tuning to a station boils down to joining the associated MUC room, providing instant conversation between music lovers with similar tastes. These MUC room are augmented to allow direct presence subscription in the case end users prefer to tune directly to specific musical genre. Every "&lt;em&gt;station&lt;/em&gt;" has its own DJ bot to which participants in the room can make suggestion as to the next piece of music to be broadcasted. The DJ bot is also in charge of notifying the room participants of the currently playing piece. It does it by simply posting notification to the room and relies on the standard MUC mechanisms to take over the distribution. This has the advantage of having the "&lt;em&gt;station&lt;/em&gt;" past program automatically handled through the room history. The notification will be extended with the information about the physical connection URI in order to enable listening to the current track using the user’s workstation features.&lt;/p&gt;&lt;p&gt;Scrobbling tracks is directly available when the user set's its own user tune state. The notification is sent to the service DJ bot for collection and update of the appropriate statistics.&lt;/p&gt;Additional “social” features could be implemented at each “station” level through the appropriate use of &lt;a title="User Mood" href="http://www.xmpp.org/extensions/xep-0107.html" target="_blank"&gt;mood&lt;/a&gt; and &lt;a title="User Activity" href="http://www.xmpp.org/extensions/xep-0108.html" target="_blank"&gt;activity&lt;/a&gt; publications and notifications. If participants are also able to publish their current room information through &lt;a title="User Chatting" href="http://www.xmpp.org/extensions/xep-0194.html" target="_blank"&gt;XEP-0194&lt;/a&gt;, the service could be enriched to provide what Wikipedia describes as:&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;The most-used community feature within Last.fm is the formation of user groups between users with something in common (for example, membership of another internet forum). Last.fm will generate a group profile similar to the users' profiles, showing an amalgamated set of data and charting the group's overall tastes.&lt;/blockquote&gt;&lt;p&gt;I have &lt;a title="One of the cool things" href="http://antecipate.blogspot.com/2006/09/one-of-cool-things.html" target="_blank"&gt;already mentioned&lt;/a&gt; the lack of interest by the web 2.0 crowd in leveraging XMPP killer features. As one can see from the above quick jotting down, many of the puzzle pieces are readily available. In addition, they can be used from standard XMPP clients supporting MUC and PEP, which will be mainstream this year end. Those wanting to add all the bells and whistle of a multimedia UI can do so by building a &lt;a title="Flash fat belly" href="http://antecipate.blogspot.com/2006/09/flash-fat-belly.html" target="_blank"&gt;flash based client&lt;/a&gt; with embedded audio and video players, and they will be ready to compete in the Media 2.0 broadcasting space without much technology investment. XMPP has reached a stage where a large number of applications can be built from its existing features set. It is still just a matter of imagination and &lt;a title="how to be creative" href="http://www.gapingvoid.com/Moveable_Type/archives/000932.html" target="_blank"&gt;creativity&lt;/a&gt;…&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/chat" rel="tag"&gt;Chat&lt;/a&gt;, &lt;a href="http://technorati.com/tag/flash" rel="tag"&gt;Flash&lt;/a&gt;, &lt;a href="http://technorati.com/tag/publish+subscribe" rel="tag"&gt;Publish subscribe&lt;/a&gt;, &lt;a href="http://technorati.com/tag/social+network" rel="tag"&gt;Social network&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-1452312504470295014?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/1452312504470295014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/1452312504470295014'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/xmppfm.html' title='XMPP.fm'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-5338013371593090156</id><published>2006-11-28T01:36:00.000+01:00</published><updated>2006-11-28T01:45:53.344+01:00</updated><title type='text'>XMPP rocks...</title><content type='html'>&lt;p&gt;I used to smile when &lt;a title="one small voice" href="http://www.saint-andre.com/blog/" target="_blank"&gt;Peter&lt;/a&gt; was writing this kind of phrase, but this time &lt;a title="http://news.naikmichel.com/2006/11/27/virtual-ticket-media-player-for-rock-band-websites/" href="http://news.naikmichel.com/2006/11/27/virtual-ticket-media-player-for-rock-band-websites/" target="_blank"&gt;it is real&lt;/a&gt; ... &lt;/p&gt;&lt;blockquote&gt;“The Virtual Ticket Media Player Chat Room is written and operated under Extensible Messaging and Presence Protocol (XMPP) standards. This means that other users will be able to use their existing messaging software (Trillian, GTalk, etc…) to connect, authenticate, and log in to the Artist’s chatroom. Currently, the built-in Virtual Ticket Media Player chat interface is the only public way to enter the Artist’s chatroom though support for other clients is planned.”&lt;/blockquote&gt;A great example of what can be achieved by combining &lt;a title="Multi-User Chat" href="http://www.xmpp.org/extensions/xep-0045.html" target="_blank"&gt;MUC&lt;/a&gt; and multimedia&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-5338013371593090156?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/5338013371593090156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/5338013371593090156'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/xmpp-rocks.html' title='XMPP rocks...'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-7272163877819713063</id><published>2006-11-27T18:59:00.000+01:00</published><updated>2006-11-27T19:19:16.155+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><category scheme='http://www.blogger.com/atom/ns#' term='Conversation space'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Sensing activities in MUC</title><content type='html'>&lt;p&gt;I have &lt;a title="Presence and going places" href="http://antecipate.blogspot.com/2006/11/presence-and-going-places.html" target="_blank"&gt;discussed before&lt;/a&gt; why conversation spaces are not places themselves, but rather for people to make places in them. In physical places as well as virtual ones, adaptation and appropriation of the associated technology by users is a critical element in the emergence of a sense of place and appropriate behavior. In short, the sense of place cannot be inherent in the system itself.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/5397/3381/1600/317569/SocialProxy1.png"&gt;&lt;img style="margin: 0px 10px 10px 0px; float: left;" alt="" src="http://photos1.blogger.com/x/blogger2/5397/3381/320/853532/SocialProxy1.png" border="0" /&gt;&lt;/a&gt;Within a place, social navigation is navigation through information collections on the basis of information derived from the activity of others. In the real world, we act where we are. We talk to people around us, because voices can only be heard at a short distance; we get closer to things to view them clearly. Understanding proximity helps us relate people to activities and to each other. When we see a group gathered around a meeting table, we understand something about this peoples' activity, and we know that another person standing off to one side is likely to be less involved.&lt;/p&gt;&lt;p&gt;Just like in real life, place aware presence systems should allow users to move to areas where others are clustered, to join the crowd and see what's going on. Since actions and interactions fall off with distance, so distance can be used to partition activities and the extent of interaction. I have described &lt;a title="Visibility, Awareness, and Accountability" href="http://antecipate.blogspot.com/2006/11/visibility-awareness-and-accountability.html" target="_blank"&gt;here&lt;/a&gt; how the use of "&lt;em&gt;social proxies&lt;/em&gt;" can be used as abstract artifact to induce additional social information. Amongst the "social proxies" that have been studied, I find the Bable experiments particularly interesting as it could be applied to multi user conversations, such as the &lt;a title="Multi-User Chat" href="http://www.xmpp.org/extensions/xep-0045.html" target="_blank"&gt;MUC&lt;/a&gt; rooms available on many XMPP servers. The proxy's role is to provide cues about the presence and activity of participants in the current conversation. It is graphically represented by two concentric circles similar to the drawing herewith. The outer circle symbolizes the conversation room border, the inner circle the conversation subject. Every participant is represented by a colored dot. The way it works is that participants in a particular room are shown within the proxy outer circle. People in other rooms are positioned outside the circle. When people are active in the conversation, meaning they either "&lt;em&gt;talk&lt;/em&gt;" or "&lt;em&gt;listen&lt;/em&gt;", then their dots move towards the inner circle, and then gradually drift back out to the edge when their activity decreases. What is interesting is the way test users have reported their experience of using this type of proxy:&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;…our users report the social proxy is engaging and informative. They speak of seeing who is "&lt;em&gt;in the room&lt;/em&gt;," noticing a crowd "&lt;em&gt;gathering&lt;/em&gt;" or "&lt;em&gt;dispersing&lt;/em&gt;," and seeing that people are "&lt;em&gt;paying attention&lt;/em&gt;" to what they say (when other dots move into the center of the proxy after they post).&lt;/blockquote&gt;On the practical implementation side, XMPP provides a number of extensions that can be put to use to enhance existing MUC implementations to support this type of social proxy. Beyond the specificity of the social proxy, the expected enhancement falls under what I have been writing about as presence feedback.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a title="Chat State Notifications" href="http://www.xmpp.org/extensions/xep-0085.html" target="_blank"&gt;XEP-0085&lt;/a&gt; associated with message stanzas moving averages over time calculated at the MUC room level could provide sensible indications about the "&lt;em&gt;talking&lt;/em&gt;" activity of every participant. A "&lt;em&gt;listening&lt;/em&gt;" activity indication could be derived from the automatic presence status generated by the client.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="Personal Eventing via Pubsub" href="http://www.xmpp.org/extensions/xep-0163.html" target="_blank"&gt;XEP-0163&lt;/a&gt; could be used at the MUC room level to notify the MUC clients of each participant's dots relative position changes to be displayed on the client interface. If we limit the proxy geometry to a Cartesian representation, we could easily derive an appropriate format for the associated data similar to the &lt;a title="User Geolocation" href="http://www.xmpp.org/extensions/xep-0080.html" target="_blank"&gt;Geo Location XEP&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Other MUC rooms' global activity could also be provided to further accentuate the overall places context. Obviously, the notion of proximity could also be put to use to induce the notion of semantically related room discussion contexts.&lt;/li&gt;&lt;/ul&gt;In the end, I believe it is not overly difficult to assemble all these XMPP extensions together in a MUC implementation and, as a result, give a better sense of other people's presence and the ongoing awareness of activity into the conversation space. All in all it would be an interesting step toward better structuring our activity in the rooms, and better integrating communication and collaboration.&lt;p&gt;&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/conversation+space" rel="tag"&gt;Conversation space&lt;/a&gt;, &lt;a href="http://technorati.com/tag/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-7272163877819713063?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/7272163877819713063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/7272163877819713063'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/sensing-activities-in-muc.html' title='Sensing activities in MUC'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-1170995182764308478</id><published>2006-11-26T19:30:00.000+01:00</published><updated>2006-11-27T13:12:30.037+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><category scheme='http://www.blogger.com/atom/ns#' term='Conversation space'/><category scheme='http://www.blogger.com/atom/ns#' term='Instant messaging'/><category scheme='http://www.blogger.com/atom/ns#' term='Social network'/><title type='text'>Visibility, Awareness, and Accountability</title><content type='html'>&lt;p&gt;I have &lt;a title="Presence and going places" href="http://antecipate.blogspot.com/2006/11/presence-and-going-places.html" target="_blank"&gt;already presented&lt;/a&gt; the concept of "&lt;em&gt;social translucence&lt;/em&gt;" while discussing the benefit of adding "&lt;em&gt;place&lt;/em&gt;" based information to presence for a better regulation of mediated communications. A "&lt;em&gt;socially translucent&lt;/em&gt;" system enhances two important dimensions of communications. First, by making social information visible it enables participants to be aware of what is happening, and to be held accountable for their actions as a consequence of public knowledge of that awareness. Second, the fact that the real world is translucent to social information, and that people have a sophisticated understanding of the consequences of the visibility of their social interactions helps structuring interactions in a mediated communication. &lt;/p&gt;&lt;p&gt;While the "&lt;em&gt;social translucence&lt;/em&gt;" perspective is unique, it is not the only concept to be concerned with making the activities of communication systems' users visible to others. Since ten years, a considerable research work has been targeted at video-mediated communication (Finn et al., 1997), and has led to the concept of "&lt;em&gt;awareness&lt;/em&gt;". A number of researchers have constructed systems attempting in various ways to provide cues about the presence and activity of their users (Benford et al., 1994). These researches have highlighted three design approaches to representing social cues in a digital system: the realist, the mimetic, and the abstract. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;The realist approach tries to project social information from the physical domain into or through the digital domain. This work is exemplified in teleconferencing systems and media space research.&lt;/li&gt;&lt;li&gt;The mimetic approach tries to reproduce social cues from the real world as literally as possible in the digital domain. The mimetic approach is exemplified by graphical games and virtual reality systems. It uses virtual environments and avatars to mimic the real world.&lt;/li&gt;&lt;li&gt;The abstract approach involves portraying social information in ways that are not closely tied to their physical analogs. It could uses abstract sonic cues to indicate social activity, or abstract visual representations. This approach also includes the use of text or simple graphics to convey social information.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Large deployment and adoption of systems based on the realist or mimetic approaches have faced substantial pragmatic hurdles, such as their cost, the required infrastructure, and the constraints of users support. On the other hand, I believe that the abstract approach has not received sufficient attention, particularly with respect to graphical representations. Text and simple graphics have many powerful characteristics: they are easy to produce and manipulate; they persist over time, leaving interpretable traces; and they enable the use of technologies such as search and visualization engines. In this last category we find "&lt;em&gt;social proxies&lt;/em&gt;" such as those depicted &lt;a title="IBM research Social Computing Group" href="http://www.research.ibm.com/SocialComputing/SCGdesign.html" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;blockquote&gt;A social proxy is an abstract dynamic graphical representation that portrays socially salient information about the presence and activities of a group of people participating in an online interaction. It is one technique for providing online, multi-user systems with some of the cues so prevalent in the face to face world. Social proxies are intended to be visible to all those portrayed in them, thus providing a common ground from which users can draw inferences about other individuals, or the about the group as a whole.&lt;/blockquote&gt;&lt;p&gt;Typically, a social proxy shows participants in a particular "&lt;em&gt;place&lt;/em&gt;", as well as some of their activities in that "&lt;em&gt;place&lt;/em&gt;". The choice of which aspects of activity are visible, and which remain private, depend on the particular context. Social proxies have four basic characteristics:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;A social proxy typically consists of two components: a large geometric shape with an inside and an outside that represent the online "&lt;em&gt;place&lt;/em&gt;", and much smaller shapes positioned relative to the larger shape that represent participants.&lt;/li&gt;&lt;li&gt;The presence and activities of participants in an online "&lt;em&gt;place&lt;/em&gt;" are represented by the location and movement of the smaller shapes relative to the larger one. The relationships and movements of the visual elements have a metaphoric correspondence to the position and movement of peoples in a similar face-to-face situation.&lt;/li&gt;&lt;li&gt;Social proxies are public representations, and everyone looking at a social proxy for a given "&lt;em&gt;place&lt;/em&gt;" sees the same thing. It is not possible for participants to customize their views of a social proxy. This is important because I know that if I see something in the social proxy all other participants can see it as well. This is what supports mutual awareness and accountability.&lt;/li&gt;&lt;li&gt;Social proxies are represented from a third-person perspective. Looking at a social proxy, every participant sees itself represented in it in the same way other participants are represented. This enables learning. A participant can see how its actions are reflected in its personal representation, and thus begin to make inferences about the activities of others.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The shared nature of a “&lt;em&gt;social proxy&lt;/em&gt;” is critical. The knowledge that activity depicted in the social proxy is visible to all participants makes it “&lt;em&gt;public&lt;/em&gt;”, and transforms it into a resource for the paticipants. It is this visibility that supports people accountability for their actions, and underlies the social phenomena, such as feelings of obligation, peer pressure, and imitation, that enable coherence in groups interactions.&lt;/p&gt;&lt;p&gt;On the Internet we are socially blind, and our attempts to communicate are often awkward. Even when others are clearly present, as in a chat room or on a conference call, it is difficult to see who is present, who is paying attention, or who wishes to speak. Things that require little effort in real world "&lt;em&gt;places&lt;/em&gt;", such as taking turns when speaking; noticing when someone has a question; seeing who is responding to whom, require a lot of effort in online "&lt;em&gt;places&lt;/em&gt;", when they at all are possible. I think introducing "&lt;em&gt;social proxies&lt;/em&gt;" in widely used presence enabled applications, such as IM or VoIP clients, would allow us to progress on the way of a better sensitivity to the actions and interactions of those around us in virtual "&lt;em&gt;places&lt;/em&gt;".&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/conversation+space" rel="tag"&gt;Conversation space&lt;/a&gt;, &lt;a href="http://technorati.com/tag/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://technorati.com/tag/instant+messaging" rel="tag"&gt;Instant messaging&lt;/a&gt;, &lt;a href="http://technorati.com/tag/social+network" rel="tag"&gt;Social network&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-1170995182764308478?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/1170995182764308478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/1170995182764308478'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/visibility-awareness-and-accountability.html' title='Visibility, Awareness, and Accountability'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-2649814557281110119</id><published>2006-11-26T01:11:00.000+01:00</published><updated>2006-11-27T13:14:55.346+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><category scheme='http://www.blogger.com/atom/ns#' term='Conversation space'/><category scheme='http://www.blogger.com/atom/ns#' term='Instant messaging'/><category scheme='http://www.blogger.com/atom/ns#' term='Social network'/><title type='text'>Presence and going places</title><content type='html'>&lt;p&gt;Mike Gotta has jotted down &lt;a title="Presence: Thinking Way Beyond The Buddy List" href="http://mikeg.typepad.com/perceptions/2006/11/presence_thinki.html" target="_blank"&gt;a series of notes&lt;/a&gt; about his trend of thoughts regarding presence technologies. In my opinion, his segmenting of the subject strongly reflects the constraints of an analyst work, but he nevertheless brings up many interesting points. I like in particular the way he widens up the scope of the reflection beyond current implementations&lt;/p&gt;&lt;blockquote&gt;... food for thought and for consideration as to how some of these items relate to assumptions currently made around presence systems. How many assumptions based on instant messaging, IP telephony and so on will get in the way of a more expansive view of presence?&lt;/blockquote&gt;&lt;p&gt;From his points, I would like to focus on presence relations to "&lt;em&gt;location&lt;/em&gt;", "&lt;em&gt;environment&lt;/em&gt;", "&lt;em&gt;activity&lt;/em&gt;" and "&lt;em&gt;role&lt;/em&gt;", what is often refered to as parts of a context. In that respect, because of their strong relationship to the physical reality, the use of spatial metaphors and spatial organization to model context have been favored by many mediated communication and collaboration systems. I believe this approach does not properly capture the complexity of real human social interactions. In real life, we are located in "&lt;em&gt;space&lt;/em&gt;", but we act in "&lt;em&gt;places&lt;/em&gt;". If the structure of a world is spatial, by comparison a “&lt;em&gt;place&lt;/em&gt;” is a space invested with social meaning, such as behavioral appropriateness or cultural expectations. Furthermore "&lt;em&gt;places&lt;/em&gt;" are valued "&lt;em&gt;spaces&lt;/em&gt;". The distinction is like between house and home: a house is where we shelter, but a home is where we live. In order to get contextualy closer to the complexity of social communications, integrating “&lt;em&gt;place&lt;/em&gt;” based information would greatly improve presence technologies.&lt;/p&gt;&lt;p&gt;Presence technologies make applications &lt;em&gt;augments&lt;/em&gt; physical reality rather than &lt;em&gt;replaces&lt;/em&gt; physical reality. Current implementations fall short in adapting to the vast variety of social communications contexts any human being is experiencing in real life. For example, the nature of relations and interactions with one's friends and family differs significantly from the nature of relations and interactions in the workplace. Even these simple differences are only superficially addressed by today's presence enabled applications. As a matter of illustration, we can cite:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The way of establishing trusted presence relations scales poorly. To establish individual full trust between 10 persons, 10×9/2=45 bilateral agreements need to be established. Trust groups would scale much better and be easier to manage.&lt;/li&gt;&lt;li&gt;The availability status does not provide much added value. Many community systems provide a list of who is on to the community website, using a group-based trust model where presence information not only indicates "&lt;em&gt;who is online&lt;/em&gt;" but also "&lt;em&gt;who is here&lt;/em&gt;". This model may work well when using a community’s website as primary shared resource. However, many groups and communities in workplaces often use a variety of shared resources. In such cases, for example when co-workers are always online at the same time, more detailed presence information than just online/offline status is needed.&lt;/li&gt;&lt;li&gt;The trust model is very crude. Either one establishes a trust relation and can always observe other's presence information, or one does not establish a trust relation, in which case one can never other's presence information and cannot engage in conversations. This might not be problematic when dealing with friends and family, with whom you expect to resolve unwanted interruptions easily. It becomes a problem when dealing with a larger set of co-workers in a multi-project environment.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Presence technologies need to be augmented to provide information not only about people but also about “&lt;em&gt;places&lt;/em&gt;”. Unlike what is currently offered in IM and VoIP applications, more advanced presence mechanisms must allow exchange of information only with a certain subset of people, not always but sometimes only, depending on real-time context information that can be derived from the virtual or real “&lt;em&gt;places&lt;/em&gt;” people visit. Today, ordinary presence systems only give answers about person oriented questions:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Who is online, or is this person online?&lt;/li&gt;&lt;li&gt;What is this person doing?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Advanced presence systems will have to provide answers and notifications about “&lt;em&gt;place&lt;/em&gt;” oriented questions, such as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Who is here? &lt;/li&gt;&lt;li&gt;Who is near?&lt;/li&gt;&lt;li&gt;Where is that person?&lt;/li&gt;&lt;li&gt;What is that person doing there?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;It happens these questions can be answered by combining different scoped attributes of presence infomation, including the trust relation between parties, their real or virtual locations, activities at these locations and presence and awareness scopes. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Trust scope&lt;/strong&gt;. Some presence systems allow anyone who has access to a presence server to see presence information of others, other systems are more restrictive. The establishment of trust is distinguished by four model aspects:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Opt-in / opt-out / managed: In an opt-in trust model, others can only see presence information if you explicitly give them permission. In an opt-out model, others can see presence information, unless you explicitly denied them permission. In a managed model, a third party instead of the users determines who can see presence information.&lt;/li&gt;&lt;li&gt;Individual / group: In a individual trust model, each person rights to presence information are managed separately. In a group trust model, rights to see presence information are managed for an entire group.&lt;/li&gt;&lt;li&gt;Reciprocal / non-reciprocal: In a reciprocal trust model, if A has the rights to presence information of B, then B also have the rights to the presence information of A. In a non-reciprocal trust model, this may not be the case.&lt;/li&gt;&lt;li&gt;Permanent / blockable / contextual: In a permanent trust model, presence information is available as long as the rights to do so exist. In a blockable trust model, presence information can temporarily be denied. If the rights to presence information are based on location or place the trust model is contextual. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Location scope and virtual distance&lt;/strong&gt;. When users browse the web, edit files from a shared storage, or read or post in blogs, they are present at a "&lt;span style="font-style: italic;"&gt;location&lt;/span&gt;" in cyberspace. That said, many characteristics of physical space, such as being aware of someone's presence, and being able to initiate contact and communicate with that person, do not necessarily exists in the cyberspace.&lt;br /&gt;Location information is expressed by coordinates, but in cyberspace unlike in the real world, users can be at multiple coordinates simultaneously. Place-based presence systems need to answer the question "&lt;span style="font-style: italic;"&gt;Who is near?&lt;/span&gt;", have to calculate virtual distance between these coordinates. Virtual distance is then used to determine who can and who cannot be seen. To calculate virtual distance, presence location coordinates need to be laid out in a space, such as topology, virtual world or any directed graph. In place-based presence systems, location information constitutes a primary form of presence information. Not only the fact that someone is online somewhere in cyberspace, but also which resource that person is accessing provides presence information that can be made available to trusted parties.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Presence scope&lt;/strong&gt;. A presence scope specifies the maximum virtual distance at which a trusted party can watch presence information. One may use multiple presence scopes, e.g., "&lt;span style="font-style: italic;"&gt;people on the same website can see me, but cannot see the page I am on&lt;/span&gt;" and "&lt;span style="font-style: italic;"&gt;people on the same web page can see if I am focusing on that page&lt;/span&gt;".&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Awareness Scope&lt;/strong&gt;. An awareness scope specifies the maximum virtual distance at which a user wants to get notified of presence information of trusting parties. One may use multiple awareness scopes, e.g., "&lt;span style="font-style: italic;"&gt;are there people with me on the same web page?&lt;/span&gt;" and "&lt;span style="font-style: italic;"&gt;are people with me on the same web page focusing on the page?&lt;/span&gt;".&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Activity scope&lt;/strong&gt;. What a user is doing at a location is also presence information. For example, in addition to browsing a web page, this may involve whether the user is actually focusing on this page or not , whether the user is editing this page or not.&lt;/p&gt;&lt;p&gt;Ultimately, by relaying “&lt;em&gt;place&lt;/em&gt;” based information, presence technologies will enable three important building blocks of social interaction-- visibility, awareness, and accountability-and thus become "&lt;em&gt;socially translucent&lt;/em&gt;" systems. We can illustrate a "&lt;em&gt;socially translucent&lt;/em&gt;" system by the following example. Consider a door with a design problem, which is likely to slam into anyone about to enter from the other direction when opened quickly. An attempt to fix this problem would be to place a "&lt;em&gt;Please open slowly&lt;/em&gt;" sign on the door. As one might guess, the sign is not a particularly effective solution. But we could also put a glass window in the door. As people approach the door they see whether anyone is on the other side and, if so, they modulate their actions appropriately. The sign is no longer required. While this solution works, it is useful to examine the reasons for the effectiveness of the glass window:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Firstly, the glass window makes visible socially significant information. As humans, we notice and react to movement and human faces and figures more quickly than we notice and interpret a printed sign.&lt;/li&gt;&lt;li&gt;Secondly, the glass window supports awareness. One does not open the door quickly because one knows that someone is on the other side. Our social rules come into play to govern our actions, as we have been raised not to slam doors into other people.&lt;/li&gt;&lt;li&gt;Lastly, there is another subtler reason. Even if one does not care about hurting others, one will nevertheless open the door slowly because one knows that the other knows that one knows it is there, and therefore one will be held accountable for its actions. While awareness and accountability usually occur together in the physical world, they do not necessarily in a virtual context. It is through such individual feelings of accountability that norms, rules, and customs become effective social control mechanisms.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Note that "&lt;em&gt;social translucence&lt;/em&gt;" is not only about acting according to social rules, but more about facilitating different types of communication and collaboration. Using presence information it is today possible to observe that another party is likely to be available for communication. In return for giving up some privacy, the other party expects to be contacted at suitable moments, can screen incoming messages, can plausibly deny being present by not responding or responding later, or simply by initiating the conversation at a time of its choosing. With "&lt;em&gt;socially translucent&lt;/em&gt;" presence technologies it becomes easier for users to have coherent discussions, to observe and imitate others' actions, to engage in peer pressure, to create, notice, and conform to social conventions.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/conversation+space" rel="tag"&gt;Conversation space&lt;/a&gt;, &lt;a href="http://technorati.com/tag/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://technorati.com/tag/instant+messaging" rel="tag"&gt;Instant messaging&lt;/a&gt;, &lt;a href="http://technorati.com/tag/social+network" rel="tag"&gt;Social network&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-2649814557281110119?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/2649814557281110119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/2649814557281110119'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/presence-and-going-places.html' title='Presence and going places'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-8520646803376082006</id><published>2006-11-22T17:13:00.000+01:00</published><updated>2006-11-27T13:17:15.257+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IPBX'/><category scheme='http://www.blogger.com/atom/ns#' term='Jingle'/><category scheme='http://www.blogger.com/atom/ns#' term='Phone system'/><category scheme='http://www.blogger.com/atom/ns#' term='Call control'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Jingling call control</title><content type='html'>&lt;p&gt;Third party call control is what makes applications such as "&lt;em&gt;click-to-call&lt;/em&gt;" possible. Although I will not qualify "&lt;em&gt;click-to-call&lt;/em&gt;" of killer application, its potential in traditional commerce or support applications is undeniable. In essence, third party call control is a must have when the communication sessions are managed by just more than individuals.&lt;/p&gt;&lt;p&gt;Although until recently third party call control was the guarded property of large telecom vendors, a &lt;a title="Introducing M-Networks" href="http://www.realtime-unifiedcommunications.com/market_news_and_trends/2006/11/introducing_mnetworks.htm" target="_blank"&gt;new breed&lt;/a&gt; of &lt;a  href="http://www.m-networks.net/news/M-Networks_Releases_Call_Control_Software.html" target="_blank"&gt;call control gateway&lt;/a&gt; has made its appearance. These devices bridge Microsoft's LCS world with the open source world of Asterisk, and provide a way for the Office communicator client to control the open source IPBX:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Use Office Communicator as a soft-phone to place calls, deflect calls, forward calls through Asterisk.&lt;/li&gt;&lt;li&gt;Receive incoming call notifications, see who is calling and reroute to an alternate number.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Obviously I do not feel this kind of device important because of what they do for the Microsoft closed products, but rather because they do it through the use of a standard protocol. Office Communicator has a built in support for the &lt;a href="http://www.ecma-international.org/activities/Communications/TG11/CSTAoverview.pdf" target="_blank"&gt;ECMA-323 standard&lt;/a&gt;, which is also known as CSTA XML. CSTA in its binary disguise has been around telecom vendor's equipment for a while. But I am ready to bet that its XML version will gain more and more traction as it allows a much easier and quicker integration between communication equipments and business applications.&lt;/p&gt;&lt;p&gt;In the context of Jingle, supporting different forms of call control is mandatory if the protocol is to see adoption beyond the narrow context of peer-to-peer direct communications. And I believe that looking to integrate CSTA XML and Jingle is the way to go.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jingle" rel="tag"&gt;Jingle&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/call+control" rel="tag"&gt;Call control&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/ipbx" rel="tag"&gt;IPBX&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/phone+system" rel="tag"&gt;Phone system&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-8520646803376082006?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/8520646803376082006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/8520646803376082006'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/jingling-call-control.html' title='Jingling call control'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-2718910697657070508</id><published>2006-11-22T15:59:00.000+01:00</published><updated>2006-11-27T13:21:30.324+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><category scheme='http://www.blogger.com/atom/ns#' term='Conversation space'/><title type='text'>Down with the phone number tyranny</title><content type='html'>&lt;p&gt;Martin Geddes is the last amongst a long line of heroes before him to have a whack at &lt;a title="Death of the phone company" href="http://www.telco2.net/blog/2006/11/death_of_the_phone_company.html" target="_blank"&gt;killing the phone company&lt;/a&gt;. The phone company is like the fabulous Hydra of Lerna. For each of its head heads that is decapitated, another one or even two more spring forth. In addition, like the Hydra beast which is half snake, the phone company has a very long tail…&lt;/p&gt;Besides the underlying saga, this post also join in the growing chorus advocating what Ken Camp &lt;a title="The importance of presence in unified communications" href="http://www.realtime-unifiedcommunications.com/unified_communications/2006/11/the_importance_of_presence_in.htm" target="_blank"&gt;summarize&lt;/a&gt; as&lt;br /&gt;&lt;blockquote&gt;… presence and availability, or context, or whatever they become as facets of our digital identity and persona will be a huge piece of the evolution of unified communications.&lt;/blockquote&gt;Martin speaks of context as a driver for communication. I would say that context is &lt;strong&gt;the&lt;/strong&gt; only driver of communication. We never communicate outside of a context, and whatever media we use must be able to take the context into account. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger2/5397/3381/1600/how%27s%20your%20strategic%20vision.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger2/5397/3381/320/how%27s%20your%20strategic%20vision.jpg" alt="" border="0" /&gt;&lt;/a&gt;But this has nothing to do with the technical context Martin describes. His context is just the mere legacy of the antiquated operating systems and user interface in use today. The context driving the communication is a temporal cross reference intersecting several social groups and encompassing one or several spatial environments. The post is interesting as it goes on trying to develop on concepts tightly related to presence technologies.&lt;br /&gt;&lt;p&gt;I like the way he describes how Outlook may look like if it were "&lt;em&gt;socially&lt;/em&gt;" enabled, but I don't think he has grasped the full spread of presence technologies in upcoming communication systems. Describing an "&lt;em&gt;address book&lt;/em&gt;" the way he does shows he simply did not take into account that the actual communication context is in effect part of one's own presence.  So tomorrow's "&lt;em&gt;address book&lt;/em&gt;" should only show what is relevant in this context.&lt;br /&gt;There is another point where the post slightly misses the target. Or maybe this is a matter of wording. When talking of "&lt;em&gt;collaborative&lt;/em&gt;" I am more inclined to use it in regards to inter-individuals collaboration, whereas Martin seems to emphasize the inter-applications collaboration. Beyond this semantic digression, I have &lt;a title="Non verbal presence" href="http://antecipate.blogspot.com/2006/11/non-verbal-presence.html" target="_blank"&gt;previously&lt;/a&gt; &lt;a title="Morphing conversation UI"  href="http://antecipate.blogspot.com/2006/11/morphing-conversation-ui.html" target="_blank"&gt;described&lt;/a&gt; my frustration in front of current user interfaces, and this has since been further developed by Giacomo Vacca when he also deplores the &lt;a title="Presensonalization" href="http://the-presence-of-presence.blogspot.com/2006/11/presensonalization.html" target="_blank"&gt;crude state of these interfaces&lt;/a&gt; and says&lt;/p&gt;&lt;blockquote&gt;It's not about how presence technologies provide information on users' availability, but rather how much presence information can be truly dynamic and reflect users' habits and personalities.&lt;/blockquote&gt;To illustrate my point, let's go back to the phone communication. The success of the phone lies in its ability to mediate the most important mean of communication common to any human being: voice.  And voice has the intrinsic capability to convey intonations as well as articulated semantic meaning. As such, a voice communication system providing a decent sound quality will compete on fair ground with face-to-face communications where only sound is available. This quality makes the phone system unique, as it introduce almost no perturbation in the medium. And this quality also makes the phone system’s success. Every other means of communication introduce much higher perturbations in the medium.&lt;br /&gt;&lt;p&gt;I believe the phone is inexorably moving toward a wireless mobile device. This is a no return journey, and in a few years we won't see any fixed phone left. Hopefully, at the same time, the phone device interface would have evolved well beyond using&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;a touch tone keypad that was the ultimate invention in the early sixties&lt;br /&gt;&lt;/li&gt;&lt;li&gt;a display trying to simulate a miniature windowing system that became common in the early eighties.&lt;/li&gt;&lt;/ul&gt;Just look at all these poor mobile phone victims running in every airports' corridors, bent forward, pulling their roller bags with one hand while furiously thumb hammering their mobile phone with the other. Don't you feel they look strangely like the common representation of our Neanderthal cousins on the human evolution charts?&lt;br /&gt;&lt;p&gt;To conclude, I agree with Martin that we need to have a more integrated experience when we communicate, for the simple reason that technology should get out of the way. But, unfortunately, every example he gives still bears a strong influence from today's (or rather yesterday's) devices limitations. The most important of it being the use of phone numbers. The current phone devices are so closely associated with numbers that they are de-facto unfriendly to any other means of communication found on the Internet. A keyboard is already unfriendly, but a keyboard where you have to press three times the same key to obtain a single character is hundred times more unfriendly. We are so used to this approach for voice calls that we seem unable to think outside this limitation. See how Martin only describes "&lt;em&gt;address books&lt;/em&gt;" as repertories for phone numbers…&lt;/p&gt;Until the two words "&lt;em&gt;phone&lt;/em&gt;" and "&lt;em&gt;number&lt;/em&gt;" have been taken far apart, I believe we will unfortunately still see a lot of the phone company, both inside peoples’ minds and outside.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/conversation+space" rel="tag"&gt;Conversation space&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/phone+number" rel="tag"&gt;Phone number&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-2718910697657070508?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/2718910697657070508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/2718910697657070508'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/down-with-phone-number-tyranny.html' title='Down with the phone number tyranny'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116387967139225553</id><published>2006-11-18T20:54:00.000+01:00</published><updated>2006-11-18T20:56:16.696+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><category scheme='http://www.blogger.com/atom/ns#' term='Social network'/><title type='text'>Presence is irrational by nature</title><content type='html'>&lt;p&gt;Technologies are rational by design, and they tend to rationalize human activity when used. I came across an interesting reading (Luhmann, 1993, 1995) which emphasized the over simplification often introduced by technology.&amp;nbsp;I think this is particularly true&amp;nbsp;in complex human related applications, such as those found in mediated communications.&lt;/p&gt;&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;&lt;p&gt;The flipside of technological simplification is loss of flexibility and contingent response that have to be re-instituted through artificial mechanisms. Technological sequences cannot handle (i.e. absorb, ignore, forget or dissimulate) unforeseen incidents at the level on which they operate, even though technologists currently attempt to construct systems that respond to emergent events on the basis of learning from experience (i.e. neural networks). Such simple behavioral characteristics as forgetfulness, dissimulation and indifference, that we often assume to be part and parcel of the limitations of humans, play an extremely important and adaptive role under conditions of emergence, complexity and unpredictability.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Human communications and interactions are neither rational nor designed. Furthermore, temporal regularity is important in human experience. Communication technologies create perturbations in the regularity of time that characterizes a life made of personal habits and social routines. Habits and routines are more than repetition. They are often unique and spontaneous human experiences, where each repetition is different from the last.&lt;br /&gt;By comparison, immediacy and access, as well as the constant flow of information, command that we attend to whatever is nearest and most urgent. Doing so, we lose a line of continuity to a dashed line of distraction.&amp;nbsp; In the end, we pay attention, but in spurts of sameness that contribute little to a healthy experience.&lt;/p&gt;&lt;p&gt;The adaptation between the technical and the human takes place at what is called the "&lt;EM&gt;interface&lt;/EM&gt;." In the case of communication, this not just a user interface, but also a social interface. It is social because it mediates communication while facilitating the exchange of interpersonal cues and acknowledgments.&lt;/p&gt;&lt;p&gt;Because communication and presence technologies can stretch our relationships across time and space, they produce proximities involving rhythms of interaction, coordination of activity, ways of communicating, and ways of offering and protecting our availability. They do it creating kind of virtual proximities in which we become "equidistant" to one another. Unlike physical proximity, temporal proximity can be described as having qualities of speed, duration, acceleration, rhythm, and synchronization.&amp;nbsp;Amongst the major challenges for communication and presence technologies we will&amp;nbsp;find &lt;/p&gt;&lt;ul&gt;&lt;li&gt;respect for&amp;nbsp;habits and social routines without reducing them to simple functional repetitions, &lt;/li&gt;&lt;li&gt;seemless&amp;nbsp;flexibility and adaptability of user interaction, &lt;/li&gt;&lt;li&gt;mediation of&amp;nbsp;rythms and time, in complement of space, to induce a more&amp;nbsp;human impression of proximity.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Today's communication and presence technologies&amp;rsquo; interfaces often create a recurring sameness. The functions codified in the technologies reproduce the same abstracted operation and the same simplified representation with each repetition. This functional repetition displaces the spontaneity of social tradition. And we begin to think that repetition itself is dull, when it is the technical procedure implementation that is dull. Just look at a mobile phone to get a sense of what I am driving at&amp;hellip;&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/social+network" rel="tag"&gt;Social network&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116387967139225553?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116387967139225553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116387967139225553'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/presence-is-irrational-by-nature.html' title='Presence is irrational by nature'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116369066832739615</id><published>2006-11-16T16:24:00.000+01:00</published><updated>2006-11-27T13:24:30.204+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Streamlining remote probes</title><content type='html'>&lt;p&gt;I wanted to finalize &lt;a title="Streamlining remote notifications" href="http://antecipate.blogspot.com/2006/11/streamlining-remote-notifications.html" target="_blank"&gt;my original topic&lt;/a&gt; on improving XMPP presence handling model for subscribers hosted on distributed home servers by looking at presence probes. &lt;br /&gt;XMPP differs from presence protocols such as SIP/SIMPLE by using persistent presence subscriptions, instead of transient subscriptions to be renewed for every session. In this model, an XMPP client publishes its presence states variations to its home server, which in turn generate the appropriate presence notifications.&lt;br /&gt;Furthermore, an XMPP presence server is only responsible, and above all knowledgeable, of its own user's constituency.&lt;/p&gt;&lt;p&gt;When a user want to initiate a presence enabled session, it publishes an initial presence after login. This is intercepted by its home server, which is in charge of &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Responding to the client with the initial known presence state of every watched contact,&lt;/li&gt;&lt;li&gt;Notifying every contact subscribed to receive the user's presence.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The home server then triggers two processes:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;A user's presence notification to all the watchers of its presence state,&lt;/li&gt;&lt;li&gt;A probe of each user's subscriptions to receive the contacts' presence states.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;When every contact in a user's buddy list is co-located on the same home server, the server has a complete view of each contact's presence state, and using a probe stanza is not necessary. But if the contact resides on a remote server, a probe stanza is sent to that server to trigger a presence state stanza in return. Mridul &lt;a title="Corner cases of presence probes in xmpp" href="http://blogs.sun.com/mridul/entry/corner_cases_of_presence_probes" target="_blank"&gt;rightly point out&lt;/a&gt; that the current specification leaves open the possibility for a server to &lt;a href="http://www.xmpp.org/rfcs/rfc3921.html#presence-resp-initial" target="_blank"&gt;cache remote contacts presence states&lt;/a&gt; and derive initial presence for additional instances of these contacts from cache. I believe the specification must avoid remote presence state caching. The probing mechanism is a guarantee for the home server to always have the latest initial presence state of remote users.&lt;/p&gt;&lt;p&gt;I can now come back to the early concern of minimizing the network traffic generated by presence handling when subscribers are hosted on distributed home servers. It is to be noted once again that the two processes of notifying all watchers and probing to receive contacts' presence states are asymmetrical. I have shown previously how notifications could be optimized by using transient remote users' lists. Conversely, probing multiple contacts' presence states is a one time operation. &lt;br /&gt;XMPP requires that probes be sent to a global URI (bare JID). In my opinion, to the contrary of notifications, the expected gain of grouping several JIDs in a single stanza are more limited. Leveraging &lt;a href="http://www.xmpp.org/extensions/xep-0033.html" target="_blank"&gt;XEP-0033 Extended Stanza Addressing&lt;/a&gt; to group JIDs in a single stanza may result in slight traffic improvement if the number of remote contacts located on a single server is important. But for a limited number of remote contacts, the gain will certainly be marginal, so the complexity of implementing this kind of mechanism should be carefully weighted against the actual traffic gain. &lt;/p&gt;&lt;p&gt;An illustration of this mechanism is given bellow, assuming the multi-probe support has previously been discovered through XEP-0030:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;p&gt;&amp;lt;presence to="prober.denmark.lit" from="horatio@denmark.net/palace" type="probe"&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;addresses xmlns='http://jabber.org/protocol/address'&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;address type="to" jid="rosencrantz@denmark.lit"/&amp;gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;address type="to" jid="guildenstern@denmark.lit"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;lt;/addresses&amp;gt;&lt;br /&gt;&amp;lt;/presence&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;lt;presence to="horatio@denmark.net/palace" from="rosencrantz@denmark.lit/on-the-road"/&amp;gt;&amp;nbsp; &lt;/p&gt;&lt;p&gt;&amp;lt;presence to="horatio@denmark.net/palace" from="guildenstern@denmark.lit/motel"/&amp;gt;&amp;nbsp; &lt;/p&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;It is rather obvious that the overhead of discovering the support and using multiple addresses in a single stanza will offset the gain when contacts are spread up few at a time amongst many servers. That said, if a significant number of contacts are located on a remote server, the mechanism may prove valuable, not primarily because of the traffic reduction, but rather because all the probe targets are delivered in one single stanza. For the remote server it will generally be more efficient to process a series of JIDs in a single transaction without context switching, rather than processing several atomic stanzas each in its own transaction. I most other cases, the added complexity may not be worth implementing.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116369066832739615?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116369066832739615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116369066832739615'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/streamlining-remote-probes.html' title='Streamlining remote probes'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116353180522261608</id><published>2006-11-14T20:16:00.000+01:00</published><updated>2006-11-14T20:18:09.240+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><category scheme='http://www.blogger.com/atom/ns#' term='Social network'/><title type='text'>Presence calls out attention</title><content type='html'>&lt;p&gt;Every new piece of information put on the web becomes available to millions, almost instantaneously. Drawing a parallel with material goods, information production can be virtually infinite, and consequently, be in oversupply. Around ten years ago several definitions started appearing for what is now known as the "&lt;EM&gt;attention economy&lt;/EM&gt;". The main concept was that over abundant information could only get value from the attention anyone of us was willing to devote to specific pieces of information.&lt;/p&gt;&lt;blockquote&gt;To get attention you must emit what is technically identifiable as information; likewise for information to be of any value, it must receive attention. Therefore an information technology is also an attention technology, or in other words, a transfer of information is only completed when there is also a transfer of attention proceeding in the opposite direction.&lt;/blockquote&gt;&lt;p&gt;In economy, property is the ownership of wealth. If attention has become a new kind of wealth, then one gain property whenever one attracts and holds it. One attracts attention by making oneself, and whatever one wants attention for, as visible as possible. Thus one holds best onto this form of property by being most open. In fact, this property is in the minds of one's beholders, and there needs to be as many minds as possible.&lt;br /&gt;If one is good enough at attracting attention, it may create a temporary "&lt;EM&gt;enslavement&lt;/EM&gt;", where those giving attention turn over control of a large part of their mind and even body. Attracting attention also means acquiring recognition, identity, and meaning in the eyes of those around. One's store of attention can sustain spirit, mind and body, in just about any form. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3691/2922/1600/I%20want%20the%20world.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3691/2922/320/I%20want%20the%20world.jpg" border="0" /&gt;&lt;/a&gt;At the same time, those paying attention will also want to get attention for themselves by quoting, citing, criticizing, parodying, gossiping about, or referring to an attention grabber as if a star. In the extreme case which govern fans relationships to their stars, giving attention will take multiple forms such as listening to them, heeding what they say, doing what they ask, waiting on them, waiting for them, serving them, loving them, in short doing anything and everything for them.&lt;br /&gt;In an "&lt;EM&gt;attention economy&lt;/EM&gt;" it becomes possible to benefit from revealing as much as possible about oneself, including weaknesses, and just about anything else. That way, humanizing oneself not only stir up interest, but makes it easier for others to imagine themselves in one's shoes, which means turning their minds to see from one's eyes, a key part of any "&lt;EM&gt;paying of attention&lt;/EM&gt;". Conversely, hiding away will likely turn attention elsewhere and create a risk of losing at least some of one's attention capital.&lt;/p&gt;&lt;p&gt;When they are not in the same place, peoples maintain presence and proximity through communication. Not through images, or appearance, but by maintaining communication. Beyond this, I think that presence technologies influence and enhance our proximity to one another. &lt;/p&gt;&lt;blockquote&gt;Presence occurs when part or all of an individual's experience is mediated not only by the human senses and perceptual processes but also by human-made technology (i.e., "second order" mediated experience) while the person perceives the experience as if it is only mediated by human senses and perceptual processes (i.e., "first order mediated experience).&lt;/BLOCKQUOTE&gt;&lt;P&gt;Early conceptions limited presence to its spatial and physical context, partly because of the technical nature of the mediation. But timing, rhythm, speed, and continuity, despite having a temporal quality that is easily disrupted by technical mediation, are critical to human communication and social interaction. They are more difficult for us to model and render, but nonetheless, I believe that temporal distortions participate fundamentally in one's sense of being on the same page, being in synch, having or sharing time together. &lt;br /&gt;As a consequence, proximity should not only be based on spatial co-presence anymore, but instead tuned to the frequencies of virtual presence. Proximity in the age of its technical production becomes temporal. Proximity mediated through presence technologies produces continuity in spite of physical separation from one another. &lt;br /&gt;In the "&lt;em&gt;social&lt;/em&gt;" web, one trades physical presence for virtual presence negotiation in order to get access to people, obtaining their attention, knowing whether a person is there, and there for oneself. Presence technologies provide a temporal continuity through discontinuous participation, creating a sense of being with others who aren't there by projections of oneself in the virtual world. By doing so, presence technologies have the capacity to bring connectedness to people. They help spanning time and weaving a social fabric whose consistency simulate a "&lt;em&gt;being there&lt;/em&gt;" for one another in time, but not space.&lt;/P&gt;&lt;P&gt;The real promise of the "&lt;em&gt;social&lt;/em&gt;" web is to help satisfy the ever more pressing desire for attention. It's not the associated communication technologies which are important, but rather the individual and social practices into which the technology becomes embedded: messaging, talking, trading, dating, buying, selling, etc&amp;hellip; They all participate into how one is perceived as present in the "&lt;em&gt;virtual world&lt;/em&gt;". And when everything else has become boring, only "&lt;em&gt;social&lt;/em&gt;" presence remains. In this world, I see presence as a social involvement, one that calls out attention, or to put it another way, in the "&lt;em&gt;social&lt;/em&gt;" web it is presence that drives the way people trade attention. &lt;/P&gt;&lt;P&gt;In spite of this simple economical equation, none of the so called "&lt;em&gt;social&lt;/em&gt;" networks have yet embarked on a re-architecture based on real-time presence technologies; instead they keep using overhauled legacy web techniques.&lt;/P&gt;&lt;SPAN class=technoratitag&gt;Technorati Tags: &lt;A href="http://del.icio.us/jlseguineau/presence" rel=tag&gt;Presence&lt;/A&gt;, &lt;A href="http://del.icio.us/jlseguineau/social+network" rel=tag&gt;Social network&lt;/A&gt;, &lt;A href="http://del.icio.us/jlseguineau/antecipate" rel=tag&gt;Antecipate&lt;/A&gt;&lt;/SPAN&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116353180522261608?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116353180522261608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116353180522261608'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/presence-calls-out-attention.html' title='Presence calls out attention'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116343822722120952</id><published>2006-11-13T18:17:00.000+01:00</published><updated>2006-11-13T18:17:07.226+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><category scheme='http://www.blogger.com/atom/ns#' term='Conversation space'/><title type='text'>Of compartments and silos...</title><content type='html'>&lt;p&gt;Brad Casemore presented earlier the upcoming &lt;a href="http://nerdtwilight.wordpress.com/2006/11/09/building-on-industry-wide-trend-yahoo-integrates-im-with-web-based-email/" target="_blank"&gt;integration of Yahoo! messenger into their mail service interface&lt;/a&gt; as&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;In another example of how online applications are becoming richer and more useful, Yahoo announced today that it will embed instant messaging into its web-based email program within the next few months, allowing&amp;nbsp; users to partake in live chats from Yahoo Mail and to obviate the need for installation of a desktop IM application.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3691/2922/1600/1144466103.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3691/2922/320/1144466103.jpg" border="0" /&gt;&lt;/a&gt;I generally appreciate Brad's comments in the way they keep a positive tone. In this particular case, I am less incline than he is to only find positive aspects in this upcoming integration.&amp;nbsp; First of all, there is this persistence by one of the remaining consumer instant messaging incumbents to stick to proprietary protocols, rather than embracing open and documented standards. But more generally, &lt;a href="http://antecipate.blogspot.com/2006/09/come-on-in.html" target="_blank"&gt;as I pointed out earlier&lt;/a&gt;, I don't think Yahoo's current "&lt;EM&gt;me too&lt;/EM&gt;" attitude is in any way giving a sign of "&lt;EM&gt;online application becoming richer and useful&lt;/EM&gt;". If industry trend there is,&amp;nbsp;it exemplify this industry inability in general, and of Yahoo! in this particular case, to properly grasp the current usage trends, and to provide relevant solutions to problems at hand.&lt;/p&gt;&lt;p&gt;Mike Gotta has &lt;a href="http://mikeg.typepad.com/perceptions/2006/11/the_decline_fal.html" target="_blank"&gt;perfectly analyzed&lt;/a&gt; the growing disaffection for email observed in "&lt;EM&gt;the current set of digital natives (those that have grown up using computers)&lt;/EM&gt;". With the commoditization of tightly interwoven communication tools, the challenge of technology is not to offer a single command point trying to aggregate a "&lt;EM&gt;pot-pourri&lt;/EM&gt;" of legacy and current communication channels, but rather to enable the proper use of the most appropriate channel and to move seamlessly between channels/devices at any time, while keeping the conversation active and rich.&lt;/p&gt;&lt;p&gt;I believe this is the kind of evolution we notice when we observe how teenagers prefer their IM client to an email client. But I would not qualify this of "&lt;EM&gt;generational&lt;/EM&gt;". In my opinion, it results simply from a different "&lt;EM&gt;learning&lt;/EM&gt;" context and different "&lt;EM&gt;social&lt;/EM&gt;" priorities. The important point is that IM is nothing but another channel for communication, although more in line with the natural real-time nature of face-to-face communication than email in the current impersonation of online "&lt;EM&gt;social&lt;/EM&gt;" spaces. &lt;br /&gt;Looking at the &lt;a href="http://news.com.com/2300-1032_3-6134025-1.html" target="_blank"&gt;upcoming UI mock-up&lt;/a&gt;, which does not provide the slightest hint of presence enabled contact list, makes me wonder if anyone at Yahoo! has even noticed that this evolution has already started. From the look of it and the justifications provided in the original announcement , email and IM are still living in far away silos at Yahoo! But can we really expect a walled garden proponent not to keep the few neurons at its disposal in separate cubicles?&lt;/p&gt;&lt;p&gt;As I &lt;a href="http://antecipate.blogspot.com/2006/11/morphing-conversation-ui.html" target="_blank"&gt;hinted before&lt;/a&gt;, a true improvement would be to provide a generalized messaging interface, and leave the final routing decision to a combination of presence and user action. On the surface, one could argue that the proposed possibility of copying an email under redaction into an IM provides the same functionality. But this would be missing the true nature of asynchronous communication: it is a special case of synchronous communication, not the other way round. And to notice this subtle difference requires thinking out of the silos.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/conversation+space" rel="tag"&gt;Conversation space&lt;/a&gt;, &lt;a href="http://technorati.com/tag/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://technorati.com/tag/instant+messaging" rel="tag"&gt;Instant messaging&lt;/a&gt;, &lt;a href="http://technorati.com/tag/usability" rel="tag"&gt;Usability&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116343822722120952?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116343822722120952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116343822722120952'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/of-compartments-and-silos.html' title='Of compartments and silos...'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116341834947618964</id><published>2006-11-13T12:45:00.000+01:00</published><updated>2006-11-13T12:45:50.750+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><category scheme='http://www.blogger.com/atom/ns#' term='Conversation space'/><title type='text'>Non verbal presence</title><content type='html'>&lt;p&gt;I have &lt;a href="http://antecipate.blogspot.com/2006/10/seeing-is-not-believing.html" target="_blank"&gt;reported earlier&lt;/a&gt; how different media type can affect the nature of peoples' interaction and by consequence influence the medium chosen by an individual who wishes to communicate. Many factors are affecting the level to which a medium is perceived as sociable, warm, sensitive, personal or intimate when it is used to interact with other people. Peoples in distributed environments are adjusting to perceived physical contact and closeness, even if it is not possible, just as people strive for intimacy equilibrium in the real world. They are also eager to retain the possibility of doing interactive acts in this environment, even if they would not do them due to social rules in the real world or the mediated context.&lt;br /&gt;They will thus look for technical mediations involving impressions as much as they involve expression. For technologies that mediate presence, this mean:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Assisting the medium in its production of perception.&lt;/li&gt;&lt;li&gt;Minimizing the distortion or amplification of affective movements.&lt;/li&gt;&lt;li&gt;Allowing the user's action structuring.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I have previously presented views on how &lt;a href="http://antecipate.blogspot.com/2006/10/feedback-enabled-presence.html" target="_blank"&gt;some form of feedback&lt;/a&gt;, when added to presence technologies, was desirable to minimize the intrusive nature of notifications and, by consequence, to limit some of the medium induced distortion. But I believe presence systems have a natural bias towards machine to machine communication, and most UI (user interface) still fall short at conveying non-verbal contextual cues. Although we find a host of presence attributes that can be aggregated and used to infer "&lt;EM&gt;enhanced&lt;/EM&gt;" availability states, the available rendering techniques to assist the medium and enrich the user's perception of its environment still fall short of providing an adequate answer.&lt;/p&gt;&lt;p&gt;For example, in text based communication systems, commonly used UI substitutes for non-linguistic cues, such as gestures and facial expressions, are avatars, smileys and other fixed design elements. Clearly these "&lt;EM&gt;signs&lt;/EM&gt;" have at best a reduced correlation to the user's intended meanings. And where a user's facial expressions are directly expressive, these are indirectly expressive. In particular, their appearance doesn't vary from user to user. Further more, they have to be interpreted in context. When a smiley used in an UI, the user has to resort not only to its knowledge of the author, but also to the context of email, IM, chat, or whatever communication tool is in use. In that respect, I don't agree with the argument that these design features enhance presence. They just slightly increase the palette of expressions, and minimally assist the medium in producing an impression.&lt;/p&gt;&lt;p&gt;I believe current human facing presence systems, although they like to qualify themselves of "&lt;EM&gt;enhanced&lt;/EM&gt;" presence providers, still exhibits a very primitive capacity to render information about posture and non-verbal cues as they are perceived by the individual to be present in the medium. Maybe this is further amplified by the strong application (vs activity) oriented nature of today&amp;rsquo;s windowing UIs, and the difficulty many designers have to free themselves from "&lt;EM&gt;best practices&lt;/EM&gt;" when these are nothing but entrenched habits. I think our UIs are showing their age and definitively lack the dynamic and ingredients necessary to the required production of perception.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/convesation+space" rel="tag"&gt;Conversation space&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116341834947618964?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116341834947618964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116341834947618964'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/non-verbal-presence.html' title='Non verbal presence'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116328236561867463</id><published>2006-11-11T22:59:00.000+01:00</published><updated>2006-11-11T23:07:46.353+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VOIP'/><title type='text'>VoIP is a series of tubes...</title><content type='html'>&lt;p&gt;But unlike the Internet, these tubes can be filled without allowing&amp;nbsp;inter-tube communication. Unless I am mistaking, we are getting yet another replay of the "&lt;EM&gt;my little walled garden&lt;/EM&gt;" show, this time with point to point voice communication as the guest star. Just take the same incumbents as&amp;nbsp;in the case of&amp;nbsp;consumer instant messaging services, add eBay with Skype, and Google with GTalk and you have the new landscape. What is also interesting is the parallel uptake of VoIP hard phone devices for use with these closed services. We already knew the series of &lt;a href="http://us.accessories.skype.com/direct/skypeusa/accessoriesList.jsp?acctype=8" target="_blank"&gt;Skype phones&lt;/a&gt;, but more recently the movement has accelerated with examples of &lt;a href="http://news.com.com/2300-7352_3-6134035-1.html?part=rss&amp;amp;tag=6134035&amp;amp;subj=news" target="_blank"&gt;Yahoo!&lt;/a&gt; and &lt;a href="http://digital-lifestyles.info/display_page.asp?section=platforms&amp;amp;id=3857" target="_blank"&gt;GTalk&lt;/a&gt; phones.&lt;/p&gt;&lt;p&gt;I will resist enumerating the reasons why walled gardens and non interconnected &amp;ldquo;&lt;em&gt;tubes&lt;/em&gt;&amp;rdquo; cannot provide a sustainable model, as I have done so &lt;a href="http://antecipate.blogspot.com/2006/10/walled-gardens-redux.html" target="_blank"&gt;here&lt;/a&gt; &lt;a href="http://antecipate.blogspot.com/2006/10/barrier-to-exit.html" target="_blank"&gt;before&lt;/a&gt;. But this multiplication of closed voice services and associated devices raise two questions.&lt;/p&gt;&lt;p&gt;Firstly, the technological context in which these services are being created is different from the context of instant messaging. At the time where IM services have originally been&amp;nbsp;created, there was no established standard for instant messaging, which in turn led to the development of proprietary and incompatible protocols. In comparison, SIP was available as an open VoIP standard. So why wasn&amp;rsquo;t&amp;nbsp;SIP chosen by&amp;nbsp;all these&amp;nbsp;players to incorporate in their soft clients? Apart from AOL which included a SIP stack in its latest AIM clients, the other incumbents, including Microsoft, as well as Skype and Google came up with their own VoIP solution. I have various reasons coming to my mind that could explain why SIP was not chosen, amongst them I can cite:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Inability of the players to conceive voice services outside the existing traditional telco model, where the only conceivable option for them is to play the role of clearing house. Using a proprietary VoIP system would force the end users to go through the incumbent's gateways to reach out to other VoIP services.&lt;/li&gt;&lt;li&gt;Fear that adopting SIP would give an unfair advantage to Microsoft which had clearly endorsed this standard in its enterprise products. The current situation is proving that this possibility was grossly exaggerated, as MSN does not use SIP for VoIP, and there is no concrete proof that SIP is used to a large extend by MSN yet.&lt;/li&gt;&lt;li&gt;Inherent complexity of a SIP solution ranging from the phone configuration, recurring subject cited by many VoIP observers, to the associated infrastructure necessary to support and control the service. Furthermore, SIP is a documented standard, but its standardization process is similar to a vendors' consortium initiative. As a result, most of the SIP equipments are only manufactured by traditional telecom vendors, and the cost of a SIP infrastructure may have been excessive.&lt;/li&gt;&lt;li&gt;Scarce SIP expertise amongst the developers that have been put in charge of implementing the service and integrate voice in the IM clients. Skype and GTalk are typical examples, where developers had a protocol at hand that was solving many issues SIP is facing with NAT traversal. In such condition, it was easiest to just add signaling and voice transport to the existing protocol than to learn SIP in order to embed a full stack.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Secondly, why do all the VoIP pundits&amp;nbsp;remain silent before the obvious rise of these new walls? &amp;nbsp;I find this silence deafening and profoundly puzzling. I don't know if you are like me, but I don't think it is difficult to infer that all these voice services are of no real value to the end user. I was under the impression we were in an era of users' empowerment and "&lt;EM&gt;social&lt;/EM&gt;" communications. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3691/2922/1600/image12345707.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3691/2922/320/image12345707.jpg" border="0" /&gt;&lt;/a&gt;Furthermoe, if the attention economy is effectively the natural economy of the Internet, then voice is the first natural way to draw someone else's attention. After all, what does a baby do immediately after it is born but cry to draw attention? Voice is the ultimate open medium, and is the first and most ubiquitous human way of communication, far before writing. But when someone can only use words in the limited context of a closed community, without the possibility to be heard outside, it looks strangely similar to being deprived from basic freedom of speech.&lt;/p&gt;&lt;p&gt;I can hazard a possible explanation to their silence. Maybe the said pundits, having been exposed to long to the traditional telco business, are only able to conceive a single type of voice applications: toll gates, which are the natural complement of non interconnected &amp;ldquo;&lt;em&gt;tubes&lt;/em&gt;&amp;rdquo;. &lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://technorati.com/tag/conversation+space" rel="tag"&gt;Conversation space&lt;/a&gt;, &lt;a href="http://technorati.com/tag/voip" rel="tag"&gt;VoIP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116328236561867463?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116328236561867463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116328236561867463'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/voip-is-series-of-tubes.html' title='VoIP is a series of tubes...'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116309898802184772</id><published>2006-11-09T20:03:00.000+01:00</published><updated>2006-11-16T13:01:01.216+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Streamlining remote notifications</title><content type='html'>&lt;p&gt;Mridul &lt;a href="http://blogs.sun.com/mridul/entry/minimising_s2s_traffic" target="_blank"&gt;recent post&lt;/a&gt; highlights a point where XMPP could improve its presence notification model when presence subscribers are distributed amongst many servers. That said, the described behavior is by no mean specific to XMPP and is also found in SIP/SIMPLE early specification. As the issue exhibit some commonalities in both protocols, it is not extraordinary that the proposed solutions to decrease the network traffic generated by notifications revolve around notifying lists of subscribers instead of notifying each subscriber in turn. This is a rather common design in many publish/subscribe, where subscriptions' lists are advertised to the brokers nearest to the subscribers, with a task for them to perform the final notification. When applied in the context of XMPP, the driving idea is to delegate the atomic notification to the home presence server for the concerned domain.&lt;/p&gt;&lt;p&gt;Obviously the expected gain&amp;nbsp;only results from a steamlined traffic between servers. The most noticeable gains would only be achieved when a particular user has more than one contact located on a remote server. In an adverse case presenting a widely spread distribution of remote subscribers (i.e. many remote subscribers each on different home servers), the gain would certainly be lower than expected.&lt;/p&gt;&lt;p&gt;The very nature of XMPP, with its persistent presence subscriptions, implies that the two cases in which a large number of presence packets will be exchanged are at the begining and end of a user&amp;rsquo;s session: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;When the initial presence is published after a user login,&lt;/li&gt;&lt;li&gt;When the final presence is published at log out. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;At a user login, an XMPP client delegates the appropriate presence notifications to the user&amp;rsquo;s home server; an initial presence will combine two separate processes:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;A notification of the user's presence to all the watchers of its presence state,&lt;/li&gt;&lt;li&gt;A probe of each user's subscriptions to receive the contacts' presence states.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;At logout time, only the notification of the final &amp;ldquo;unavailable&amp;rdquo; presence to all watchers is taking place.&lt;/p&gt;&lt;p&gt;I disagree with the way the problem is presented in the post, as the described use case assumes that the presence subscriptions between users on each server are symmetrical. Although that may account for a majority of cases, this cannot be extended as a generic case.&lt;/p&gt;&lt;p&gt;I also disagree with the underlying assumption that the two processes of notifying all watchers and probing to receive contacts' presence states are symmetrical. XMPP specifically differentiate between "presence-out" (outgoing notifications) and presence-in (incoming notifications). In effect, probes only occur once at the beginning of a user's session, whereas notifications will happen for every user's presence state change. As a result, I think these two processes have to be handled differently. I also believe support for these two processes would be best discovered and implememented independently by servers. Consequently:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Probing multiple contacts' presence states is a one time operation and can leverage &lt;a href="http://www.xmpp.org/extensions/xep-0033.html" target="_blank"&gt;XEP-0033 Extended Stanza Addressing&lt;/a&gt; to group all target JIDs in a single stanza. The probe result can be returned by the contacts home server using the same mechanism.&lt;/li&gt;&lt;li&gt;Notifying watchers requires establishing a transient dynamic watchers list on the contacts' home server. This list's address would then be used when sending notifications in order to minimize the inter-server traffic. The contacts' home sever will then be responsible for the local notification of every contact's resouces.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;In this later process, I believe that &lt;a href="http://www.xmpp.org/extensions/xep-0144.html" target="_blank"&gt;XEP-0144: Roster Item Exchange&lt;/a&gt; would be more appropriate that XEP-0033 for the watcher list management. After all, the watcher list we are trying to build is nothing but a roster extract for the subscribers of a particular domain. The XEP-0144 extension provides all necessary management features to add/delete entries in the list. In our particular use case, I think the proper container is best provided by an InfoQuery stanza. An illustration of this approach is given bellow, which assumes the multi-notification service has previously been discovered through &lt;a href="http://www.xmpp.org/extensions/xep-0030.html" target="_blank"&gt;XEP-0030&lt;/a&gt;:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;iq to="notifier.denmark.lit"&amp;nbsp; from="horatio@denmark.net" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type="set" id="1234"&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;x xmlns='http://jabber.org/protocol/rosterx'&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;item action="add" jid="rosencrantz@denmark.lit"/&amp;gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;item action="add" jid="guildenstern@denmark.lit"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;lt;/x&amp;gt;&lt;br /&gt;&amp;lt;/iq&amp;gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;lt;iq to="horatio@denmark.net" from="notifier.denmark.lit/&lt;STRONG&gt;a341ff7cd2&lt;/STRONG&gt;"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type= "result" id="1234"/&amp;gt;&lt;br /&gt;&amp;hellip;&lt;br /&gt;&amp;lt;presence to="notifier.denmark.lit/&lt;STRONG&gt;a341ff7cd2&lt;/STRONG&gt;" from="horatio@denmark.net/&lt;STRONG&gt;palace&lt;/STRONG&gt;"/&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;You will note how the notification service returns the list address in the InfoQuery result, and how this qualified address is used for sending the presence stanza.&amp;nbsp;If the list needs to be later updated during the user's session, it can be achieved incrementally:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;iq to="notifier.denmark.lit/&lt;STRONG&gt;a341ff7cd2&lt;/STRONG&gt;"&amp;nbsp; from="horatio@denmark.net" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type="set" id="3456"&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;x xmlns='http://jabber.org/protocol/rosterx'&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;item action="add" jid="hamlet@denmark.lit"/&amp;gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;lt;/x&amp;gt;&lt;br /&gt;&amp;lt;/iq&amp;gt; &lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;lt;iq to="horatio@denmark.net" from="notifier.denmark.lit/&lt;STRONG&gt;a341ff7cd2&lt;/STRONG&gt;"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type= "result" id="3456"/&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In order to keep the management of the list simple, I would make the list transient for the duration of a user's session only. The overhead of re-creating it for every user's login is largely offset by a management that do not have to deal with permanent remote lists. The watcher list can be removed either when the final presence "&lt;EM&gt;unavailable&lt;/EM&gt;" is sent to the multi-notification service, or by using a specific InfoQuery request extended with XEP-0144. &lt;/p&gt;&lt;p&gt;The possible side effects related to glitches in communication between the servers will have to be addressed separately using the mechanisms that are currently under discussion at the &lt;a href="http://www.jabber.org/" target="_blank"&gt;JSF&lt;/a&gt;.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116309898802184772?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116309898802184772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116309898802184772'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/streamlining-remote-notifications.html' title='Streamlining remote notifications'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116301255429855060</id><published>2006-11-08T20:02:00.000+01:00</published><updated>2006-11-08T20:03:40.300+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jingle'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><category scheme='http://www.blogger.com/atom/ns#' term='Session signaling'/><title type='text'>Media relay hidden query</title><content type='html'>&lt;p&gt;I received additional information following my last experiment on Google using media relay. It happens that the GTalk service also implements a full XMPP extension to provide information about its relay servers. This extension, which replaces the "google:relay" query is hidden behind &lt;a href="http://code.google.com/apis/talk/jep_extensions/jingleinfo.html" target="_blank"&gt;the STUN extension&lt;/a&gt; which is documented on their developers' site. &lt;/p&gt;&lt;p&gt;Using my favorite client I was able to check that using the described query gives the result that can be seen bellow:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;iq type="get" to="romeo@gmail.com" id="1" &amp;gt;&amp;lt;query xmlns='google:jingleinfo'/&amp;gt;&amp;lt;/iq&amp;gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;iq from="romeo@gmail.com" type="result" to="romeo@gmail.com/psiC3BE970F" id="1" &amp;gt;&lt;br /&gt;  &amp;lt;query xmlns="google:jingleinfo"&amp;gt;&lt;br /&gt;    &amp;lt;stun&amp;gt;&lt;br /&gt;      &amp;lt;server host="stun.l.google.com" udp="19302" /&amp;gt;&lt;br /&gt;      &amp;lt;server host="stun1.l.google.com" udp="19302" /&amp;gt;&lt;br /&gt;      &amp;lt;server host="stun4.l.google.com" udp="19302" /&amp;gt;&lt;br /&gt;      &amp;lt;server host="stun3.l.google.com" udp="19302" /&amp;gt;&lt;br /&gt;      &amp;lt;server host="stun2.l.google.com" udp="19302" /&amp;gt;&lt;br /&gt;    &amp;lt;/stun&amp;gt;&lt;br /&gt;    &amp;lt;relay&amp;gt;&lt;br /&gt;      &amp;lt;token&amp;gt;CAESHgoVamxzZWd1aW5lYXVAZ21haWwuY29tEOCJq4TsIRoQRWsKcIug9O8RySUrR05+tw==&amp;lt;/token&amp;gt;&lt;br /&gt;      &amp;lt;server host="relay.l.google.com" udp="19295" tcp="19294" tcpssl="443" /&amp;gt;&lt;br /&gt;      &amp;lt;server host="relay2.l.google.com" udp="19295" tcp="19294" tcpssl="443" /&amp;gt;&lt;br /&gt;      &amp;lt;server host="relay3.l.google.com" udp="19295" tcp="19294" tcpssl="443" /&amp;gt;&lt;br /&gt;      &amp;lt;server host="relay1.l.google.com" udp="19295" tcp="19294" tcpssl="443" /&amp;gt;&lt;br /&gt;      &amp;lt;server host="relay4.l.google.com" udp="19295" tcp="19294" tcpssl="443" /&amp;gt;&lt;br /&gt;    &amp;lt;/relay&amp;gt;&lt;br /&gt;  &amp;lt;/query&amp;gt;&lt;br /&gt;&amp;lt;/iq&amp;gt;&lt;/p&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To conclude, it seems that current GTalk clients (1.0.0.100) are using the HTTP/XMPP combination &lt;a href="http://antecipate.blogspot.com/2006/11/relay-or-nor-elay-that-was-question.html" target="_blank"&gt;I described earlier&lt;/a&gt;, and that future versions may use this XMPP only query to discover the relay servers. In the meantime, I suppose they are waiting for the extension to be final to add it to the existing documentation&amp;hellip;&lt;br /&gt;&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jingle" rel="tag"&gt;Jingle&lt;/a&gt;, &lt;a href="http://technorati.com/tag/voip" rel="tag"&gt;VoIP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/session+signaling" rel="tag"&gt;Session signaling&lt;/a&gt;, &lt;a href="http://technorati.com/tag/nat" rel="tag"&gt;NAT&lt;/a&gt;, &lt;a href="http://technorati.com/tag/googletalk" rel="tag"&gt;GoogleTalk&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116301255429855060?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116301255429855060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116301255429855060'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/media-relay-hidden-query.html' title='Media relay hidden query'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116300959085654604</id><published>2006-11-08T19:13:00.000+01:00</published><updated>2006-11-08T19:14:40.680+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><category scheme='http://www.blogger.com/atom/ns#' term='Conversation space'/><category scheme='http://www.blogger.com/atom/ns#' term='Instant messaging'/><title type='text'>Morphing conversation UI</title><content type='html'>&lt;p&gt;I am not a typical "&lt;EM&gt;example&lt;/EM&gt;" when it comes to user interface, and I have my own idiosyncratic preferences, especially for communication applications. In particular, I despise the way we have been forced by the incumbent desktop software players to use mail clients to manage information. Their influence is so insidious, that even their strongest open-source contenders stick to the same screen real estate concept.&lt;/p&gt;&lt;p&gt;I came across &lt;a href="http://feeds.feedburner.com/~r/CollaborativeThinking/~3/46482319/apophenia_what_.html" target="_blank"&gt;this short post&lt;/a&gt; by Mike Gotta elaborating on the ineluctable death of the email client as we know it. &lt;/p&gt;&lt;blockquote&gt;Concerning enterprise environments, at some point a few years down the road, shifting demographics as Danah Boyd points out in this post, will have an interesting impact on the future of e-mail clients. Once "digital natives" become a large part of the workforce, it's likely that we'll see a tipping point where users will prefer real-time communication front-ends to async front-ends. Yes, e-mail clients will support unified messaging and will morph to provide a real-time communication (RTC) user experience but younger workers may prefer to live in more natively-designed RTC clients (such as Microsoft Office Communicator and IBM Sametime), especially as those clients support both social and work-related capabilities.&lt;/blockquote&gt;&lt;p&gt;I am a bit disappointed because my relief is not readily in sight, but this analysis is pre-announcing what I believe to be the irreversible evolution of our way to interact with desktop communicating applications. There was a not so distant time where the latest hipe was about getting IP to every workstation. The natural evolution would be to get conversations to the workstations, any type of conversation, and have all the associated communication stacks available as local servers to any application whishing to use them. At that point, it will become obvious that email is just an asynchronous channel for real time text exchange in a wide presence enabled communication system, instead of instant messaging being a real time version of email, as the current generation of "&lt;EM&gt;office&lt;/EM&gt;" software would like us to believe. And I hope this difference will bring UIs more to my taste.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/conversation+space" rel="tag"&gt;Conversation space&lt;/a&gt;, &lt;a href="http://technorati.com/tag/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://technorati.com/tag/instant+messaging" rel="tag"&gt;Instant messaging&lt;/a&gt;, &lt;a href="http://technorati.com/tag/usability" rel="tag"&gt;Usability&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116300959085654604?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116300959085654604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116300959085654604'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/morphing-conversation-ui.html' title='Morphing conversation UI'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116291563242204413</id><published>2006-11-07T17:07:00.000+01:00</published><updated>2006-11-07T17:13:29.890+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VOIP'/><title type='text'>VoIP is irrelevant</title><content type='html'>&lt;p&gt;At least for the purpose and in the context of &lt;a href="http://blogs.zdnet.com/ip-telephony/?p=1311" target="_blank"&gt;this poll&lt;/a&gt;! When your [truck, ship, plane, add your own transport here] is stuck in the middle of a distant nowhere following a breakdown, the first thing you think of is getting in touch with the [driver, captain, pilot, etc&amp;hellip;]. At that point, your only intention is to communicate, to exchange and gather information, for finally come to some decisions and trigger some actions. And during that process, the last thing you will be worrying about is if part of your communication is carried out using VoIP. It is irrelevant. Even the cost of the communication will become irrelevant. What you would want though, once the communication has been established, is to take photos or videos of the incident to be able to share them with the appropriate expert for deciding on the better course of action, and at the same time to start the claim procedure&amp;nbsp;with your insurance company. What you would want is to quickly gain access to the nearest repair facilities and arrange for you transport to be taken care of, because your business depends of it.&lt;/p&gt;&lt;p&gt;Even if the transport of multiple data streams using the same underlying technology has become increasingly more common, it does not make VoIP relevant in itself. The induced fall of the wall between the voice and data silos is relevant. The ensuing cross domain knowledge dissemination between these two areas of expertise is relevant. The growing awareness of the possibilities offered by merging multiple communication types into applications is relevant. And only at that point will it become relevant to use VoIP, not the other way round. Obviously, all these positive consequences will only happen at the slow pace of human behavior changes. And this is much too slow for the buzz makers.&lt;/p&gt;&lt;p&gt;More profoundly what is relevant is "&lt;EM&gt;to impart, to share, to make common&lt;/EM&gt;". And in that respect, the current impersonations of VoIP are far from providing this basic communication attribute, as they are repeating the creation of wall gardens in the same way early email providers did, in the same way consumer IM providers still do. And by taking this approach, their proponents are as good as the poll's author and other VoIP's meme builders: clueless&amp;hellip;&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/voip" rel="tag"&gt;VoIP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116291563242204413?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116291563242204413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116291563242204413'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/voip-is-irrelevant.html' title='VoIP is irrelevant'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116282496767378212</id><published>2006-11-06T15:56:00.000+01:00</published><updated>2006-11-06T16:15:38.116+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jingle'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><category scheme='http://www.blogger.com/atom/ns#' term='Session signaling'/><title type='text'>Relay or no relay, that was the question</title><content type='html'>&lt;p&gt;The miracle of the blogosphere happened again. My &lt;a href="http://antecipate.blogspot.com/2006/11/media-relay-return.html" target="_blank"&gt;little rant about Jingle media relaying&lt;/a&gt; produced the expected effect, and I now have the answer: Google is effectively using media relaying in GTalk to cater for the 8% of NAT traversal cases not covered by their implementation of ICE. According to the information source, &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;the client discovers the relay's host, port and other information using a proprietary XMPP extension. The client communicates with the relay service to allocate ports.&lt;/p&gt;&lt;p&gt;It's a proprietary protocol. The team would like to replace the proprietary protocol with TURN.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Earlier today I conducted a simple experience of placing a call between two GTalk clients, with diagnostic logging enabled. Then I looked for an indication of media relaying in the resulting log, and here are my findings.&lt;/p&gt;&lt;p&gt;Immediately after initializing the XMPP session, the client goes on sending the following stanzas before any IM application requests :&lt;/p&gt;&lt;pre&gt;&lt;code&gt;[007:201] [8a8] SEND &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; : Mon Nov 06 10:48:29 2006&lt;br /&gt;[007:201] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;presence type="unavailable"/&amp;gt;&lt;br /&gt;[007:201] [8a8] SEND &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; : Mon Nov 06 10:48:29 2006&lt;br /&gt;[007:211] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;iq type="get" id="7"&amp;gt;&lt;br /&gt;[007:211] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;query xmlns="google:relay"/&amp;gt;&lt;br /&gt;[007:211] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/iq&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The client eventually gets an answer from the server:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;[007:581] [8a8] RECV &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; : Mon Nov 06 10:48:30 2006&lt;br /&gt;[007:581] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;iq to="romeo@gmail.com/Talk.v98734E454A" id="7" type="result"&amp;gt;&lt;br /&gt;[007:581] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;query xmlns="google:relay"&amp;gt;&lt;br /&gt;[007:581] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;token&amp;gt;&lt;br /&gt;[007:581] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAESHgoVamxzZWd1aW5lYXVAZ21haWwuY29tEIO2uPPrIRoQEWhSGqW0sC45unw91a8uNg==&lt;br /&gt;[007:581] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/token&amp;gt;&lt;br /&gt;[007:581] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/query&amp;gt;&lt;br /&gt;[007:581] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/iq&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Later on during the exchange, it appears that the client is attempting a connection through HTTP to a relay.l.google.com host:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;[138:820] [8a8] HTTPPortAllocator: starting request 1&lt;br /&gt;[138:820] [8a8] HTTPPortAllocator: sending to host relay.l.google.com&lt;br /&gt;[138:840] [8a8] HtmlWindow::GetHostInfo&lt;br /&gt;&amp;hellip;&lt;br /&gt;[138:910] [38c] ReuseSocketPool - Creating new socket&lt;br /&gt;[138:910] [38c] Resolving addr in PhysicalSocket::Connect&lt;br /&gt;[138:910] [38c] === DNS RESOLUTION (relay.l.google.com) ===&lt;br /&gt;&amp;hellip;&lt;br /&gt;[139:080] [38c] relay.l.google.com resolved to 216.239.37.126&lt;br /&gt;[139:090] [38c] ReuseSocketPool - Opening connection to: relay.l.google.com:80&lt;br /&gt;[139:391] [8a8] HTTPPortAllocator: HTTP request 1 succeeded with code 200&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;At this stage we enter the Google's Jingle transports candidates' negotiation. The client prepares the various candidates and then goes on trying them in sequence:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;[139:401] [c8c] Jingle:Net[0:192.168.254.100]: Allocation Phase=Udp (Step=0)&lt;br /&gt;[139:401] [c8c] Jingle:Port[rtp:local:Net[0:192.168.254.100]]: Added port to allocator&lt;br /&gt;[139:401] [c8c] Jingle:Port[rtp:stun:Net[0:192.168.254.100]]: Added port to allocator&lt;br /&gt;[139:401] [8a8] SEND &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; : Mon Nov 06 10:50:41 2006&lt;br /&gt;[139:401] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;iq to="juliet@gmail.com/Talk.v100C3349241" type="set" id="37"&amp;gt;&lt;br /&gt;[139:401] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;session xmlns="http://www.google.com/session" type="transport-info" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id="3854034496" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initiator="romeo@gmail.com/Talk.v98734E454A"&amp;gt;&lt;br /&gt;[139:401] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;transport xmlns="http://www.google.com/transport/p2p"&amp;gt;&lt;br /&gt;[139:401] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;candidate name="rtp" address="192.168.254.100" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; port="1780" preference="1" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; username="GYPRLTG33vQGFOTZ" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protocol="udp" generation="0" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; password="47CqsrM5wDUyYbiK" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type="local" network="0"/&amp;gt;&lt;br /&gt;[139:401] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/transport&amp;gt;&lt;br /&gt;[139:401] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/session&amp;gt;&lt;br /&gt;[139:401] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/iq&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Following the specification the client determine the best connection from the candidates:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;[140:462] [c8c] Jingle:Channel[rtp|__]: New best connection: Conn[0:rtp:local:192.168.254.100:1780-&amp;gt;rtp:local:192.168.254.101:1237|C-w]&lt;br /&gt;[140:462] [8a8] SEND &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; : Mon Nov 06 10:50:42 2006&lt;br /&gt;[140:462] [8a8]&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;iq to="juliet@gmail.com/Talk.v100C3349241" id="83" type="result"/&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;At this point, the client has established a preferred connection for direct RTP, but it nevertheless goes on and prepare a further connection through the relay, but as my call was local, it did not issued the corresponding candidate, instead connecting point-to-point through the local UDP candidate:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;[141:464] [c8c] Jingle:Net[0:192.168.254.100]: Allocation Phase=Relay (Step=1)&lt;br /&gt;[141:464] [c8c] Jingle:Port[rtp:relay:Net[0:192.168.254.100]]: Added port to allocator&lt;br /&gt;[141:464] [c8c] Connecting to relay via udp @ 216.239.37.126:19295&lt;br /&gt;&amp;hellip;&lt;br /&gt;[142:525] [c8c] Jingle:Net[0:192.168.254.100]: Allocation Phase=Tcp (Step=2)&lt;br /&gt;[142:525] [c8c] Jingle:Port[rtp:local:Net[0:192.168.254.100]]: Added port to allocator&lt;br /&gt;[142:535] [c8c] Jingle:Conn[0:rtp:local:192.168.254.100:1783-&amp;gt;rtp:local:192.168.254.101:1240|--w]: set_connected&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;From this scenario, I can hazard a hypothesis about the way a GTalk client negotiates media relaying. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;The client uses a proprietary XMPP extension to query the relay service and receives an opaque token if the request is successful. I believe the token is destined to authorize a later use of the media relay to the client who made the request. &lt;li&gt;The client then retrieves the appropriate relay parameters though HTTP, probably presenting the previous token as an authorization reference, and not&amp;nbsp;through an XMPP interface as my source stated. &lt;li&gt;The client then creates a transport candidate from the received parameters, and assign it a lower priority than the UDP and TCP candidates. It uses this candidate in the transport negotiation sequence.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Although I am missing the proper test environment to verify my hypothesis, my first finding concens the inaccuracies in the description of an otherwise rather standard and expected technical solution.&amp;nbsp;I leave you to decide why the mechanism&amp;nbsp;has been described as XMPP, where in fact it&amp;nbsp;appears to be&amp;nbsp;a mix of HTTP and XMPP.&amp;nbsp;I personally find this disturbing, as it can be&amp;nbsp;leading to more inaccuracies of the sort finding their way into the Jingle specification. I am ready to accept that Google is concerned, but I do not believe disclosing this mechanism will ever put that company at risk.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3691/2922/1600/thefuturebelongs219.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3691/2922/320/thefuturebelongs219.jpg" border="0" /&gt;&lt;/a&gt;But, when I reflect on the position taken publicly by the authors of the XMPP Jingle specification in favor of using TURN to deal with media relaying negotiation, I am worried of the possible impact of their stand on the specification completion time and on the ensuing implementation by developers.&lt;/p&gt;&lt;p&gt;As I stated earlier, &lt;a href="http://www.ietf.org/internet-drafts/draft-ietf-mmusic-ice-12.txt" target="_blank"&gt;ICE&lt;/a&gt; and &lt;a href="http://www.ietf.org/internet-drafts/draft-ietf-behave-turn-02.txt" target="_blank"&gt;TURN&lt;/a&gt; are "&lt;EM&gt;work in progress&lt;/EM&gt;" drafts, which have already been lingering at the IETF for over a year since Google announced the GTalk service. During that past year, the activity around the XMPP Jingle specification has been very slow to take up. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;On one hand, the specification has only recently been published toward a last call before JSF council approval. &lt;li&gt;On the other hand, I believe the inherent complexity of media support libraries slows down the implementation of Jingle at the client level because developers need to master these new and unfamiliar concepts.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Apart from notable support in open source IPBX,&amp;nbsp;implemented by developers well versed in the intricacies of media communication programming, I only know of the the &lt;a href="http://www.jabbin.com/" target="_blank"&gt;Jabbin project&lt;/a&gt; as a&amp;nbsp;tentative implementation of a free Jingle client...&lt;/p&gt;&lt;p&gt;I believe it&amp;nbsp;would not be&amp;nbsp;realistic to push at all cost a Jingle specification highly dependent on forthcoming RFCs without any foreseeable time of publication of the said standards. The community would benefit more from an interim specification, leveraging instead existing RFCs, such as raw RTP, STUN and media relaying for NAT traversal, to be later updated when the ICE draft is made into an RFC.&amp;nbsp;This approach&amp;nbsp;would have the added advantage of being less complex from a programming stand-point, and would provide a more gradual learning curve for the developers to get accustomed to the subtleties of multi-media communication.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jingle" rel="tag"&gt;Jingle&lt;/a&gt;, &lt;a href="http://technorati.com/tag/voip" rel="tag"&gt;VoIP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/session+signaling" rel="tag"&gt;Session signaling&lt;/a&gt;, &lt;a href="http://technorati.com/tag/nat" rel="tag"&gt;NAT&lt;/a&gt;, &lt;a href="http://technorati.com/tag/turn" rel="tag"&gt;TURN&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116282496767378212?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116282496767378212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116282496767378212'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/relay-or-nor-elay-that-was-question.html' title='Relay or no relay, that was the question'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116274026556945151</id><published>2006-11-05T16:24:00.000+01:00</published><updated>2006-11-05T22:20:15.600+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jingle'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><category scheme='http://www.blogger.com/atom/ns#' term='Session signaling'/><title type='text'>Media relay: the reTURN</title><content type='html'>&lt;p&gt;I am coming back to the subject of using &lt;a href="http://antecipate.blogspot.com/2006/10/jingle-media-relaying.html" target="_blank"&gt;media relay proxies&lt;/a&gt; for hard to solve cases of &lt;a href="http://en.wikipedia.org/wiki/Network_address_translation" target="_blank"&gt;NAT&lt;/a&gt; (Network Address Translation) traversals. From the ensuing discussions both on the &lt;a href="http://www.jabber.org/" target="_blank"&gt;JSF&lt;/a&gt; mailing lists, and through private mails, I have gathered two points which in my opinion illustrate perfectly why protocol definition requires an open mind of every moment. The first opinion was expressed as &lt;/p&gt;&lt;blockquote&gt;I think we can both agree that relay is bad; it adds latency and requires server resources.&lt;/blockquote&gt;&lt;p&gt;and the second as &lt;/p&gt;&lt;blockquote&gt;Since you're already talking to a STUN server for ICE, it makes sense to get your media candidates from the STUN server (i.e., via TURN).&lt;/blockquote&gt;&lt;p&gt;In the first case, the author is using what &lt;a href="http://www.don-lindsay-archive.org/skeptic/arguments.html"&gt;the list of "Fallacious Arguments"&lt;/a&gt; describes as a mix of &lt;em&gt;Argument by Question&lt;/em&gt; and &lt;em&gt;Changing the Subject&lt;/em&gt; to displace the problem. In his introduction to &lt;a href="http://www.ietf.org/internet-drafts/draft-ietf-behave-turn-02.txt" target="_blank"&gt;TURN&lt;/a&gt;, Jonathan Rosenberg expresses the fact that a media relay function comes at a cost:&lt;/p&gt;&lt;blockquote&gt;Though a relayed address is highly likely to work when corresponding with a peer, it comes at high cost to the provider of the relay service. As a consequence, relayed transport addresses should only be used as a last resort.&lt;/blockquote&gt;&lt;p&gt;But he does it in context, as someone writing a protocol enabling a media relay function. He does not question the validity of doing media relay, he merely points out that this is expensive, and he goes on explaining how, in his view, the protocol must be architected to allow the feature. We may have different opinions on how to tackle certain issues, but I respect his professional approach at writing protocols: he does not take a subjective view and question the legitimacy of using media relay, instead he propose a solution on how to do it. He does not presuppose a single usage of the technology; instead he admits that a use case may exist. He does not displace the problem to avoid it; he merely tackles it.&lt;/p&gt;&lt;p&gt;In the original discussion that led to the first point, the ICE negotiation used by Google in its version of Jingle was said to be successful in 92% of NAT traversal cases without the assistance of media relaying. Although this is a tremendous achievement, it still leaves out 8% of edge cases where this technique is ineffective. Taken from Google's perspective, this may look sufficient to serve its own users' population. But taken from a protocol perspective, it makes describing how the protocol must be extended to cater for these other cases necessary. And, following the concept of &lt;em&gt;Argument from Authority&lt;/em&gt;, I will quote Jonathan Rosenberg again:&lt;/p&gt;&lt;blockquote&gt;&amp;hellip; if a client is behind a NAT whose mapping behavior is address or address and port dependent (sometimes called "bad" NATs), the reflexive transport address will not be usable for communicating with a peer.&lt;br /&gt;The only way to obtain a transport address that can be used for corresponding with a peer through such a NAT is to make use of a relay.&lt;/blockquote&gt;&lt;p&gt;I believe that at this point we have established media relaying as an integral part of the arsenal available to the developers to perform NAT traversals. Moving on to the second opinion, it is somewhat reminiscent of &lt;em&gt;Causal Reductionism&lt;/em&gt;. Behind the very respectable attitude which consists in not re-inventing the wheel, lies a bias toward a particular solution because the author does not consider in which particular context this solution has been developed.&lt;/p&gt;&lt;p&gt;If we consider the context in which TURN was designed, I can safely pretend that it was strongly influenced by the &lt;a href="http://www.ietf.org/rfc/rfc3261.txt" target="_blank"&gt;SIP standardization&lt;/a&gt; effort. In essence, TURN was created to address a very real shortcoming is the signaling protocol: it has the same NAT traversal issues as the media streams because SIP allows the use of UDP as its own transport. This consequently implies that media relaying can only be discovered and negotiated on the same transport as the media itself. In comparison, Jingle does not experience the same shortcomings as SIP, as &lt;a href="http://www.ietf.org/rfc/rfc3920.txt" target="_blank"&gt;XMPP&lt;/a&gt; is vastly superior at dealing with NAT and firewall traversal. As a result, to the contrary of SIP, Jingle can be leveraged to provide the same answer than TURN to the question: what relaying IP:port address should my client use as a last resort?&lt;/p&gt;&lt;p&gt;A careful study of the &lt;a href="http://www.ietf.org/internet-drafts/draft-ietf-behave-turn-02.txt" target="_blank"&gt;TURN draft&lt;/a&gt; exposes how the shortcoming of the signaling layer (SIP) forces a large part of the signaling to be reincorporated inside the media transport. The solution proposed in the TURN draft also forces the TURN server to authenticate the streams, and by consequence to have access to user's authentication data. Knowing that a TURN server has to be exposed on the public Internet, I can only imagine how corporation will react at this requirement.&lt;/p&gt;&lt;p&gt;On the other hand, an XMPP extension to query and allocate an IP:port address on a media relay present at least two advantages:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;It would benefit from the inherent trust established at the user's login time on its home XMPP server. &lt;/li&gt;&lt;li&gt;It would greatly simplify the media relay server, as the implementation of TURN is complex.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;To conclude, I believe that the simplest solutions are always better at solving technical issues. In this particular case, the complexity of a TURN solution is not required to provide the expected service. A simple XMPP query can be devised to provide the same result.&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3691/2922/1600/theweb2point0thing334.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3691/2922/320/theweb2point0thing334.jpg" border="0" /&gt;&lt;/a&gt;Furthermore, I am certain that Google offering a VoIP solution in its GTalk service was the result of a thoughtful business process. But at the same time, Google hands off approach to motivate its developers, has left the implementation been only driven by a technical view point. When specifying the Jingle protocol, a problem arises if the same developers are also co-authors of the Jingle specification: they remain framed within the Google context of consumer oriented service and do not seem to apprehend the wider complexity of the enterprise. But it takes time to be able to recognise the difference between enabling solutions and building frameworks&amp;hellip;&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jingle" rel="tag"&gt;Jingle&lt;/a&gt;, &lt;a href="http://technorati.com/tag/sip" rel="tag"&gt;SIP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/voip" rel="tag"&gt;VoIP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/session+signaling" rel="tag"&gt;Session signaling&lt;/a&gt;, &lt;a href="http://technorati.com/tag/nat" rel="tag"&gt;NAT&lt;/a&gt;, &lt;a href="http://technorati.com/tag/turn" rel="tag"&gt;TURN&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116274026556945151?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116274026556945151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116274026556945151'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/media-relay-return.html' title='Media relay: the reTURN'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116254813919149297</id><published>2006-11-03T11:02:00.000+01:00</published><updated>2006-11-03T11:03:51.576+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IPBX'/><category scheme='http://www.blogger.com/atom/ns#' term='Jingle'/><category scheme='http://www.blogger.com/atom/ns#' term='Phone system'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>IPBX 2.0 anyone?</title><content type='html'>&lt;p&gt;Andy Abramson had a struck of genius last night: he suddenly discovered that IPBX has a future in enterprises.&lt;/p&gt;&lt;blockquote&gt;The future for Asterisk in my mind will be built upon adoption in the enterprise, not by small five to ten end point deployments&lt;/blockquote&gt;&lt;p&gt;For all it is worth, I was under the impression the acronym meant something like "&lt;EM&gt;Private Branch Exchange&lt;/EM&gt;", which does not hold any presumption on the size of what/who is privately using the exchange. As a matter of facts, nothing is precluding enterprises of any size to fall into that category.&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3691/2922/1600/zzzzzz7654277.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3691/2922/320/zzzzzz7654277.jpg" border="0" /&gt;&lt;/a&gt;Now one may ask why it has not happened yet, and why only "&lt;EM&gt;small five to ten end point deployments&lt;/EM&gt;" are using &lt;a href="http://www.digium.com/" target="_blank"&gt;Asterisk&lt;/a&gt;? Because Asterisk&amp;rsquo;s architecture is nothing but a POTS PBX with IP connectivity. In essence, it is similar to all the big telecom vendor's PBX offerings such as [add you favorite model from Alcatel, Avaya, Nortel, Siemens, etc&amp;hellip; here], when they added VoIP support adaptors to make them "&lt;EM&gt;IP communication ready&lt;/EM&gt;". At the core, these systems were still entirely subject to the tyranny of the "&lt;EM&gt;numbering plan&lt;/EM&gt;". A rather rigid dependence, which is far from the flexibility provided by Internet's URIs. &lt;/p&gt;&lt;p&gt;In the end, Andy is right, the future of IPBX is in the enterprise, but any marketer fresh out of school would have said the same. On the other hand, I believe Andy is wrong and, because of its outdated architecture, Asterisk will not be wining this race. In my opinion, &lt;a href="http://www.freeswitch.org/" target="_blank"&gt;FreeSWITCH&lt;/a&gt; is a much better candidate to the title of IPBX 2.0 in the enterprise. It is build around the concept of what I would call a ubiquitous "&lt;EM&gt;signalling router&lt;/EM&gt;" which captures the distributed nature of the Internet. Because of its routed architecture, this IPBX can be easily assembled in PBX grids and offer a host of standard IP signalling protocols for interoperability with many real-time communication and presence enabled systems. And obviously it knows how to bridge different media streams&amp;hellip;&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jingle" rel="tag"&gt;Jingle&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/voip" rel="tag"&gt;VoIP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/sip" rel="tag"&gt;SIP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/ipbx" rel="tag"&gt;IPBX&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/phone+system" rel="tag"&gt;Phone system&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116254813919149297?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116254813919149297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116254813919149297'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/ipbx-20-anyone.html' title='IPBX 2.0 anyone?'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116249068519259520</id><published>2006-11-02T19:04:00.000+01:00</published><updated>2006-11-02T19:04:45.930+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><title type='text'>At your presence's convenience</title><content type='html'>&lt;p&gt;Several researches agree that people are very ineffective at working on too many things at the same time, because of the limited human multitasking capabilities. They conclude that switching from one task to another is particularly costly, especially if the current task has an important cognitive load, as opposed to repetitive tasks based on pattern recognition. When taken in the context of the ever increasing reliance on information, nowadays human attention has become a scarce resource whereas information abounds.&lt;/p&gt;&lt;p&gt;I particularly appreciate the "savor" Alec Saunder's brings to the reflection on interruptions when he &lt;a href="http://saunderslog.com/2006/11/01/not-all-interruptions-are-bad/" target="_blank"&gt;writes&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;One of the casualties of the last 25 years has been the social compact governing when it is acceptable to interrupt, and when not 125 years ago, before the telephone, if a gentleman wanted to meet another gentleman, he'd send his man around with a calling card to invite the other to meet. It was the presence of its day. It's a metaphor that we really need to examine carefully, because there's much to be learned that is applicable now First, it's completely individual. Whether I choose to meet with Mike, but not Ted, is completely dependent on the circumstances and context the requestor and requested parties find themselves in. Second, the decision making process is completely private. Unlike presence today ("Hey, I can see he's online, but he's not answering my ping! Ignorant b*stard!"), the decision making process was completely opaque to the caller.&lt;/blockquote&gt;&lt;p&gt;He goes on saying that &amp;ldquo;&lt;em&gt;presence does not model the social contract between individuals&lt;/em&gt;&amp;rdquo;, but rather the cold behavior of communication device. I would furthermore add that "&lt;EM&gt;immediacy&lt;/EM&gt;" has taken down all the polite approach that was allowing the choice of the "&lt;EM&gt;time and place&lt;/EM&gt;" by the parties. By denying this choice, presence notifications in their current forms take a growing part at lowering people's already diminished attention support.&lt;/p&gt;&lt;p&gt;Whilst at the level of the perception (see, hear, feel) people's attention is influenced by external stimuli, goals, motivations, and intentions impact how they focus their attention. Furthermore, these two processes constantly interact to determine one's attention state. In a group, for example, an external stimulus may attract a member's attention, but the lack of motivation for the proposed focus will quickly divert its attention to another item. Alternatively, one may have a strong motivation to focus on a certain item, but an inappropriate presentation of the item content may hinder the desired focus to be established. Perturbations of the delicate balance between perception and motivation often results in an attention deficit, and in turn in lower productivity.&lt;/p&gt;&lt;p&gt;In situations of frequent interruptions or tasks alternance, researchers have noted a significant increase in cognitive load following the actions necessary to restore the context of an interrupted task. Resuming a task is already difficult in the context of current workstation interfaces, as these interfaces use an "&lt;EM&gt;application oriented&lt;/EM&gt;" rather than "&lt;EM&gt;task oriented&lt;/EM&gt;" approach to computer activities. In order to complete a task a user is obliged to fragment the task in subtasks, such as collecting data from a spreadsheet and pasting it in a word processor document. This artificial fragmentation of the original task increases the cognitive load on the user, and interruptions further erode&amp;nbsp;its attention support.&lt;br /&gt;As multi-tasking and interruptions become the norm in working environments, it is important for awareness systems to support the user's attention by supplying personalized and adaptable notification, thus reducing the resulting disruption. Interruption and notification must take into account many factors spanning across the various aspects of attention and contribute to making an interruption more or less appropriate or disruptive. In my opinion, the most important aspects to consider must include: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;The context of interruption, &lt;/li&gt;&lt;li&gt;The timing of the interruption, &lt;/li&gt;&lt;li&gt;The content of the interruption.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;As I &lt;a href="http://antecipate.blogspot.com/2006/10/feedback-enabled-presence.html" target="_blank"&gt;stated earlier&lt;/a&gt;, in face to face situations, human beings are able, in a very short time, and with a limited knowledge of other people's activity, of deciding whether an interruption would be acceptable or not. In particular, I believe the exact point in time when the notification is delivered makes a significant difference on whether and how the interruption is perceived and on how much disruption it will bring to the current task. &lt;br /&gt;Recent studies on notification timing have highlighted four types of solutions to manage user interruptions: "&lt;EM&gt;immediate, negotiated, mediated, and scheduled&lt;/EM&gt;". Interruptions can be delivered at the soonest (immediate), or the person has explicit control over when they will handle the interruption (negotiation). A third party system may also dynamically decide when best to interrupt the user (mediated), or always hold all interruptions and deliver them at a predefined time (scheduled). In most situations negotiation&amp;nbsp;is said&amp;nbsp;to be the best choice. But I believe adding feedback to presence will require exploring dynamic combinations of negotiation and mediation.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116249068519259520?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116249068519259520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116249068519259520'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/at-your-presences-convenience.html' title='At your presence&apos;s convenience'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116246971429944086</id><published>2006-11-02T13:15:00.000+01:00</published><updated>2006-11-02T13:15:14.416+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VOIP'/><category scheme='http://www.blogger.com/atom/ns#' term='Jingle'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><category scheme='http://www.blogger.com/atom/ns#' term='Session signaling'/><title type='text'>Ostriches don't solve problems...</title><content type='html'>&lt;p&gt;As &lt;a href="http://www.realtime-unifiedcommunications.com/unified_communications/2006/10/solving_problems_instead_of_bu.htm" target="_blank"&gt;reminded by Ken Kamp&lt;/a&gt;, entrepreneurs and executives sit around board room tables to discuss real business problems and look for real solutions to those problems. That does not include their existing phone systems, services, or expenses. Even less VoIP, SIP or Jingle&amp;hellip; Let me illustrate by the following story.&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3691/2922/1600/JingleCentrex0.png"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3691/2922/320/JingleCentrex0.png" border="0" /&gt;&lt;/a&gt;The Capulet family has been running a flourishing wine business, and has succeeded by maintaining a tight focus on its core activities. They are well known for their almost real time customer service and their proximity sales service. Now that they are extending their reach well beyond the comfort of the provincial borders, they have signed up for the latest presence enabled real-time communication system provided by Veronizon.&amp;nbsp; The Capulets have long been running their own XMPP server for fast internal messaging. But they have to make sure all relevant business communications are seamlessly routed to the appropriate representative, without creating undue distraction. And this is precisely what the rule based presence engine of Veronizon's intelligent centrex service allow them to do. Obviously, the service offers all the necessary gateways to ensure that they could also reach their marquee customers or distributors wherever they are, and whatever communication system they use. And guess what, Veronizon charge its service on the number of rules held in the system, and by the number of time these rules are used. The communication time is free, which adds a compelling advantage in regards to the traffic based charges still in use at all other communication providers.&lt;/p&gt;&lt;p&gt;This is in my opinion a very likely scenario for many enterprises wanting to leverage IT and communications for what they are: a support for their business. And in this context what is any protocol's "&lt;EM&gt;raison d'etre&lt;/EM&gt;" if not allowing the brightest entrepreneurs and service providers to propose adapted business problem solving responses to these enterprises. &lt;/p&gt;&lt;p&gt;If we examine the consequences for Jingle in enabling this type of service to be implemented outside the premises of the Capulet's business. We can easily see that the Jingle &lt;a href="http://antecipate.blogspot.com/2006/10/multi-homing-jingle.html" target="_blank"&gt;signaling path must be re-routed&lt;/a&gt; through the Veronizon centrex service in order for the relevant call routing decision to be made. Juliet which is working in the family's estate has programmed her personal centrex rule engine to forward immediately any call from Romeo to her. When Romeo select "&lt;EM&gt;initiate call&lt;/EM&gt;" on his favorite client, Jingle will start negotiating a session with Juliet's client. &lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;iq to='juliet@capulet.com' from='romeo@montague.net/orchard' id='jingle1' type='set'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;jingle xmlns='http://jabber.org/protocol/jingle'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; action='session-initiate'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initiator='romeo@montague.net/orchard'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sid='a73sjjvkla37jfea'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;content name='audio-content'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/content&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/jingle&amp;gt;&lt;br /&gt;&amp;lt;/iq&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The Montague XMPP server will faithfully route the request over S2S to the Capulet server. Following the contact with Veronizon, the Capulet server has received a new plugin that&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Filters all Jingle signaling stanzas,&lt;/li&gt;&lt;li&gt;Reroute the filtered stanzas to the Veronizon centrex service.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;thus making the service invisible and transparent to standard Jingle clients.&lt;/p&gt;&lt;p&gt;In order to enable the rerouting, the plugin modify the Jingle stanza by specifying the centrex service address as the new target, and adding a XEP-0033 extended address to retain the original target JID. The Capulet server can thus route the stanza to the centex service over S2S.&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;iq to='centrex.veronizon.com' from='romeo@montague.net/orchard'&lt;/a&gt; id='jingle1' type='set'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;addresses xmlns='http://jabber.org/protocol/address'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;address type='to' jid='juliet@capulet.com'/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/addresses&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;jingle xmlns='http://jabber.org/protocol/jingle'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; action='session-initiate'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initiator='romeo@montague.net/orchard'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sid='a73sjjvkla37jfea'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;content name='audio-content'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/content&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/jingle&amp;gt;&lt;br /&gt;&amp;lt;/iq&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Upon receiving the stanza, the centrex service feeds the incoming request to Juliet's private rule engine, and determines that Juliet is currently available for taking Romeo's call on her "balcony" resource. The centrex service then modifies Juliet's JID to reflect her availability, and forward the stanza to the Capulet server over S2S for final delivery.&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;iq to='juliet@capulet.com/balcony' from='romeo@montague.net/orchard' id='jingle1' type='set'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;jingle xmlns='http://jabber.org/protocol/jingle'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; action='session-initiate'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initiator='romeo@montague.net/orchard'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sid='a73sjjvkla37jfea'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;content name='audio-content'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/content&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/jingle&amp;gt;&lt;br /&gt;&amp;lt;/iq&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In the end, customers don't care about what a protocol, a platform or any technical implementation is doing under the covers. They care about their business problems and solutions to those problems. Protocols and platforms are just the enablers for smart solution providers to deliver on their promises. &lt;/p&gt;&lt;p&gt;The danger for protocols' authors is to only consider the world through the lens of a 17 inches screen, as they may be losing sight of reality.&amp;nbsp; Just bluntly stating that a scenario is unlikely because one never thought of it or never came across it before will in no way make this scenario improbable. How many times have we heard stories about customers using an application or a protocol in a way nobody ever thought before? This is just how progresses are made. Protocol authors and developers often get sidetracked into how&amp;nbsp;to achieve&amp;nbsp;technical interoperability only. I unfortunately believe it is still rather common for them to proclaim that certain usage scenarios do not make any technical sense in the light of their own perception of the problems to solve, and to evade providing solutions by just &amp;ldquo;&lt;em&gt;hiding their head in the sand&lt;/em&gt;&amp;rdquo;. Until they start to realize this attitude is not enhancing their reputation, they will be considered obstacles more than advantages by many solution providers who&amp;nbsp;build solutions rather than platforms. And, as Ken put it,&amp;nbsp;&amp;ldquo;&lt;em&gt;those are the ones who will win in the market&lt;/em&gt;&amp;rdquo;&amp;hellip;&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jingle" rel="tag"&gt;Jingle&lt;/a&gt;, &lt;a href="http://technorati.com/tag/voip" rel="tag"&gt;VoIP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/session+signaling" rel="tag"&gt;Session signaling&lt;/a&gt;, &lt;a href="http://technorati.com/tag/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116246971429944086?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116246971429944086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116246971429944086'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/ostriches-dont-solve-problems.html' title='Ostriches don&apos;t solve problems...'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116242620042100194</id><published>2006-11-02T01:10:00.000+01:00</published><updated>2006-11-02T01:10:01.310+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>They want to know everything</title><content type='html'>&lt;p&gt;It appears that Google, tired of being reminded by its users, &lt;a href="http://googletalk.blogspot.com/2006/11/offline-messages.html" target="_blank"&gt;has finally implemented&lt;/a&gt; an important feature available on any other XMPP instant messaging server for its GTalk service: &lt;a href="http://www.xmpp.org/extensions/xep-0013.html" target="_blank"&gt;offline messages&lt;/a&gt;. And it has pushed the limit of integration by making these offline messages directly readable in GMail, as well as through any XMPP client. &lt;/p&gt;&lt;p&gt;All is good, all is great, until one reads the last line of the post: &lt;/p&gt;&lt;blockquote&gt;Your Google Talk account needs to have a Gmail inbox with chat history enabled in order to receive offline messages, so make sure to turn it on now!&lt;/blockquote&gt;&lt;p&gt;The offline message storage feature is only active if the chat messages history, which record all your conversations, is enabled in your account. In short, to capture the last message sent to someone who has just disconnected, Google needs to capture your entire chat history in real time. Come on! You are telling me no one in the army of Google's PhD level developers has been able to come up with a simpler solution to capture just these last second messages? I find this rather incredible.&lt;/p&gt;&lt;p&gt;Unless this scheme has been devised on purpose, forcing indirectly those who have made this very useful feature a top request to turn on the chat message history, and allow Google crawlers to search these messages&amp;hellip;&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/googletalk" rel="tag"&gt;Google Talk&lt;/a&gt;, &lt;a href="http://technorati.com/tag/digital+privacy" rel="tag"&gt;Digital privacy&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116242620042100194?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116242620042100194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116242620042100194'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/11/they-want-to-know-everything.html' title='They want to know everything'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116228609165736229</id><published>2006-10-31T10:14:00.000+01:00</published><updated>2006-10-31T10:14:51.660+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jingle'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><category scheme='http://www.blogger.com/atom/ns#' term='Session signaling'/><title type='text'>Multi-homing Jingle</title><content type='html'>&lt;p&gt;I described in an &lt;a href="http://antecipate.blogspot.com/2006/10/jingle-media-relaying.html" target="_blank"&gt;earlier post&lt;/a&gt; how some edge cases of NAT traversal for media steams could be solved using a media relay proxy. This kind of proxy is widely used amongst well know peer-to-peer VoIP implementations, such as Skype or SIP based devices. SIP based application in most cases use media relay proxies co-located with SIP border controllers (for service providers) or SIP proxies. Skype uses its clients that are not behind NATs to proxy data for clients behind NATs.&lt;br /&gt;While discussing this subject on the JSF mailing lists, an important question have drawn my attention: How would Jingle allow a media relay proxy to be reached when it is not co-located with the client's home server?&lt;/p&gt;&lt;p&gt;The current &lt;a href="http://www.xmpp.org/extensions/xep-0166.html" target="_blank"&gt;Jingle specification&lt;/a&gt; has been designed with direct peer-to-peer communication in mind, and does not provide built-in support for intermediary relays on either the media path or the signaling path. The Jingle syntax provides a way to redirect a session to a different remote party if the original target is unavailable for the appropriate media communication. This feature is handy when several devices with different capabilities are online for a given user JID, or when the user has set his client to re-route calls to a voice/video mailbox.&lt;/p&gt;&lt;p&gt;However, nothing in Jingle allows for the use of a relay or an intermediary media proxy of any sort. An intermediary proxy has several application use cases. One is the media relay proxy to perform NAT traversal as described in my previous post. But any simple IPBX would equally benefit from this extension. The current flavor of Jingle does not allow referring to an IPBX as a separate server, which is the most common architecture found either at service providers or in the enterprise. Anyone would understand the interest of integrating with IPBX. The "numbering" plan for the IPBX could be defined purely in terms of URIs rather than extension numbers for example. And obviously all the expected exchange functions would be provided by a specialized application, including transparent bridging with other signaling and media protocols. &lt;/p&gt;&lt;p&gt;To that aim the Jingle specification can easily be extended by adding&lt;/p&gt;&lt;ul&gt;&lt;li&gt;A discovery mechanism for intermediary media proxies, which will as usual leverage &lt;a href="http://www.xmpp.org/extensions/xep-0030.html" target="_blank"&gt;XEP-0030 Service Discovery&lt;/a&gt;. It boils down to defining the proper categories and features in the XMPP registrar.&lt;/li&gt;&lt;li&gt;A mechanism in the protocol to allow defining a remote party URI independently from the destination address of the wrapping stanza.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Contrary to a redirection, which is an indication given by the remote party, relaying has to be requested by the initiating party. Once again we can simply leverage existing XMPP extensions and implemented the forwarding by using &lt;a href="http://www.xmpp.org/extensions/xep-0033.html" target="_blank"&gt;XEP-0033 Extended Stanza Addressing&lt;/a&gt; with Jingle. &lt;br /&gt;In the now traditional context of XMPP examples, assuming Romeo's client has discovered that Juliet is only reachable through a relay media proxy, it would issue a request similar to this:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;iq to='&lt;strong&gt;relay.capulet.com&lt;/strong&gt;' from='romeo@montague.net/orchard' id='jingle1' type='set'&amp;gt;&lt;br /&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp; &amp;lt;addresses xmlns='http://jabber.org/protocol/address'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;address type='to' jid=' juliet@capulet.com/balcony '/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/addresses&amp;gt;&lt;/strong&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;jingle xmlns='http://jabber.org/protocol/jingle'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; action='session-initiate'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initiator='romeo@montague.net/orchard'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sid='a73sjjvkla37jfea'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;content name='this-is-the-audio-content'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;description xmlns='http://jabber.org/protocol/jingle/description/audio'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/description&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;transport xmlns='http://jabber.org/protocol/jingle/transport/ice'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/transport&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;transport xmlns='http://jabber.org/protocol/jingle/transport/raw-udp'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/transport&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/content&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp; &amp;lt;/jingle&amp;gt;&lt;br /&gt;&amp;lt;/iq&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Just including an extended address in the Jingle stanza opens up a host of possible new applications without modifying the actual Jingle negotiation. It exemplify once gain the flexibility of XMPP.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jingle" rel="tag"&gt;Jingle&lt;/a&gt;, &lt;a href="http://technorati.com/tag/voip" rel="tag"&gt;VoIP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/session+signaling" rel="tag"&gt;Session signaling&lt;/a&gt;, &lt;a href="http://technorati.com/tag/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://technorati.com/tag/nat" rel="tag"&gt;NAT&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116228609165736229?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116228609165736229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116228609165736229'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/10/multi-homing-jingle.html' title='Multi-homing Jingle'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116214476172758814</id><published>2006-10-29T18:59:00.000+01:00</published><updated>2006-10-29T19:08:59.853+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jingle'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><category scheme='http://www.blogger.com/atom/ns#' term='Session signaling'/><title type='text'>Jingle media relaying</title><content type='html'>&lt;p&gt;In an ideal Internet, each device would have a routable IP address all devices would be able to communicate end to end without any intermediaries except routers. In reality, devices connected on the Internet are using a &lt;a href="http://en.wikipedia.org/wiki/Network_address_translation" target="_blank"&gt;NAT&lt;/a&gt; (Network Address Translation) function present in the border router. Using NAT, it becomes possible to connect multiple devices to the Internet by only using one public IP address. On the other hand, it becomes impossible to initiate connections from the Internet. Traversing NAT in both directions becomes an issue when doing point-to-point communications. This is particularly true when using &lt;a href="http://www.ietf.org/rfc/rfc1889.txt" target="_blank"&gt;RTP&lt;/a&gt; for multimedia communications.&lt;/p&gt;&lt;p&gt;A device behind NAT does not know much about how it will be seen from the Internet, it only knows its own IP address and the ports where the application runs. When communication with the Internet is established, the NAT function maps the IP:port combination of the device on the private NAT interface to a temporary public IP:port combination on the public interface connected to the Internet. Furthermore, the RTP transport protocol usually uses a random port. This means that users cannot just open a port on their NAT device for RTP.&lt;/p&gt;&lt;p&gt;Media consists of one or multiple streams which are negotiated in an associated signaling, such as &lt;a href="http://www.ietf.org/rfc/rfc3261.txt" target="_blank"&gt;SIP&lt;/a&gt; or &lt;a href="http://www.xmpp.org/extensions/xep-0166.html" target="_blank"&gt;Jingle&lt;/a&gt;. The signaling protocol allows devices to negotiate a set of common media. The negotiation is performed conveying information about the media streams, such as address where the media will be received, codec types, bandwidth, etc... The problem is that the signaling conveys information about the private IP of the device when it is behind NAT. There are two ways to solve this issue. &lt;/p&gt;&lt;p&gt;One is using a signaling protocol able to negotiate dynamically a communication path for the media even after the initial session has been setup. &lt;a href="http://www.ietf.org/internet-drafts/draft-ietf-mmusic-ice-11.txt" target="_blank"&gt;ICE&lt;/a&gt; (Interactive Connection Establishment) is such a protocol, which allows devices to probe for multiple paths of communication by trying different ports and &lt;a href="http://www.ietf.org/rfc/rfc3489.txt" target="_blank"&gt;STUN&lt;/a&gt; techniques. With ICE support devices have a good chance to handle point-to-point communication without any intermediary media relay. But ICE is awaiting full specification, and therefore only experimental support is provided. In addition, depending on the type of NAT, the communication might not be established even when using ICE. In this case a media relay proxy with a public Internet address must be used. &lt;/p&gt;&lt;p&gt;To transparently establish a multimedia session through a media relay proxy, it is best to use a service that associate the media proxy with a signaling proxy. The media relay proxy does the actual RTP traffic forwarding between the parties involved in the conversation. Upon request from the signaling proxy, it allocates sockets for each media stream of a session. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3691/2922/1600/MediaProxy0.png"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3691/2922/320/MediaProxy0.png" border="0" /&gt;&lt;/a&gt;The signaling proxy will use the media relay proxy's IP address and socket's port to replace the original values in the signaling payload. For SIP this would be achieved by modifying the SDP payload, for Jingle this would require changing the transport candidate. After this is done, the parties involved in the conversation will contact the media relay proxy thinking they contact the other party.&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3691/2922/1600/MediaProxy1.0.png"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3691/2922/320/MediaProxy1.0.png" border="0" /&gt;&lt;/a&gt;This approach is needed because the media relay proxy would then be able to determine the addresses from where the media streams originate. This information is unknown when the signaling takes place, and can only be determined when the RTP streams actually start.&lt;br /&gt;After the media relay proxy has allocated the sockets for each stream, it will listen for an incoming packet from each of the two parties. Once these are received, the media relay proxy is able to know where the packets should be forwarded and can start relaying them between the parties. However, if one party has a public Internet address, the media relay proxy is able to send packets to it before it receives a packet from it, since the party's IP:port is already known. Because of this, it becomes possible to chain media relay proxies between them. &lt;/p&gt;&lt;p&gt;It is interesting to note that the media relay proxy solution is independent from the actual signaling protocol. Several solutions already exist for SIP, with the added complexity that SIP itself will require a NAT traversal solution when transported over UDP. I will describe how a media relay proxy can be implemented in &lt;a href="http://www.ietf.org/rfc/rfc3920.txt" target="_blank"&gt;XMPP&lt;/a&gt; using the Jingle signaling. As explained above, the media relay proxy must be on the public Internet. The easiest approach would in my opinion consist in implementing the media relay proxy as a component of an XMPP server, and install it into a DMZ. Doing so has the advantage of leveraging the trust relationship between the Jingle client and the XMPP server and extending it to the media relay proxy.&lt;/p&gt;&lt;p&gt;The XMPP server would have to be modified to route the incoming Jingle traffic through the component, which will in turn intercept and modify the Jingle transport negotiation payloads:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;For raw &lt;a href="http://www.xmpp.org/extensions/xep-0177.html" target="_blank"&gt;UDP transport&lt;/a&gt;, the component will replace the original transport candidate using the IP:port of a newly created socket.&lt;/li&gt;&lt;li&gt;For an &lt;a href="http://www.xmpp.org/extensions/xep-0176.html" target="_blank"&gt;ICE transport&lt;/a&gt;, the component will create a new candidate using the IP:port of a newly created socket, and discard any other candidate directly by either parties. As the proxy is always reachable, this connection will always be established. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;This example demonstrate that existing multimedia NAT traversal techniques can easily be adapted for Jingle, with the added advantage that the Jingle signaling itself is NAT and firewall friendly, which is not the case of SIP. This use case can also be extended by support both SIP and Jingle on the same media relay proxy component to provide seamless media connectivity between SIP and Jingle clients.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jingle" rel="tag"&gt;Jingle&lt;/a&gt;, &lt;a href="http://technorati.com/tag/voip" rel="tag"&gt;VoIP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/session+signaling" rel="tag"&gt;Session signaling&lt;/a&gt;, &lt;a href="http://technorati.com/tag/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://technorati.com/tag/nat" rel="tag"&gt;NAT&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116214476172758814?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116214476172758814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116214476172758814'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/10/jingle-media-relaying.html' title='Jingle media relaying'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116188633861671230</id><published>2006-10-26T20:12:00.000+02:00</published><updated>2006-10-26T20:12:19.940+02:00</updated><title type='text'>Feedback enabled presence</title><content type='html'>&lt;p&gt;Alec Sanders &lt;a href="http://saunderslog.com/2006/10/24/seguineau-the-three-legs-of-presence/" target="_blank"&gt;deplores the rather crude state&lt;/a&gt; of today's presence systems where only a limited availability awareness is supported. I would add that, in the context of human communications, the mono-directional propagation of presence states without feedback does not help improve an already minimalist replacement for face-to-face communication. &lt;/p&gt;&lt;p&gt;In every day's life, people have an expectation that information about them is ephemeral and subject to the errands of human memory. This ambiguity gives people the ability to influence other's memory and manage the way in which they are perceived. With recording and analyzing of presence information, it becomes more difficult for individuals to adjust how they are &amp;ldquo;&lt;em&gt;read&lt;/em&gt;&amp;rdquo;. Capture and propagation of presence states complicates one's ability to provide only the information reflecting positively on one's image. A presence system may be disclosing undesired information. Moreover, because distributed presence systems do not allow people to watch how others interpret this information, it decreases one's ability to detect variations in how others accept the image one is attempting to project.&lt;/p&gt;&lt;p&gt;I believe successful presence systems will be those dealing with this kind of &amp;ldquo;&lt;em&gt;impression management&lt;/em&gt;&amp;rdquo; concerns by providing more control on people's self image projection and interpretation.&lt;br /&gt;These systems will have to carefully balance the recipient's desire for control with the caller's desire to understand the recipient's context, while maintaining trust and usefulness. Today's approach of putting control of accessibility exclusively in the hands of the recipient is not consistent with face-to-face communication. In real life, the caller and the recipient share the context, and can both feel when starting or holding a&amp;nbsp;conversation is not appropriate. &lt;/p&gt;&lt;p&gt;It is interesting to note that experiments conducted recently on awareness systems did not reveal a decrease in the frequency of interruptions. When callers take the recipient's context into account, it has been observed that they adopt a more polite approach to interruption. For example, a caller might say, "I see you're busy, but I have a quick question," or "can you call me when you're free?" At this point, a recipient has an opportunity to provide feedback on how appropriate the interruption is. &lt;br /&gt;Real-time communication systems do not support the many subtle cues people use in face-to-face conversation to convey such feedback. Callers are unaware of the recipient's context and cannot be held accountable for any disruption this may cause. Providing presence information in return will allow some amount of accountability.&lt;/p&gt;&lt;p&gt;Overall, I believe a deeper understanding of how presence supports and breaks social feedback mechanisms would greatly benefit designers and architects.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116188633861671230?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116188633861671230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116188633861671230'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/10/feedback-enabled-presence.html' title='Feedback enabled presence'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116187178110772859</id><published>2006-10-26T16:09:00.000+02:00</published><updated>2006-10-26T16:09:41.866+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Real-time utterances</title><content type='html'>&lt;p&gt;Interestingly, &lt;a href="http://zimboe.wordpress.com/2006/10/26/web-pacing-up-into-real-time/#comments" target="_blank"&gt;Janne asks&lt;/a&gt; if the web is not slowly but surely discovering the other side: real-time communication. I find the question interesting because it is a confirmation sign of a changing mind set. The web as it has been defined and implemented is about references and location of resources. Obviously, the recent development of feed technologies over HTTP has allowed to venture at the fringe of real-time communication. But this is, in my opinion, more a technology 'long tail' than long term engineering and efficient use of resources.&lt;/p&gt;&lt;p&gt;If the web is to become more than just a clumsy avatar of real life, it must encompass our inherent thinking and communicating capabilities. On the web, communication and references are two complementary sides of the way we express ourselves. It is the presence of different contexts that make information, events or transition in information states meaningful. &lt;/p&gt;&lt;p&gt;As communication and references differ and serve different but equally important purposes they need to be supported by appropriate tool sets. HTTP is the undisputed champion on the reference side. On the real-time communication and presence side, I believe XMPP is gaining enough traction to become the next protocol that counts: open, free (i.e not supported by any commercial consortium) and easy to implement and extend.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116187178110772859?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116187178110772859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116187178110772859'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/10/real-time-utterances.html' title='Real-time utterances'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116179580423992197</id><published>2006-10-25T19:03:00.000+02:00</published><updated>2006-10-25T19:12:10.586+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><category scheme='http://www.blogger.com/atom/ns#' term='Conversation space'/><title type='text'>Seeing is not believing...</title><content type='html'>&lt;p&gt;Announcements in the video-conference space have been flourishing lately. I find them interesting as they attempt to provide answers to the crude rendering of virtual conversation spaces when compared to the rich person-to-person interactions of real life.&amp;nbsp; A large telecom vendor has dubbed its system "Telepresence" and is pretending that&lt;/p&gt;&lt;blockquote&gt;You can think of those technologies as precursors to true telepresence that replicates the experience of "being there".&lt;/blockquote&gt;&lt;p&gt;Well, the advent of large flat screens technologies have certainly made it easier to cover an entire wall with screen panels, but the result remains far from the participants individual holographic representations in the Jedis meetings&amp;nbsp;of "&lt;EM&gt;Star Wars&lt;/EM&gt;"&amp;hellip; In my opinion, these video-conference systems fall short in the way they provide view points, usually through a limited number of video cameras. And this latest offering of a well known software vendor claiming to provide&lt;/p&gt;&lt;blockquote&gt;a 360-degree, panoramic video of side-by-side images of everyone who taking part in the conference.&lt;/blockquote&gt;&lt;p&gt;will not make me change my opinion...&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3691/2922/1600/360degrees219.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3691/2922/320/360degrees219.jpg" border="0" /&gt;&lt;/a&gt; Real life shared conversation spaces allow people to maintain instant knowledge about others' interaction with the space. In a virtual world, the concept of conversation space awareness is key for systems wanting to approach the fluid interaction of face-to-face communication. &lt;br /&gt;In physical conversation spaces, participants often shift their attention back and forth between individual and shared activity. In these moments, the space gathers lightweight information such as quick glances at another participant's or its personal area. This information participates in maintaining a sense of awareness of where other persons are and what they are doing. For example, in a work environment, this space awareness would help coordinate tasks and resources. People can use the space awareness to anticipate others' actions, help them with their tasks, and interpret references to objects in context.&lt;/p&gt;&lt;p&gt;Conversation space awareness comes naturally in a face-to-face communication, but it is far more difficult to render in real-time communication systems. In video-conference, only a fraction of the space may be seen, and each participant often does not see the same part as others. More generally, real-time communication systems reduce the richness of communication, and their user interface hides many actions that are visible in a real-life space. Moreover, the perceptual and physical abilities we use to maintain this awareness, such as glances, are replaced with mechanisms that are both slow and clumsy.&lt;/p&gt;&lt;p&gt;As I explained in a &lt;a href="http://antecipate.blogspot.com/2006/10/three-legs-of-presence.html" target="_blank"&gt;previous post&lt;/a&gt;, awareness is an essential component of presence. Designers of presence based systems will face two problems to integrate conversation space awareness. First, they will need to know what information should be captured about a person's interaction with the conversation space. Second, they will have to decide how this information should be presented to other participants.&lt;/p&gt;&lt;p&gt;The constituents of conversation space awareness fall into two groups. The first group concerns what is happening to participants:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Amount of activity (How active are the participants?) &lt;/li&gt;&lt;li&gt;Changes in progress (What changes are participants making?) &lt;/li&gt;&lt;li&gt;Expectations (What do participants need me to do next?)&lt;/li&gt;&lt;li&gt;Nature of actions (What are the participants doing?) &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The second group deals with where it is happening in the space:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Focus (Where are the participants?)&lt;/li&gt;&lt;li&gt;Influence (Where can participants make changes?)&lt;/li&gt;&lt;li&gt;Objects in use (What objects are participants using?)&lt;/li&gt;&lt;li&gt;View extents (What can participants see?)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Setting explicit status in a presence system provides a first level of awareness. A second level of awareness can be inferred from events observed inside the conversation space, such as the visible or audible signs of interaction with the space or its artifacts, or the participants' activity behavior. But capturing intentionally public utterances, expressions, or gestures that are not explicitly directed at other participants may prove difficult.&lt;/p&gt;&lt;p&gt;In the end, even if a system integrates information from a variety of sensors and other sources, presence indicators still have a long way to go before they reflect true human nature. The &amp;ldquo;&lt;em&gt;flat&lt;/em&gt;&amp;rdquo;&amp;nbsp;implementations of today's user interfaces plays certainly in disfavor of a realistic rendering. And then there is the user behavior itself that comes into play. Just because my office's door is open and I happen to be looking outside, don't take it for granted you can come in and interrupt me.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/convesation+space" rel="tag"&gt;Conversation space&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116179580423992197?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116179580423992197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116179580423992197'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/10/seeing-is-not-believing.html' title='Seeing is not believing...'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116156001603346970</id><published>2006-10-23T01:33:00.000+02:00</published><updated>2006-10-26T18:36:08.700+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><title type='text'>The three legs of presence</title><content type='html'>&lt;p&gt;Several researches have largely explored the fields of "&lt;EM&gt;social presence&lt;/EM&gt;" and "&lt;EM&gt;awareness&lt;/EM&gt;". However, in my opinion, the emergence of "&lt;EM&gt;social networking&lt;/EM&gt;" and "virtual &lt;EM&gt;community&lt;/EM&gt;" requires adding the concept of &amp;ldquo;&lt;em&gt;connectedness&lt;/em&gt;&amp;rdquo; to the features mix of any effective real-time communication system. I believe important to review these concepts and see how they inter-relate. These relations will have to be considered carefully when building what is commonly called "&lt;EM&gt;presence&lt;/EM&gt;" into these communication systems.&lt;/p&gt;&lt;p&gt;The concept of "&lt;EM&gt;awareness&lt;/EM&gt;" has been used in many ways. Fifteen yeas ago, academics defined it as &lt;/p&gt;&lt;blockquote&gt;an understanding of the activities of others, which provides a context for your own activity.&lt;/blockquote&gt;&lt;p&gt;Awareness is usually classified into four types: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;availability awareness, which relates to the availability of people and objects.&lt;/li&gt;&lt;li&gt;contextual awareness, which includes physical, social and mental context. &lt;/li&gt;&lt;li&gt;group awareness, which promotes the feeling of belonging to a group.&lt;/li&gt;&lt;li&gt;workplace awareness, which is knowledge of tasks within the virtual environment. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;In these definitions, awareness is used in the sense of feeling what is believed to be an external perception, whether synchronous or near-asynchronous. It encompasses both a perception of the users of a system, and a feature of a system that facilitates that perception.&lt;/p&gt;&lt;p&gt;The concept of &amp;ldquo;&lt;em&gt;social presence&lt;/em&gt;&amp;rdquo; is more ancient. Thirty years ago Short et al.&amp;nbsp;in &amp;ldquo;&lt;em&gt;The Social Psychology of Telecommunications&lt;/em&gt;&amp;rdquo; defined&amp;nbsp;it as: &lt;/p&gt;&lt;blockquote&gt;the degree of perception of the other person in a mediated communication and the consequent perception of their interpersonal interaction.&lt;/blockquote&gt;&lt;p&gt;More recently,&amp;nbsp;in &amp;ldquo;&lt;em&gt;Criteria and Scope conditions for a Theory and Measure of Social Presence&lt;/em&gt;&amp;rdquo;, Biocca et al. depicted social presence as pertaining to the user, but closely related to the interaction and the medium:&lt;/p&gt;&lt;blockquote&gt;it is a temporary judgment of the nature of interaction with the other, as limited or augmented by the medium.&lt;/blockquote&gt;&lt;p&gt;Social presence theory studies efficiency and satisfaction in the use of different communication media. Short et al&amp;nbsp;consider social presence a subjective dimension of a medium in its capacity to transmit information about facial expression, direction of looking, posture and non-verbal cues as they are perceived to be present in the medium. This dimension affect the level to which a medium is perceived as sociable, warm, sensitive, personal or intimate when it is used to interact with other people. Social presence varies between different media, it affects the nature of the interaction and influence the choice of a medium by an individual wishing to communicate.&lt;/p&gt;&lt;p&gt;The concept of &amp;ldquo;&lt;em&gt;connectedness&lt;/em&gt;&amp;rdquo; is one of the basic principles which underlie social behavior. In psychology, the fundamental needs for belonging and connectedness are described as powerful drivers to promote social relationships. &lt;/p&gt;&lt;p&gt;Virtual multi-media communication can create a sense of connectedness or &amp;ldquo;&lt;em&gt;feeling of being in touch&lt;/em&gt;&amp;rdquo;. In awareness systems this may be more important than the content of the communication. Even without direct information exchange, people want to maintain connection with others. Look how instant messaging users monitor the availability of their buddies, and exchange greetings without any need for a real information exchange. Similarly, witness how mobile phone users exchange SMS and share a common, although asynchronous, experience. &lt;br /&gt;There are also situations where connectedness does not imply direct awareness of another person, but rather of an object. Receiving a post card may create a feeling of connectedness although there is no direct awareness of the other person.&lt;/p&gt;&lt;p&gt;Real-time communication systems aim at reducing the spatial constraint in peoples' conversations. Presence has the capacity to convey additional context attributes pertaining to a conversation. If the experience of connectedness is a basic human need, it may help design communication systems enabling connectedness without imitating face-to-face communication, and facilitate "&lt;EM&gt;immediacy&lt;/EM&gt;" and "&lt;EM&gt;intimacy&lt;/EM&gt;" while minimizing intrusiveness.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116156001603346970?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116156001603346970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116156001603346970'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/10/three-legs-of-presence.html' title='The three legs of presence'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116109473615154869</id><published>2006-10-17T16:18:00.000+02:00</published><updated>2006-10-17T16:18:56.156+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Instant messaging'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Walled gardens redux</title><content type='html'>&lt;p&gt;In a &lt;a href="http://antecipate.blogspot.com/2006/10/barrier-to-exit.html" target="_blank"&gt;parallel post&lt;/a&gt; I described the landscape in which I consider that walled gardens, such as those still implemented by the incumbent consumer IM, are a flawed strategy. &lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3691/2922/1600/walledgarden220.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3691/2922/320/walledgarden220.jpg" border="0" /&gt;&lt;/a&gt; &lt;p&gt;In short, for any community based service, switching costs remain a critical success factor for building market share and defending against competition. However, as people themselves are increasingly becoming the sources of content and the owners of distribution, we are increasingly seeing an inversion of control, where service providers benefit from customers provided competitive advantages. For a service provider, basing a strategy on directly increasing switching costs&amp;nbsp;by using&amp;nbsp;walled garden becomes antagonist with the users' aspirations. Instead, as the control shifts towards community, a new environment appears where people themselves willingly create their own high switching costs. &lt;/p&gt;&lt;p&gt;When translating to real time communication technologies, it become evident that open protocols offering transparent and unbiquitous communications is the only acceptable way. As a consequence, only widely accepted and implemented open standards will remain. The same shift will apply to communication as it did to content generation and distribution. The end user themselves will want to create their own communication services, and will not accept anything but self imposed constraints. As a result of this new dynamic, they will only choose the easiest to implement and widest ranging protocols. In the end, the most successful services will be those who manage to hide the inherent complexity of any multimedia communication system, while providing unlimited interoperability.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://technorati.com/tag/conversation+space" rel="tag"&gt;Conversation space&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116109473615154869?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116109473615154869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116109473615154869'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/10/walled-gardens-redux.html' title='Walled gardens redux'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116091179895388602</id><published>2006-10-15T13:29:00.000+02:00</published><updated>2006-10-17T16:18:05.343+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Instant messaging'/><title type='text'>Barrier to exit</title><content type='html'>&lt;p&gt;A noteworthy "&lt;EM&gt;collateral&lt;/EM&gt;" effect of the Internet is its ability to turn entrenched business positions upside down. As a consequence, thinking strategic approaches to business in a contrarian fashion and experimenting with all sorts of bizarre combinations of services has become the norm for entrepreneurs wanting to grab a piece of the web 2.0 pie. In hope that out of the "&lt;EM&gt;mashups&lt;/EM&gt;" chaos, a few viable models will eventually emerge. &lt;/p&gt;&lt;p&gt;Amongst these experiments, the most in favor are those dealing with "&lt;EM&gt;social&lt;/EM&gt;" [insert your own hype word here] services, where the intended audience is some sort of "&lt;EM&gt;community&lt;/EM&gt;" of interests. The underlying concept is to capture the natural tendency of human beings to gather and talk. Some people will choose to go to "&lt;EM&gt;Ye Olde Cheshire Cheese&lt;/EM&gt;" and do this with a glass of ale; other will login to MySpace&amp;hellip; Ultimately though, the most lively and sticky places are those where people communicate whatever the subject, even without subject. &lt;/p&gt;&lt;p&gt;It is important to keep in mind that communications alone does not necessarily act as the primary draw for gathering. Back in the days of consumer online services, email was not effective at acquiring new users. Mainly because most people had no idea what email was and how useful it could be. New users where acquired by showing unique benefits, such as unique content. Yet once they discovered the benefits of email, the mail box became the common ubiquitous reason to join the community. As a result, it is critical to understand that what attracts people initially is often not what keeps people on your network interested in the long run. After all is said, people still hang out in their favorite pub or [insert your own favorite place here] to have conversations. &lt;/p&gt;&lt;p&gt;At the same time, a community generates its own content, and uses its own style in expressing widely its interests. When transferred to the Internet, in a context where people themselves are increasingly becoming the sources of content and the owners of distribution, it becomes clear that any strategy based on increasing switching costs becomes antagonist with the users' aspirations. In effect, we are increasingly seeing an inversion of control, where service providers benefit from customers provided competitive advantages. Switching costs remain a critical success factor for building market share and defending against competition. However, who creates and controls it is fundamentally different from previous services.&lt;/p&gt;&lt;p&gt;Walled gardens are the antithesis of this new dynamic. As the control shifts towards community, a new environment appears where, instead of a service provider locking its customers into a walled garden, people themselves willingly create their own high switching costs. For instance, for an auction service, the switching cost is not the relationship with the service itself, but the reputation and trust a user has spent time building with other community members. For bloggers, the switching cost is not the time spent constructing the blog, but rather the social network of "&lt;EM&gt;friends&lt;/EM&gt;" accumulated over time.&lt;/p&gt;&lt;p&gt;Ultimately, and it may sound like a paradox, the most successful services will offer entire freedom to their user to churn while giving them unlimited communication capabilities. The most successful communities will be those having understood that self imposed constraints at switching are the only ones willingly accepted by members.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://technorati.com/tag/conversation+space" rel="tag"&gt;Conversation space&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116091179895388602?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116091179895388602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116091179895388602'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/10/barrier-to-exit.html' title='Barrier to exit'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116074087372878011</id><published>2006-10-13T14:01:00.000+02:00</published><updated>2006-10-14T00:15:18.063+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jingle'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Jingling the MUC</title><content type='html'>&lt;p&gt;I discussed &lt;a href="http://antecipate.blogspot.com/2006/10/multi-user-communication.html" target="_blank"&gt;previously&lt;/a&gt; how the &lt;a href="http://www.xmpp.org/extensions/xep-0045.html" target="_blank"&gt;XEP-0045&lt;/a&gt; specification already&amp;nbsp;contains all the management features to handle Multi User Communication (MUC), beyond simple text chat rooms. At the same time, I was interested to see that discussions are taking place at the Jabber Software Foundation about ways to integrate&amp;nbsp;screen sharing and remote control into XMPP, as well as performing shared XML editing or SVG based white boarding.&lt;/p&gt;&lt;p&gt;MUC provides a very appropriate framework where these different applications can be aggregated. I have already explained how MUC exposes the required components of a generic conversation spaces management. One of the most important characteristics of conversation spaces is the possibility to host public and private conversation in the same space. In essence, conversation spaces simultaneously allow:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;point-to-point exchanges between participants, &lt;/li&gt;&lt;li&gt;client-server exchanges, the conversation space being the server.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I believe people have finally come to realize the utopia of&amp;nbsp;considering XMPP as an universal multi-media transport, although there are still bursts of "&lt;EM&gt;can I do VoIP over XMPP&lt;/EM&gt;" here and there&amp;hellip; When it comes to multi-media, &lt;a href="http://www.xmpp.org/extensions/xep-0166.html" target="_blank"&gt;Jingle&lt;/a&gt; is obviously the appropriate answer in the XMPP world. &lt;/p&gt;&lt;p&gt;I&amp;nbsp;nonetheless feel there are still some misunderstandings with&amp;nbsp;Jingle&amp;rsquo;s concept of separating sessions' establishment operations (signalling) from communication (transport) when a conversation involves more than two parties. In fact this is rather simple. In a Jingle enabled MUC, in addition to the existing XEP-0045 specification the service will only need to implement:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Jingle support for each multi-media conversation spaces in order to answer session requests made to the space JID.&lt;/li&gt;&lt;li&gt;Jingle stanzas' forwarding for session requests made to a space's participant JID.&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3691/2922/1600/MUCMultimedia.png"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3691/2922/320/MUCMultimedia.png" border="0" /&gt;&lt;/a&gt; &lt;p&gt;It is easy to understand that private Jingle session requests made though a MUC are strictly equivalent to session requests between two clients&amp;nbsp;made through a standard XMPP IM server. It is equally easy to understand that the point-to-point media transport between the two participants' clients will take place out of band using the appropriate negotiated binary protocol.&lt;/p&gt;&lt;p&gt;The same scenario applies&amp;nbsp;in a conversation space, when several participants share the same media during the conversation. The difference with the&amp;nbsp;above case lies in the type of end points involved in the point-to-point communication. In order to share a particular media, a mediator system has to combine each individual media flows produced by the various participants into a single media flow. This mixer role is usually played by specialized bridges, or even IPBX, when it comes to voice and video. In the particular case of VNC, I am under the impression this protocol has always been used as a pure point-to-point communications between workstations. As the typical use in the context of a MUC would mostly involve a one-to-many communication (one master screen shown to many participants' clients),&amp;nbsp;adapting VNC screen sharing would require implementing some sort&amp;nbsp;of&amp;nbsp;repeater system.&lt;br /&gt;This same one-to-many communication also applies to streaming media servers that could be used&amp;nbsp;to broadcast inside the conversation space.&lt;/p&gt;&lt;p&gt;In the end, I believe the MUC protocol bears much more than its current limited usage for text chat rooms. I have just tried to illustrate some of the extended&amp;nbsp;possibilities. I am not saying it will be all done in one day, but the proper bricks are already in place.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jingle" rel="tag"&gt;Jingle&lt;/a&gt;, &lt;a href="http://technorati.com/tag/conversation+space" rel="tag"&gt;Conversation space&lt;/a&gt;, &lt;a href="http://technorati.com/tag/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116074087372878011?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116074087372878011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116074087372878011'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/10/jingling-muc.html' title='Jingling the MUC'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116067654995641974</id><published>2006-10-12T20:09:00.000+02:00</published><updated>2006-10-12T20:13:57.536+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jingle'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Multi user communication</title><content type='html'>&lt;p&gt;In the XMPP parlance, MUC refers to "&lt;EM&gt;Multi User Chat&lt;/EM&gt;". The specification foreword highlights the textual aspect of the communication by referring to other similar text based systems.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Traditionally, instant messaging is thought to consist of one-to-one chat rather than many-to-many chat, which is called variously "groupchat" or "text conferencing". Groupchat functionality is familiar from systems such as Internet Relay Chat (IRC) and the chatroom functionality offered by popular consumer IM services.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;In the wake of the growing use of XMPP as an application platform, I am convinced &lt;a href="http://www.xmpp.org/extensions/xep-0045.html" target="_blank"&gt;XEP-0045&lt;/a&gt; go far beyond text chat rooms. The specification can easily be extended beyond text to any form of conversation space involving several parties. The word "room" is used throughout the document, and may appear somewhat linked to "chat room". But, leaving this restrictive interpretation aside, we can easily see that almost every concepts used can be applied to the wider scope of conversation spaces.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3691/2922/1600/zzaaaaaaa05.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3691/2922/320/zzaaaaaaa05.jpg" border="0" /&gt;&lt;/a&gt; &lt;p&gt;The first important aspect of the specification is the capacity of its definitions to be applied without changes outside the limitative text communication scope.&lt;br /&gt;The specification provides an exhaustive list of spaces types, such as public (Open, Public) or private (Members-Only, Hidden) spaces, identified (Non-Anonymous) or anonymous (Fully-Anonymous) spaces, temporary (Temporary) or permanent (Persistent) spaces. One can refer to the specification for an exhaustive description of these types. The important point being that these types of spaces are somewhat independent of the actual means of communication used inside the space. They would apply equally well for text, voice or video, or any combination thereof. &lt;br /&gt;Similarly, the specification goes to great length at defining the roles (Moderator, Participant, Visitor) and affiliation (Owner, Admin, Member, Outcast) any participant in a conversation space may acquire, as well as the rules and privileges a compliant implementation must provide in relation to these roles or affiliations. Once again, none of these definitions are specific to text communication. They remain valid for any kind of conversation space. &lt;/p&gt;&lt;p&gt;The second important point is the reliance on presence for the actual conversation spaces functioning. Entering or leaving a space is entirely driven by presence. And the XEP takes great care at defining the associated presence broadcast behavior.&lt;br /&gt;The third important point is the definition of all the management actions that may be associated with a conversation space. For a space owner, it defines a wide range of configuration options. For a space administrator it allows to modify persistent information about user affiliations (e.g., banning) and to grant or revoke moderator privileges. Here again, there is nothing specific to text only communication.&lt;/p&gt;&lt;p&gt;The last important point lies in the possibility to use an XMPP address to refer to any conversation space, and any participant in the space. This fined grained addressing is the key to the extensibility of the "&lt;EM&gt;Multi User Chat&lt;/EM&gt;" to "&lt;EM&gt;Multi User Communication&lt;/EM&gt;". It is easy to imagine that a multi-media conversation space will use &lt;a href="http://www.xmpp.org/extensions/xep-0166.html" target="_blank"&gt;Jingle&lt;/a&gt; to extend its media capabilities beyond text only. As the conversation space is presence enabled, it will broadcast its capabilities to any client entering the space, while receiving the client's one. Similarly, the space will also broadcast the new participant's client capabilities to all existing participants, thus allowing multi-media private conversations to take place. A Jingle enabled client would then be able to negotiate a voice or video session with a multimedia space seamlessly. It does not matter if the multi-media implementation is entirely provided by the MUC service, or handed over to specialized audio or video bridges.&lt;/p&gt;&lt;p&gt;In the end, the &lt;a href="http://www.xmpp.org/extensions/xep-0045.html" target="_blank"&gt;MUC specification&lt;/a&gt; is a very important enabler for building advanced communication application, beyond text only. It provides a ready made framework to manage conversation spaces and participants. It is another perfect example of the maturity of the protocol and of the growing importance of presence in application. As I have mentioned &lt;a href="http://antecipate.blogspot.com/2006/10/moving-up-stack.html" target="_blank"&gt;earlier&lt;/a&gt;, XMPP has reached a stage allowing many application usages from its existing features set. It is just a matter of imagination and &lt;a href="http://www.gapingvoid.com/Moveable_Type/archives/000932.html" target="_blank"&gt;creativity&lt;/a&gt;&amp;hellip;&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jingle" rel="tag"&gt;Jingle&lt;/a&gt;, &lt;a href="http://technorati.com/tag/conversation+space" rel="tag"&gt;Conversation space&lt;/a&gt;, &lt;a href="http://technorati.com/tag/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116067654995641974?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116067654995641974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116067654995641974'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/10/multi-user-communication.html' title='Multi user communication'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-116056809103549341</id><published>2006-10-11T14:01:00.000+02:00</published><updated>2006-10-11T14:01:32.860+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Moving up the stack</title><content type='html'>&lt;p&gt;I have always heard bright people advocating that the real value lies in "&lt;EM&gt;applications&lt;/EM&gt;" and not in the underlying "&lt;EM&gt;plumbing&lt;/EM&gt;". Although some will certainly disagree, there is certainly some truth in the saying&amp;hellip;&lt;/p&gt;&lt;p&gt;The recent submission of a new XMPP extension proposal prompted this reflection. The list of &lt;a href="http://www.xmpp.org/extensions/" target="_blank"&gt;XMPP extensions&lt;/a&gt; is nearing the 200 and going. The purpose of this proposed addition is quite clear and legitimate: &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;While a protocol has been described for initiating a file transfer from one user to another, there is not yet a protocol allowing for one user to designate a set of files as available for retrieval by other users of their choosing.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;The proposal goes even further by listing the functionalities provided by the protocol extension:&lt;/p&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;Obtain a list of other client's publicly available files, which match given search criteria. The search protocol is similar to that described in XEP-0055.&lt;/li&gt;&lt;li&gt;Request the transfer of one of those files. The transfer itself would function as described in XEP-0096.&lt;/li&gt;&lt;li&gt;Place requests into a sender-side queue, such that files are sent at a later time.&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;p&gt;Unless I am missing something, these functionalities are shared by many resources management applications. Many of these applications always follow the same features' pattern once the service has been discovered:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Traversal of the resource store a.k.a listing,&lt;/li&gt;&lt;li&gt;Finding a particular resource or resource set a.k.a search,&lt;/li&gt;&lt;li&gt;Performing some action on a particular resource.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;It happens we already have all the building blocks amongst existing XMPP extensions. In this particular case we would use:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.xmpp.org/extensions/xep-0030.html" target="_blank"&gt;XEP-0030&lt;/a&gt; and &lt;a href="http://www.xmpp.org/extensions/xep-0128.html" target="_blank"&gt;XEP-0128&lt;/a&gt; for the files store traversal,&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.xmpp.org/extensions/xep-0055.html" target="_blank"&gt;XEP-0055&lt;/a&gt; and &lt;a href="http://www.xmpp.org/extensions/xep-0004.html" target="_blank"&gt;XEP-0004&lt;/a&gt; for the files store search,&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.xmpp.org/extensions/xep-0050.html" target="_blank"&gt;XEP-0050&lt;/a&gt; for files store manipulation such as file retrieval or removal.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I believe this example shows that XMPP as a protocol has reach the right maturity level, allowing many application usages from its existing features set. There are still unexplored areas were the protocol will need entirely new constructs. This will pobably be the case of very specific application domains, such as the latest discussions around gaming extensions show. In a majority of cases, though, we should see more and more proposals defining existing extensions "&lt;EM&gt;mashups&lt;/EM&gt;" instead.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-116056809103549341?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116056809103549341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/116056809103549341'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/10/moving-up-stack.html' title='Moving up the stack'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115988167341984977</id><published>2006-10-03T15:21:00.000+02:00</published><updated>2006-10-03T15:21:14.513+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VOIP'/><title type='text'>YOIP (yawns over IP)</title><content type='html'>&lt;p&gt;Steering an old stew doesn't turn it into a gourmet meal. And frankly, I think the latest babble-chatter around which VoIP start-up is more voice 2.0 than the other is kind of boring.&lt;/p&gt;&lt;p&gt;I recently left a simple comment on a series of posts describing the "&lt;EM&gt;bad practices&lt;/EM&gt;" dictating the success or failure of new voice and video over IP enterprises: "&lt;EM&gt;what should they do to succeed?&lt;/EM&gt;" Well, the &lt;a href="http://www.realtime-unifiedcommunications.com/mobilityfixed_mobille_converge/2006/09/how_to_succeed_at_the_transiti.htm" target="_blank"&gt;tentative answer&lt;/a&gt; has only highten my perplexity. In short, no one seems to knows, but many are talking&amp;hellip;&lt;/p&gt;&lt;div style="CLEAR: both"&gt;&lt;/div&gt;&lt;div style="FONT-SIZE: 20px; BACKGROUND: white; FILTER: alpha(opacity=75); FLOAT: right; MARGIN: 10px; WIDTH: 150px; LINE-HEIGHT: 24px; TEXT-ALIGN: right; moz-opacity: .75; opacity: .75"&gt;&lt;small&gt;after all is said, &lt;/small&gt;&lt;strong&gt;more&lt;/strong&gt;&lt;small&gt; is &lt;/small&gt;&lt;strong&gt;said&lt;/strong&gt;&lt;small&gt; than &lt;/small&gt;&lt;strong&gt;done&lt;/strong&gt;&amp;hellip;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;The unease grew even stronger when I red that voice 2.0 in a nutshell sums-up as "&lt;EM&gt;be different and give the customer control&lt;/EM&gt;". What a great discovery! That sounds so marketing 0.1, dear. It just leaves me wondering if anyone is seeing the obvious: until the toll based business model ceases to exist, there are not many chances for large scale innovative and compelling voice applications to emerge. The promise land of converged applications remains a mirage. Unfortunately for all these new enterprises, the issue lies with the networks business model, not with technology. On the positive side though, these VoIP start-ups are helping an ongoing customer education process. Whatever their fate may be, by providing a test bed of other possibilities to end users, they are more valuable than it appears at first sight. Obviously, trying to quantify this value in business terms is open to interpetations. Like any return on peoples&amp;rsquo; education&amp;hellip;&lt;/p&gt;&lt;p&gt;The troubling feeling I had was further re-enforced when I red the self-congratulating inventor of the so called Voice 2.0 meme suggesting that switching from one's current telecom provider to AOL, Google or [&lt;em&gt;insert your favorite walled garden keeper name here&lt;/em&gt;] is the next panacea and will open a wonderful era of user driven voice applications. I doubt refurbishing second hand ideas which have been around since the beginning of the nineties will ever make this meme a reality soon. If like me you have seen so many of these layered voice/directory/application diagrams in any single telecom operator presentation, and so little changes over the same period of time, you remain somewhat skeptical&amp;hellip;&lt;/p&gt;&lt;p&gt;As Aesop, this fine observer of humanity, declared, "&lt;EM&gt;after all is said, more is said than done&lt;/EM&gt;". I believe the VoIP meme, in its current voice 2.0 disguise, as well as all its &amp;ldquo;&lt;em&gt;propagandists&lt;/em&gt;&amp;rdquo; unfortunately do not escape this great saying.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/voip" rel="tag"&gt;VoIP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115988167341984977?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115988167341984977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115988167341984977'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/10/yoip-yawns-over-ip.html' title='YOIP (yawns over IP)'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115969558844051166</id><published>2006-10-01T11:39:00.000+02:00</published><updated>2006-10-01T11:39:48.486+02:00</updated><title type='text'>Let's archive FUD. </title><content type='html'>&lt;p&gt;We can draw a parallel between protocols and men: confidence comes with maturity. I believe the latest versions of the &lt;a href="http://www.jabber.org/jeps/jep-0189.html" target="_blank"&gt;public key publishing&lt;/a&gt; and &lt;a href="http://www.jabber.org/jeps/jep-0136.html" target="_blank"&gt;message archiving&lt;/a&gt; extensions to XMPP are to be interpreted as a concrete sign of maturity. In which way would you ask? In leveraging other existing protocols to their own advantage, in this case the established XML &lt;a href="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/" target="_blank"&gt;digital signature&lt;/a&gt; and &lt;a href="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/" target="_blank"&gt;encryption&lt;/a&gt;. &lt;br /&gt;The process of standardizing a protocol often implies walking a narrow path between the "&lt;EM&gt;not invented here&lt;/EM&gt;" (let's redo everything) and the "&lt;EM&gt;narcissistic elitism&lt;/EM&gt;" (we can do everything) precipices.&amp;nbsp; In my opinion, when protocol's extensions authors rely on somebody else's work, it gives a strong signal they, and by consequence the protocol, have reached an "&lt;EM&gt;adult&lt;/EM&gt;" level of confidence. And in turn, the early natural fears and doubts linked to this kind of endeavor are clearing out.&lt;/p&gt;&lt;p&gt;Going back to the proposed extensions, although I find the public key publishing proposal ready for implementation, I believe the message archiving proposal requires further improvement. Don't get me wrong, I am in no way diminishing the great work provided by the authors. I am just saying that, with few modifications, this archiving proposal could open a much wider perspective in our days of hyper communication.&lt;/p&gt;&lt;p&gt;From the &lt;a href="http://www.jabber.org/jeps/jep-0136.html" target="_blank"&gt;JEP-136&lt;/a&gt; introduction, I read the purpose of the extension.&lt;/p&gt;&lt;blockquote&gt;Many XMPP clients implement some form of client-side message archiving. However, it is not always convenient or even possible to archive messages locally, e.g., because it is easier to keep all archives in one universally accessible place (not scattered around on multiple computers or devices) or because the client operates in a web browser or resides on a mobile device that does not have sufficient local storage for message archiving. In addition, server-side archiving makes it possible to offer new services such as integration of IM and email. Therefore it is beneficial to define methods for server-side archiving of XMPP messages.&lt;/blockquote&gt;&lt;p&gt;In essence, this describes an application process, either manual or automatic, where different conversation threads are recorded to a store for later processing. When you think of it, this is a very natural extension to any communication system. It is also a typical storage application, with typical application subsystems:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Recording rules management (preferences)&lt;/li&gt;&lt;li&gt;Conversations management (collections)&lt;/li&gt;&lt;li&gt;Conversations' items management (messages)&lt;/li&gt;&lt;li&gt;Content replication management&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;In the end, this is not very different from a mail box or a blog post management application. The transport protocol for interacting with the application will have to be adapted to the appropriate client, but the operations will remain identical: modify, add, delete collections, modify, add, delete items, list store content. And all this is independent of the actual content of the messages or collections. To re-enforce this point, just note how the JEP describes the two cases of clear and encrypted content, and provide adequate methods for both content types. I believe the JEP would greatly benefit using &lt;a href="http://www.ietf.org/rfc/rfc4287.txt" target="_blank"&gt;Atom&lt;/a&gt; and its &lt;a href="http://www.ietf.org/rfc/rfc4685.txt" target="_blank"&gt;extensions&lt;/a&gt; instead of an home grown content format.&amp;nbsp; &lt;br /&gt;From a functional stand point, there is no difference between using the JEP proposed content format, and a standardized Atom content, as represented bellow. &lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;iq type="set" to="montague.net" id="up2"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;store xmlns="&lt;A href="http://jabber.org/protocol/archive"&gt;http://jabber.org/protocol/archive&lt;/A&gt;"&lt;br /&gt;        with="&lt;A href="mailto:juliet@capulet.com/chamber"&gt;juliet@capulet.com/chamber&lt;/A&gt;"&lt;br /&gt;        start="1469-07-21T02:56:15Z"&lt;br /&gt;        subject="She speaks!"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;feed xmlns="&lt;A href="http://www.w3.org/2005/atom"&gt;http://www.w3.org/2005/Atom&lt;/A&gt;"&lt;br /&gt;        xmlns:thr="&lt;A href="http://purl.org/syndication/thread/1.0"&gt;http://purl.org/syndication/thread/1.0&lt;/A&gt;"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;title type="text"&amp;gt;She speaks!&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;updated&amp;gt;1469-07-21T02:56:15Z&amp;lt;/updated&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;generator uri="&lt;A href="mailto:romeo@montague.net"&gt;romeo@montague.net&lt;/A&gt;" version="1.0"&amp;gt;&lt;br /&gt;      Verona client&lt;br /&gt;   &amp;lt;/generator&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;id&amp;gt;60a76c80-d399-11d9-b91C-0003939e0af6&amp;lt;/id&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;entry&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;id&amp;gt;60a76c80-d399-11d9-b91C-0003939e0af6:0&amp;lt;/id&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;published&amp;gt;1469-07-21T02:56:15Z&amp;lt;/published&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;author&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;name&amp;gt;Juliet&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uri&amp;gt;juliet@capulet.com/chamber&amp;lt;/uri&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/author&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;content type="xmpp" xml:lang="en"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;body&amp;gt;Art thou not Romeo, and a Montague?&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/content&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/entry&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;entry&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;id&amp;gt;60a76c80-d399-11d9-b91C-0003939e0af6:1&amp;lt;/id&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;published&amp;gt;1469-07-21T02:56:26Z&amp;lt;/published&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;author&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;name&amp;gt;Romeo&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uri&amp;gt;romeo@montague.net/orchard&amp;lt;/uri&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/author&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;thr:in-reply-to ref="60a76c80-d399-11d9-b91C-0003939e0af6:0"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;content type="xmpp" xml:lang="en"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;body&amp;gt;Neither, fair saint, if either thee dislike.&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/content&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/entry&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;entry&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;id&amp;gt;60a76c80-d399-11d9-b91C-0003939e0af6:2&amp;lt;/id&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;published&amp;gt;1469-07-21T02:56:29Z&amp;lt;/published&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;author&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;name&amp;gt;Juliet&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uri&amp;gt;juliet@capulet.com/chamber&amp;lt;/uri&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/author&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;thr:in-reply-to ref="60a76c80-d399-11d9-b91C-0003939e0af6:1"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;content type="xmpp" xml:lang="en"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;body&amp;gt;How cam'st thou hither, tell me, and wherefore?&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/content&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/entry&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;entry&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;id&amp;gt;note:60a76c80-d399-11d9-b91C-0003939e0af6:0&amp;lt;/id&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;published&amp;gt;1469-07-21T03:04:35Z&amp;lt;/published&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;author&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;name&amp;gt;Romeo&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uri&amp;gt;romeo@montague.net/orchard&amp;lt;/uri&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/author&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;content type="xhtml" xml:lang="en"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div xmlns="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br /&gt;       I think she might fancy me.&lt;br /&gt;     &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/content&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/entry&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/feed&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;/store&amp;gt;&lt;br /&gt;&amp;lt;/iq&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I believe in re-using what has already been thoroughly and critically discussed when it comes to standards covering the same field of application. In this case, with all due respect for the JEP authors, I think most aspects related to expressing web contents are already incorporated in the Atom specification, including standardized extension methods. In comparison, an XMPP specific content format will almost certainly be limitative. I am not certain the JEP authors have had the time to consider all the possible content use cases, which is perfectly understandable. On the other hand, they know XMPP well, and they came up with a good management envelope around the content. I have no doubt they would find adapting the query part of the extension to an Atom content easy.&lt;/p&gt;&lt;p&gt;I know that some of the JEP authors are particularly cautious with the size of what is sent over the network when it comes to wireless clients, and they may object as to the increased size of the XMPP payload. In this precise case, this would not apply, as the JEP is meant initially to provide a service to such limited local storage capacity client. In practice, the kind of content I describe will never be transmitted to these clients.&lt;/p&gt;&lt;p&gt;In the end, the same content information is conveyed, with a much greater content extensibility built into Atom, and the flexibility of XMPP for the transport. And this alone offers a number of possible applications beyond message archiving. For example, the exact same protocol can be used to post to a blog. Using Atom as the exchange format immediately increases the complementarities between XMPP servers and traditional web servers. XMPP servers could expose conversations as feeds. Etc&amp;hellip; The end-user imagination only becomes the limit, and not the JEP. And this in turn is invaluable.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/atom" rel="tag"&gt;Atom&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/instant+messaging" rel="tag"&gt;Instant messaging&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115969558844051166?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115969558844051166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115969558844051166'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/10/lets-archive-fud.html' title='Let&apos;s archive FUD. '/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115961203364737931</id><published>2006-09-30T12:27:00.000+02:00</published><updated>2006-09-30T12:29:16.520+02:00</updated><title type='text'>Come on in!</title><content type='html'>&lt;p&gt;It's amazing how small ripples can be made to fill the vacuum by sheer echo relaying. Reading my feed headlines, I came across a mention of Yahoo! opening up its authentication service to third parties. So what? But the post also said that "&lt;EM&gt;Dave Winer says this is a huge deal&lt;/EM&gt;". By reference to &lt;a href="http://www.don-lindsay-archive.org/skeptic/arguments.html" target="_blank"&gt;the list of "Fallacious Arguments"&lt;/a&gt; I used previously, this is typically an &lt;em&gt;Appeal to Authority&lt;/em&gt;. Let's check!&lt;/p&gt;&lt;p&gt;As I soon discovered, it was yet another conjectural babbling. After all, what is so extraordinary about another entrenched walled garden community&amp;rsquo;s keeper offering a service to the rest of the world as long as the rest of the world&amp;rsquo;s users give custody of some of their identity attributes to the said warden? In the end, these (the wardens) companies make money by selling identity attributes' derived products, such as searching or shopping behaviors or reputations&amp;hellip; &lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3691/2922/1600/iwonder883.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3691/2922/320/iwonder883.jpg" border="0" /&gt;&lt;/a&gt; &lt;p&gt;To me this is just another expression of the typical lack of imagination unfortunately so common in the current web activity. Instead of trying to solve real end-users issues, such as identity attribute portability, it is certainly easier to invoke an "&lt;EM&gt;extended user's choice&lt;/EM&gt;" and just offer another "&lt;EM&gt;me too&lt;/EM&gt;" service. &lt;/p&gt;&lt;p&gt;As far as I remember, Microsoft started this a few years ago with Passport. And it was deemed so devilish at the time. What has changed since, apart from the number of devils, and the end-users' getting used to it? Microsoft (&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlive/html/winliveidserv.asp" target="_blank"&gt;LiveID&lt;/a&gt;), Google (&lt;a href="http://code.google.com/apis/accounts/AuthForWebApps.html" target="_blank"&gt;Google Authentication&lt;/a&gt;), Amazon (&lt;a href="http://www.amazon.com/gp/browse.html?node=16427261" target="_blank"&gt;S3&lt;/a&gt;) and now Yahoo! (&lt;a href="http://developer.yahoo.com/auth/" target="_blank"&gt;BBAuth&lt;/a&gt;) are the most visible examples of the same limited SSO approach. But so are the &lt;a href="http://openid.net/" target="_blank"&gt;OpenID&lt;/a&gt;, &lt;a href="http://lid.netmesh.org/" target="_blank"&gt;LID&lt;/a&gt;, [&lt;em&gt;name your favorite micro ID provider here&lt;/em&gt;] and &lt;a href="http://www.identitygang.org/Reference" target="_blank"&gt;consorts&lt;/a&gt;. As a matter of facts, we should perhaps use a different acronym, such as CSO (Centralised Sign On) or [&lt;em&gt;insert your own acronym&lt;/em&gt;], instead of SSO. Others said it before, but I do not see how this announcement could be huge in any way except re-enforcing the walled gardens keepers' hold on identity silos. Internet is all about addressing, identity and communication. I believe we are only watching a greater concentration of power in the hands of the same few players. Funnily enough, AOL did not yet made a similar announcement.&lt;/p&gt;&lt;p&gt;I was under the impression the next generation of identity assertion systems had to move away from the concept of "&lt;EM&gt;location&lt;/EM&gt;" based systems, where one is authenticated because he was able to enter a specific "&lt;EM&gt;fortress&lt;/EM&gt;". Instead we're just seeing the multiplication of "&lt;EM&gt;fortresses&lt;/EM&gt;". In this landscape, novel approaches such as what Jason Kolb &lt;a href="http://www.jasonkolb.com/weblog/2006/09/reinventing_the.html" target="_blank"&gt;is trying out&lt;/a&gt; look so refreshing&amp;hellip;&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/identity" rel="tag"&gt;Identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+reputation" rel="tag"&gt;Digital reputation&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/trust" rel="tag"&gt;Trust&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+identity" rel="tag"&gt;Digital identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115961203364737931?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115961203364737931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115961203364737931'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/09/come-on-in.html' title='Come on in!'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115926684736267247</id><published>2006-09-26T12:34:00.000+02:00</published><updated>2006-09-26T12:34:08.310+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Threading with Atom</title><content type='html'>&lt;p&gt;The &lt;a href="http://www.ietf.org/rfc/rfc4287.txt" target="_blank"&gt;Atom feed specification&lt;/a&gt; has been enriched by a &lt;a href="http://www.ietf.org/rfc/rfc4685.txt" target="_blank"&gt;threading extension&lt;/a&gt; which further convince me it possess all the required qualities to be used as a standard for instant messaging logs.&lt;/p&gt;&lt;p&gt;As I mentioned &lt;a href="http://antecipate.blogspot.com/2006/08/not-microformated-here.html" target="_blank"&gt;earlier&lt;/a&gt;, Atom answers more than 90% of what is required to store and communicate content and meta-data for an IM logging system. With the addition of this latest RFC, it would become easier to reconcile IM threads. For example,&amp;nbsp;to support the compliance applications requirements. Or to allow submission to a search engine.&lt;/p&gt;&lt;p&gt;More generally,&amp;nbsp; Atom may become a generalized exchange format for these applications, for any kind of conversation (IM, mail, blogs, wikis, etc&amp;hellip;) That may not please the current vendors and their locked in proprietary exchange formats&amp;mdash;the famous "&lt;EM&gt;we can export data as XML&lt;/EM&gt;"&amp;mdash;but this is what standards are about.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/atom" rel="tag"&gt;Atom&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/instant+messaging" rel="tag"&gt;Instant messaging&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115926684736267247?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115926684736267247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115926684736267247'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/09/threading-with-atom.html' title='Threading with Atom'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115914099197107999</id><published>2006-09-25T01:36:00.000+02:00</published><updated>2006-09-25T01:41:21.356+02:00</updated><title type='text'>Pillars of Hercules </title><content type='html'>&lt;p&gt;While researching the commonly expressed concepts regarding naming and addressing, I came across a &lt;a href="http://norman.walsh.name/2006/07/25/namesAndAddresses" target="_blank"&gt;duet&lt;/a&gt; of &lt;a href="http://norman.walsh.name/2006/09/05/identifiers" target="_blank"&gt;posts&lt;/a&gt; which, in my opinion, exemplify perfectly the noxious effects resulting from entrenched and subjective positions. Having recently discovered this &lt;a href="http://www.don-lindsay-archive.org/skeptic/arguments.html" target="_blank"&gt;amusing summary list&lt;/a&gt; of "&lt;EM&gt;fallacious arguments&lt;/EM&gt;", I though it would be fun to identify if and where the author has been using some of them. In effect, I was able to pinpoint a few interesting usages.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Time and again, we see individuals and organizations inventing new URI schemes in order to tackle the problem of "names" versus "addresses". That is, they want to provide some sort of a globally unique identifier for "This Thing" independent of where representations of that thing might reside. Almost inevitably, these individuals and organizations fall into the trap of thinking that an "http" URI is somehow an address and not a name and is, therefore, inappropriate for their purpose. They are mistaken. I used to believe this too and I was wrong. A new URI scheme is not necessary, nor does it actually solve the problem.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;This is a &lt;em&gt;Statement of Conversion&lt;/em&gt;. This is defined as a weak form of asserting expertise. The author is implying that he has changed his mind over time, and now that he is better informed, he has rejected a previous opinion.&lt;/p&gt;&lt;p&gt;All along his two posts, the author does nothing but assert that an URL is an URI. Fair enough, but if I am not mistaking this is also what &lt;a href="http://www.gbiv.com/protocols/uri/rfc/rfc3986.html" target="_blank"&gt;RFC3986&lt;/a&gt; does. But after reading both the RFC and these posts, I am still trying to figure out why would every URI always have to be represented as an HTTP URLs?&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;URIs are names. They're all names. There's no technical reason to invent new URI schemes to address the goal of providing names that can be created in a distributed fashion, that unambiguously identify a resource, are persistent, and can be used to retrieve representations.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;I am not certain if this quote falls under &lt;em&gt;Argument from Adverse Consequences&lt;/em&gt; or under &lt;em&gt;Causal Reductionism&lt;/em&gt;. The later seems perhaps more appropriate, as in effect the author reduces the array of reasons that could potentially lead to choosing an URI outside the HTTP scheme to the "&lt;EM&gt;technical reason&lt;/EM&gt;"&lt;/p&gt;&lt;p&gt;I agree with the author, there is not technical reason to create new schemes, only real world cases and requirements. I would feel awkward using "&lt;EM&gt;there is no technical reasons&lt;/EM&gt;" to justify a limitation of the possibilities offered to an end-user in the context of his core business, wont you?. &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;There may be circumstances under which there are compelling reasons not to use http URIs, but no such circumstances have yet been convincingly articulated to me. &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;This one quote falls clearly under the &lt;em&gt;Argument from Authority&lt;/em&gt;. In this area of expertise, the author is actually claiming to be more expert than anyone else in his readership. Now, I leave it to you to decide if there is also an implied claim that expertise in the area is worth having. As to me, I recon a good knowledge is certainly worth having.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Arguments against http URIs based on the cost or inconvenience of maintaining web infrastructure to support access to those URIs don't hold water. I accept that there are some issues of user expectation here, but I don't find those issues sufficient to warrant the invention or use of "pure identifiers"&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Once again, we have &lt;em&gt;Argument from Authority&lt;/em&gt;, probably combined with a touch of &lt;em&gt;Reductive Fallacy&lt;/em&gt; in under valuating the impact of "&lt;EM&gt;user expectations&lt;/EM&gt;". &lt;/p&gt;&lt;p&gt;What is the use of any technology that does not correspond to user expectations? Who can pretend he can grasp every possible concept and use case? For me, pretending that the current state of the internet and the associated infrastructure services are cast in bronze is nothing but utopia. It would deny us any possibility of invention. As one of the comments states, DNS is an important part of the infrastructure which relies on "&lt;EM&gt;economy&lt;/EM&gt;". And as a consequence, the usage of domain names in URLs is driven by a market. To my modest knowledge, there is nothing more variable and subject to change than a market. I would not bet on market driven domain names for persistence or disambiguation.&lt;/p&gt;&lt;p&gt;In the end, there are certainly many cases where an HTTP URL is all what is necessary to name a resource. Web pages are there to assert this. But reducing the naming of all the internet objects to using HTTP URLs is in my opinion both partisan and short sighted. In many real life languages we find common names and family names. They serve different purposes and are used in different contexts. For example, refering to someone as &amp;ldquo;&lt;em&gt;John Doe the 3rd&lt;/em&gt;&amp;rdquo; does not imply you can derive its location from its name. Why would the case be different for URIs? They do not exist per se, but only to help us solve real world issues. I would have appreciated an approach exposing with slightly more impartiality the different purposes where URIs can be used, such as unique name for a singular thing, address or location, and unique name for a conceptual thing to be used unambiguously. &lt;/p&gt;&lt;p&gt;In the ancient times, the popular belief and the stubbornness of the experts of the time made the Pillars of Hercules the western end of the Earth where the sun sets. Later we found there was a new world beyond them. Why would our internet age be so different&amp;hellip; In the meantime I am still researching.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/addressing" rel="tag"&gt;Addressing&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115914099197107999?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115914099197107999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115914099197107999'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/09/pillars-of-hercules.html' title='Pillars of Hercules '/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115912644249612707</id><published>2006-09-24T21:34:00.000+02:00</published><updated>2006-09-24T21:40:40.750+02:00</updated><title type='text'>Evolution in a fuzzy future</title><content type='html'>&lt;p&gt;&lt;a href="http://www.3pblog.net/index.php?entry=entry060924-150332" target="_blank"&gt;Mickaël Rémond kindly point out&lt;/a&gt; he does not perceive Flash as the magical cure to the multiplatform incompatibilities plaguing many web applications. I agree entirely. It is just a step toward decreasing the collateral effects of having to support several web browser variations. As matter of fact, my remark about unsupported browsers was more destined to highlight the lack of respect many recent web sites exhibit in dismissing the ability of an end-user to use its browser of choice. &lt;/p&gt;&lt;p&gt;That said, why Mickaël only choose 51 words out of the 1165 comprising my post still puzzles me&amp;hellip; Is this argument by selective reading? I would rather believe the phrase he quoted triggered the need to express in his own words an unfortunate reality.&lt;/p&gt;&lt;p&gt;He makes the point that ActionScript3 requires an upgrade of the flash player. I do not see anything really new with this approach. From what I understand ActionScript3 requires a more recent version of the associated virtual machine to run. What is so special about it? Other runtime environments evolve similarly. It is true of Java, Flash, PHP, [&lt;em&gt;add you own favorite interpreted language here&lt;/em&gt;] and many others. The benefit of added features rarely occurs without an upgrade, otherwise all softwares would already have been carved in stone&amp;hellip; As an end-user, what matters first hand is the backward compatibility, so my existing applications do not require rewriting. This way I can decide solely in view of my business requirements that the added features or performance improvements may boost my business and decide to use the upgrade without being forced into it. &lt;/p&gt;&lt;p&gt;On the unfirtunate lack of adequate Flash player releases for the Linux operating system, I can only deduce from what Mickaël has been writing that this particular population unfortunately do not fall within the "&lt;EM&gt;target&lt;/EM&gt;" decided by the persons in charge of the Flash player business development. Frankly, beyond noting the fact and agreeing it looks certainly unfair, I doubt we can do much about it.&lt;/p&gt;&lt;p&gt;For sure the future is fuzzy, but not only in relation to web frameworks. I don't believe I will live long enough to see a single ubiquitous operating system running on many different machine architectures, nor by consequence any universal tool set spanning all contexts and needs. And in all fairness it would be such a bore&amp;hellip; But any evolutionary step decreasing the artificially created disparities between platforms is welcome. In this context, I re-iterate that &lt;a href="http://www.jivesoftware.org/xiff/" target="_blank"&gt;XIFF&lt;/a&gt; and Flash together make &lt;strong&gt;A&lt;/strong&gt; very strong contender for building rich client XMPP enabled application. I am not implying &lt;a href="http://disktree.net/test/flabber/documentation" target="_blank"&gt;this is the only one&lt;/a&gt;. I just believe it is an encouraging sign which opens up better possibilities for a population of developers that did not benefit of an adequate toolkit choice previously. &lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/flash" rel="tag"&gt;Flash&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115912644249612707?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115912644249612707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115912644249612707'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/09/evolution-in-fuzzy-future.html' title='Evolution in a fuzzy future'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115902805909662925</id><published>2006-09-23T18:14:00.000+02:00</published><updated>2006-09-23T18:14:20.426+02:00</updated><title type='text'>Flash fat belly</title><content type='html'>&lt;p&gt;One of the interesting enhancements to the XMPP toolkits portfolio is the &lt;a href="http://www.velloff.com/?p=17" target="_blank"&gt;porting of the XIFF Flash library&lt;/a&gt; to ActionScript3. There is say in the software industry that a product only reaches full readiness at its third release. ActionScript seems to fit perfectly into that category. Its latest version has enabled Nick Velloff and Derrick Grigg to take advantage of the language better structure and network support to build a very promising XMPP library. As a bonus, with the &lt;a href="http://www.velloff.com/?p=21" target="_blank"&gt;native socket support&lt;/a&gt; now part of ActionScript, the null terminating character so specific of the previous Flash clients is now gone.&lt;br /&gt;XIFF and Flash together make a very strong contender for building rich client XMPP enabled application without suffering this dreaded message one see on so many web 2.0 mashups &lt;em&gt;"your browser is not supported, you must use [insert browser name here] instead"&lt;/em&gt; when trying to bring up the chat window. &lt;/p&gt;&lt;p&gt;And then there are the recent speculations about the forthcoming enhanced VoIP support in the Flash player. On paper it looks a promising move, as the number of possible applications build on the combination of Rich Interface/Multimedia/Presence backed by a powerful interface library seems endless.&lt;br /&gt;As the player already supports voice and video, tying into the emerging VoIP ecosystem is a natural extension. Obviously, the announcement has spurred several comments amongst the regular VoIP aficionados. Many, such as this one for example, mentioned the challenges related to this entreprise.&lt;/p&gt;&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;&lt;p&gt;The Adobe start-up team faces quite a few challenges. For instance, it would have to support multiple VoIP protocols, and it will also have to figure out how to keep the overall size of the Flash client size small. Sources say that touching Flash Player is like messing with God inside Adobe, and the start-up team needs to figure out how to embed a SIP stack inside the player without making it bloated.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Effectively, the team working at bringing better VoIP support to the Flash player faces several challenges. But not necessarily those mentioned in this typical excerpt of the dominant VoIP meme. This is my first worry, as it sounds like a reductive fallacy to me. &lt;/p&gt;&lt;p&gt;The team first challenge would be to get away form the hype, and focus on building a usable, simple and standard compliant product. For sure, to be effective the resulting product will have to support multiple VoIP protocols. That said, one should remember that a VoIP communication is always the result of combining a session negotiation between parties and the transport of the voice media. If we exclude proprietary closed protocols such as Skype, which will inevitably die out, the only viable remaining standard VoIP contenders left are:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;SIP and Jingle associated with SDP/ICE on the signaling side &lt;/li&gt;&lt;li&gt;RTP on the media transport side.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;It just happens that these two signaling protocols support the same voice media transport, and the same way to negotiate it. As a consequence, only the media transport has to be integrated into the Flash player, with the signaling being provided as plugins. Using this kind of design brings multiple advantages from the standpoint of extensibility and evolution. An immediate benefit would be to allow any application to choose its own signaling and implemented media transport combination. Doing so will defuse many subjective &lt;em&gt;"I don't like [insert you favorite hated VoIP protocol here]"&lt;/em&gt; reaction and offer the proper flexibility to help building solutions to real users issues.&lt;br /&gt;Furthermore, if the transports are built into the player and the signaling available as plugins, they will be part of the player installation and not of the resulting client. As such they will not "bloat" the resulting client side application.&lt;/p&gt;&lt;p&gt;The team second challenge would be handling the media transport negotiation. It happens that RTP uses UDP at the network level, and is therefore handicapped when crossing firewalls and other NAT devices. To be effective, the resulting product would have to exchange voice media streams with existing and near future VoIP softphones, hardphones and IPBX. This implies that the player will have to incorporate a raw SDP transport to cater for legacy installations, as well as ICE for the upcoming generations of VoIP devices.&lt;br /&gt;Several solutions have been proposed to allow VoIP calls to cross firewalls, but each class of NAT firewall requires a different technique. To complicate matters further, the different NAT traversal techniques address only one class of NAT device. For example, Simple Traversal of UDP through NAT (STUN) will not work with symmetric NATs, which you find most often in enterprise. The Interactive Connectivity Establishment (ICE) is designed to provide a framework unifying the various NAT traversal techniques. This in turn allows VoIP clients' media streams to traverse the variety of firewalls between a remote user and a network. ICE defines a standardized method for both SIP and Jingle clients to determine the type of NAT firewalls on the path between clients and propose a set of IP addresses by which clients can establish contact. ICE learns about the network topology using a number of protocols and network connectivity mechanisms, such as STUN, Traversal Using Relay NAT (TURN) and Realm Specific IP (RSIP) and deduces the various sets of IP addresses by which the devices can communicate.&lt;/p&gt;&lt;p&gt;The team last challenge would be to stay open minded. This is probably the toughest one. This kind of project usually involves mixing together strong business interests with strong egos. For example, maintaining and increasing the business value of existing agreements with powerful players in the telecommunication industry will no doubt have the balance lean toward SIP. Similarly, I would be cautious relying on the &lt;em&gt;"teaching"&lt;/em&gt; provided by VoIP gurus that were brought up at baby bells, as these carriers are not known to favor the Internet. I believe only considering SIP for VoIP would be a mistake. But most importantly, the ultimate value will be driven by the way &lt;a href="http://antecipate.blogspot.com/2006/05/real-dial-tone.html" target="_blank"&gt;presence&lt;/a&gt; will fit into the resulting product. And today, nothing on the SIP side is &lt;a href="http://antecipate.blogspot.com/2006/06/unnecessary-interoperability-drafting.html" target="_blank"&gt;up to the simplicity&lt;/a&gt; and ease of use provided by XMPP. The way they will arbitrate between the subjective interests at play will condition the success of the product. As usual the only winning combination will be the one providing a solution to the end user, without locking it into a particular way of thinking. Wisdom of the end user is certainly more real than wisdom of the crowd&amp;hellip;&lt;/p&gt;&lt;p&gt;In the end, these are huge challenges, requiring wise and savvy leadership. But if they can overcome them, they could be onto something valuable. In an open standard platform strategy play, by preventing the technical hell that comes with today's VoIP clients, and offering choices to application developers, they could become the next VoIP media layer, accessible to any desktop.&lt;/p&gt;&lt;p&gt;When combining a standard based VoIP Flash player with libraries such as XIFF, you can just imagine the host of wide ranging and superb looking social applications it opens up. But so far we just have the XIFF library. And that alone makes it worth trying Flash based XMPP applications.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/sip" rel="tag"&gt;SIP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/Jingle" rel="tag"&gt;Jingle&lt;/a&gt; , &lt;a href="http://del.icio.us/jlseguineau/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/voip" rel="tag"&gt;VoIP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/flash" rel="tag"&gt;Flash&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115902805909662925?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115902805909662925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115902805909662925'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/09/flash-fat-belly.html' title='Flash fat belly'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115809070152506266</id><published>2006-09-12T21:51:00.000+02:00</published><updated>2006-09-12T21:51:41.800+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><category scheme='http://www.blogger.com/atom/ns#' term='Digital identity'/><title type='text'>Presence enabled identity</title><content type='html'>&lt;p&gt;Giving back digital identity ownership to end users has been one of the most in-vogue identity meme of the year. But why is digital identity not any more in its owner possession in the first place? Mostly because there is no way for an application to trace the real you back and check your privileges when needed. The result is the high number of digital identity fragments disseminated all over the internet that every power user has left behind in its wandering.&lt;/p&gt;&lt;p&gt;An obvious first answer to this fragmentation is the re-concentration of digital identity fragments in a limited number of places. The usual advantages are put forward, mainly the convenience of near single-sign-on. On the web, several alternatives have been implemented by various types of identity brokers, which are able to provide relevant assertion about a party identity and/or privileges. But most proposed assertion systems require the end-user to trust the identity broker. And frankly speaking, I am not convinced many end users go to the length of making sure when choosing an identity broker that:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Strong credentials are enforced and required by the broker,&lt;/li&gt;&lt;li&gt;Credentials are securely stored in the identity broker's database. &lt;/li&gt;&lt;li&gt;Physical and perimeter security at the broker's point of presence is enforced. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The next obvious answer would be to re-concentrate the complete digital identity in the immediate vicinity of the end-user. After all, many tend to agree that physical ownership gives a better feeling of security&amp;hellip;&lt;/p&gt;&lt;p&gt;An interesting proposal has been made in a recent series of posts, where are described the components of a &lt;a href="http://www.jasonkolb.com/weblog/2006/09/reinventing_the.html" target="_blank"&gt;reinvented internet&lt;/a&gt;. I have several concerns about the entire internet re-invention, but Jason is also bringing up some clever and simple ideas. In his approach, each and every user will own a domain name on which a private identity broker will be located. The proposal is interesting because an application can use the private identity broker directly as it would a web identity broker. Today's applications will&amp;nbsp;also be able to resolve that private broker address just using DNS.&lt;/p&gt;&lt;p&gt;Although it gives a better sense of ownership to the end-user, this approach does not entirely provide a solution to the original question when the user is going mobile or when an external application requests a dynamic authorization. These use cases are no edge cases in my opinion.&lt;/p&gt;&lt;p&gt;Carrying a laptop everywhere may not provide the ultimate freedom. A PDA might give a better feeling, but still. Using a password from a distant terminal will work, but is not better that today's solutions. And being remote definitively decreases the ability to provide interactive authorizations. I believe real identity ownership would ultimately involve some kind of portable device, using biometrics to assess one's identity when in use. This device would in turn advertise its presence on the network. It would then be "seen" by the private server. In turn, the server would be able to interact securely with the device and retrieve whatever privileges required by calling applications.&lt;/p&gt;&lt;p&gt;This is the nearest I would go toward bringing together identity and presence. And why not just call it &lt;em&gt;"presence enabled identity".&lt;/em&gt;&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/identity" rel="tag"&gt;Identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/trust" rel="tag"&gt;Trust&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+identity" rel="tag"&gt;Digital identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115809070152506266?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115809070152506266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115809070152506266'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/09/presence-enabled-identity.html' title='Presence enabled identity'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115790676186417902</id><published>2006-09-10T18:46:00.000+02:00</published><updated>2006-09-10T18:47:44.166+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>XMPP rings</title><content type='html'>&lt;p&gt;Words are words, and their understanding varies amongst those reading them. I thought I had set the context of my previous post on some the limitations of XMPP server to server communication arising from its dependency on DNS for more than address resolution. I was wrong, and &lt;a href="http://www.jasonkolb.com/weblog/2006/09/ring_around_the.html" target="_blank"&gt;Jason's follow up&lt;/a&gt; made this very clear.&lt;/p&gt;&lt;a href="http://photos1.blogger.com/blogger/3691/2922/1600/XMPPRings.png"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3691/2922/320/XMPPRings.png" border="0" /&gt;&lt;/a&gt; &lt;p&gt;The point I was trying to make was not related to DNS itself being a weak point in a highly distributed XMPP architecture, but rather on XMPP relying on DNS for more than just address resolution for server-to-server communication. DNS has sufficiently proven it can handle its task of name resolution.&lt;/p&gt;&lt;p&gt;I believe part of the evolution for the future web is in the emergence and spread of communication overlay networks serving the interest of various overlapping communities of interest. This is neither a new idea nor a new technology. The premises of this kind of organization are already at work in many GRID experiments, for example. I also believe the natural evolution for XMPP is in enabling part of this future evolution. What strikes me though is the limited number of experiments trying to use XMPP in this role. There have been several intents in the last two to three years at building some sort of XMPP based grid communications. But, to my knowledge they have not been brought to fruition.&lt;/p&gt;&lt;p&gt;As represented in the drawing, these architectures, that I would call XMPP rings, are made up of several nodes communication between themselves in a peer-to-peer fashion. These nodes may be either application nodes or routing nodes. Every XMPP ring domain possesses its own private addressing spaces, and communicates with the outside world through well identified edge nodes. Possible use of these XMPP ring would be large PubSub brokers' networks, distributed MUCs, or some kind of XMPP distributed hash tables.&lt;/p&gt;&lt;p&gt;I believe the current state of the protocol does not allow building these kinds of XMPP rings because of the way server-to-server communication works today.&amp;nbsp; In particular, it would not be possible to build XMPP routers. XMPP rings routers task would be to direct traffic to a given destination using only the private ring addressing spaces. Today, the recipient of a server-to-server connection must be an end point. According to the specification, it can only receive traffic for a single DNS domain it is supposed to handle on each connection. It cannot route the received traffic to another destination because, doing so, it would not be the originating source and the destination node would have to deny the connection. This is in my opinion a limitation of the current protocol version.&lt;/p&gt;&lt;p&gt;Obviously the kind of architecture I am describing here was not considered in the initial standardization effort. But I would appreciate if the next revision of the standard could lift these limitations. And as a matter of fact, I believe the current servers behaviors are only specific cases of the more generic XMPP rings, which would ensure backward protocol compatibility.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/conversation+space" rel="tag"&gt;Conversation spaces&lt;/a&gt;, &lt;a href="http://technorati.com/tag/addressing" rel="tag"&gt;Addressing&lt;/a&gt;, &lt;a href="http://technorati.com/tag/xmpp+ring" rel="tag"&gt;XMPP ring&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115790676186417902?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115790676186417902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115790676186417902'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/09/xmpp-rings.html' title='XMPP rings'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115790080721124622</id><published>2006-09-10T17:06:00.000+02:00</published><updated>2006-09-10T17:09:02.686+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Digital identity'/><title type='text'>The Descartes identity</title><content type='html'>&lt;p&gt;In a recent exchange of views, one of the participants to the discussion was &lt;em&gt;"interested in hearing [my] definition of an online identity"&lt;/em&gt;. This is certainly one of the toughest questions I have been facing. From the start, asking for &lt;em&gt;"my"&lt;/em&gt; definition is already recognizing &lt;em&gt;"online identity"&lt;/em&gt; as a controversial subject. I certainly have no pretence to defining what &lt;em&gt;"online identity"&lt;/em&gt; is. But I can try to express what I know about my own identity. The only real identity I know of is what I have in my own head. We have been gifted with a conscience but unfortunately with poor means of communication. As a direct result, it makes it rather difficult to share my identity with anyone but me. This is probably the same for every human being. At every moment, I am only able to use our crude means of communications (speech, visual contact, body language&amp;hellip;) and in turn I am only able to convey a crude expression of my identity. But this is of exceptional quality when compared to what it becomes when filtered by the Internet communication tools. The lower quality of any communication technology compared to human expressiveness makes the resulting identity perception rather approximate&amp;hellip;&lt;/p&gt;&lt;div style="CLEAR: both"&gt;&lt;/div&gt;&lt;div style="FONT-SIZE: 20px; BACKGROUND: white; FILTER: alpha(opacity=75); FLOAT: right; MARGIN: 10px; WIDTH: 150px; LINE-HEIGHT: 24px; TEXT-ALIGN: right; moz-opacity: .75; opacity: .75"&gt;&lt;small&gt;I do not have &lt;/small&gt;&lt;strong&gt;an online&lt;/strong&gt;&lt;small&gt; or &lt;/small&gt;&lt;strong&gt;an offline&lt;/strong&gt;&lt;small&gt; identity. I just have &lt;/small&gt;&lt;strong&gt;an identity&lt;/strong&gt;&amp;hellip;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;I am hearing here and there that whatever we do on the Internet is leaving a trail and, by extension, that for example a mail address or a blog are ultimately representing one's &lt;em&gt;"online identity"&lt;/em&gt;. I certainly disagree with what I consider a &lt;a href="http://antecipate.blogspot.com/2006/05/digital-prejudices.html" target="_blank"&gt;reductive simplification&lt;/a&gt;. I never thought of this blog or any communication address I use as representative of an &lt;em&gt;"online identity"&lt;/em&gt;. My blog is a way of expressing very specific opinions on a limited number of technical topics that in other times I would have expressed using a different medium. I am concurently voicing different opinions on different subjects in many different places such as cafes, art galleries, restaurants, exhibition, streets, during business meetings or in my home. I do not have an online and an offline identity. I just have my identity. &lt;/p&gt;&lt;p&gt;Like many other human beings, I have been given some attributes to &lt;em&gt;"assert"&lt;/em&gt; my identity to other beings or systems that would require it. &amp;hellip; But beyond the 4 digits of my ATM pin code, I am not using these attributes very often.&amp;nbsp; In particular, I believe &lt;em&gt;"online identity"&lt;/em&gt; is mainly an &lt;a href="http://antecipate.blogspot.com/2006/05/adresses-as-identity-sub-attributes.html" target="_blank"&gt;euphemism for address handles&lt;/a&gt;. I consider an email address as an address handle that can be used to communicate with me. No more, no less than a post office box. Actually, at the post office, I will have to produce an attribute to &lt;em&gt;"assert"&lt;/em&gt; my identity if I want my mail, but my P.O.Box is in no way representing my identity&amp;hellip; &lt;/p&gt;&lt;p&gt;To conclude, I find today's rhetorical debate about identity which is raging in the blogosphere rather limited when confronted to Descartes' &lt;em&gt;"I think therefore I am"&lt;/em&gt;. I only have a certainty in this domain: the day I will stop thinking I would have lost my identity.&amp;nbsp; This is all contained in five simple words. But Descartes had a valid excuse: he was a genius.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/identity" rel="tag"&gt;Identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/addressing" rel="tag"&gt;Addressing&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/trust" rel="tag"&gt;Trust&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+reputation" rel="tag"&gt;Digital reputation&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+identity" rel="tag"&gt;Digital identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115790080721124622?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115790080721124622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115790080721124622'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/09/descartes-identity.html' title='The Descartes identity'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115736094088556481</id><published>2006-09-04T11:09:00.000+02:00</published><updated>2006-09-04T11:09:00.950+02:00</updated><title type='text'>One of the cool things</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3691/2922/1600/welcometo65.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3691/2922/320/welcometo65.jpg" border="0" /&gt;&lt;/a&gt; &lt;p&gt;Yes, as Peter &lt;a href="http://www.saint-andre.com/blog/2006-08.html#2006-08-28T22:03" target="_blank"&gt;wrote&lt;/a&gt;, we now have all the pieces to create XMPP 2.0. And believe me, as I see it, he will for sure keep adding to an already impressive list of tribal sign posts: &lt;a href="http://www.jabber.org/jeps/jep-0080.html" target="_blank"&gt;geo-location&lt;/a&gt;, &lt;a href="http://www.jabber.org/jeps/jep-0107.html" target="_blank"&gt;mood&lt;/a&gt;, &lt;a href="http://www.jabber.org/jeps/jep-0108.html" target="_blank"&gt;activity&lt;/a&gt;, &lt;a href="http://www.jabber.org/jeps/jep-0118.html" target="_blank"&gt;tune&lt;/a&gt;, &lt;a href="http://www.jabber.org/jeps/jep-0172.html" target="_blank"&gt;nickname&lt;/a&gt;. Not to mention those much more indiscrete privacy teasers: &lt;a href="http://www.jabber.org/jeps/jep-0194.html" target="_blank"&gt;chatting&lt;/a&gt;, &lt;a href="http://www.jabber.org/jeps/jep-0195.html" target="_blank"&gt;browsing&lt;/a&gt;, &lt;a href="http://www.jabber.org/jeps/jep-0196.html" target="_blank"&gt;gaming&lt;/a&gt;, &lt;a href="http://www.jabber.org/jeps/jep-0197.html" target="_blank"&gt;viewing&lt;/a&gt;&amp;hellip;&lt;/p&gt;&lt;p&gt;On a side note, what strikes me is the low level of interest shown by the web 2.0 crowd in leveraging these killer features. But, thinking of it, lack of vision has always been very common in any kind of 'rush' (gold rush, oil rush, web 2.0 rush&amp;hellip;). To be fair, it is understandable. Figuring out how to make money from something popular is a lot easier than making something popular. And using XMPP applications is not yet popular. It would require a mindset shift to go from static location based web to something more dynamic&amp;hellip;&lt;/p&gt;&lt;p&gt;Going back to the protocol, these late JEPs look more like quick and dirty last hour additions than the expected result of a matured specification process. By chance, the frantic creativity that brought these many "extended social presence states" to XMPP is still reasonably limited compared to other &lt;a href="http://www.ietf.org/rfc/rfc4480.txt" target="_blank"&gt;standardization&lt;/a&gt; &lt;a href="http://www.ietf.org/rfc/rfc4482.txt" target="_blank"&gt;initiatives&lt;/a&gt;. I am just a little disappointed that these JEPs have not led to a better rationalization in the XML used to represent the associated states. After all, with all the preliminary work done by the SIP/SIMPLE working group, I believe it would not have difficult to come up with a slightly better and more extensible XML representation, using a subset of &lt;a href="http://www.ietf.org/rfc/rfc4287.txt" target="_blank"&gt;Atom&lt;/a&gt; for example. Another effect of the NIH (Not Invented Here) syndrome, perhaps? Anyhow, it took &lt;a href="http://mailman.jabber.org/pipermail/standards-jig/2005-March/007219.html" target="_blank"&gt;a year and a half&lt;/a&gt; to get to these PEP extended presence states written, a few days to get them through the JSF council after a rather light discussion period. It will probably take another year or so to get them rationalized when the number of wild associated namespaces would have grown to an uncontrolled level. But, as &lt;a href="http://www.gapingvoid.com/" target="_blank"&gt;Hugh&lt;/a&gt;'s Claymore sharp pen nicely illustrates: who cares?&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115736094088556481?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115736094088556481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115736094088556481'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/09/one-of-cool-things.html' title='One of the cool things'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115730825157280644</id><published>2006-09-03T20:30:00.000+02:00</published><updated>2006-09-03T20:30:54.283+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>In DNS we trust - too much…</title><content type='html'>&lt;p&gt;It sometimes takes an errand of many lengthy pieces before exposing a valuable concept. I have always wondered what is driving anyone capable of thinking perceptively to justify a legitimate desire of experimenting with new ideas. Well, &lt;a href="http://www.jasonkolb.com/weblog/2006/08/reinventing_the_3.html" target="_blank"&gt;this latest saga&lt;/a&gt; does not really answer my question. But it re-enforces my growing certainty that DNS reliance becomes a weakness and a constraint in any large distributed networking application. &lt;/p&gt;&lt;p&gt;The series of posts I am alluding to is a good example of the adaptive learning process happening when one evolves beyond any established technological conservatism, and makes the illuminating discovery that there might be "something else beyond (add your favorite topic here)". The associated state of excitement often takes us down blind alleys, or leads us to take shortcuts to get to approximate conclusions suiting our subjectivity. For example, the simplistic idea that a &lt;a href="http://www.jasonkolb.com/weblog/2006/08/reinventing_the_1.html" target="_blank"&gt;globally unique identifier&lt;/a&gt; (URI) will solve the &lt;em&gt;"virtual identity"&lt;/em&gt; question is characteristic of the former. The &lt;a href="http://www.jasonkolb.com/weblog/2006/08/reinventing_the.html" target="_blank"&gt;confusion&lt;/a&gt; between &lt;em&gt;"presence"&lt;/em&gt; and &lt;em&gt;"identity"&lt;/em&gt; is more a matter of the later. So is the reliance on DNS as the global glue of our ever expanding interaction needs over the Internet.&lt;/p&gt;&lt;div style="CLEAR: both"&gt;&lt;/div&gt;&lt;div style="FONT-SIZE: 20px; BACKGROUND: white; FILTER: alpha(opacity=75); FLOAT: right; MARGIN: 10px; WIDTH: 150px; LINE-HEIGHT: 24px; TEXT-ALIGN: right; moz-opacity: .75; opacity: .75"&gt;&lt;small&gt;&amp;hellip;there is value in using a &lt;/small&gt;&lt;strong&gt;real time communication framework&lt;/strong&gt;&lt;small&gt; to give access to resources &lt;/small&gt;&lt;strong&gt;referenced by URIs&lt;/strong&gt;&amp;hellip;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;In my opening statement, I mentioned a valuable concept. Its value is certainly not the sudden discovery that in &lt;a href="http://www.jasonkolb.com/weblog/2006/08/reinventing_the_2.html" target="_blank"&gt;an URI may be used to reference a resource&lt;/a&gt; in a particular domain of interest-As a matter of fact, I find the emphasis given by the author to this basic URI capability somewhat disconcerting. I was under the impression URIs had been invented to do just this--No, the actual value lies in the use of a real time communication framework to give access at an individual level to the resources referenced by the URIs. At last, after years of obscurantism, the light is finally coming through layers of sediments:&amp;nbsp; there is more to the web than location based (i.e. URL) thinking. A small evolutionary step, but so important by the ever growing number of people embracing the same idea. Furthermore, I am also interested to see XMPP supporting this concept, as this choice further exemplify the protocol's usability beyond mere instant messaging. &lt;/p&gt;&lt;p&gt;The described technological implementation consists simply in a private personal XMPP server aggregating various other protocols (HTTP, SMTP) and using XMPP as a universal communication transport to access both local and remote data using URI references. The URI of choice being a JID. The implementation idea is both realistic and convincing. There is nothing revolutionary in aggregating various protocol endpoints on a XMPP server. I have done this several time in the past five years for WAP (HTTP), a few SMS centers protocols, and more recently for SIP, XCAP (HTTP) and SOAP(HTTP). So I do not foresee major difficulties beyond the time spent in his endeavor &amp;hellip;&amp;nbsp; But, by wanting to quickly get to working on the "web application aspect of the private server" the author has taken for granted that the resulting server would be able to communicate outside its private sphere. I see a few shortcomings in his approach and in the protocol that would need to be addressed for the implementation to function as described and be widely adopted. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;The first major shortcoming I see is the heavy reliance on DNS, which in my opinion would create a growing single point of failure over time.&lt;/li&gt;&lt;li&gt;The second major obstacle, in the current protocol state, is the mandatory use of public resolvable addresses handles--which may explain why the author insists on everybody owning a "domain name". &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I will try to give some substance bellow.&lt;/p&gt;&lt;p&gt;These private XMPP servers will be connecting to other private or public XMPP servers through server-to-server (S2S) communication. In the current state of the &lt;a href="http://www.xmpp.org/specs/rfc3920.html" target="_blank"&gt;XMPP specification&lt;/a&gt; the connectivity depends heavily on DNS, and SRV records DNS extensions. The RFC mandates that inter-domain communication only takes place when the DNS host names asserted by the servers have been resolved. The connection must also use TLS, which again use domain names for authenticating the hosts. In addition, further checks must also be in place to ensure that the actual XMPP stanzas flowing between any two servers belong to the proper identified connection.&amp;nbsp; By doing so, and for a number of historical choices, the current specification severely limits widespread deployments beyond the traditional "one domain equal one community" model. This has been a viable short term solution for today's limited number of XMPP servers hosting communities using XMPP clients. But in the described private server scenario, extending the usage of S2S to each and every individual user may be a stretch. &lt;/p&gt;&lt;p&gt;Furthermore, I doubt we will see a rapid spread of individual domain names, but I may be wrong. I am not so much concerned about scalability issues of the current DNS system than by administration issues derived from a wider usage. Moving from a specialized infrastructure product (the community domain name) to a consumer commodity (the individual domain name) implies vastly different organization and arbitrage for which the system was not conceived in the first place.&lt;/p&gt;&lt;p&gt;On another note, DNS administrators will eventually learn over time the benefit of SRV records to allow service discovery. But there is no guarantee they will do it quickly&amp;hellip; Similarly, it has taken almost two years to see the first XMPP S2S interoperability testing. And it will certainly be some time until the last XMPP server relying only on S2S dial-back authentication is phased out. And this implementation requires XMPP. &lt;/p&gt;&lt;p&gt;These are just a few points to illustrate what makes me believe too much DNS dependency is not favoring wide adoption of individual private servers of any sort, and XMPP in particular. In the end, because any adoption process is gradual, I believe some users will probably never embrace the described technology. As a result, there will certainly be a co-habitation between a mix of private and shared servers. This simple fact implies that any proposed solution would have to address these two types of usage. The current XMPP specification is not able to provide a working solution to this requirement. I know from facts and real users' needs that the current dependency between XMPP address handles and DNS domain names is a severe pain point when deploying XMPP beyond the current single domain server communities. &lt;br /&gt;I am certain many of us would appreciate an enhanced version of the protocol were servers would for example be able to multiplex several supported domains traffic on a single authenticated trusted communication link, without any of the servers supported URIs being DNS resolvable. This in turn would mean XMPP can provide some of the necessary features to create real overlay networks on top of and independent from DNS domains, with associated XMPP routers. And I believe that in the long run overlay networks with their own addressing space, connected through DNS enabled ingress/egress points are more appropriate to provide an answer to &lt;a href="http://www.jasonkolb.com/weblog/2006/08/reinventing_the_3.html" target="_blank"&gt;this interesting idea of private XMPP servers&lt;/a&gt;. And probably more.&lt;/p&gt;&lt;p&gt;This is probably asking too much at this point in time, when the shift from the location based to the communication based thinking is only starting&amp;hellip; But I know for a fact building XMPP based overlay networks is not an utopia.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://technorati.com/tag/conversation+space" rel="tag"&gt;Conversation spaces&lt;/a&gt;, &lt;a href="http://technorati.com/tag/addressing" rel="tag"&gt;Addressing&lt;/a&gt;, &lt;a href="http://technorati.com/tag/digital+identity" rel="tag"&gt;Digital identity&lt;/a&gt;, &lt;a href="http://technorati.com/tag/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115730825157280644?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115730825157280644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115730825157280644'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/09/in-dns-we-trust-too-much.html' title='In DNS we trust - too much…'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115609567524346627</id><published>2006-08-20T19:41:00.000+02:00</published><updated>2006-08-20T19:41:15.260+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jingle'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Beyond file transfer</title><content type='html'>&lt;p&gt;Following the &lt;a href="http://googletalk.blogspot.com/2006/08/its-finally-here.html" target="_blank"&gt;official release&lt;/a&gt; of the latest GTalk client, I decided to scratch the surface of its file transfer implementation.&amp;nbsp;Thanks to Brian McBarron&amp;rsquo;s answer posted on the JSF list explaining how to capture a detailed log of the client&amp;rsquo;s operation (run the&amp;nbsp;client with&amp;nbsp;the following arguments: &lt;strong&gt;/log verbose tstamp thread file&lt;/strong&gt;), I was able to confirm that the GTalk client is indeed leveraging Google&amp;rsquo;s implementation of Jingle to control file transfer. This endorsement by Google is another commitment to open standards. As shown bellow, the receiver party&amp;rsquo;s presence is probed before the transfer, in order to make sure the target client understands the transfer protocol. This is returned in the presence stanza&amp;rsquo;s capabilities extension. It is interesting to note that the capability is named &amp;ldquo;share&amp;rdquo; rather than transfer. &lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;presence to="juliet@gmail.com" type="probe" /&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;presence to="romeo@gmail.com/Talk.v969557A95E" from="juliet@gmail.com/Talk.v95286273DB"&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;priority&amp;gt;0&lt;/a&gt; &amp;lt;/priority&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;c xmlns="http://jabber.org/protocol/caps" ext="share-v1 voice-v1" ver="1.0.0.95" node="http://www.google.com/xmpp/client/caps" /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;x xmlns="jabber:x:delay" stamp="20060817T19:50:07" /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;status&amp;gt;available &amp;lt;/status&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;x xmlns="vcard-temp:x:update"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;photo&amp;gt;ae825c56c617f83a577b0cff43611d2076358c20 &amp;lt;/photo&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/x&amp;gt;&lt;br /&gt;&amp;lt;/presence&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The next exchange uses the actual Jingle signaling to negotiate a transfer session between the parties. I have only shown the session part, as the point-to-point transport negotiation is identical to a voice transport negotiation. Note again the description namespace for the application.&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;iq to="juliet@gmail.com/Talk.v95286273DB" type="set" id="31"&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;session xmlns="http://www.google.com/session" type="initiate" id="598724353" initiator="romeo@gmail.com/Talk.v969557A95E"&amp;gt;&lt;br /&gt;&amp;lt;description xmlns="http://www.google.com/session/share"&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;manifest&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;file size="34314"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; About.jpg&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/name&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;image width="150" height="133"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/file&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/manifest&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;protocol&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;http&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;url name="source-path"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /temporary/6b82cd1ca2f333d99bad2ea07ce33f33/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/url&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;url name="preview-path"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /temporary/9c6b15f343aaabea3c6a106eb72b4c80/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/url&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/http&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/protocol&amp;gt;&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;transport xmlns="http://www.google.com/transport/p2p"/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/session&amp;gt;&lt;br /&gt;&amp;lt;/iq&amp;gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;iq to="romeo@gmail.com/Talk.v969557A95E" id="31" type="result" from="juliet@gmail.com/Talk.v95286273DB"/&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;lt;iq to="romeo@gmail.com/Talk.v969557A95E" type="set" id="49" from="juliet@gmail.com/Talk.v95286273DB"&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;session type="transport-accept" id="598724353" initiator="romeo@gmail.com/Talk.v969557A95E" xmlns="http://www.google.com/session"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;transport xmlns="http://www.google.com/transport/p2p"/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/session&amp;gt;&lt;br /&gt;&amp;lt;/iq&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;lt;iq to="juliet@gmail.com/Talk.v95286273DB" id="49" type="result"/&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;FIle transfer is an important adjunct to Jingle, as it confirms the signaling can be used well beyond voice or other video communication. This is not revolutionary per say, as session negotiation and signaling has been around with SIP for some time now. But only proprietary extensions of the SIP signaling have been so far implemented when it comes to widely deployed file transfer. The use of Jingle bears the promise of a much wider adoption for a standard based file transfer negotiation. Obviously, this is only Google&amp;rsquo;s implementation of Jingle, but except namespaces, nothing in it cannot be made into a JEP. And this is what the authors of this file transfer are committed to do. &lt;/p&gt;&lt;p&gt;Coming back to my initial remark about the GTalk client&amp;rsquo;s naming this new feature &lt;em&gt;&amp;ldquo;share&amp;rdquo;&lt;/em&gt;, I believe this update is only the pre-release of a larger scoped real-time experience. Brian&amp;rsquo;s post on the JSF mailing list gives a good explanation of the layered design applied to the file transfer application. By adopting this architecture, I believe Google is effectively enabling far more than just file transfer: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;the transport protocol called &lt;em&gt;&amp;ldquo;PseudoTCP&amp;rdquo;&lt;/em&gt; which is used in the p2p exchange is a Google re-implementation of &lt;a href="http://code.google.com/apis/talk/tunnel_session.html" target="_blank"&gt;TCP using UDP packets&lt;/a&gt;. The layered design would allow replacing this proprietary transport by a standard, such as &lt;a href="http://tools.ietf.org/html/rfc2960" target="_blank"&gt;SCTP&lt;/a&gt;, without disrupting the network stack so much. &lt;/li&gt;&lt;li&gt;the application protocol is HTTP enables interesting things such as download previews of images, resume transfers, compress files, etc. Without being full fledge web servers, a GTalk client becomes an important part in enabling a real time collaboration application. Linking it to a workstation&amp;rsquo;s browser through some toolbar plug-in is probably not that difficult, and would makes an XMPP backed&amp;nbsp;real time photo sharing and comment experience&amp;nbsp;much more compeling than their web only siblings.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Although this latest release has received unjustified bashing from many ignorant self proclaimed visionaries, I believe on the contrary that it is paving the way toward wider scoped real time standards-based sharing services for communities, open to any and all that wish to interoperate with them. &lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://technorati.com/tag/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jingle" rel="tag"&gt;Jingle&lt;/a&gt;, &lt;a href="http://technorati.com/tag/conversation+space" rel="tag"&gt;Conversation spaces&lt;/a&gt;, &lt;a href="http://technorati.com/tag/session+signaling" rel="tag"&gt;Session signaling&lt;/a&gt;, &lt;a href="http://technorati.com/tag/file+sharing" rel="tag"&gt;File sharing&lt;/a&gt;, &lt;a href="http://technorati.com/tag/googletalk" rel="tag"&gt;Google Talk&lt;/a&gt;, &lt;a href="http://technorati.com/tag/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115609567524346627?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115609567524346627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115609567524346627'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/08/beyond-file-transfer.html' title='Beyond file transfer'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115608658197153306</id><published>2006-08-20T17:09:00.000+02:00</published><updated>2006-08-20T17:21:54.206+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Not microformated here!</title><content type='html'>&lt;p&gt;Most people naturally find it more enjoyable to speak than to listen. Which developers would not like to be known as the one who wrote this killer app that the whole company now relies on, rather than simply the guy who made the suggestion to use somebody else&amp;rsquo;s? If we are honest with ourselves, most of us, &amp;ldquo;Y&amp;rdquo; chromosomed beings, usually find it hard to admit that somebody else had better idea than we did, or did as good a job implementing it than we could have done&amp;hellip; &lt;/p&gt;&lt;p&gt;Even organizations with an open mind to leveraging external ideas may simply be unaware that what they need is already available. There is very often a certain amount of &lt;em&gt;"herd instinct"&lt;/em&gt; driving &lt;em&gt;&amp;ldquo;not invented here&amp;rdquo;&lt;/em&gt; in these groups of peoples. Even open-source communities don't always know that what they're creating has already been done, and even if they do know, many reasons can prevent them from using an existing solution other than NIH syndrome itself. A way to diagnose NIH syndrome is to go through these other reasons and eliminate them. If none of them apply, then you are probably looking at a real NIH syndrome case! The only valid reasons are: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;No existing suitable solution can be found, not even one which may be adaptable. &lt;/li&gt;&lt;li&gt;A close-to-suitable solution is found, but solving 90% of the problem is not sufficient. In this situation, if the "90%" solution cannot be extend or customize it to fulfill 100% of the specification, then the potential solution is rejected. &lt;/li&gt;&lt;li&gt;A close-to-suitable solution is found, but the work to extend or customize it to fulfill 100% of the specification is more than the work to reproduce it entirely. Again, the potential solution is rejected. &lt;/li&gt;&lt;li&gt;A suitable solution is found, but one that is not compatible with existing or chosen standards.&amp;nbsp;This solution is rejected. &lt;/li&gt;&lt;/ul&gt;&lt;div style="CLEAR: both"&gt;&lt;/div&gt;&lt;div style="FONT-SIZE: 20px; BACKGROUND: white; FILTER: alpha(opacity=75); FLOAT: right; MARGIN: 10px; WIDTH: 150px; LINE-HEIGHT: 24px; TEXT-ALIGN: right; moz-opacity: .75; opacity: .75"&gt;&lt;small&gt;&amp;hellip;Atom answers &lt;/small&gt;&lt;strong&gt;more than 90%&lt;/strong&gt;&lt;small&gt; of what is required for an &lt;/small&gt;&lt;strong&gt;IM logging format&lt;/strong&gt;&amp;hellip;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;Through this lengthy introduction I wanted to express my deep agreement with Hal&amp;rsquo;s answers to &lt;a href="http://halr9000.com/article/322" target="_blank"&gt;the legitimate question&lt;/a&gt; he raised on the use of Microformats in the XMPP standard: simply put, they usually do not make sense in a real time communication context. Microformats are a typical example of very narrow minded NIH syndrome. They initialy came up to solve rendering issues in a static location based web, when information was not available in an XML form (vCard, calendar). The initial authors found smart to leverage Microformat to lessen the shortcomings of existing crawler&amp;rsquo;s technologies, and thus added keywords to published information. Again, this was a valid move for static content. But when it comes to IM logs, I believe Microformats are definitively not appropriate. There is at least one existing XML markups available that would do it better than any coming Microformat: &lt;a href="http://www.ietf.org/rfc/rfc4287.txt" target="_blank"&gt;the Atom feed standard&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;If one goes beyond the word &lt;em&gt;&amp;ldquo;syndication&amp;rdquo;&lt;/em&gt; in the standard&amp;rsquo;s name, it can easily check how Atom answers more than 90% of what is required to store and communicate content and meta-data for an IM logging system! It just need to run Atom&amp;rsquo;s capabilities through the above reasons&amp;rsquo; list&amp;hellip; &lt;/p&gt;&lt;p&gt;Atom&amp;rsquo;s feeds and entries contain three elements: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;A unique identifier, which can be as simple as the URI of a blog entry or a truly unique 128-bit message stanza&amp;rsquo;s thread. &lt;/li&gt;&lt;li&gt;A title, which expresses a short, human readable subject line for the entry, and can be a blank string. &lt;/li&gt;&lt;li&gt;A time-stamp which indicates when the recorded feed or entry occurred. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;A feed or entry can have multiple author elements along with zero or more contributor elements. These later elements identify individuals who might have contributed to the production of the feed or entry. Both the author and contributor elements are fully extensible, to provide as much detail about the author or contributor as deemed appropriate. Further, Atom provides a robust, flexible, and consistent content model capable of supporting plain text, escaped HTML, well-formed XHTML, arbitrary XML, base-64 encoded binary content, and URI pointers to content not included directly within the feed. &lt;/p&gt;&lt;p&gt;Finally for those who would be wondering about multimedia, Atom supports elaborate enclosures which have already been used in application such as podcasting, and would provide an excellent ground for future Jingle applications logging. &lt;/p&gt;&lt;p&gt;I am sure everyone will also understand the added value of the existing and growing support of Atom directly in the browser for rendering, and in the feed aggregators for syndication. That alone obsoletes many of the fallacious arguments used in some comments to Hal&amp;rsquo;s post to sustain the use of Microformats. &lt;/p&gt;&lt;p&gt;To conclude, I believe Atom provides more than 90% of what is needed for a superior IM logging format. As its &lt;a href="http://www.xmpp.org/drafts/draft-saintandre-atompub-notify-05.html" target="_blank"&gt;transport over XMPP&lt;/a&gt; is already under way, it makes sense for the JSF to spend time defining a usage mapping for this new IM logging scope. Would it be as much fun as rewriting a new markup? No, almost certainly not. Would it be more efficient and cost effective? Quite certainly yes. &lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/atom" rel="tag"&gt;Atom&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/microformat" rel="tag"&gt;Microformat&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/instant+messaging" rel="tag"&gt;Instant messaging&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115608658197153306?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115608658197153306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115608658197153306'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/08/not-microformated-here.html' title='Not microformated here!'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115498766766884057</id><published>2006-08-07T23:54:00.000+02:00</published><updated>2006-08-07T23:54:27.946+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presence'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Mobile presence dial-tone</title><content type='html'>&lt;p&gt;The word is out about &lt;a href="http://www.jaiku.com/" target="_blank"&gt;Jaiku&lt;/a&gt;. Some speak of &amp;ldquo;&lt;em&gt;mobile social networking&amp;rdquo;&lt;/em&gt;, other mention &amp;ldquo;&lt;em&gt;rich presence&amp;rdquo;&lt;/em&gt;. I would simply call it another perfect example of XMPP&amp;rsquo;s extreme flexibility and adaptability. &lt;/p&gt;&lt;p&gt;Jaiku combines a well conceived Symbian client with an XMPP back-end, and a web based front end service. The service is sleek and easy to register with, offer a simple and uncluttered interface, and all the necessary scripts to include your mobile presence in any web page. The client, for the time being limited to Nokia Series 60 Second Edition phones, integrates cleverly with the phone directory, converting it into a &lt;em&gt;&amp;ldquo;presence enabled&amp;rdquo;&lt;/em&gt; directory.&amp;nbsp;The client is also aware of many phone events and functions, such as the calendar.&amp;nbsp;It appears the Jaiku&amp;rsquo;s team has slightly extended the XMPP presence stanzas in order to accommodate a richer set of information to includes &lt;/p&gt;&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;&lt;p&gt;&amp;hellip; an IM-style away line, your phone profile (ring volume, vibrate), location (country, city/region, neighborhood), Bluetooth devices around, upcoming calendar events, and the duration how long your phone has been idle. &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Although the information released in the enhanced presence states may be perceived as disclosing a potentially large amount of your privacy, the service gives a perfect example of &lt;a href="http://antecipate.blogspot.com/2006/05/real-dial-tone.html" target="_blank"&gt;presence as the new dial tone&lt;/a&gt;. Presence being embedded in the phone directory, it is displayed whenever you want to place a call to one of your contacts.&lt;/p&gt;&lt;p&gt;This further reinforce, in my opinion, the advantages of XMPP. XMPP is a presence based protocol.&amp;nbsp;And Jaiku is a perfect example of&amp;nbsp;a non IM XMPP application natively presence enabled. &lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115498766766884057?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115498766766884057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115498766766884057'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/08/mobile-presence-dial-tone.html' title='Mobile presence dial-tone'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115306808638251009</id><published>2006-07-16T18:41:00.000+02:00</published><updated>2006-07-16T20:58:44.040+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Instant messaging'/><title type='text'>From inmates to IM mates…</title><content type='html'>&lt;p&gt;To put a closing section to the latest on IM misconception, I believe &lt;a href="http://www.siliconvalleysleuth.com/2006/07/google_talk_fai.html" target="_blank"&gt;this piece&lt;/a&gt; to be particularly misleading for casual readers. After the information mashup here comes the statistics mashup. The recipe is simple. Just throw everything IM related in the cauldron, hum some incantation, and the definite truth immediately surface: &lt;em&gt;&amp;ldquo;Google Talk fails to find an audience!&amp;rdquo;&lt;/em&gt; To be frank, I have no idea how many are using their IM service, as Google is rather secretive. I am not a Google aficionado, but something in the way the post come to this conclusion makes me feel uneasy. In the statistics: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Legacy consumers IM providers users are cited as services &lt;/li&gt;&lt;li&gt;Google Talk is cited as an application, and so is Trillian &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;In such conditions, I would have thought a more appropriate interpretation of the data to be &lt;em&gt;&amp;ldquo;only 3.4 millions elected to use Google Talk client for IM&amp;rdquo;&lt;/em&gt;. Obviously less catchy than &amp;ldquo;&lt;em&gt;fails to find an audience&amp;rdquo;&amp;hellip;&lt;/em&gt; &lt;/p&gt;&lt;p&gt;Whatever method &lt;a href="http://lucafiligheddu.blogspot.com/2006/07/instant-messengerss-contest.html" target="_blank"&gt;was used&lt;/a&gt; to come up with these figures in the first place, the derived conclusion is a bias on reality. The customers of all the legacy IM services, with their bright colored uniformed IM clients, are easily accounted for. In comparison, people communicating with the Google Talk service are more difficult to quantify. Nonetheless, the number of registered users for the Google talk service cannot be greater than the GMail service&amp;rsquo;s registered users. But the fact that Google&amp;rsquo;s IM services is younger than the incumbents service is not factored in. Etc&amp;hellip; In the end, an eye catching title will certainly be simpler to create than a critical analysis of these figures.&lt;/p&gt;&lt;p&gt;Most importantly, this blunt statement fails to capture the fundamental difference between a captive and an open IM service. Either you listen to, communicate with, be a resource for, build trust with your users, and once you have established trust, you can build a long and healthy relationship. Or you keep your users behind bars, hopping they will not look outside, until they decide to escape. Google seems to favor the former approach. In this context, following &lt;a href="http://antecipate.blogspot.com/2006/07/im-interoperability-its-not-im-issue.html" target="_blank"&gt;my previous post&lt;/a&gt;, AOL&amp;rsquo;s biggest challenge to respond to the latest tactical move from its competitors involves deciding a drastic departure from its traditional IM model. This tougher than marying a next of kin, as interoperability would imply AIM and Google Talk becoming IM mates, creating a real opening. I doubt Google would welcome a closed partnership with any player, including AOL. &lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/instant+messaging" rel="tag"&gt;Instant messaging&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115306808638251009?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115306808638251009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115306808638251009'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/07/from-inmates-to-im-mates.html' title='From inmates to IM mates…'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115298645420901305</id><published>2006-07-15T20:00:00.000+02:00</published><updated>2006-07-15T20:04:36.203+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VOIP'/><title type='text'>Is Skype a parasite or a Trojan?</title><content type='html'>&lt;p&gt;In those days of web 2.x, I often feel that those practicing high doses of ideas mashup usually&amp;nbsp;end up with&amp;nbsp;brain jam. I have had found another good example with &lt;a href="http://saunderslog.com/2006/07/14/detente-in-ims-cold-war/" target="_blank"&gt;this fine piece&lt;/a&gt;. Obviously, there has been some discussion going on around IM interoperability lately, which in turn has brought back all the bitterness about our inability to easily and instantly communicate. But have you ever noticed how the same recipes always make for headline of &lt;em&gt;&amp;ldquo;tabloid blogging&amp;rdquo;&lt;/em&gt;. This one starts with an aggressive title using a few recuperated clichés such a &lt;em&gt;&amp;ldquo;cold war&amp;rdquo;&lt;/em&gt; and &lt;em&gt;&amp;ldquo;détente&amp;rdquo;&lt;/em&gt; to awaken old instinctive fears inside the reader. The post follows with a spread of unrelated references, which relevance and validity were obviously never questioned. It goes on enrolling some fellow bloggers unwillingly, citing them partially and out of context. After this the author can pretend to pose as a pundit. Well... Some &lt;a href="http://www.stoweboyd.com/message/2006/07/alec_saunders_o.html" target="_blank"&gt;have different views&lt;/a&gt; and present alternatives hypothesis. I personally believe there is one approximately true statement and two major flawed assumptions to justify a lot of conjecture in this paper. &lt;/p&gt;&lt;p&gt;Beyond the tectonic plates&amp;rsquo; image, declaring that IM interoperability is a business issue is probably true. Very simply, because this is a matter of toll gates, which is usually solved by a financial transaction. This is turn is business. Am I missing something? &lt;/p&gt;&lt;p&gt;The first flawed assumption is to present LCS as the enterprise federator, and by consequence, suggesting SIMPLE as the federating protocol. In the context of gatekeepers business, it is normal for Microsoft to claim its LCS as the universal federator for an enterprise willing to access public IM networks. This was only a matter of deep pockets and separate negotiation with every &lt;em&gt;&amp;ldquo;entrenched interest&amp;rdquo;&lt;/em&gt;. Skimming through the recently discovered interoperability guide for LCS 2005 has somehow persuaded the author that LCS was &amp;ldquo;the&amp;rdquo; technical interoperability solution. I would only say that it may be a hasted conclusion. LCS (and other federating EIM servers) does not allow federating between public IM clouds, as inter cloud communication is specifically restricted by every individual business agreement. A second hasted conclusion is to use Google&amp;rsquo;s (very real) inaptitude at marketing Google Talk as a reason to look at XMPP with contempt. Jabberites, you would certainly be happy to learn that &lt;em&gt;&amp;ldquo;with just 3.4 million&lt;/em&gt; [GTalk]&lt;em&gt; users, who really gives a damn what you do&amp;rdquo;&lt;/em&gt;! Beyond the arrogance of the statement, Google is not interested in building communities; it is interested in driving traffic though its sites to increase its advertising broker&amp;rsquo;s exposure. Google has just opened the door to millions of XMPP users. This was a smart move and was received as a friendly gesture, re-enforcing their &lt;em&gt;&amp;ldquo;not so evil&amp;rdquo;&lt;/em&gt; perception as a web company. Obviously, seeing this requires thinking outside the IM box. Which in my opinion, neither the IM incumbents, nor this author, have shown a good aptitude at doing. &lt;/p&gt;&lt;p&gt;The second flawed assumption is to present the Skype protocol as the &lt;em&gt;&amp;ldquo;white knight&amp;rdquo;&lt;/em&gt; of interoperability. When writing about IM interoperability, it would not be wise nor popular to support any one of the competing incumbent public IM protocols. If so, what is left in the protocol landscape to fulfill that interoperability role for the public IM crowd? SIP has been ruled out as a contender (look at the bottom of the post). XMPP has been dismissed above. Only Skype remains to take up the role of the messiah. But now that its protocol has been hacked, I personally think Skype will pay a ransom to this group of Chinese hackers and buy them. This is in line with the recent wave of extortion based virus activity. Hacking a proprietary protocol is the just another flavor of it. But Skype could also make their protocol specification public and disable the threat, couldn&amp;rsquo;t they? They won&amp;rsquo;t do it, as they would have to admit publicly that their protocol&amp;rsquo;s client exhibits a singular cross between a parasite and a Trojan&amp;rsquo;s behavior. For the Skype network protocol, any node is a potential relay for any other node. There is nothing wrong with this design. But there is something very wrong with hiding this behavior from the end user. Aside from the questions of ethics and privacy, it steals from the user by using the computer's memory resources and also by eating bandwidth as it relays traffic via the user's Internet connection. Because it is using memory and system resources beyond the specific user&amp;rsquo;s need, the client operation may also lead to general system instability. Hence Skype&amp;rsquo;s relative reluctance to documenting the protocol... &lt;/p&gt;&lt;p&gt;Two approximations in one post make me feel suspicious. However, I know some peoples also define a truth as &lt;em&gt;&amp;ldquo;an ingenious compound of desirability and appearance&amp;rdquo;&lt;/em&gt;, adding immediately that &lt;/p&gt;&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;&lt;p&gt;Discovery of truth is the sole purpose of philosophy, which is the most ancient occupation of the human mind and has a fair prospect of existing with increasing activity to the end of time.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Who knows, the author may just be a philosopher in the making ;) As a conclusion, his&amp;nbsp;conjectures&amp;nbsp;provided sources for an additional demonstration that IM interoperability is not about technology. The solution to interoperability will never be resolved by interests entrenched in vendors&amp;rsquo; consortia, be it Cisco behind SIMPLE, any other incumbent public IM or Skype. In the same way mail clients are on every personal computer, IM consumers and developers would only benefit when they will have the same kind of protocol: free, open and standard. &lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/sip" rel="tag"&gt;SIP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/voip" rel="tag"&gt;VoIP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/skype" rel="tag"&gt;Skype&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115298645420901305?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115298645420901305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115298645420901305'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/07/is-skype-parasite-or-trojan.html' title='Is Skype a parasite or a Trojan?'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115296566026535151</id><published>2006-07-15T14:14:00.000+02:00</published><updated>2006-07-15T14:19:36.133+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Instant messaging'/><title type='text'>IM interoperability: it’s not an IM issue</title><content type='html'>&lt;p&gt;&lt;a href="http://www.stoweboyd.com/message/2006/07/marshall_kirkpa.html" target="_blank"&gt;Stove had it at hand&lt;/a&gt;, but it did not push his advantage to finish his move: interoperability is not about IM, it is about multimedia communication. &lt;/p&gt;&lt;div style="CLEAR: both"&gt;&lt;/div&gt;&lt;div style="FONT-SIZE: 20px; BACKGROUND: white; FILTER: alpha(opacity=75); FLOAT: right; MARGIN: 10px; WIDTH: 150px; LINE-HEIGHT: 24px; TEXT-ALIGN: right; moz-opacity: .75; opacity: .75"&gt;&lt;small&gt;&amp;hellip;interoperability is not about &lt;/small&gt;&lt;strong&gt;IM&lt;/strong&gt;&lt;small&gt; it's about &lt;/small&gt;&lt;strong&gt;multimedia communication&lt;/strong&gt;&lt;small&gt;&amp;hellip;&lt;/small&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;Only in this context would a regulator (eventually) be required to step in, and force the interests at stake to &amp;ldquo;play nice&amp;rdquo;&amp;hellip; As soon as one mentions media communication, the only business model that springs to mind is the POTS model. The toll model, with its greedy gatekeepers, has been around for millenniums. It is well known, does not require any advanced technology or an abnormally high IQ, is only based on power. In theory, it should only appeal to the most primitive societies, but there are hard facts proving the opposite&amp;hellip; &lt;/p&gt;&lt;p&gt;In effect, there is no business model for IM. For what it is worth, Wikipedia describes &lt;a href="http://en.wikipedia.org/wiki/Instant_messaging" target="_blank"&gt;instant messaging&lt;/a&gt; as a form of real-time text communication. What money is there to be made in text messaging? Same as what can be made in email. Instant messaging as a form of communication has already become a commodity. And if it had been alone, it would be using a single protocol since many years. The curse of IM lies in the bundling by the crowd of IM with presence, which is tomorrow&amp;rsquo;s &lt;a href="http://antecipate.blogspot.com/2006/05/real-dial-tone.html" target="_blank"&gt;real &amp;ldquo;dial-tone&amp;rdquo;&lt;/a&gt;. Moreover, this misconception is bi-directional. Whenever someone says &lt;em&gt;&amp;ldquo;presence&amp;rdquo;&lt;/em&gt;, you immediately hear another person replying &lt;em&gt;&amp;ldquo;IM&amp;rdquo;&lt;/em&gt;. And vice versa. &lt;/p&gt;&lt;p&gt;What is really at stake in these clouds forming is the control over presence, and by extension, over its use as dial tone to enable more efficient multimedia communications. &lt;/p&gt;&lt;p&gt;First of all, there is VoIP. There has been a business model for VoIP alone, related to decreasing cost. Together, VoIP and presence are much more attractive, as presence would enhance the efficiency of placing a voice call. Remember that in the current POTS, you have to actually ring the other party to find out about its availability. Establishing a voice call between two parties creates a significant load on the underlying infrastructure, even if using a separate signaling network somewhat decreases this load. This is mainly what carriers are charging you for. In a presence enabled multimedia communication system, you do not need to call the other party, as you can deduce its availability to accept your communication request from an aggregation of presence state. This approach drastically decreases the load on your infrastructure, and in theory, makes it more efficient. The carrier&amp;rsquo;s business in turn benefits from this increased operational efficiency. &lt;/p&gt;&lt;p&gt;Second of all, there is presence enabled marketing. Although this is still a fuzzy business model, there has been growing interest in linking focused advertising with presence to achieve really personalized content distribution. The inclusion of presence in communication devices, from mobile phones to set-top boxes, not forgetting all the connected personal computers, will allow aggregating a wide array of real-time information about one&amp;rsquo;s behavior. This alone creates huge business opportunities, when coupled with multimedia communication. By chance, the average marketer have not yet grasped the potential... This also induces a number of privacy related concerns, for which there are no satisfactory answers yet. The idea of presence enabled marketing has been in the boardrooms of the most visionary multimedia communication companies for over five years now. AOL, Microsoft and Yahoo! are not what I would call visionaries&amp;hellip; but they have done their home work and watched their competitors. Beyond the potential, they have come to realize they could be left on the side of the road if they were to remain at stand still. &lt;/p&gt;&lt;p&gt;As &lt;a href="http://nerdtwilight.wordpress.com/2006/07/14/im-interoperability-its-not-a-technology-issue/" target="_blank"&gt;this other post&lt;/a&gt; rightly describes, interoperability is not a technology issue, it is not even an IM issue. It is a wider scoped tectonic movement, where the business goes beyond the real-time exchange of text messages. I am certain the major &lt;em&gt;&amp;ldquo;IM&amp;rdquo;&lt;/em&gt; service providers have already figured out how they will get something in return to interoperate: they will simply charge their customers for filling up their &lt;em&gt;&amp;ldquo;series of tubes&amp;rdquo;&lt;/em&gt; with voice messages&amp;hellip; As I said they are far from being visionaries.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/instant+messaging" rel="tag"&gt;Instant messaging&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/voip" rel="tag"&gt;VoIP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115296566026535151?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115296566026535151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115296566026535151'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/07/im-interoperability-its-not-im-issue.html' title='IM interoperability: it’s not an IM issue'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115282782843493695</id><published>2006-07-13T23:57:00.000+02:00</published><updated>2006-07-13T23:57:08.436+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Instant messaging'/><title type='text'>An IM game of Go</title><content type='html'>&lt;p&gt;So this week has seen the birth of a &lt;a href="http://www.microsoft.com/presspass/press/2006/jul06/07-12IMInteropPR.mspx" target="_blank"&gt;limited interoperability beta test&lt;/a&gt; between Microsoft and Yahoo! IM bastions. The real thing to strike me in the announcement is how un-respectful it is of their respective users&amp;rsquo; base. &lt;/p&gt;&lt;p&gt;The press release itself is written entirely in marketing-speak, and is rather arrogant when referring to their users. Not only do they call them &lt;em&gt;&amp;ldquo;consumers&amp;rdquo;&lt;/em&gt;, but they try to make them, and us at the same time, believe it was so difficult to achieve interoperability. That sounds like a typical telco&amp;rsquo;s speech, don&amp;rsquo;t you think? And by many aspects it is. After all Yahoo! always believed they had built &lt;em&gt;&amp;ldquo;a transport network&amp;rdquo;&lt;/em&gt; and that they could become a carrier. Microsoft is, well &amp;hellip; Microsoft and has always believed it was everything. Maybe calling their users &lt;em&gt;&amp;ldquo;consumers&amp;rdquo;&lt;/em&gt; make them feel more like real &lt;em&gt;&amp;ldquo;carriers&amp;rdquo;&lt;/em&gt;&amp;hellip; &lt;/p&gt;&lt;p&gt;For those a little familiar with the public IM context, this announcement is not about empowering their federated users&amp;rsquo; base, but clearly aimed at isolating even more their arch rival AOL. Not directly, as one would immediately believe, by excluding it from their &lt;em&gt;&amp;ldquo;interoperability&amp;rdquo;&lt;/em&gt;, but rather by undermining potential revenue sources. AOL is deriving revenues from charging for the access to their community of users. In certain industry verticals, such as finance or insurance, AIM is widely used, and AOL as been careful to preserve this population. It is taking advantage of it to extract revenues through &lt;em&gt;&amp;ldquo;certifying&amp;rdquo;&lt;/em&gt; access to its private IM community. This announcement is an additional nail in their isolationism&amp;rsquo;s coffin. This is clearly what I read behind Microsoft and Yahoo! declaring that their users &lt;/p&gt;&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;&lt;p&gt;&amp;hellip;will be among the first to exchange instant messages across the &lt;strong&gt;free&lt;/strong&gt; services as well as see their friends&amp;rsquo; online presence, view personal status messages, share select emoticons, view offline messages and add new contacts from either service at &lt;strong&gt;no cost&lt;/strong&gt;. &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Frankly speaking, how would AOL pay toll remain sustainable in the future? Not much! You can trust all the financial institutions&amp;rsquo; IT teams to leverage this announcement to their own advantage. &lt;/p&gt;&lt;p&gt;This interoperability move also provides Microsoft with a clear tactical advantage on the enterprise IM server market. They will clearly benefit from this new context and will certainly be pushing their LCS further into the enterprise. Microsoft can provide LCS connectivity to MSN, and through the interoperability agreement, will reach Yahoo! users. They already have &lt;em&gt;&amp;ldquo;certified&amp;rdquo;&lt;/em&gt; LCS connectivity to AOL. LCS will end being the only certified multi IM networks connectivity for the enterprise. The cleverness touch resides in all this being done without infringing any right. Much unlike the use of XMPP transports in enterprise, if you see what I mean. &lt;/p&gt;&lt;div style="CLEAR: both"&gt;&lt;/div&gt;&lt;div style="FONT-SIZE: 20px; BACKGROUND: white; FILTER: alpha(opacity=75); FLOAT: right; MARGIN: 10px; WIDTH: 150px; LINE-HEIGHT: 24px; TEXT-ALIGN: right; moz-opacity: .75; opacity: .75"&gt;&lt;small&gt;&amp;hellip;there are no &lt;/small&gt;&lt;strong&gt;technical barriers&lt;/strong&gt;&lt;small&gt; to &lt;/small&gt;&lt;strong&gt;open IM interoprability&lt;/strong&gt;&lt;small&gt; between AOL and Google&amp;hellip;&lt;/small&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;By announcing their intent long before they actually delivered, the legacy pair has again used one of the well known techniques of market control byincumbents described by Robert X. Cringely. I believe AOL is bound to move soon to counter the Microsoft Yahoo! interoperability deal. With the small investment from Google in AOL, it makes an interoperability announcement between these two other players a plausible scenario. There are no technical barriers to an open interoperability between AOL and Google, as AOL has already deployed XMPP gateways for the enterprises. On paper, it may allow a rapid reaction by AOL, but they are also known to be such slow negotiators&amp;hellip; &lt;/p&gt;&lt;p&gt;You may have noticed how this annoucement is about a &lt;em&gt;&amp;ldquo;proprietary&amp;rdquo;&lt;/em&gt; interoperability. As a matter of fact, nothing is ever said about how they technocally bridge the two legacy networks. I have seen a &lt;a href="http://saunderslog.com/2006/07/13/the-next-step-should-be-an-open-specification/" target="_blank"&gt;suggestion&lt;/a&gt; that the next step should be the publication of an open interoperability specification by Microsoft and Yahoo! I wonder if the author is so naïve, or was under the influence of one of his blogging &lt;em&gt;&amp;ldquo;ingredients&amp;rdquo;, &lt;/em&gt;as to expect an &lt;em&gt;&amp;ldquo;open&amp;rdquo;&lt;/em&gt; specification coming from these two dinosaurs. Moreover, this is not needed, as the open specification for IM interoperability already exists in the form of XMPP. Email interoperability was never achieved through &amp;ldquo;industry players&amp;rdquo;, and almost every vendor led consortium has failed to impose any long lived interoperability standard on the Internet. Is the real issue people&amp;rsquo;s short memories, their propention to re-invent the wheel, their limited conception of the Internet time-space or (name your own reason here) ... &lt;/p&gt;&lt;p&gt;In spite of their desire to make us believe that something truly revolutionary had been achieved, Microsoft and Yahoo! have only managed to set the foundation for a larger IM island. A 350 millions inhabitants&amp;rsquo; continent perhaps, but an island still. Previous similar attempts, such as those by Compuserve or Genie, to deny free communication over the Internet, have failed. &lt;/p&gt;&lt;p&gt;Even more so in a time of user&amp;rsquo;s empowerment, in the absence of an honest voice, you&amp;rsquo;re bound to remember John Lydon&amp;rsquo;s famous words: &lt;em&gt;&amp;ldquo;Ever get the feeling you&amp;rsquo;ve been cheated?&amp;rdquo;&lt;/em&gt; Once a fraction of these 350 millions would have realized the vacuity of the announcement and noticed the contempt with which they have been treated, it might become a heavy incentive to force Microsoft and Yahoo! to become really interoperable&amp;hellip; &lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115282782843493695?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115282782843493695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115282782843493695'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/07/im-game-of-go.html' title='An IM game of Go'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115279342508946400</id><published>2006-07-13T14:23:00.000+02:00</published><updated>2006-07-15T11:46:42.390+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Instant messaging'/><title type='text'>IMteroperable? isn't it amazing, dear?</title><content type='html'>&lt;p&gt;What is really the best&amp;nbsp;in Microsoft and Yahoo! &lt;a href="http://www.microsoft.com/presspass/press/2006/jul06/07-12IMInteropPR.mspx" target="_blank"&gt;interoperability announcement&lt;/a&gt; is the part, were the customers of the two services:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;will be among the first to exchange instant messages across the free services as well as see their friends&amp;rsquo; online presence, view personal status messages, share select emoticons, view offline messages and add new contacts from either service at no cost.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;So, paying interoperability was amongst the options? Such an unashamed attitude is simply amazing. &lt;/p&gt;&lt;p&gt;I leave you to read the rest of this marketing verbiage and discover how 350 millions where left out of a vast commodity service offered to the &lt;a href="http://www.xmpp.net/" target="_blank"&gt;XMPP federation&lt;/a&gt;&amp;nbsp;for over five years now. You will be surprised to discover that Microsoft and Yahoo!&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;are proud to deliver this latest advancement in IM services that empower people to communicate with virtually whomever they want, wherever they want and whenever they want.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;and that the latest advancement they are referring to is simply that&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Consumers worldwide from Microsoft and Yahoo! will be able to take advantage of IM interoperability and join the limited public beta program. They will be among the first to exchange instant messages across the free services as well as see their friends&amp;rsquo; online presence, view personal status.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Beyond the fact it looks like&amp;nbsp;an April&amp;rsquo;s fool day&amp;rsquo;s press release, I am just wondering how, in our days of user&amp;rsquo;s empowerment, 350 millions still bear that kind of arrogance from such dinosaurs. But you never know, Microsoft and Yahoo! may&amp;nbsp;well push it further and claim a patent on IM interoperability&amp;nbsp;by tomorrow... &lt;/p&gt;&lt;p&gt;Anyway,&amp;nbsp;this&amp;nbsp;is again a reminder of a sad&amp;nbsp;reality. We find today a bunch of IM services attempting to emulate the grotesque attitude of wireless carriers. Walled gardens are not only alienating,&amp;nbsp;they are&amp;nbsp;essentially hostile to the customer. Customers,&amp;nbsp;beyond&amp;nbsp;an&amp;nbsp;enormous frustration feeling, should have a greater say in the matter. It will be interesting to watch how&amp;nbsp;they&amp;nbsp;will assert their rights, because, from the tone of this announcement, &amp;nbsp;the IM providers are in a rather arrogant mood.&lt;/p&gt;&lt;p&gt;In the end, what worries me more is the flabergasted attitude expressed by &lt;a href="http://www.techcrunch.com/2006/07/12/windows-live-yahoo-im-interoperability-begins-public-tests-today/" target="_blank"&gt;this kind of post&lt;/a&gt;. But when someone describes Trillian or Adium as services, no wonder it also writes &lt;em&gt;&amp;ldquo;IM interoperability took so long that I thought it was never going to happen&amp;rdquo;&lt;/em&gt;. But&amp;nbsp;today everything has changed.&amp;nbsp;Isn&amp;rsquo;t this really an amazing world?&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115279342508946400?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115279342508946400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115279342508946400'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/07/imteroperable-isnt-it-amazing-dear.html' title='IMteroperable? isn&apos;t it amazing, dear?'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115245954888934486</id><published>2006-07-09T17:39:00.000+02:00</published><updated>2006-07-09T17:39:09.176+02:00</updated><title type='text'>MSRP: Managing Severely Retarded Protocol</title><content type='html'>&lt;p&gt;The messaging and presence protocol space is a good miniature of human passions. It exhibit this exquisite duality you find in those good old duck dodger&amp;rsquo;s cartoons, between those wanting to master the world and those wanting to save the world. &lt;/p&gt;&lt;p&gt;Behind the&amp;nbsp;smoke screen&amp;nbsp;created by using words such as &lt;em&gt;&amp;ldquo;open&amp;rdquo;&lt;/em&gt; or &lt;em&gt;&amp;ldquo;simple&amp;rdquo;&lt;/em&gt;, the sipping working group has been actively busy coming up with &lt;a href="http://www.tmcnet.com/sip/0306/sip-columns-edge-0306.htm" target="_blank"&gt;yet another messaging protocol&lt;/a&gt;. And guess what, this protocol is so superior that &lt;cite&gt;&amp;ldquo;in other words you can build a skookum Instant Messaging application using this technology&amp;rdquo;.&lt;/cite&gt; What a world savior! &lt;/p&gt;&lt;p&gt;What really struck me in this article is the blunt announcement that &lt;cite&gt;&amp;ldquo;SIMPLE is primarily a done deal from a standards perspective&amp;rdquo;.&lt;/cite&gt; Anyone looking at the dependency list for the 3GPP mobile network will somewhat play down this affirmation. There are a lot of non standard drafts left in the list, with a dependency stated as critical,&amp;nbsp;that are stalling&amp;nbsp;many technical implementations. In particular, several of these dependencies&amp;nbsp;relate to XCAP, the new form of XML query devised by another &amp;ldquo;would be master of the world&amp;rdquo; recently recuperated by Cisco. The article goes on saying&amp;nbsp; &lt;blockquote&gt;The exceptions are to do with some ongoing work in putting together the last of the framework that&amp;rsquo;s needed for a user of SIMPLE to be able to tell a service provider what their preferences are on how people can reach them. Which are the last parts of the mechanism that let XCAP (XML Control Access Protocol) work. The XCAP data formats are all well defined and the protocol for the most part is well-defined. The one corner that we are working out right now is the modification of partial documents in XCAP.&lt;/blockquote&gt;&lt;p&gt;There are a lot of conditionals in this explanation, don&amp;rsquo;t you think? To make it short, XCAP does not work yet. I believe its only &amp;ldquo;raison d&amp;rsquo;etre&amp;rdquo;, beyond the &lt;em&gt;&amp;ldquo;NIH syndrome&amp;rdquo;&lt;/em&gt;,&amp;nbsp;is the blatant inability of many in the SIP world to see beyond HTTP like request response protocols. To their defence, I would only say that, to those wanting to copy the POTS features, HTTP looks definitively like a very advanced protocol. But I maybe biased. In reality, disguising HTTP into XCAP may simply have been required by the inability of many mobile phone to support anything else than HTTP. If I remember well, in the beginning, J2ME and Symbian (two other world saviors) only had HTTP as their communication protocol. Not even a socket was exposed&amp;hellip; One way or another, this is&amp;nbsp;part of the ongoing&amp;nbsp;refusal by most telecom players to consider a customer&amp;nbsp;anything but a lucky &amp;ldquo;user&amp;rdquo; of the wonderful services they provide.&lt;/p&gt;&lt;p&gt;Going back to implementations, I have a compasionate thought for all the bright developers trying to make an instant messenger out of SIMPLE, XCAP, and now MSRP. But the gloom&amp;nbsp;is somewhat&amp;nbsp;brighten by the nice discovery that &lt;blockquote&gt;&amp;hellip; if we were in an IM session and I had a picture I wanted to show you. I could do that and we could share that image dynamically without interrupting the Text session plus associating that image with the session when we were done.&lt;/blockquote&gt;&lt;p&gt;Don&amp;rsquo;t you think this alone is of a nature to create real value and reassure the developers about MSRP? Not long ago the excellent XTen client product team was producing sometimes more than a protocol build every week in order to keep up with the changing specifications. I am afraid this is not likely to change soon with the introduction of this new messaging transport. &lt;/p&gt;&lt;p&gt;Is&amp;nbsp;creating new protocols&amp;nbsp;really the way to promote open and inter-operable communication spaces? I frankly doubt it. But as I said at the beginning, there is no fun without would be &amp;ldquo;world masters&amp;rdquo; and would be &amp;ldquo;world saviors&amp;rdquo; whacking each other. &lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/msrp" rel="tag"&gt;MSRP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115245954888934486?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115245954888934486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115245954888934486'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/07/msrp-managing-severely-retarded.html' title='MSRP: Managing Severely Retarded Protocol'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115245254327373641</id><published>2006-07-09T15:42:00.000+02:00</published><updated>2006-07-09T15:42:23.286+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IPBX'/><category scheme='http://www.blogger.com/atom/ns#' term='VOIP'/><title type='text'>FreeSWITCH has got a clue</title><content type='html'>&lt;p&gt;The &lt;a href="http://www.freeswitch.org/" target="_blank"&gt;FreeSWITCH project&lt;/a&gt; is &lt;a href="http://www.voip-news.com/news/features/tony-minnesale-freeswitch-voip-062106/" target="_blank"&gt;reaching maturity&lt;/a&gt;, and I whish they manage to get their first release out to be presented at &lt;a href="http://www.voip-news.com/events/event-cluecon-2006/" target="_blank"&gt;ClueCon&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;From what I know of its architecture, it possesses all the ingredients for a real internet wide distributed voice system. As such I believe FreeSWITCH would have to be seriously considered as the voice platform of choice to complement XMPP. The philosophy driving their concept of distributed platform bodes well with the XMPP federation cloud. But above all, beyond the necessity to provide early solutions, they really understand the difference between Jingle and Google Talk. &lt;/p&gt;&lt;p&gt;I just hope they fix their registration procedure so I could get a build to run on my Windows server&amp;hellip; &lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jingle" rel="tag"&gt;Jingle&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/voip" rel="tag"&gt;VoIP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/ipbx" rel="tag"&gt;IPBX&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/sip" rel="tag"&gt;SIP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/session+signaling" rel="tag"&gt;Session signaling&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115245254327373641?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115245254327373641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115245254327373641'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/07/freeswitch-has-got-clue.html' title='FreeSWITCH has got a clue'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115244843668781105</id><published>2006-07-09T14:33:00.000+02:00</published><updated>2006-07-10T08:38:51.623+02:00</updated><title type='text'>Simple factor is better than two-factor authentication</title><content type='html'>&lt;p&gt;This &lt;a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;taxonomyName=security&amp;amp;articleId=9001616&amp;amp;taxonomyId=17" target="_blank"&gt;article&lt;/a&gt; is spot on looking at how the two-factor authentication generated hype is hiding away simple and inexpensive solutions. The new buzz phrase in corporate boardrooms is &amp;ldquo;two-factor authentication is the only adequate control mechanism for internet-based products and services such as online banking&amp;rdquo;. In reality, I would rather say that being in the boardrooms makes upcoming two-factor authentication inadequate. The ineluctable result would be another massive money influx at keeping alive outdated thinking about identity. Many privacy and security professional say the induced costs and operational challenges to implement two-factor authentication on a large scale are making it time to reassess the situation. Their reasons are summed up in two main questions: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;What new risks have been discovered that need to be addressed? &lt;/li&gt;&lt;li&gt;Are there other ways, besides traditional two-factor authentication, to counter these risks? &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The author give the standard answer to the first question:&lt;/p&gt;&lt;blockquote&gt;that the purpose of the second factor of authentication is to compensate for the weaknesses of the first factor, the password. Weak passwords can be cracked with free software available on the Internet; they can often be discovered inside files stored on the network or people&amp;rsquo;s laptops, or on sticky notes left inside desk drawers; and they can be solicited through social engineering and phishing e-mails. &lt;/blockquote&gt;&lt;p&gt;The article goes on describing different alternatives addressing&amp;nbsp;the second question.&amp;nbsp;But I believe&amp;nbsp;it does not capture the real reason why the question were asked in the first place.&amp;nbsp;&amp;nbsp;In essence, these questions&amp;nbsp;are telling us that password authentication is inefficient because passwords are available all over the corporate and extra corporate spaces. They nevertheless fail to analyze this finding beyond the mere need to supplement it by an additional control. &lt;/p&gt;&lt;p&gt;If password based control has become so weak, it is because of its inadequacy&amp;nbsp;with human behavior. Passwords would bring the expected level of control when only used by&amp;nbsp;machines. Machine are natively built to understand and remember 256bit hash values, not human beings. On the other hand, photo passwords as described in the article will perfectly suit a human mind, and discourage even the most powerful image recognition algorithms. &lt;/p&gt;&lt;p&gt;Forcing a machine semantic on flesh and blood never works. But I doubt this is common wisdom in the boardroom. &lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/identity" rel="tag"&gt;Identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+privacy" rel="tag"&gt;Digital privacy&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+identity" rel="tag"&gt;Digital identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115244843668781105?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115244843668781105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115244843668781105'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/07/simple-factor-is-better-than-two.html' title='Simple factor is better than two-factor authentication'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115244496505859629</id><published>2006-07-09T13:36:00.000+02:00</published><updated>2006-07-09T14:38:30.916+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Live pains on sight...</title><content type='html'>&lt;p&gt;There have been scarce mentions of the rollout by LiveJournal of an &lt;a href="http://community.livejournal.com/lj_dev/716451.html" target="_blank"&gt;XMPP based instant messaging service&lt;/a&gt;. Beyond the expected &lt;a href="http://www.saint-andre.com/blog/2006-07.html#2006-07-07T12:11" target="_blank"&gt;voice&lt;/a&gt;, I have found very few references to the announcement outside the community, and when they were, they had very &lt;a href="http://www.niallkennedy.com/blog/archives/2006/07/livejournal-jabber-xmpp.html" target="_blank"&gt;specific topics of interest&lt;/a&gt;. &lt;/p&gt;&lt;div style="CLEAR: both"&gt;&lt;/div&gt;&lt;div style="FONT-SIZE: 20px; BACKGROUND: white; FILTER: alpha(opacity=75); FLOAT: right; MARGIN: 10px; WIDTH: 150px; LINE-HEIGHT: 24px; TEXT-ALIGN: right; moz-opacity: .75; opacity: .75"&gt;&lt;small&gt;&amp;hellip;the absence of &lt;/small&gt;&lt;strong&gt;smart integration&lt;/strong&gt;&lt;small&gt; between applications and XMPP servers is a major &lt;/small&gt;&lt;strong&gt;bottleneck&lt;/strong&gt; to a wide adoption of XMPP&amp;hellip;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;This is somewhat of a concern, as the expected viral endorsement of XMPP is still far from taking off. Obviously, any smart and business savvy community wanting to offer instant communication to its members is better of choosing XMPP as a protocol, rather than developing its own. Google did it, and I have &lt;a href="http://antecipate.blogspot.com/2006/05/dilbert-on-google.html" target="_blank"&gt;previously&lt;/a&gt; exposed some of the business drivers behind this choice. The same applies for LiveJournal. But beyond the marketing numbers claiming an additional 10 millions XMPP users, what is the reality. &lt;/p&gt;&lt;p&gt;LiveJournal has taken a clever approach to managing its IM users&amp;rsquo; rosters, which is very similar to what is found in corporation. They have come up with a very controlled process leveraging the existing user base, taking an integration perspective. This is in my opinion the reason why they created their own XMPP server, rather than adapt an Open Source one. I believe the absence of smart integration between applications and XMPP servers is the weakest point of the current wave of Open Source servers. And it is a major bottleneck to a wide adoption of XMPP as an application messaging transport, much more than reliability. Application integration is not about allowing low level access to a database or a directory, which is the bare minimum a server must provide. Application integration means enabling server to servers&amp;rsquo; communication at the application level. In the current Internet context it translates into making XMPP servers natively understand HTTP, and Web server have integrated XMPP transport. &lt;/p&gt;&lt;p&gt;LiveJournal is rolling out its own vision of XMPP. I understand perfectly the need for different communities to leverage their own specificity, but I also believe it must always be done without lock-in. Give an end user all liberty to leave at any time, taking with her all her belongings, and you will keep her for as long as you whish. Base your service on wrong assumptions, or tweak the standards, and you create an uneasy feeling. Creating an uneasy feeling is exactly what this statement is doing: &lt;/p&gt;&lt;blockquote&gt;We have SSL support, but we're not enabling it, at least not right away, but the auth is challenge/response w/ anti-replay stuff in it, so people can sniff your conversations, but not your login info. So SSL isn't required. With iChat, you have to explicitly turn it off. Justification: lot of CPU overhead for little gain, especially as clients often use OTR for end-to-end encryption. &lt;/blockquote&gt;&lt;p&gt;Support of TLS is one of the soundest requirements of XMPP. The argument for&amp;nbsp;not using TLS&amp;nbsp;are very light. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Mentioning CPU overhead is irrelevant with today&amp;rsquo;s workstations. On mobile clients it could have an impact though. With the concurrent connection figures announced for djaberd, I have the feeling the issue is more about server side scalability. Without TLS, connecting to the LiveJournal service from an OpenSource client will create another of these &lt;em&gt;&amp;ldquo;&lt;/em&gt;&lt;em&gt;unnecessary pains&lt;/em&gt;&lt;em&gt;&amp;rdquo;&lt;/em&gt; Justin has been rightly &lt;a href="http://blogs.openaether.org/?p=162" target="_blank"&gt;moaning about recently&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;The second issue resides in naming &lt;a href="http://en.wikipedia.org/wiki/Off-the-record_messaging" target="_blank"&gt;OTR&lt;/a&gt; as the justification for not using TLS. In the current state of XMPP, this is simply an error, and will remain so until we have enough clients supporting &lt;a href="http://www.jabber.org/jeps/jep-0116.html" target="_blank"&gt;JEP-116&lt;/a&gt; in the loose. And even then, end-to-end encryption will by no mean be a reason not to use TLS.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Creating islands in the communication space is a sensible and realistic approach. But reducing the inter-islands permeability to the lowest common denominator is still legacy thinking.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/livejournal" rel="tag"&gt;LiveJournal&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115244496505859629?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115244496505859629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115244496505859629'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/07/live-pains-on-sight.html' title='Live pains on sight...'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115185903127435049</id><published>2006-07-02T18:50:00.000+02:00</published><updated>2006-07-02T18:50:31.310+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>What is so advanced in AMQP?</title><content type='html'>&lt;p&gt;As a matter of fact I was looking at posting on &lt;a href="http://www.twiststandards.org/tiki-index.php?page=AMQ" target="_blank"&gt;AMQP&lt;/a&gt;, but &lt;a href="http://nolan.eakins.net/node/291" target="_blank"&gt;Nolan has beaten me to it&lt;/a&gt;. Nevertheless, I believe there is more that hope to see XMPP used as a mainstream application messaging protocol before 2011. It only need to addresses a few additional features found in AMQP to be perceived as a valid contender. Let me explain my position by analysing the claims made in the announcement.&amp;nbsp;Starting with&amp;nbsp;the marketing blurb, the announcement explains in preamble that AMQP was developed &lt;blockquote&gt;In response to internal requirements, market demand and partners' electronic trading needs, the contributors are collaborating on specifications for defining and building messaging infrastructure that is broadly applicable for enterprise use, totally open, platform agnostic, inter-operable, and which aims to provide developers with simpler and more powerful ways of constructing messaging dependent applications.&lt;/blockquote&gt;&lt;p&gt;I doubt anyone would ever use the world &lt;em&gt;&amp;ldquo;retarded&amp;rdquo;&lt;/em&gt; in a new protocol name. Similarly it would be very inappropriate to admit that a new protocol is not driven by a real world requirement, does not address a market need, would only be implemented in a narrow vertical community, as a closed protocol, running on dedicated hardware and providing a more obscure API to developers. In the end, AMQP is just another message queueing protocol incarnation, for a very specific vertical: the finance industry. Is that enough for being advanced?&amp;nbsp;&lt;/p&gt;&lt;p&gt;Let&amp;rsquo;s now compare the two protocols models. XMPP and AMQP use a similar model that defines a server's semantics explicitly. AMQP explains its approach by &lt;em&gt;&amp;ldquo;interoperability&amp;rdquo;&lt;/em&gt; which as been part of XMPP from the very beginning. Both models specify a modular set of components and standard rules for connecting these. AMQP defines three main types of components, connected into processing chains in a server to create the required functionality: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;The &amp;ldquo;exchange&amp;rdquo; component receives messages from applications and routes these to message queues, based on various criteria, usually message properties or content; &lt;/li&gt;&lt;li&gt;The &amp;ldquo;message queue&amp;rdquo; component stores messages until a consumer client application can process them; &lt;/li&gt;&lt;li&gt;The &amp;ldquo;binding&amp;rdquo; component defines the relationship between a message queue and an exchange and provides the message routing rules. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;This is known territory for anyone familiar with message middle ware architecture. An AMQP server is nothing but a specialised email server, with each exchange acting as a message transfer agent, and each message queue as a mailbox. Bindings define the routing tables in each transfer agent. Applications &lt;em&gt;&amp;ldquo;publish&amp;rdquo;&lt;/em&gt; messages to individual transfer agents, which deposit the messages into the appropriate mailboxes. Other applications &lt;em&gt;&amp;ldquo;consume&amp;rdquo;&lt;/em&gt; message by taking them out of the mailboxes.&amp;nbsp;Again just another expression of the classic concepts of store-and-forward queues and topic subscriptions, with a zest of on-demand message queues and message queue forking.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.jabber.org/jeps/jep-0060.html" target="_blank"&gt;XMPP pubsub extensions&lt;/a&gt; already address many of these features. Persistent nodes play the role of AMQP store-and-forward queues, instant nodes can be used for on demand AMQP queues. But AMQP also makes way for content-based routing, explicitly using message attributes. XMPP does not provide a similar explicit way to define content-based routing, as the pubsub extension leaves this decision to the implementation.&lt;/p&gt;&lt;p&gt;If we&amp;nbsp;now look at the transport protocol,&amp;nbsp;AMQP is defined as &lt;em&gt;&amp;ldquo;a binary protocol with modern features: it is multi-channel, negotiated, asynchronous, secure, portable, neutral, and efficient.&amp;rdquo;&lt;/em&gt; This definition alone let me believe that XMPP was very &lt;em&gt;&amp;ldquo;advanced&amp;rdquo;&lt;/em&gt; and has&amp;nbsp;possessed many modern features for a long time now. From this phrase, the only word&amp;nbsp;that can&amp;nbsp;lead to possible counter arguments is &lt;em&gt;&amp;ldquo;efficient&amp;rdquo;&lt;/em&gt;. And from my perspective, this is even subject to appreciation. &lt;/p&gt;&lt;p&gt;The AMQP protocol defines a transport layer and a functional layer. The functional layer&amp;nbsp;comprises a set of commands which can be mapped to the XMPP pubsub extension without too many difficulties. The transport layer &lt;em&gt;&amp;ldquo;handles channel multiplexing, framing, content encoding, heart-beating, data representation, and error handling&amp;rdquo;&lt;/em&gt;. Well, apart from &lt;em&gt;&amp;ldquo;heart-beating&amp;rdquo;&lt;/em&gt; which is sometimes the cause of heated debates on the &lt;a href="http://www.jabber.org/" target="_blank"&gt;JSF&lt;/a&gt; mailing list, the rest of the functions is present in the current XMPP standard. What is not yet in XMPP, though, is an appropriate reliability mechanism. But the subject gives rise to similarly heated threads at the JSF.&amp;nbsp;&lt;/p&gt;&lt;p&gt;In the end,&amp;nbsp;paraphrasing Nolan, I totally agree that: &lt;/p&gt;&lt;blockquote&gt;AMQP offers point-to-point, publish/subscribe, and many-to-many messaging. It's a binary protocol which could provide a slight increase in speed over XMPP, but it lacks a standard message body format, presence, and everything else the JSF has pushed out. Not to mention that AMPQ still hasn't reached version 1.0 yet.&lt;/blockquote&gt;&lt;p&gt;In short AMQP arrives too late, but is by no mean advanced.&lt;/p&gt;&lt;p&gt;Beyond the technical aspect, I also believe AMQP&amp;rsquo;s announcement&amp;nbsp;is&amp;nbsp;the implicit recognition&amp;nbsp;of the larger space XMPP is bound to take as the real-time, presence enabled messaging protocol. I am basing my analysis on these very simple facts. AMQP is&amp;nbsp;a tentative answer to&amp;nbsp;the threat imposed on incumbent messaging protocols developed for the financial industry by open and extensible protocols such as XMPP. The advent of cheap, standard based, alternatives to proprietary messaging systems opens large breaches in the positions of first tier vendors such as Tibco or IBM. It threatens even more the second tier vendors such as those involved in AMQP. In effect, I believe the risk is greater for the second tier, as displacing the first tier will certainly take longer. &lt;/p&gt;&lt;p&gt;In term of business solutions, 80% of the financial message based communication can be handled through &lt;em&gt;&amp;ldquo;unreliable&amp;rdquo;&lt;/em&gt; messaging protocols. This has been a strong driver behind the very early adoption of IM by the financial industry to conduct many communications leading to money transactions. I believe XMPP could easily add the required reliability to cater for a great part of the remaining 20% in communications. And&amp;nbsp;I am not mentioning the other advantages that can be derived&amp;nbsp;from XMPP&amp;rsquo;s embedded presence support. &lt;/p&gt;&lt;p&gt;As a matter of fact, I do not believe AMQP will ever achieve its dream of dominance, simply because it is promoted by a software consortium. Despite known procedural problems,&amp;nbsp;the IT&amp;nbsp;industry has a strong tendency to rely on consortia to produce technology. Web services, middleware&amp;rsquo;s current silver bullet, represents the archetypal example with its internal fighting, fragmentation, lack of architectural coherence, design by committee, and feature overload. It seems inevitable that Web services&amp;rsquo; history will resemble its CORBA ancestor. An alternative exists with open source standards. At the heart of these alternative practices are two essential prerequisites: cooperation and trust. Without cooperation, an evolutionary process cannot exist. Without trust, no common experts group can act as an ultimate arbiter. This is precisely where software consortia find their limitations. Putting customers and competing vendors into a consortium and expecting them to come up with a high-quality product is naïve. Commercial realities ensure that cooperation and trust are the last things any participant will care about. Naturally, software consortia contribute to an evolutionary process just as much as open source projects do. But the final direction will always be set by the customers in the consortium with their wallets. For those acquainted with the financial industry practices, this role is usually not benevolent... &lt;/p&gt;&lt;p&gt;In the end, I believe the AMQP announcement has been&amp;nbsp;driven by the same &lt;em&gt;&amp;ldquo;Fear, Uncertainty and Doubt&amp;rdquo;&lt;/em&gt; (&lt;a href="http://www.catb.org/jargon/html/F/FUD.html" target="_blank"&gt;FUD&lt;/a&gt;) practices described in &lt;em&gt;&amp;ldquo;Accidental Empires&amp;rdquo;&lt;/em&gt;. In chapter 14 of his book, Robert Cringely describes techniques one can use to control the market: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Announce a direction, not a product, and people will&amp;nbsp;stop buying competing products because you&amp;rsquo;ve just told them they&amp;rsquo;re the &lt;em&gt;&amp;ldquo;retarded&amp;rdquo;&lt;/em&gt; way of doing things. &lt;/li&gt;&lt;li&gt;Don&amp;rsquo;t support anybody else&amp;rsquo;s standards and&amp;nbsp;make your own. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;When analysed in context, AMQP represents a strong endorsement of XMPP as a viable technology. In my opinion it also highlight the need for application specific extended specifications build on top of existing XMPP extensions. In particular, instead of defining a &lt;em&gt;&amp;ldquo;generic&amp;rdquo;&lt;/em&gt; reliability mechanism for XMPP, it might be more efficient to define context related extensions. Don&amp;rsquo;t you think there is a great probability for &lt;em&gt;&amp;ldquo;reliability&amp;rdquo;&lt;/em&gt; in the financial industry to bare a different meaning than the same word in another industries? &lt;/p&gt;&lt;p&gt;Finally, again paraphrasing Nolan, &lt;em&gt;&amp;ldquo;we could learn a few things from them, like their requirements.&amp;rdquo;&lt;/em&gt; I entirely agree users&amp;rsquo; requirements are always worth reading. We could probably also get these requirements directly through the main JSF&amp;rsquo;s sponsor. After all, isn&amp;rsquo;t JP Morgan Chase one of their blue chip customers? This to emphasised Nolan&amp;rsquo;s&amp;nbsp;plea for advocacy in this space. But in my opinion, advocacy must move well above the John O'Hara or John Davies level. To a level that understands you can get the same feature set&amp;nbsp;as offered by proprietary messaging protocols for 20% of the cost&amp;hellip; This is a message the financial industry usually receives well without a &lt;em&gt;&amp;ldquo;reliable&amp;rdquo;&lt;/em&gt; protocol.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/amqp" rel="tag"&gt;AMQP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115185903127435049?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115185903127435049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115185903127435049'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/07/what-is-so-advanced-in-amqp.html' title='What is so advanced in AMQP?'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115161627824010867</id><published>2006-06-29T23:24:00.000+02:00</published><updated>2006-06-29T23:24:38.520+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Left to the implementation</title><content type='html'>&lt;p&gt;Having looked various experiments in the field of digital identity, I recently decide to use an interesting contact filtering feature offered by certain &lt;a href="http://en.wikipedia.org/wiki/I-broker" target="_blank"&gt;i-brokers&lt;/a&gt;. This service allows you to filter out only dully identified communications addressed to you from a web page link. As I was not interested in joining any particular community, I decided to create an &lt;a href="http://www.xdi.org/i-names-explained.html" target="_blank"&gt;i-name&lt;/a&gt; on a generic i-broker. The registration process went almost well until after giving my payment details the system spat and &lt;em&gt;&amp;ldquo;application error (Rail)&amp;rdquo;&lt;/em&gt; page after briefly showing a receipt page with a transaction number&amp;hellip; So much for my financial records. &lt;/p&gt;&lt;p&gt;Not stopping at this little detail, I logged into the i-broker using my newly acquired i-name, in order to setup the contact service. At this point the system warned me that the i-broker &lt;em&gt;&amp;ldquo;is not quite ready&amp;rdquo;&lt;/em&gt; and as a consequence they &lt;em&gt;&amp;ldquo;plan to have the new Contact Service up and running very shortly&amp;rdquo;&lt;/em&gt;. As a matter of fact I would have appreciated being given this information as a note on the registration page.&amp;nbsp;This notice may have resulted in me deciding to postpone the registration process. &lt;/p&gt;&lt;p&gt;That made two disappointments in a row. The i-broker service had been through a beta period not long ago. So, I thought it worth sharing my experience with the i-broker team. I&amp;nbsp;happily clicked on the &lt;em&gt;&amp;ldquo;contact us&amp;rdquo;&lt;/em&gt; link, which brought me to a &lt;em&gt;&amp;ldquo;this page does not exist&amp;rdquo;&lt;/em&gt; warning&amp;hellip; Interesting navigation. At that point I went back to the previous i-broker beta site where the contact page was available. Obviously, the form to contact the technical team was using the &lt;em&gt;&amp;ldquo;contact filtering&amp;rdquo;&lt;/em&gt; service whic was available in beta.&amp;nbsp;The form&amp;nbsp;provided an option to use my newly registered i-name. I duly reported my ordeal and submitted the form. At this moment the system replied telling me the i-name I just registered and logged in with was unknown &amp;hellip; I was under the impression i-names&amp;rsquo; major advantage was in using XRI to be resolvable everywhere. &lt;/p&gt;&lt;p&gt;Beyond the early disappointment created by this experience, I believe there are a few lessons to be learned. When deploying a public facing application, I believe it is paramount to provide a customer: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;An easy an enjoyable user experience, &lt;/li&gt;&lt;li&gt;A clear indication of the features available at this moment, &lt;/li&gt;&lt;li&gt;A robust application framework rather than the latest hyped tools, &lt;/li&gt;&lt;li&gt;A working demonstration of the services provided. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Failing to demonstrate these simple ingredients of any web application is in my opinion one of the major cause of service disappearance and bad reputation. I often read in standards or specifications that &amp;ldquo;it is all left to the implementation&amp;rdquo;. This is excatly the point, and the responsability of the implementers. I personally would not like to see i-brokers disappear so soon.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/identity" rel="tag"&gt;Identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+privacy" rel="tag"&gt;Digital privacy&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+reputation" rel="tag"&gt;Digital reputation&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+identity" rel="tag"&gt;Digital identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115161627824010867?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115161627824010867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115161627824010867'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/06/left-to-implementation.html' title='Left to the implementation'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115153048143911625</id><published>2006-06-28T23:34:00.000+02:00</published><updated>2006-06-28T23:36:57.363+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Roster remoting</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3691/2922/1600/RemoteRoster.png"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3691/2922/320/RemoteRoster.png" border="0" /&gt;&lt;/a&gt; &lt;p&gt;But how does Romeo knows &lt;strong&gt;&amp;ldquo;a2ff356&amp;rdquo;&lt;/strong&gt; is in fact &lt;strong&gt;Juliet&lt;/strong&gt;? That was the offline comment to &lt;a href="http://antecipate.blogspot.com/2006/06/addresses-are-for-routing.html" target="_blank"&gt;my post&lt;/a&gt; about XMPP transports addresses. Oviously the built in &amp;ldquo;name&amp;rdquo; attribute that is part of the roster management syntax can be used to initialize this information. It could hold Juliet&amp;rsquo;s address handle in the external network, or a nickname if the networks supports both address and nicknames. But none of the current transport implementation will allow to always force these parameters to their proper values, or allow them to be reset on demand.&lt;/p&gt;&lt;p&gt;Nonetheless, I am toying on this blog with practical ideas and suggestions that can be picked up and build into solutions to enhance the XMPP protocol functionalities. From the discussion thread that followed this question emerged a simple concept: why not let the transport manage its own part of an user&amp;rsquo;s roster? &lt;/p&gt;&lt;p&gt;Current XMPP servers&amp;rsquo; implementations have a very centralized way of managing a user&amp;rsquo;s roster. This architecture design has led to many protocol extensions to accommodate a transport&amp;rsquo;s role as an external user proxy. In effect, a transport &lt;em&gt;&amp;ldquo;impersonates&amp;rdquo;&lt;/em&gt; an XMPP user into a different communication network. It provides the appropriate communication and presence translations, as well as an address handle mapping between the two communication spaces. The main requirement for using a transport is possessing an address handle in the target communication space. An XMPP transport to Gadu-Gadu would require the XMPP user to use a Gadu-Gadu ID in order to be recognised as a proper Gadu-Gadu user. If the XMPP user has used the other communication network before moving to XMPP, it will almost certainly want to carry over its previous contact list. If the XMPP user just wan to use the transport to communicate with a different network, it will certainly want to add new external contacts to its roster. &lt;/p&gt;&lt;div style="CLEAR: both"&gt;&lt;/div&gt;&lt;div style="FONT-SIZE: 20px; BACKGROUND: white; FILTER: alpha(opacity=75); FLOAT: right; MARGIN: 10px; WIDTH: 150px; LINE-HEIGHT: 24px; TEXT-ALIGN: right; moz-opacity: .75; opacity: .75"&gt;&amp;hellip;what if the &lt;strong&gt;transport&lt;/strong&gt;&lt;small&gt; itself becomes &lt;/small&gt;responsible for &lt;strong&gt;managing&lt;/strong&gt; its part of the &lt;strong&gt;user's roster&lt;/strong&gt;? &lt;br /&gt;&lt;/div&gt;&lt;p&gt;Every transport to date has been designed around the centralized roster concept. Earlier on, a transport was silently updating the XMPP user&amp;rsquo;s roster at registration time. More recently, the XMPP protocol &lt;a href="http://www.jabber.org/jeps/jep-0144.html" target="_blank"&gt;has been augmented&lt;/a&gt; to cater for the kind of bulk roster addition a transport was likely to produce. Now, imagine for a moment that the transport itself becomes responsible to manage its part of the user&amp;rsquo;s roster. In effect, the management of MSN users would be done by the MSN transport, the Yahoo! Users roster would be handled by the Yahoo! Transport, etc&amp;hellip; In this architecture, the transport is responsible to provide the answer to the initial question. The answer would be easily carried in the name attribute of the roster result. The transport could offer administrative options to allow/prevent users to change the external network nickname and maintain a tight coherence between the XMPP and the external contact list. &lt;/p&gt;&lt;p&gt;In addition, delegating the roster management to the transport would also decrease the overall traffic between the home XMPP server and the transport, providing a specialized XMPP compliant distribution list for presence. An implementation allowing &lt;em&gt;&amp;ldquo;roster delegation&amp;rdquo;&lt;/em&gt; would have to enforce an adequate level of trust between the transport and the user home server. This trust could result from two different contexts: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;If the transport is a component of an XMPP server, then the trust would result from the configuration of the server and the component. &lt;/li&gt;&lt;li&gt;If the transport is a remote service provided by a different server, then the trust would be established through Mutual TLS authentication between the transport and the home server. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;In the created trust domain, the home server would be able to decide to delegate the roster management to the transport. More generally, it is possible to extend this concept to any service providing a contact list management of some sort. This would extend XMPP using the traditional &amp;ldquo;simple client, complex server&amp;rdquo; approach. From a client perspective, nothing has changed. The client issues a roster request to its home server and receives a result. The way the roster is managed is entirely dependant of the server implementation. It is the server&amp;rsquo;s responsibility to discover &lt;em&gt;&amp;ldquo;roster delegation&amp;rdquo;&lt;/em&gt; support and to aggregate the various roster parts into a complete roster result. The decision to use delegated roster management can also be coupled with the level of trust provided by the remote service. This would allow a server to opt out using &lt;em&gt;&amp;ldquo;roster delegation&amp;rdquo;&lt;/em&gt; if the target system does not comply with a defined trust level, or reputation, although it provides the delegation feature. &lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/addressing" rel="tag"&gt;Addressing&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/conversation+space" rel="tag"&gt;Conversation space&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/trust" rel="tag"&gt;Trust&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115153048143911625?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115153048143911625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115153048143911625'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/06/roster-remoting.html' title='Roster remoting'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115127518576103906</id><published>2006-06-26T00:39:00.000+02:00</published><updated>2006-06-26T00:41:15.083+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Addressing'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Addresses are for routing</title><content type='html'>&lt;p&gt;I was reminded by a reader's comment that address handles are still given properties beyond their only designed role: addresses are for routing. That is, routing only. Any attempts at loading an address handle with an additional meaning is only creating confusion. Address handles are not identity tokens. Address handles must not provide application logic. This bad practice is the best way to create lock-ins and decrease applications' scalability and extensibility. An address handle must be used in a single context: to indicate the destination of a communication.&lt;/p&gt;&lt;p&gt;This foreword done, the comment originated from the need for proper conversion rules when translating addresses from a communication space into another. The example was taken from the current XMPP transport practices, where the non-XMPP address handles are encoded as the node part of a JID. I believe this practice is wrong and does not possess any good technical grounding.&lt;/p&gt;&lt;p&gt;In an XMPP addressing space, a component such as a transport will have a JID comprised of a domain part only. Let's say "&lt;STRONG&gt;transport.montague.net&lt;/STRONG&gt;". If a user on the XMPP side of the transport has contacts in the legacy side, the common practice is to apply an encoding logic on the legacy address to build the node part of a JID representing that contact in the XMPP world. The result might look like "&lt;STRONG&gt;juliet%capulet_it@transport.montague.net&lt;/STRONG&gt;". The issue with this conversion lies in the resulting urge by many developers to use this "logical" encoding of the node to derive a meaning in a client for example. If the contact JID had been "&lt;STRONG&gt;a2ff356@"transport.montague.net&lt;/strong&gt;" the programmer would never had used the node for anything but its role. The opaque node keeps all the routing properties of an good address handle, which in this case requires that a stanza using this JID be routed to the "transport.montague.net" service. It is also easy to see that this approach is completely independent of the target legacy system. &lt;/P&gt;&lt;P&gt;Introducing a logic in the node encoding of early transports has &lt;/P&gt;&lt;UL&gt;&lt;LI&gt;induced developers to reverse this logic inside their code, creating a de-facto legacy inside the XMPP clients and transports implementation,&lt;/LI&gt;&lt;LI&gt;imposed at a time different encodings because the target legacy systems have different addressing spaces syntax.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Lastly, I believe there is no good reason to use a logical encoding of the JID's node for legacy contacts. Finding the contact's address can be achieved by looking-up the opaque node value in a cached table to obtain the legacy address. In terms of performances, I believe the time difference between a lookup and a decoding does not count much when compared to the actual transport wire transmission overhead.&lt;/P&gt;&lt;SPAN class=technoratitag&gt;Technorati Tags: &lt;A href="http://del.icio.us/jlseguineau/xmpp" rel=tag&gt;XMPP&lt;/A&gt;, &lt;A href="http://del.icio.us/jlseguineau/jabber" rel=tag&gt;Jabber&lt;/A&gt;, &lt;A href="http://del.icio.us/jlseguineau/interoperability" rel=tag&gt;Interoperability&lt;/A&gt;, &lt;A href="http://del.icio.us/jlseguineau/addressing" rel=tag&gt;Addressing&lt;/A&gt;, &lt;A href="http://del.icio.us/jlseguineau/antecipate" rel=tag&gt;Antecipate&lt;/A&gt;&lt;/SPAN&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115127518576103906?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115127518576103906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115127518576103906'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/06/addresses-are-for-routing.html' title='Addresses are for routing'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115123799897963831</id><published>2006-06-25T14:19:00.000+02:00</published><updated>2006-06-25T14:35:07.000+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Usable interoperability</title><content type='html'>&lt;p&gt;The IEEE directory describes inter-operability as&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;The ability of two or more systems or components to exchange information and to use the information that has been exchanged.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Well, if we take that definition into the human communication space, we could say that speech allow a good level of &amp;ldquo;protocol&amp;rdquo; level inter-operability. When we add the knowledge of a language, then we can exchange and hopefully make use of well-formatted (syntax) and meaningful (semantics) messages. What is in my opinion a little flawed in the IEEE definition is the part about usage of the received information. I believe inter-operability does not have a meaning outside the scope of a particular application domain. &lt;/p&gt;&lt;p&gt;In my &lt;a href="http://antecipate.blogspot.com/2006/06/unnecessary-interoperability-drafting.html" target="_blank"&gt;previous post&lt;/a&gt;, I stated why I do not find great interest in the SIMPLE/XMPP &amp;ldquo;inter-operability&amp;rdquo; &lt;a href="http://www.xmpp.org/drafts/draft-saintandre-xmpp-simple-07.html" target="_blank"&gt;draft proposal&lt;/a&gt;. To re-enforce my previous position, I would say the draft describes proper messages syntax, even a beginning of shared semantic between the two protocols, but completely fail to put the inter-operability in context. Without the intimate knowledge of a shared human language, one can receive the perfectly valid speech flow without being able to use it. A bit similar to listening an opera where a Spanish tenor and an Italian diva sing in Russian. They exchange perfect syntax and semantic but with a limited use, mainly providing marks for the other to respond. Don&amp;rsquo;t you think we may be missing, like the spectator of the opera, a great part of the meaning?&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/sip" rel="tag"&gt;SIP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/addressing" rel="tag"&gt;Addressing&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115123799897963831?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115123799897963831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115123799897963831'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/06/usable-interoperability.html' title='Usable interoperability'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115118151302749773</id><published>2006-06-24T22:38:00.000+02:00</published><updated>2006-06-24T22:40:42.610+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Unnecessary "interoperability" drafting </title><content type='html'>&lt;p&gt;After some time out of the communication realm, I will comment on the &lt;a href="http://www.saint-andre.com/blog/2006-06.html#2006-06-21T16:03" target="_blank"&gt;presentation&lt;/a&gt; of an &lt;a href="http://www.xmpp.org/drafts/draft-saintandre-xmpp-simple-07.html" target="_blank"&gt;Internet-Draft&lt;/a&gt; that defines how to enable basic interoperability between SIP/SIMPLE and XMPP.&lt;/p&gt;&lt;p&gt;It is funny how interoperability and federation between different communication media is always reduced to "mapping". This is once again exemplified by the draft proposal trying to explain how to achieve this hypothetical interoperability. From the architectural assumption, we already get the feeling this is too good to be true. Being amongst the very few people having implemented a federation between these two protocols, and probably the only one having designed a native SIMPLE connectivity on an XMPP server, I can tell you this is slightly more complex than the draft describe&amp;hellip;&lt;/p&gt;&lt;p&gt;The draft goes to great length to describe how to convert between a SIP URI and an XMPP JID. This is an excellent and accurate work, and its undisputable merit lies in providing in one single document a thorough description of each address' syntax. But in real life, what are the chances for the addresses in these two communication spaces to require direct translation?. Not very high. Why would the syntactical similarity between a SIP URI and an XMPP JID provide a guarantee that the same address must be used? After all, we do not translate JIDs directly to email addresses, nor SIP URIs either. We do not translate AIM screen names to SIP URIs, nor to JIDs. In the real world, we perform a lookup of one communication space's address in the other... We use directories to achieve the "mapping", rarely direct translation. The only case where this would be used is when SIP/SIMPLE user agents connect directly to an XMPP server, which is somewhat uncommon.&lt;/p&gt;&lt;p&gt;Where the draft is not up to the task is when trying to map the long term presence subscriptions of XMPP with the short term subscription of SIP. It is all fine when there are no existing subscriptions form either side. In this case, translating an XMPP subscription into a SIP SUBSCRIBE would provide the desired effect. But only the first time. The next time, the permanent XMPP subscription will trigger a presence stanza, instead of a subscription stanza. Nothing in the draft addresses how to handle this difference. In SIP we have a well delimited publish-subscribe behaviour. In XMPP we have a variable context behavior: before and after subscription.&lt;/p&gt;&lt;p&gt;The draft indicates that the XMPP subscription could be terminated by the SIP subscription. But this is not realistic. From an XMPP user's stand point this would mean re-subscribing to the contact on every login. And further on, this would force the XMPP user to accept a SIP contact's subscription for every contact&amp;rsquo;s log in.&lt;/p&gt;&lt;p&gt;Working the other way round is easier, as it is always possible to translate a SIP SUBSCRIBE into an XMPP subscription. If no subscription exists for the SIP contact, the subscription stanza will be sent to the XMPP user's client if and only if the user is online. If the user is offline, the subscription will be stored by the XMPP server, awaiting the user's acceptance. So the gateway will have to deal with this case, which is not described in the draft. Similarly, the draft does not handle the case where the XMPP user refuses the SIP contact's subscription. In SIP, if a subscription is refused it translate into an error response. The gateway would have to be aware of the presence state of the XMPP user to take the right decision. This asynchronous handling does not easily "map" with the request/response nature of SIP. Following the proposed scenario, the gateway would have to maintain a copy of every user's presence. This is both inefficient and non scalable. And again not very realistic.&lt;/p&gt;&lt;p&gt;As said above, SIP presence is based on short lived publish-subscribe, initiated by the requesting user agent. This is the opposite of XMPP, where the server acts as a proxy for the client user agent. SIP relies on expiration to cancel subscriptions. XMPP sessions do not time out. SIP is connectionless, whereas XMPP relies on the client connection state to deduce the end of a client session. All these fundamental differences are not highlighted in the draft, and as a consequence the cases described are both superficial and incomplete.&lt;/p&gt;&lt;p&gt;In the end, I find no real value in issuing a document whose only real complete description is in highlighting the difference between XMPP and SIP address handles representations. It is also detrimental to reduce interoperability between the two protocols as a simple translation between message types. None of the real issues of application interoperability are addressed in this document which looses all its substance, and by consequence its necessity. Beyond having &lt;cite&gt;&amp;ldquo;the longest title in IETF history&amp;rdquo;&lt;/cite&gt; I believe this draft would be better off retracted. This energy might have a better result applied to the Jingle specification&amp;hellip;&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/sip" rel="tag"&gt;SIP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/interoperability" rel="tag"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/addressing" rel="tag"&gt;Addressing&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115118151302749773?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115118151302749773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115118151302749773'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/06/unnecessary-interoperability-drafting.html' title='Unnecessary &quot;interoperability&quot; drafting '/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115117284788770472</id><published>2006-06-24T20:14:00.000+02:00</published><updated>2006-06-24T20:15:33.620+02:00</updated><title type='text'>Water does not have an history</title><content type='html'>&lt;p&gt;As human beings we place absolute on the scale of our desires&amp;hellip; We aspire to absolute references, because we desire comfort and satisfaction, &lt;em&gt;"we want things in our life that don't change"&lt;/em&gt;. In our relationships we try to relate to others through the best absolute reference we can. Through naming. &lt;/p&gt;&lt;p&gt;We humans name things because speech is our principal mean of communication. Other species rely on smell or sound to provide a reference, we use names. And naturally we will use these names to identify other persons. &lt;/p&gt;&lt;p&gt;Now that we have extended this concept into the digital world, we tend to continue using names to provide identity references. Absolute references. And we are making a mistake.&lt;/p&gt;&lt;p&gt;Octavian has ended the late Roman Republic, and created the early Roman Empire under the name of Augustus. Popes change names when they are elected. One changes name to "begin a new life". In every case, different names refer to the same individual. Octavian and Augustus are the same person. Apart from the color of his clothes, the pope is the same person before and after his election. Only the reference has changed, as the context in which the name is used has changed. And these references point to the same identity. The name is used to fix a reference in a particular context at a particular point in time. It is bound to evolve over time. &lt;/p&gt;&lt;p&gt;Translating this into the digital world, mapping identity and globally unique identifiers becomes an utopia. It simply denies the possibility for the reference to change. In the real world, even the 'baptismal' naming we receive on our birth is a contextual relative reference. The probability for it to change is lesser that other identity attributes in our life, but it may vary. Furthermore, this reference is only relevant in the context of using speech as a mean of communication. If the communication changes, the way we reference an identity also changes. When we see an acquaintance on the other side of the street, we are able to identify the person even without remembering its name. Hearing someone's voice over the phone gives us a different way to identify the person. Other context, other reference. &lt;/p&gt;&lt;p&gt;In the end we have to be careful when drafting digital systems dealing with identity not to let our aspiration for comfort reduce the multiple facets of identity to a minimum incompatible with the complexity of its expression. Naming an identity in today's' digital world comes from the way the technology works. We are just trying to fit the foot to the shoe here. This is a huge scope reduction!&lt;/p&gt;&lt;p&gt;As explained by John Burgess, names can convey meaning as well as fix references&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&amp;hellip; given the truth of Avogadro's view that water is the compound H2O, it could not have been anything else. A world where a substance of a different chemical formula filled the lakes and rivers would be a world where something other than water filled the lakes and rivers.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;But in comparison with persons' identity, water does not have an history.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/addressing" rel="tag"&gt;Addressing&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/identity" rel="tag"&gt;Identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+identity" rel="tag"&gt;Digital identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/trust" rel="tag"&gt;Trust&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115117284788770472?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115117284788770472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115117284788770472'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/06/water-does-not-have-history.html' title='Water does not have an history'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115107716810209298</id><published>2006-06-23T17:39:00.000+02:00</published><updated>2006-06-23T17:49:22.506+02:00</updated><title type='text'>A vulgus pecum SLA</title><content type='html'>&lt;div style="FONT-SIZE: 20px; BACKGROUND: white; FILTER: alpha(opacity=75); FLOAT: right; MARGIN: 10px; WIDTH: 150px; LINE-HEIGHT: 24px; TEXT-ALIGN: right; moz-opacity: .75; opacity: .75"&gt;&amp;hellip;Identity &lt;strong&gt;control&lt;/strong&gt;&lt;small&gt; by the end user includes &lt;/small&gt;expressing the &lt;strong&gt;risks&lt;/strong&gt; incured by its &lt;strong&gt;misuse&lt;/strong&gt;&amp;hellip;&lt;/strong&gt; &lt;br /&gt;&lt;/div&gt;&lt;p&gt;The recent public release of Google spreadsheet has brought to surface worries and concerns for corporate data protection. In short, with this application, Google will be opening yet another hole into the already permeable membrane protecting corporate data. &lt;/p&gt;&lt;p&gt;Some may wonder if Google offers a service contract to protect data with Google Spreadsheets&amp;hellip; So far, the agreement is limited to a software license agreement that disavows liability. No doubt there will soon be an option for corporate users who would want more reassuring terms, based on policy and regulatory requirements. This is usually referred as a service level agreement. In the business world, this document is used by an organisation to expresses its control objectives or risk losing control to a service provider. When the providers understand what is expected of them and agree to it, then and only then does it become appropriate to allow them to hold and manage sensitive data.&lt;/p&gt;&lt;p&gt;The important aspect of this regulation of the data handling comes from the origin of the SLA: the organisation is the one expressing the required level of control and the liabilities caused by a loss of control. And everyone agrees to consider this to be &lt;em&gt;&amp;ldquo;best practices&amp;rdquo;&lt;/em&gt;. Then why on earth couldn&amp;rsquo;t we have the same for our individual identity data? Empowering the end user and giving him the ability to &lt;em&gt;&amp;ldquo;regain control and express incurred damages&amp;rdquo;&lt;/em&gt; over its identity would also mean giving the user the possibility to define the terms of its expected service level agreement. Identity, its associated and its perception are entirely contextual. Only the identity&amp;rsquo;s owner is able to assess and express the real risks incurred by a misuse of this information. In effect, it is the service provider that should have to abide by the &lt;em&gt;&amp;ldquo;vulgus pecum&amp;rdquo;&lt;/em&gt; SLAs! Not the end user agreeing to the provider&amp;rsquo;s often flawed and limited &lt;em&gt;&amp;ldquo;privacy&amp;rdquo;&lt;/em&gt; policy. But this would be in an ideal world&amp;hellip;&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/identity" rel="tag"&gt;Identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+privacy" rel="tag"&gt;Digital privacy&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+reputation" rel="tag"&gt;Digital reputation&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+identity" rel="tag"&gt;Digital identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115107716810209298?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115107716810209298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115107716810209298'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/06/vulgus-pecum-sla.html' title='A vulgus pecum SLA'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115107181873267255</id><published>2006-06-23T16:10:00.000+02:00</published><updated>2006-06-23T16:10:19.496+02:00</updated><title type='text'>Me Too, Me Also, Me Copy</title><content type='html'>&lt;p&gt;Andy Abramson &lt;a href="http://andyabramson.blogs.com/voipwatch/2006/06/we_too_we_also_.html"&gt;has a story&lt;/a&gt; about Microsoft &lt;a href="http://news.com.com/Microsoft+aims+to+end+phone+tag/2100-1010_3-6084964.html" target="_blank"&gt;having a story&lt;/a&gt; on &lt;em&gt;&amp;ldquo;presence enabled&amp;rdquo;&lt;/em&gt; communications. Andy Abramson is a little late on this one&amp;hellip; I wonder why reactive experts are only blattering about the visible. And why above all, do they have hair thin memories. &lt;/p&gt;&lt;p&gt;The actual brilliance is not in Parus for using the phone call result as an indicator. Not using a dial tone when you are in the phone business would be a crime. The brilliance is not in Iotum for adding a web interface to a server based preference store and filtering the call session requests. I have explained in earlier post why I have always believed presence to be the &lt;a href="http://antecipate.blogspot.com/2006/05/real-dial-tone.html" target="_blank"&gt;next dial tone&lt;/a&gt;, and why Iotum is still short of providing the expected value. Citing these players is only a justification for a post about Microsoft being a little heavy on the dinosaurs scale. But everyone knows this, so much for the Me Too.&lt;/p&gt;&lt;p&gt;What Andy is missing about Microsoft is that they presented their road map and they are just executing on it. Everything about &lt;em&gt;&amp;ldquo;presence enabling&amp;rdquo;&lt;/em&gt; communications and office application was written down when the &lt;em&gt;&amp;ldquo;Real Time Communication&amp;rdquo;&lt;/em&gt; server was unveiled a few years ago. At the time, I agree, Microsoft was not making a great innovation. It was just building up the ideas laid down by the PAM (Presence and Availability Management) forum on how to leverage presence states and user based rules to derive an &amp;ldquo;availability&amp;rdquo;. That may not have been brilliant, but it shows that someone had picked up the idea and seen the potential. Andy did not, as far as I recall. That Microsoft execution time may be longer than in other companies, and that in the end the innovation has become a &lt;cite&gt;&amp;ldquo;dead ringer&amp;rdquo;&lt;/cite&gt;, this is not a scoop. So much for the Me Also. &lt;/p&gt;&lt;p&gt;Andy is also missing the final point: Microsoft flawed execution will make it to every corporate America&amp;rsquo;s desktop. And that is brilliance. Not on technological innovation, but on human behaviour understanding. Lesson to be learned for a marketing professional?&lt;/p&gt;&lt;p&gt;Indeed, if imitation is the highest form of flattery, many out there will be thanking Andy for bashing Microsoft without constructive arguments. Maybe after all is it easier and more comfortable to &amp;ldquo;&lt;a href="http://pulverblog.pulver.com/archives/004711.html" target="_blank"&gt;join the crowd&lt;/a&gt;&amp;rdquo;&amp;hellip; So much for the Me Copy.&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/sip" rel="tag"&gt;SIP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/voip" rel="tag"&gt;VoIP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/presence" rel="tag"&gt;Presence&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115107181873267255?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115107181873267255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115107181873267255'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/06/me-too-me-also-me-copy.html' title='Me Too, Me Also, Me Copy'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115089918418568009</id><published>2006-06-21T16:13:00.000+02:00</published><updated>2006-06-21T16:13:04.190+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Digital identity'/><title type='text'>"Battelling" for privacy</title><content type='html'>&lt;p&gt;Even if he denies it, John Battelle is discussing growing privacy concerns in &lt;a href="http://battellemedia.com/archives/000647.php" target="_blank"&gt;this seemingly inocous post&lt;/a&gt;. But under the appearance lies an undisputable fact: privacy protection, be it written in laws or not, is at risk because of search.&lt;/p&gt;&lt;blockquote&gt;Search provides a framework for thinking not only about mail (what is it about Gmail that makes it really unique? It's searchable&amp;hellip;), but for our entire clickstream, which is fast becoming an asset.&lt;/blockquote&gt;&lt;p&gt;What makes something private, beyond property, is the possibility to decide how that thing is exposed. As soon as there is exposure, privacy is breached. The first time you take your brand new car out of the garage, you make it public, and you loose part of your privacy. A letter is private when protected by the ephemeral barrier of the envelope, as it was yesterday by the seal maintaining the parchment roll. But what would we say about privacy, when the mailbox becomes searchable? Surely that is does not exist anymore.&lt;/p&gt;&lt;p&gt;What differentiate today's practices about personal data is the daily recording of growing quantity of "&lt;EM&gt;identifiable"&lt;/em&gt; information on centralized servers. The reasons are multiple. Simply put greed to access and monetize this information is a strong driver behind this trend. No doubt, recording of private information has existed for immemorial times. True, until recently it has been rather difficult to link together the different islands where that information was residing. Looking at what difficulties lies in reconstructing one's genealogy gives a good example of how &lt;em&gt;"identified&lt;/EM&gt;" information could be difficult to trace. But in the context of the web, these obstacles are vanishing. By looking at how people willingly release more "identified" private information everyday, this will become easier and easier.&lt;/p&gt;&lt;blockquote&gt;One in ten internet users have registered at a social network, for example, and one in five have visited one. The reason for this shift is simple: innovative companies have figured out how to deliver great services (and make money) by divining clickstream patterns, be it a underlying divination, like PageRank, or a more direct one, such as AdWords or Amazon's recommendation system.&lt;/blockquote&gt;&lt;p&gt;Needless to say, I believe this a result of abdicating any critical analysis of the associated risks. Adhering to a &lt;em&gt;"social network"&lt;/em&gt; boost one's image by widening its exposure, and therefore by automatically decreasing one's privacy. Obviously, there is no &lt;em&gt;"social networking"&lt;/em&gt; without releasing of a slice of personal &lt;em&gt;"identified"&lt;/em&gt; information. Where would be the salt of life without gossip&amp;hellip; And what is today's first mean of gaining exposure? Simply making sure this information appears on the top lines of search results&amp;hellip; This is the first breach of privacy.&lt;/p&gt;&lt;p&gt;Behavioural experts will explain why the need for &lt;em&gt;"exhibitionism"&lt;/em&gt; is common amongst humans, which makes me believe we are only at the beginning of the &lt;em&gt;"social networking"&lt;/em&gt; adoption curve. The same experts will describe that the next step is to use distinctive signs and symbols. This is where the &lt;cite&gt;"innovative companies"&lt;/cite&gt; come in to deliver &lt;cite&gt;"great services"&lt;/cite&gt;. Looking at it, how different is it to wear a tee-shirt with some well know brand, or to have it appear on your own "private" page. You don't get a dime out of it, the "social network" host does. This is the second breach of privacy. Obviously the "personalized" targeted add on your &lt;em&gt;"private"&lt;/em&gt; page has been using your &lt;em&gt;"identified"&lt;/em&gt; information&amp;hellip;&lt;/p&gt;&lt;p&gt;More importantly, this seemingly disparate information, residing in the various service providers servers, can now be reconciled. Search can make these many data islands look like a wide open territory. The next frontier&amp;hellip; &lt;br /&gt;The privacy laws &lt;em&gt;"fathers"&lt;/em&gt; have probably been blinded by technology experts in their laudable attempts at protecting this part of our identity. They where certainly told without a common database &lt;em&gt;"key"&lt;/em&gt; personal information could not be correlated. Nowadays, with the growing power and refinement of the search engines, a common database &lt;em&gt;"key"&lt;/em&gt; is not needed anymore, you only need a reference to an identity handle somewhere in a web page. The associated data does not need to be structured anymore. Search is slowly but surely circumventing all established privacy laws, with their outdated reference to unique keys.&lt;/p&gt;&lt;p&gt;Regaining control of our identity information and privacy starts by requiring that each of those &lt;cite&gt;"innovative companies"&lt;/cite&gt; provides a &lt;strong&gt;"delete my information"&lt;/strong&gt; button on the account management page of their services&amp;hellip; It also requires that data held in their store be completely anonymized by using opaque indirect references. At least, if the data itself is not wiped out when I require it, it would only become part of the greater statistical whole. This is better than being &lt;em&gt;"exposed"&lt;/em&gt; in public...&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/identity" rel="tag"&gt;Identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+privacy" rel="tag"&gt;Digital privacy&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+reputation" rel="tag"&gt;Digital reputation&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+identity" rel="tag"&gt;Digital identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115089918418568009?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115089918418568009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115089918418568009'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/06/battelling-for-privacy.html' title='&quot;Battelling&quot; for privacy'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-115054276486050885</id><published>2006-06-17T13:12:00.000+02:00</published><updated>2006-06-17T13:20:37.050+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Digital identity'/><title type='text'>Weaving an identity society</title><content type='html'>&lt;div style="FONT-SIZE: 20px; BACKGROUND: white; FILTER: alpha(opacity=75); FLOAT: right; MARGIN: 10px; WIDTH: 150px; LINE-HEIGHT: 24px; TEXT-ALIGN: right; moz-opacity: .75; opacity: .75"&gt;&amp;hellip;Society &lt;small&gt;must evolve to become an &lt;/small&gt;&lt;strong&gt;integrated&lt;/strong&gt; yet &lt;strong&gt;privacy-enabled&lt;/strong&gt; medium &lt;small&gt;for people's diverse expressions of&lt;/small&gt; &lt;strong&gt;identity&amp;hellip;&lt;/strong&gt; &lt;br /&gt;&lt;/div&gt;&lt;p&gt;When I &lt;a href="http://www.i-together.net/weaverluke/2006/05/leopard-and-spots-or-arse-and-elbow.html" target="_blank"&gt;commented&lt;/a&gt; on Luke Razzell&amp;rsquo;s blog I wasn&amp;rsquo;t really expecting more than voicing an opinion on the&amp;nbsp;growing Microsoft influence in the identity and privacy space. Luke hinted at the &lt;a href="http://www.identitysociety.org/files/identitysociety.pdf" target="_blank"&gt;paper&lt;/a&gt; he had been co-authoring with John Madelin of BT to address some of the biased &amp;ldquo;laws&amp;rdquo; set by Kim Cameron and &amp;ldquo;&lt;cite&gt;set out a a more comprehensive vision of an Identity Web&lt;/cite&gt;&amp;rdquo;.&lt;/p&gt;&lt;p&gt;Since then Luke&amp;rsquo;s announcement has become a reality, and taken the form of an open discussion wiki. The Web is becoming a more human-friendly and semantically-rich space, where people will be able to negotiate control of online information sharing. An &amp;ldquo;&lt;em&gt;Identity Age&lt;/em&gt;&amp;rdquo; is dawning. The &lt;a href="http://www.identitysociety.org/" target="_blank"&gt;Identity Society wiki&lt;/a&gt; is aimed at discussing the nature of the associated challenges in depth:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Lead with thesis, &lt;/li&gt;&lt;li&gt;Avoid polemics, &lt;/li&gt;&lt;li&gt;Be accessible to a broad range of stakeholders, &lt;/li&gt;&lt;li&gt;Drill down from broad philosophical context to specific user requirements and business cases&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;For those wondering, this is what kept me away from blogging the past week&amp;hellip;&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/identity" rel="tag"&gt;Identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/digital+identity" rel="tag"&gt;Digital identity&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/trust" rel="tag"&gt;Trust&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-115054276486050885?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115054276486050885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/115054276486050885'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/06/weaving-identity-society.html' title='Weaving an identity society'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-114985423467197745</id><published>2006-06-09T13:57:00.000+02:00</published><updated>2006-06-09T13:57:14.690+02:00</updated><title type='text'>Lesson to be learned ?</title><content type='html'>&lt;p&gt;Phil Zimmermann quietly released a &lt;a href="http://www.philzimmermann.com/EN/zfone/index.html" target="_blank"&gt;reference application&lt;/a&gt; of his new cryptographic protocol ZRTP aimed at bringing privacy to VoIP conversations.&lt;/p&gt;&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;&lt;p&gt;Zfone lets you whisper in someone&amp;rsquo;s ear, even if their ear is a thousand miles away. I think it&amp;rsquo;s better than the other approaches to secure VoIP, because it achieves security without reliance on a PKI, key certification, trust models, certificate authorities, or key management complexity that bedevils the email encryption world. It performs its key agreements and key management in a purely peer-to-peer manner over the RTP packet stream.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Beyond the point of certification authorities&amp;rsquo; less than adequate certification procedures, it is rare when a user care to manage a secure list of accountable authorities in their clients. Today use of asymmetric cryptography in conjunction with PKI or trust models implies &lt;a href="http://www.schneier.com/paper-pki.html" target="_blank"&gt;many risks and inconveniences&lt;/a&gt;, part of which is rooted in the necessity to securely managing private keys.&lt;/p&gt;&lt;p&gt;Zimmerman assumes that trust needs to be continuously renewed and updated between two parties in a conversation. Hence the ephemeral and point to point nature of his secure application. By decreasing the need for long term storage of sensible key material, it increases the overall security of the conversation. At the same time, I believe this is only solving part of the issue, as Bruce Schneier &lt;a href="http://www.schneier.com/blog/archives/2006/04/voip_encryption.html" target="_blank"&gt;points out&lt;/a&gt;&lt;/p&gt;&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;&lt;p&gt;No amount of IP telephony encryption can prevent a Trojan or worm on your computer &amp;mdash; or just a hacker who managed to get access to your machine &amp;mdash; from eavesdropping on your phone calls, just as no amount of SSL or e-mail encryption can prevent a Trojan on your computer from eavesdropping &amp;mdash; or even modifying &amp;mdash; your data.&lt;/p&gt;&lt;p&gt;So, as always, it boils down to this: We need secure computers and secure operating systems even more than we need secure transmission.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;This is putting in better words than mine the objection I have to extend the &lt;a href="http://www.jabber.org/jeps/jep-0116.html" target="_blank"&gt;JEP-0116 Encrypted sessions&lt;/a&gt; beyond online conversations.&amp;nbsp;Will the XMPP community learn the lesson from these experts&amp;rsquo; experience?&lt;/p&gt;&lt;span class="technoratitag"&gt;Technorati Tags: &lt;a href="http://del.icio.us/jlseguineau/xmpp" rel="tag"&gt;XMPP&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/jabber" rel="tag"&gt;Jabber&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/security" rel="tag"&gt;Security&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/trust" rel="tag"&gt;Trust&lt;/a&gt;, &lt;a href="http://del.icio.us/jlseguineau/antecipate" rel="tag"&gt;Antecipate&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27702549-114985423467197745?l=antecipate.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/114985423467197745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27702549/posts/default/114985423467197745'/><link rel='alternate' type='text/html' href='http://antecipate.blogspot.com/2006/06/lesson-to-be-learned.html' title='Lesson to be learned ?'/><author><name>Jean-Louis Seguineau</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3691/2922/320/antecipate-div.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-27702549.post-114955193376011782</id><published>2006-06-06T01:58:00.000+02:00</published><updated>2006-06-09T10:59:36.013+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Digital identity'/><title type='text'>Trust Pot Pourri</title><content type='html'>&lt;div style="FONT-SIZE: 20px; BACKGROUND: white; FILTER: alpha(opacity=75); FLOAT: right; MARGIN: 10px; WIDTH: 150px; LINE-HEIGHT: 24px; TEXT-ALIGN: right; moz-opacity: .75; opacity: .75"&gt;&amp;hellip;shortcomings &lt;small&gt;may be corrected &lt;/small&gt;&lt;strong&gt;without great difficulties&lt;/strong&gt; using &lt;strong&gt;ingenuity and pragmatism&amp;hellip;&lt;/strong&gt; &lt;br /&gt;&lt;/div&gt;&lt;p&gt;Beyond the announcement, the &lt;a href="http://www.jabber.org/jsf/trust-proposal.html" target="_blank"&gt;proposal&lt;/a&gt; put together by Peter to strengthen &lt;em&gt;&amp;ldquo;trust&amp;rdquo;&lt;/em&gt; in XMPP leaves me perplex. Under the surface, the document looks like a hastily assembled &lt;em&gt;&amp;ldquo;pot pourri&amp;rdquo;&lt;/em&gt; of ideas that have been laying around XMPP for some time. The document certainly provides a good inventory of the XMPP technologies available today the area of security. But I believe many of the described shortcomings may be corrected without great difficulties, by just using a good dose of ingenuity and pragmatism. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;On the server side, I believe the major task would be convincing and educating many more Certificate Authorities to include the XMPP specifics into their server certificates. It is somewhat frustrating when you discuss with CAs and find out they do not conceive a server certificate outside a web server certificate, and a client certificate beyond a browser of mail client certificate.&lt;/li&gt;&lt;li&gt;Support for SASL External and TLS already exist in many open source servers, beside the commercial ones. Again, I do not think we have a technical issue to implement secure links between federated XMPP server, but rather a matter of organization and agreement to use these SASL/TLS instead of dialbacks. The weight of legacy maybe?&lt;/li&gt;&lt;li&gt;It maybe interesting to use a phased approach to reach the ultimate secure federation. In a first phase, SASL/TLS could be applied with web server certificates. Then later, when real XMPP certificates become widely available, they will be substituted. But, I believe supporting web certificates and the associated SASL checking is a must, as certain commercial CA may delay on purpose providing real XMPP certificates. We must also account for corporations or agencies that would use open source XMPP servers with certificates from these CAs.&lt;/li&gt;&lt;li&gt;As &lt;a href="http://antecipate.blogspot.com/2006/05/securing-xmpp.html" target="_blank"&gt;discussed earlier&lt;/a&gt;, the number of end-to-end encryption implementations in XMPP is negligeable. I have described how the current "&lt;A hr
