<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Comet Daily</title>
	<atom:link href="http://cometdaily.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://cometdaily.com</link>
	<description>Information about Comet techniques.</description>
	<pubDate>Mon, 23 Aug 2010 07:02:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>ItsNat 1.0, Full Remote Control with Comet</title>
		<link>http://cometdaily.com/2010/08/23/itsnat-10-full-remote-control-with-comet/</link>
		<comments>http://cometdaily.com/2010/08/23/itsnat-10-full-remote-control-with-comet/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 07:02:30 +0000</pubDate>
		<dc:creator>Jose Maria Arranz</dc:creator>
		
		<category><![CDATA[Musings]]></category>

		<category><![CDATA[Comet]]></category>

		<category><![CDATA[Full Remote Control]]></category>

		<category><![CDATA[ItsNat]]></category>

		<guid isPermaLink="false">http://cometdaily.com/?p=531</guid>
		<description><![CDATA[ItsNat v1.0 has been released and features "Full Remote Control" mode for the sharing of pages by many users.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.itsnat.org">ItsNat</a> v1.0 has been released and features &#8220;Full Remote Control&#8221; mode for the sharing of pages by many users.</p>
<p>In Full Remote Control mode, several users can share &#8220;the same page&#8221; (because the state of the page is controlled on the server), any action performed by a user is manifested on the page of the other users. Comet (long-polling) or Ajax based timers (polling) can be used to automatically update the client page to show any change performed by other users in any time.</p>
<p>Check out the <a href="http://www.innowhere.com:8080/itsnat/feashow_servlet?itsnat_doc_name=feashow.main&#038;feature=feashow.core.misc.remoteCtrl.ex">Online Demo</a> for more details.</p>


<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fcometdaily.com%2F2010%2F08%2F23%2Fitsnat-10-full-remote-control-with-comet%2F&amp;title=ItsNat+1.0%2C+Full+Remote+Control+with+Comet" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F08%2F23%2Fitsnat-10-full-remote-control-with-comet%2F&amp;title=ItsNat+1.0%2C+Full+Remote+Control+with+Comet" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F08%2F23%2Fitsnat-10-full-remote-control-with-comet%2F&amp;title=ItsNat+1.0%2C+Full+Remote+Control+with+Comet" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fcometdaily.com%2F2010%2F08%2F23%2Fitsnat-10-full-remote-control-with-comet%2F&amp;title=ItsNat+1.0%2C+Full+Remote+Control+with+Comet" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F08%2F23%2Fitsnat-10-full-remote-control-with-comet%2F&amp;title=ItsNat+1.0%2C+Full+Remote+Control+with+Comet', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcometdaily.com%2F2010%2F08%2F23%2Fitsnat-10-full-remote-control-with-comet%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fcometdaily.com%2F2010%2F08%2F23%2Fitsnat-10-full-remote-control-with-comet%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fcometdaily.com%2F2010%2F08%2F23%2Fitsnat-10-full-remote-control-with-comet%2F&amp;title=ItsNat+1.0%2C+Full+Remote+Control+with+Comet" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F08%2F23%2Fitsnat-10-full-remote-control-with-comet%2F&amp;title=ItsNat+1.0%2C+Full+Remote+Control+with+Comet" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://cometdaily.com/2010/08/23/itsnat-10-full-remote-control-with-comet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Equalizer Demo with Hookbox</title>
		<link>http://cometdaily.com/2010/07/30/equalizer-demo-with-hookbox/</link>
		<comments>http://cometdaily.com/2010/07/30/equalizer-demo-with-hookbox/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 08:41:51 +0000</pubDate>
		<dc:creator>DylanSchiemann</dc:creator>
		
		<category><![CDATA[Musings]]></category>

		<category><![CDATA[hookbox]]></category>

		<guid isPermaLink="false">http://cometdaily.com/?p=529</guid>
		<description><![CDATA[We've all seen the typical Comet demos: chat, stock quotes, and system monitoring applications. Hookbox user Salman Haq surprised me with a demo I hadn't seen before with Comet: a graphical equalizer with its values driven from Comet]]></description>
			<content:encoded><![CDATA[<p><strong>EDIT</strong>: Salman has written a <a href="http://bitshaq.com/2010/07/30/a-simple-experiment-with-hookbox/">full article about the equalizer demo</a>. Check it out!</p>
<p>We&#8217;ve all seen the typical Comet demos: chat, stock quotes, and system monitoring applications. Hookbox user Salman Haq surprised me with a demo I hadn&#8217;t seen before with Comet: a graphical equalizer with its values driven from Comet:</p>
<p><img src="http://cometdaily.com/wp-content/uploads/2010/07/screenshot-2010-07-30-at-12955.png" alt="Equalizer demo" title="Equalizer demo" width="384" height="209" class="alignnone size-full wp-image-530" /></p>
<p><object width="400" height="248"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=13740703&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=13740703&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="248"></embed></object></p>
<p>The <a href="http://github.com/slmnhq/hookbox/tree/master/examples/python_graphic_eq/">equalizer source code</a> is quite simple, just using a set of slider widgets client-side, and populating their values with the results returned from Hookbox.</p>
<p>I expect that this is just the first of many creative examples made possible with a simple hosted Comet service.</p>


<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F30%2Fequalizer-demo-with-hookbox%2F&amp;title=Equalizer+Demo+with+Hookbox" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F30%2Fequalizer-demo-with-hookbox%2F&amp;title=Equalizer+Demo+with+Hookbox" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F30%2Fequalizer-demo-with-hookbox%2F&amp;title=Equalizer+Demo+with+Hookbox" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F30%2Fequalizer-demo-with-hookbox%2F&amp;title=Equalizer+Demo+with+Hookbox" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F30%2Fequalizer-demo-with-hookbox%2F&amp;title=Equalizer+Demo+with+Hookbox', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F30%2Fequalizer-demo-with-hookbox%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F30%2Fequalizer-demo-with-hookbox%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F30%2Fequalizer-demo-with-hookbox%2F&amp;title=Equalizer+Demo+with+Hookbox" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F30%2Fequalizer-demo-with-hookbox%2F&amp;title=Equalizer+Demo+with+Hookbox" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://cometdaily.com/2010/07/30/equalizer-demo-with-hookbox/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Fast Introduction to Hookbox</title>
		<link>http://cometdaily.com/2010/07/26/a-fast-introduction-to-hookbox/</link>
		<comments>http://cometdaily.com/2010/07/26/a-fast-introduction-to-hookbox/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 10:17:45 +0000</pubDate>
		<dc:creator>MichaelCarter</dc:creator>
		
		<category><![CDATA[articles]]></category>

		<category><![CDATA[hookbox]]></category>

		<guid isPermaLink="false">http://cometdaily.com/?p=516</guid>
		<description><![CDATA[Hookbox is the web-push server that integrates directly with PHP, Django, Rails, Java servlets, ASP.Net, and any other HTTP-based application framework. This visual tutorial guides you through ten simple steps, giving you an idea of Hookbox’s capabilities. It will only take you a few minutes to work through, and no installation is required!]]></description>
			<content:encoded><![CDATA[<style>
.pre_outline {
border: 1px solid #EEE;
padding: 10px; width: 450px;
margin: 10px 10px;
word-wrap: break-word;
}
</style>
<p><a href="http://hookbox.org">Hookbox</a> is the web-push server that integrates directly with PHP, Django, Rails, Java servlets, ASP.Net, and any other HTTP-based application framework. Hookbox is Open Source Software under the MIT License. This visual tutorial is ten simple steps that give you a basic idea of Hookbox&#8217;s capabilities. It will only take you a few minutes to work through, and no installation is required!</p>
<h2>Installation</h2>
<p>You can <a href="http://hookbox.org/docs/intro.html#installation">install Hookbox manually</a>, but a much faster way to get started is to create a <a href="http://hosted.hookbox.org">Hosted Hookbox</a> account. Hosted Hookbox is absolutely free; it is intended for developers to try Hookbox out without investing substantial time and energy. Just remember that you should not run production apps on Hosted Hookbox as it is meant primarily for testing purposes.</p>
<h2>Diving in</h2>
<ol>
<li>
<p>Navigate to the <a href="http://hosted.hookbox.org/create">Hosted Hookbox Signup Page</a> and create an account.</p>
<p><a href='http://cometdaily.com/wp-content/uploads/2010/07/hhb2.png'><img src="http://cometdaily.com/wp-content/uploads/2010/07/hhb2.png" alt="" title="01Hosted Hookbox Signup Page" width="500" height="324" class="aligncenter size-full wp-image-517" /></a></p>
</li>
<li>
<p>Choose and enter an admin password for your Hookbox instance.  Click &#8216;Save &amp; Restart&#8217;. </p>
<p><a href='http://cometdaily.com/wp-content/uploads/2010/07/hhb3.png'><img src="http://cometdaily.com/wp-content/uploads/2010/07/hhb3.png" alt="" title="02Hosted Hookbox Dashboard" width="500" height="325" class="aligncenter size-full wp-image-518" /></a></p>
</li>
<li>
<p>Navigate to the Admin Menu option in a new tab and enter the admin password you just chose.</p>
<p><a href='http://cometdaily.com/wp-content/uploads/2010/07/hhb4.png'><img src="http://cometdaily.com/wp-content/uploads/2010/07/hhb4.png" alt="" title="Hookbox Admin Panel -- Login" width="500" height="325" class="aligncenter size-full wp-image-519" /></a></p>
</li>
<li>
<p>Now you should see the admin panel. Feel free to explore and see what&#8217;s available. There isn&#8217;t much going on here yet, but there will be soon.</p>
<p><a href='http://cometdaily.com/wp-content/uploads/2010/07/hhb5.png'><img src="http://cometdaily.com/wp-content/uploads/2010/07/hhb5.png" alt="" title="Hookbox Admin Panel -- Overview" width="500" height="328" class="aligncenter size-full wp-image-520" /></a></p>
</li>
<li>
<p>At this point you&#8217;ve deployed a Hookbox instance and logged into the admin panel. Now we need to try logging in some users. Back in your Hosted Hookbox account page, you should see a &#8216;Client Test Utility&#8217; link. Open this link in two new browser windows. </p>
<p><a href='http://cometdaily.com/wp-content/uploads/2010/07/hhb5b.png'><img src="http://cometdaily.com/wp-content/uploads/2010/07/hhb5b.png" alt="" title="Hosted Hookbox Client Test Link" width="500" height="349" class="aligncenter size-full wp-image-521" /></a></p>
</li>
<li>
<p>In both Test Client windows, click connect with the given url (it should automatically populate the field with the url for your Hosted Hookbox instance.)</p>
<p><a href='http://cometdaily.com/wp-content/uploads/2010/07/hhb6.png'><img src="http://cometdaily.com/wp-content/uploads/2010/07/hhb6.png" alt="" title="Hookbox Client Test Utility" width="500" height="326" class="aligncenter size-full wp-image-522" /></a></p>
</li>
<li>
<p>In each tab, once the client is connected, type <code>test_channel</code> into the Channels <code>name</code> field and click <code>subscribe</code>. Each tab will automatically be assigned a random username when they connect (more on this later).</p>
<p><a href='http://cometdaily.com/wp-content/uploads/2010/07/hhb7.png'><img src="http://cometdaily.com/wp-content/uploads/2010/07/hhb7.png" alt="" title="Hookbox Test Utility -- Subscribe" width="500" height="326" class="aligncenter size-full wp-image-523" /></a></p>
</li>
<li>
<p>Now you can publish messages back and forth between the two connected clients. Go ahead and open up multiple Test Client instances, and feel free to use multiple browsers/machines. You&#8217;ll be able to see the list of connected clients in the <em><code>Presence</code></em> section, and all channel events (publish, subscribe, unsubscribe) in the <em><code>History</code></em> section.</p>
<p><a href='http://cometdaily.com/wp-content/uploads/2010/07/hhb8.png'><img src="http://cometdaily.com/wp-content/uploads/2010/07/hhb8.png" alt="" title="Hookbox Test Utility -- Publish" width="500" height="325" class="aligncenter size-full wp-image-524" /></a></p>
</li>
<li>
<p>Open up the tab where you are logged into the admin panel. Select <code>Channels</code> and then click <code>test_channel</code>.</p>
<p><a href='http://cometdaily.com/wp-content/uploads/2010/07/hhb9.png'><img src="http://cometdaily.com/wp-content/uploads/2010/07/hhb9.png" alt="" title="Hookbox Admin Panel -- Channels" width="500" height="326" class="aligncenter size-full wp-image-525" /></a></p>
</li>
<li>
<p>This view allows you to monitor and administer the channel. Here you can modify channel options, remove users, publish messages, or simply watch. </p>
<p><a href='http://cometdaily.com/wp-content/uploads/2010/07/hhb10.png'><img src="http://cometdaily.com/wp-content/uploads/2010/07/hhb10.png" alt="" title="Hookbox Admin Panel -- Channel View" width="500" height="249" class="aligncenter size-full wp-image-526" /></a></p>
<p>Try publishing a message from the admin panel and watch it appear in the Test Client pages immediately.</p>
<p><a href='http://cometdaily.com/wp-content/uploads/2010/07/hhb11.png'><img src="http://cometdaily.com/wp-content/uploads/2010/07/hhb11.png" alt="" title="Hookbox Admin Panel -- Channel Publish" width="500" height="327" class="aligncenter size-full wp-image-527" /></a></p>
</li>
</ol>
<h2>What about my web app?</h2>
<p>This ten step tutorial shows how a client can interact with Hookbox. Adding web app integration is also trivial; in fact, the demo you just played with is integrated with a Django application. In particular, you&#8217;ll notice the &#8220;Simple Callback URL&#8221; field in the Hosted Hookbox account page. Anytime Hookbox sees an event such as someone connecting, subscribing, or publishing, it sends an HTTP request to that callback URL asking for permission for the action. The web application hosted at that callback URL is passed various parameters in the form, such as the type of <em><code>action</code></em>, the <em><code>channel_name</code></em>, the <em><code>user</code></em> name, or the <em><code>payload</code></em>. </p>
<p>You can actually see exactly what the default callback URL does. For instance, when you connect from the Test Client page, Hookbox sends a connect callback to the URL: <a href="http://hosted.hookbox.org/test_callback?action=connect">http://hosted.hookbox.org/test_callback?action=connect</a>. If you open this URL in a new tab, you&#8217;ll see a response like:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript"><span style="color: #009900;">&#91;</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span><span style="color: #3366CC;">&quot;name&quot;</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;qihagi&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#93;</span></pre></div></div>

<p>This is where those random user names come from. Hookbox does not generate the usernames; rather, the web app &#8212; powered by Django in this case &#8212; provides the name for each user that connects to Hookbox. In a production application, we would have used Django&#8217;s sessions to determine the username and authorize the connection.</p>
<p>Try <a href="http://hosted.hookbox.org/test_callback?action=create_channel&amp;channel_name=test_channel">http://hosted.hookbox.org/test_callback?action=create_channel&amp; channel_name=test_channel</a> to see how the web application authorizes Hookbox to create a channel. You should see a response like:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript"><span style="color: #009900;">&#91;</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span> <span style="color: #3366CC;">&quot;history_size&quot;</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">20</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;reflective&quot;</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;presenceful&quot;</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span> <span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#93;</span></pre></div></div>

<p> You can see a log of all interactions between Hookbox and your web application by opening the <em><code>Webhook Logs</code></em> section of the admin panel</p>
<p><a href='http://cometdaily.com/wp-content/uploads/2010/07/hhb12.png'><img src="http://cometdaily.com/wp-content/uploads/2010/07/hhb12.png" alt="" title="Hookbox Admin Panel -- Webhook logs" width="499" height="247" class="aligncenter size-full wp-image-528" /></a></p>
<p>Additionally, the web app can interact with Hookbox via the REST API. Navigate back to the Hosted Hookbox screen, enter a <code>Rest Secret</code>, and click <code>Save &amp; Restart</code>. The Test Client and admin panel do not automatically reconnect, so you&#8217;ll have to refresh/reconnect the window(s) running the Test Client and re-login to the admin panel. The Rest Secret is a token shared between the web application and Hookbox; it is passed in the querystring of any REST call to Hookbox. Lets try one. Assuming my Hosted Hookbox name is &#8220;mcarter5&#8243;, and my rest secret is &#8220;abc&#8221;, then I can publish to test_channel by requesting the following URL:</p>
<pre class="pre_outline"><code>http://mcarter5.hosted.hookbox.org/rest/publish?payload="hello from REST"&amp;channel_name=test_channel&amp;secret=abc
</code></pre>
<p>Go ahead and alter the url to fit your username and secret rest key and try it out. It will publish the message to your test clients, and you should see a response like:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript"><span style="color: #009900;">&#91;</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#93;</span></pre></div></div>

<p>Another REST call to try is <code>get_channel_info</code>:</p>
<pre class="pre_outline"><code>http://mcarter5.hosted.hookbox.org/rest/get_channel_info?channel_name=test_channel&amp;secret=abc
</code></pre>
<p>You should see a response like:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript"><span style="color: #009900;">&#91;</span>
   <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>
   <span style="color: #009900;">&#123;</span>
      <span style="color: #3366CC;">&quot;name&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;test_channel&quot;</span><span style="color: #339933;">,</span>
      <span style="color: #3366CC;">&quot;subscribers&quot;</span><span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>
         <span style="color: #3366CC;">&quot;hafiwo&quot;</span>
      <span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
      <span style="color: #3366CC;">&quot;options&quot;</span><span style="color: #339933;">:</span><span style="color: #009900;">&#123;</span>
         <span style="color: #3366CC;">&quot;moderated_publish&quot;</span><span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span>
         <span style="color: #3366CC;">&quot;moderated_unsubscribe&quot;</span><span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span>
         <span style="color: #3366CC;">&quot;polling&quot;</span><span style="color: #339933;">:</span><span style="color: #009900;">&#123;</span>
            <span style="color: #3366CC;">&quot;url&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">,</span>
            <span style="color: #3366CC;">&quot;originator&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">,</span>
            <span style="color: #3366CC;">&quot;interval&quot;</span><span style="color: #339933;">:</span><span style="color: #CC0000;">5.0</span><span style="color: #339933;">,</span>
            <span style="color: #3366CC;">&quot;mode&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">,</span>
            <span style="color: #3366CC;">&quot;form&quot;</span><span style="color: #339933;">:</span><span style="color: #009900;">&#123;</span> <span style="color: #009900;">&#125;</span>
         <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
         <span style="color: #3366CC;">&quot;state&quot;</span><span style="color: #339933;">:</span><span style="color: #009900;">&#123;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
         <span style="color: #3366CC;">&quot;moderated_subscribe&quot;</span><span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span>
         <span style="color: #3366CC;">&quot;moderated&quot;</span><span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>
         <span style="color: #3366CC;">&quot;anonymous&quot;</span><span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span>
         <span style="color: #3366CC;">&quot;history_size&quot;</span><span style="color: #339933;">:</span><span style="color: #CC0000;">20</span><span style="color: #339933;">,</span>
         <span style="color: #3366CC;">&quot;reflective&quot;</span><span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>
         <span style="color: #3366CC;">&quot;presenceful&quot;</span><span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>
         <span style="color: #3366CC;">&quot;history&quot;</span><span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>
            <span style="color: #009900;">&#91;</span> <span style="color: #3366CC;">&quot;SUBSCRIBE&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>
                  <span style="color: #3366CC;">&quot;user&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;hafiwo&quot;</span><span style="color: #339933;">,</span>
                  <span style="color: #3366CC;">&quot;datetime&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;2010-07-26T04:05:59&quot;</span>
               <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#93;</span>
         <span style="color: #009900;">&#93;</span>
      <span style="color: #009900;">&#125;</span>
   <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#93;</span></pre></div></div>

<p>You can find more information about these calls at the <a href="http://hookbox.org/docs/rest.html">Hookbox REST Documentation</a>. </p>
<h2>JavaScript integration</h2>
<p>To use Hookbox with your app, you need to include hookbox.js. It is served from your running Hookbox server at /static/hookbox.js (or hookbox.min.js,) but you can also download it and serve it from your web app if you like. For example, my hookbox.min.js is served at <a href="http://mcarter5.hosted.hookbox.org/static/hookbox.min.js">http://mcarter5.hosted.hookbox.org/static/hookbox.min.js</a>. The API provided by hookbox.js is straightfoward: There are methods to connect, subscribe, unsubscribe, publish, and disconnect. There are callbacks for when other users perform these actions. You can read more about this from the <a href="http://hookbox.org/docs/javascript.html">Hookbox JavaScript Documention</a>. </p>
<h2>Conclusion</h2>
<p>Hookbox can be used to create all manner of real-time  web apps.  It is particularly well suited to the following:</p>
<ul>
<li>Chat (presence, rooms, history, and the whole nine yards)</li>
<li>Stock feeds</li>
<li>Real-time data monitoring graphs / feeds</li>
<li>Multiplayer taking-turns-style games (cards, chess, trivia, backgammon, etc.)</li>
<li>Real-time administration / monitoring panels</li>
<li>Push-notified blog comments</li>
</ul>
<p>The Webhook callback and REST interface allows you to use absolutely any HTTP-based application framework/language. You don&#8217;t have to learn a new way of writing applications just to make them real-time. Simply design a web application as you normally would, and then use the Hookbox APIs to integrate real-time features!</p>


<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F26%2Fa-fast-introduction-to-hookbox%2F&amp;title=A+Fast+Introduction+to+Hookbox" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F26%2Fa-fast-introduction-to-hookbox%2F&amp;title=A+Fast+Introduction+to+Hookbox" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F26%2Fa-fast-introduction-to-hookbox%2F&amp;title=A+Fast+Introduction+to+Hookbox" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F26%2Fa-fast-introduction-to-hookbox%2F&amp;title=A+Fast+Introduction+to+Hookbox" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F26%2Fa-fast-introduction-to-hookbox%2F&amp;title=A+Fast+Introduction+to+Hookbox', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F26%2Fa-fast-introduction-to-hookbox%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F26%2Fa-fast-introduction-to-hookbox%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F26%2Fa-fast-introduction-to-hookbox%2F&amp;title=A+Fast+Introduction+to+Hookbox" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F26%2Fa-fast-introduction-to-hookbox%2F&amp;title=A+Fast+Introduction+to+Hookbox" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://cometdaily.com/2010/07/26/a-fast-introduction-to-hookbox/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Faye 0.5 Released</title>
		<link>http://cometdaily.com/2010/07/19/faye-05-released/</link>
		<comments>http://cometdaily.com/2010/07/19/faye-05-released/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 22:15:25 +0000</pubDate>
		<dc:creator>DylanSchiemann</dc:creator>
		
		<category><![CDATA[Musings]]></category>

		<category><![CDATA[bayeux]]></category>

		<category><![CDATA[cometd]]></category>

		<category><![CDATA[faye]]></category>

		<category><![CDATA[nodejs]]></category>

		<guid isPermaLink="false">http://cometdaily.com/?p=515</guid>
		<description><![CDATA[James Coglan has just released Faye 0.5, an easy-to-use publish-subscribe messaging system for Ruby, Node.js and web browsers, based on the Bayeux protocol.]]></description>
			<content:encoded><![CDATA[<p>James Coglan has just released Faye 0.5, an easy-to-use publish-subscribe messaging system for Ruby, Node.js and web browsers, based on the Bayeux protocol. It lets you send messages between web clients and handles problems including client identification, network dropouts or transport differences. </p>
<p>The major additions in this release match many of the recent improvements in cometD 2.0 and more including:</p>
<ul>
<li>The use of WebSockets in the browser where supported</li>
<li>Compatibility with cometD servers and clients</li>
<li>An extension API to layering extra functionality onto the server and client</li>
<li>Handling multiple subscriptions per channel</li>
<li>Improved handling of network dropouts and server restarts</li>
</ul>
<p>More information is available on <a href="http://blog.jcoglan.com/2010/07/19/faye-0-5-websockets-protocol-extensions-api-and-cometd-integration/">James&#8217; blog</a>, and on the <a href="http://faye.jcoglan.com">Faye</a> website.</p>


<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ffaye-05-released%2F&amp;title=Faye+0.5+Released" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ffaye-05-released%2F&amp;title=Faye+0.5+Released" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ffaye-05-released%2F&amp;title=Faye+0.5+Released" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ffaye-05-released%2F&amp;title=Faye+0.5+Released" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ffaye-05-released%2F&amp;title=Faye+0.5+Released', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ffaye-05-released%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ffaye-05-released%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ffaye-05-released%2F&amp;title=Faye+0.5+Released" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ffaye-05-released%2F&amp;title=Faye+0.5+Released" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://cometdaily.com/2010/07/19/faye-05-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>London Comet Panel Video</title>
		<link>http://cometdaily.com/2010/07/19/london-comet-panel-video/</link>
		<comments>http://cometdaily.com/2010/07/19/london-comet-panel-video/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 11:58:49 +0000</pubDate>
		<dc:creator>DylanSchiemann</dc:creator>
		
		<category><![CDATA[Musings]]></category>

		<category><![CDATA[comet panel]]></category>

		<category><![CDATA[laug]]></category>

		<guid isPermaLink="false">http://cometdaily.com/?p=514</guid>
		<description><![CDATA[The recent London Comet panel was a fun and informative introduction to Comet by many of the world's leading Comet developers.]]></description>
			<content:encoded><![CDATA[<p>The recent <a href="http://cometdaily.com/2010/06/14/comet-invades-london-in-july/">London Comet panel</a> was a fun and informative introduction to Comet by many of the world&#8217;s leading Comet developers. The <a href="http://skillsmatter.com/podcast/ajax-ria/comet-panel">London Comet panel video</a> is now online in case you missed this exciting event and want to learn more about all things Comet.</p>


<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Flondon-comet-panel-video%2F&amp;title=London+Comet+Panel+Video" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Flondon-comet-panel-video%2F&amp;title=London+Comet+Panel+Video" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Flondon-comet-panel-video%2F&amp;title=London+Comet+Panel+Video" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Flondon-comet-panel-video%2F&amp;title=London+Comet+Panel+Video" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Flondon-comet-panel-video%2F&amp;title=London+Comet+Panel+Video', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Flondon-comet-panel-video%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Flondon-comet-panel-video%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Flondon-comet-panel-video%2F&amp;title=London+Comet+Panel+Video" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Flondon-comet-panel-video%2F&amp;title=London+Comet+Panel+Video" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://cometdaily.com/2010/07/19/london-comet-panel-video/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tunguska: Node Gets Persevere&#8217;s Comet Tools</title>
		<link>http://cometdaily.com/2010/07/19/tunguska-node-gets-perseveres-comet-tools/</link>
		<comments>http://cometdaily.com/2010/07/19/tunguska-node-gets-perseveres-comet-tools/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 11:54:44 +0000</pubDate>
		<dc:creator>DylanSchiemann</dc:creator>
		
		<category><![CDATA[Musings]]></category>

		<category><![CDATA[nodejs]]></category>

		<category><![CDATA[Persevere]]></category>

		<category><![CDATA[tunguska]]></category>

		<guid isPermaLink="false">http://cometdaily.com/?p=513</guid>
		<description><![CDATA[While a number of Comet projects out there attempt to provide a black box solution to Comet, Tunguska recognizes that most real-time applications involve deep integration into the application.]]></description>
			<content:encoded><![CDATA[<p>While a number of Comet projects out there attempt to provide a black box solution to Comet, Tunguska recognizes that most real-time applications involve deep integration into the application and its security, messaging, and data structures. Consequently Tunguska is a set of tools for building real-time applications.</p>
<p>Read the full <a href="http://www.sitepen.com/blog/2010/07/19/real-time-comet-applications-on-node-with-tunguska/">Real-time Comet Applications on Node with Tunguska</a> post for more details.</p>


<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ftunguska-node-gets-perseveres-comet-tools%2F&amp;title=Tunguska%3A+Node+Gets+Persevere%26%238217%3Bs+Comet+Tools" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ftunguska-node-gets-perseveres-comet-tools%2F&amp;title=Tunguska%3A+Node+Gets+Persevere%26%238217%3Bs+Comet+Tools" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ftunguska-node-gets-perseveres-comet-tools%2F&amp;title=Tunguska%3A+Node+Gets+Persevere%26%238217%3Bs+Comet+Tools" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ftunguska-node-gets-perseveres-comet-tools%2F&amp;title=Tunguska%3A+Node+Gets+Persevere%26%238217%3Bs+Comet+Tools" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ftunguska-node-gets-perseveres-comet-tools%2F&amp;title=Tunguska%3A+Node+Gets+Persevere%26%238217%3Bs+Comet+Tools', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ftunguska-node-gets-perseveres-comet-tools%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ftunguska-node-gets-perseveres-comet-tools%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ftunguska-node-gets-perseveres-comet-tools%2F&amp;title=Tunguska%3A+Node+Gets+Persevere%26%238217%3Bs+Comet+Tools" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Ftunguska-node-gets-perseveres-comet-tools%2F&amp;title=Tunguska%3A+Node+Gets+Persevere%26%238217%3Bs+Comet+Tools" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://cometdaily.com/2010/07/19/tunguska-node-gets-perseveres-comet-tools/feed/</wfw:commentRss>
		</item>
		<item>
		<title>cometD 2.0 Released</title>
		<link>http://cometdaily.com/2010/07/19/cometd-20-released/</link>
		<comments>http://cometdaily.com/2010/07/19/cometd-20-released/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 11:49:33 +0000</pubDate>
		<dc:creator>DylanSchiemann</dc:creator>
		
		<category><![CDATA[Musings]]></category>

		<category><![CDATA[cometd]]></category>

		<guid isPermaLink="false">http://cometdaily.com/?p=512</guid>
		<description><![CDATA[cometD 2.0.0 has been released and features 2 major changes: a rewritten Java API (and
implementation) and WebSocket support.]]></description>
			<content:encoded><![CDATA[<p>cometD 2.0.0 has been released and features 2 major changes: a rewritten Java API (and implementation) and WebSocket support. View the <a href="http://bugs.cometd.org/browse/COMETD/fixforversion/10011.">changelog</a> for a complete list of updates.</p>
<p>The core Bayeux protocol is unchanged, so cometD 1 and cometD 2 are interoperable at the protocol level. cometD 2 provides a completely revised Java API, with the goal being a simplified API. Applications written with the cometD 1 APIs needs to be ported to the CometD 2 APIs, but the concepts are the same.</p>
<p>cometD 2 has been rewritten from scratch, and JDK 6 is now a requirement (though there is some discussion about backporting it to JDK 5 with somewhat degraded performance), and extensively using JDK&#8217;s concurrency features <a href="http://blogs.webtide.com/gregw/entry/cometd_2_throughput_vs_latency">making CometD 2 very scalable</a>.</p>
<p>The other major update is that cometD 2 now supports WebSocket, both on the server (as one of the available transports) and on the client (in the JavaScript library - not yet in the Java client). Browsers such as Safari 5+, Chrome 5+, and Firefox 4+ that support WebSocket can communicate with the cometD server even more efficiently.</p>
<p>Documentation is on its way; an initial <a href="http://cometd.org/documentation/2.x/migration">migration guide</a> is available and more will follow.</p>
<p>Updated examples and demos are available in the <a href="http://download.cometd.org/">cometD 2.0 distribution tarball</a>.</p>
<p>Congratulations to Simone Border, Greg Wilkins, and the other contributors that made this release possible!</p>


<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Fcometd-20-released%2F&amp;title=cometD+2.0+Released" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Fcometd-20-released%2F&amp;title=cometD+2.0+Released" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Fcometd-20-released%2F&amp;title=cometD+2.0+Released" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Fcometd-20-released%2F&amp;title=cometD+2.0+Released" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Fcometd-20-released%2F&amp;title=cometD+2.0+Released', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Fcometd-20-released%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Fcometd-20-released%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Fcometd-20-released%2F&amp;title=cometD+2.0+Released" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F19%2Fcometd-20-released%2F&amp;title=cometD+2.0+Released" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://cometdaily.com/2010/07/19/cometd-20-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Comet: the New Communication Platform?</title>
		<link>http://cometdaily.com/2010/07/12/comet-the-new-communication-platform/</link>
		<comments>http://cometdaily.com/2010/07/12/comet-the-new-communication-platform/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 07:01:50 +0000</pubDate>
		<dc:creator>JerodVenema</dc:creator>
		
		<category><![CDATA[articles]]></category>

		<category><![CDATA[Comet]]></category>

		<category><![CDATA[communication]]></category>

		<category><![CDATA[platform]]></category>

		<category><![CDATA[websync]]></category>

		<guid isPermaLink="false">http://cometdaily.com/?p=509</guid>
		<description><![CDATA[One of the most interesting things I have seen from our clients over the past few months is the myriad of ways in which they use Comet technology. We had a very specific problem in mind when we build WebSync, namely real-time updates in a browser with ASP.NET and IIS, and it solves that problem admirably.]]></description>
			<content:encoded><![CDATA[<p>One of the most interesting things I have seen from our clients over the past few months is the myriad of ways in which they use Comet technology. We had a very specific problem in mind when we build WebSync, namely real-time updates in a browser with ASP.NET and IIS, and it solves that problem admirably. Even as I realized some of the other uses-cases for WebSync (such as bypassing firewall restrictions for Windows-based applications), I don&#8217;t think I quite realized the huge number of possibilities that were really available with a standards-based Comet server.</p>
<h2>What is Comet, really?</h2>
<p>When I think of Comet, my mind immediately jumps to the idea of the &#8220;real-time web&#8221;, which is probably what the majority of Comet developers think about as well. <em>Live updates in a web browser, awesome!</em> But recently, I&#8217;ve seen more and more people using WebSync to solve other problems, and for many applications that are not strictly web-based. These applications may be *partially* web-based, but often times they have other components as well - desktop, mobile devices, you name it.</p>
<p>Comet is, in my opinion, much more than just a way to push data to a web browser. It&#8217;s a complete platform for real-time communication, built on top of HTTP, for all languages and purposes, not just the web.</p>
<h2>A multitude of devices</h2>
<p>When I was at the University, my design project was an application for managing equipment within a nano-fabrication lab on campus. It had a web front-end for managing users and devices, a Windows CE component to send signals to the switch, and an ethernet-enabled relay switch for actually controlling the various pieces of equipment. This was, overall, a very small project. But it already had 3 separate components and required programming in 2 software languages and some hardware design as well.</p>
<p>Fast forward to today. Applications aren&#8217;t getting any simpler. More people and businesses want devices that can communicate between the web, desktop, and mobile devices, and Comet is ideally suited to doing exactly this! Since Comet runs over HTTP, you can typically side-step any issues with firewalls, network configurations, etc. Additionally, if your server is based on open standards (such as the <a href="http://cometd.org/documentation/bayeux">Bayeux protocol</a>), integration with other languages and platforms becomes a snap - WebSync, for example is able to communicate with applications build on Windows Forms, Windows CE, Windows Phone, JavaScript, Silverlight, PHP, and we&#8217;re considering Java too (although since the <a href="http://cometd.com/">cometD project</a> has already written a Java client for their Bayeux implementation, that client should work with WebSync as well). With Comet (and Bayeux in particular) at the center of your communication, the sky is truly the limit. Let those Windows Phone Apps talk to your web apps, and throw in a notification system to sit in your system tray while you&#8217;re at it.</p>
<p>Comet can actually become the foundation on which your entire application is built, tying all these pieces together into one seamless unit!</p>
<h2>A communication platform</h2>
<p>To me, this is all rather amazing, really. When we started building WebSync, we were building a solution to a problem we needed to get past ourselves - pushing data to a web browser in real time using ASP.NET and IIS. By solving that problem, we&#8217;ve actually created a whole communication platform, with all kinds of integration points and incredible extensibility. What are your thoughts on using Comet as more than just a simple browser-push solution?</p>


<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F12%2Fcomet-the-new-communication-platform%2F&amp;title=Comet%3A+the+New+Communication+Platform%3F" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F12%2Fcomet-the-new-communication-platform%2F&amp;title=Comet%3A+the+New+Communication+Platform%3F" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F12%2Fcomet-the-new-communication-platform%2F&amp;title=Comet%3A+the+New+Communication+Platform%3F" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F12%2Fcomet-the-new-communication-platform%2F&amp;title=Comet%3A+the+New+Communication+Platform%3F" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F12%2Fcomet-the-new-communication-platform%2F&amp;title=Comet%3A+the+New+Communication+Platform%3F', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F12%2Fcomet-the-new-communication-platform%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F12%2Fcomet-the-new-communication-platform%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F12%2Fcomet-the-new-communication-platform%2F&amp;title=Comet%3A+the+New+Communication+Platform%3F" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F07%2F12%2Fcomet-the-new-communication-platform%2F&amp;title=Comet%3A+the+New+Communication+Platform%3F" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://cometdaily.com/2010/07/12/comet-the-new-communication-platform/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Introduction to Comet Session Protocol</title>
		<link>http://cometdaily.com/2010/06/21/introduction-to-comet-session-protocol/</link>
		<comments>http://cometdaily.com/2010/06/21/introduction-to-comet-session-protocol/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 22:31:54 +0000</pubDate>
		<dc:creator>MichaelCarter</dc:creator>
		
		<category><![CDATA[articles]]></category>

		<category><![CDATA[csp]]></category>

		<category><![CDATA[websocket]]></category>

		<category><![CDATA[websockets]]></category>

		<guid isPermaLink="false">http://cometdaily.com/?p=506</guid>
		<description><![CDATA[I'm excited that the WebSocket protocol is picking up so much steam -- it's a great abstraction for real-time web programming, and I can't wait to see it in every browser.  CSP is a current-day architectural drop in for WebSocket until it reaches ubiquity.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m excited that the WebSocket protocol is picking up so much steam &#8212; it&#8217;s a great abstraction for real-time web programming, and I can&#8217;t wait to see it in every browser. That will unfortunately take longer than we would like, but in the meantime we have various flash implementations of the protocol. Besides Google Chrome and Safari 5, today there are no stand-alone, proxy-aware WebSocket clients. Additionally, WebSocket is only truly a proxy-tunneling protocol when used in encrypted mode. For these reasons, I&#8217;ve authored the <a href="http://www.orbited.org/blog/files/csp.html">Comet Session Protocol</a>, a current-day architectural drop in for WebSocket.</p>
<p>Quick Bullet points about CSP</p>
<ul>
<li>Provides a bi-direcitonal, client &lt;&#8211;&gt; server stream</li>
<li>Well specified</li>
<li>Works in all browsers without plugins</li>
<li>Traverses all intermediaries for http and https (proxies, firewalls, anti-virus, etc.)</li>
<li>Architectural WebSocket drop-in for older browsers</li>
</ul>
<p>The protocol specification describes how a client and server can establish a reliable, bi-directional stream on top of HTTP. The protocol is designed to be implemented in browsers with JavaScript for the client, and on top of existing HTTP implementations for the server. CSP should be thought of as a transport-level technology, similar to TCP, so client and server libraries expose a socket-like interface. For instance, in Twisted/python you would define a Protocol and Factory class in order to implement a protocol, then at run-time you would expose that protocol over TCP by calling something like: </p>

<div class="wp_syntax"><div class="code"><pre class="javascript">reactor.<span style="color: #006600;">listenTCP</span><span style="color: #009900;">&#40;</span>MyFactory<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> ...<span style="color: #009900;">&#41;</span></pre></div></div>

<p>With the <a href="http://pypi.python.org/pypi/csp">Twisted/python CSP implementation</a> you would take the exact same steps, except at run time you would alternatively (or additionally) call something like:</p>

<div class="wp_syntax"><div class="code"><pre class="python">reactor.<span style="color: black;">listenCSP</span><span style="color: black;">&#40;</span>MyFactory<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>, ...<span style="color: black;">&#41;</span></pre></div></div>

<p>and like that your TCP-based protocol implementation is now exposed to the web. CSP is not meant to replace either TCP or WebSocket, but to co-exist with both. You might have one server that listens for all three protocols if you were targeting desktop/mobile, Chrome/Safari, and Internet Explorer.</p>
<p>The specification is still relatively young, but implementations of CSP have been in production for almost a year now. The best client implementation at this time is <a href="http://github.com/mcarter/js.io/tree/master/packages/net/csp/">js.io</a>; multiple server implementations exist, including <a href="http://github.com/mcarter/csp_eventlet">csp_eventlet</a>, <a href="http://pypi.python.org/pypi/csp">csp</a> (twisted), and <a href="http://github.com/mcarter/js.io/tree/master/packages/net/env/node/csp/">js.io</a> (runs on top of node.js).</p>


<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F21%2Fintroduction-to-comet-session-protocol%2F&amp;title=Introduction+to+Comet+Session+Protocol" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F21%2Fintroduction-to-comet-session-protocol%2F&amp;title=Introduction+to+Comet+Session+Protocol" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F21%2Fintroduction-to-comet-session-protocol%2F&amp;title=Introduction+to+Comet+Session+Protocol" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F21%2Fintroduction-to-comet-session-protocol%2F&amp;title=Introduction+to+Comet+Session+Protocol" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F21%2Fintroduction-to-comet-session-protocol%2F&amp;title=Introduction+to+Comet+Session+Protocol', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F21%2Fintroduction-to-comet-session-protocol%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F21%2Fintroduction-to-comet-session-protocol%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F21%2Fintroduction-to-comet-session-protocol%2F&amp;title=Introduction+to+Comet+Session+Protocol" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F21%2Fintroduction-to-comet-session-protocol%2F&amp;title=Introduction+to+Comet+Session+Protocol" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://cometdaily.com/2010/06/21/introduction-to-comet-session-protocol/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Comet Invades London in July</title>
		<link>http://cometdaily.com/2010/06/14/comet-invades-london-in-july/</link>
		<comments>http://cometdaily.com/2010/06/14/comet-invades-london-in-july/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 07:05:20 +0000</pubDate>
		<dc:creator>DylanSchiemann</dc:creator>
		
		<category><![CDATA[Musings]]></category>

		<category><![CDATA[ape]]></category>

		<category><![CDATA[cometd]]></category>

		<category><![CDATA[cometpanel]]></category>

		<category><![CDATA[liberator]]></category>

		<category><![CDATA[Lightstreamer]]></category>

		<category><![CDATA[meteor]]></category>

		<category><![CDATA[websync]]></category>

		<guid isPermaLink="false">http://cometdaily.com/?p=503</guid>
		<description><![CDATA[On July 13th, Comet invades London at the free London Ajax User Group's Comet Panel.]]></description>
			<content:encoded><![CDATA[<p>On July 13th, Comet invades London at the free <a href="http://www.meetup.com/londonajax/calendar/13682478/">London Ajax User Group&#8217;s Comet Panel</a>.</p>
<p>The panel will be moderated by me, and will include panelists representing the following projects:</p>
<ul>
<li><a href="http://www.ape-project.org/">APE</a></li>
<li><a href="http://cometd.org/">cometD-Jetty</a></li>
<li><a href="http://directwebremoting.org/">DWR</a></li>
<li><a href="http://www.caplin.com/caplin_liberator.php">Liberator</a></li>
<li><a href="http://www.lightstreamer.com/">Lightstreamer</a></li>
<li><a href="http://meteorserver.org/">Meteor</a></li>
<li><a href="http://www.frozenmountain.com/websync">WebSync</a></li>
</ul>
<p>We&#8217;re also hoping to get a few more projects represented.  Please sign-up to attend as space is limited.  And if you cannot make it to London, fear not, as video will be online shortly after the event.</p>


<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F14%2Fcomet-invades-london-in-july%2F&amp;title=Comet+Invades+London+in+July" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F14%2Fcomet-invades-london-in-july%2F&amp;title=Comet+Invades+London+in+July" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F14%2Fcomet-invades-london-in-july%2F&amp;title=Comet+Invades+London+in+July" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F14%2Fcomet-invades-london-in-july%2F&amp;title=Comet+Invades+London+in+July" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F14%2Fcomet-invades-london-in-july%2F&amp;title=Comet+Invades+London+in+July', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F14%2Fcomet-invades-london-in-july%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F14%2Fcomet-invades-london-in-july%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F14%2Fcomet-invades-london-in-july%2F&amp;title=Comet+Invades+London+in+July" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcometdaily.com%2F2010%2F06%2F14%2Fcomet-invades-london-in-july%2F&amp;title=Comet+Invades+London+in+July" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://cometdaily.com/2010/06/14/comet-invades-london-in-july/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
