<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Joe Walker - comet tag</title>
  <link>http://directwebremoting.org/blog/joe/tags/comet/</link>
  <description>Thoughts on Web Development</description>
  <language>en</language>
  <copyright>Joe Walker</copyright>
  <lastBuildDate>Wed, 23 Jul 2008 11:00:41 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  
  <item>
    <title>Useful Feeds</title>
    <link>http://directwebremoting.org/blog/joe/2008/05/23/useful_feeds.html</link>
    
      
        <description>
          &lt;p&gt;How many blog posts start with the words &#034;&lt;em&gt;Sorry I&#039;ve not been blogging much recently, but I resolve to post more often from now&lt;/em&gt;&#034;. Such a post may be followed by some actual substance, before the silence re-starts.&lt;/p&gt;

&lt;p&gt;This is not one of those posts.&lt;/p&gt;

&lt;p&gt;Getahead used to be the only place I blogged, but I&#039;ve infected a few other feeds. I generally don&#039;t spend ages linking from one blog to another - I figure you can subscribe to the others if you want that content, however you can&#039;t do that if you don&#039;t know they exist.&lt;/p&gt;

&lt;p&gt;I&#039;m not closing this blog down, however I expect to blog less here. The good news, however, is that I hope that means that the subject-to-noise ratio will go up and not down. Stay tuned.&lt;/p&gt;

&lt;p&gt;Both of these blogs are multi-author, &#039;professional&#039; blogs. By professional, I mean peer-reviewed posts and no cat pictures - you can get those &lt;a href=&#034;http://icanhascheezburger.com/&#034;&gt;elsewhere&lt;/a&gt;.&lt;/p&gt;

&lt;a href=&#034;http://cometdaily.com/&#034;&gt;&lt;img src=&#034;http://cometdaily.com/wp-content/themes/cometdaily/images/cometDailyLogo.gif&#034; style=&#034;border:0;padding-top:20px;&#034;/&gt;&lt;/a&gt;

&lt;p&gt;&lt;a href=&#034;http://cometdaily.com/&#034;&gt;CometDaily&lt;/a&gt; is written by the people that have spent the most time working on Comet. I&#039;ve been busy this week so:...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&#034;http://cometdaily.com/2008/05/22/on-board-vs-off-board-comet/&#034;&gt;On-board vs. Off-board Comet&lt;/a&gt;&lt;/strong&gt; is about 2 architectural styles around how to deploy comet. DWR typifies one style. It&#039;s taken (in part) from the Comet BOF that Alex and I did at JavaOne.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&#034;http://cometdaily.com/2008/05/20/comet-and-cross-site-scripting/&#034;&gt;Comet and Cross-Site Scripting&lt;/a&gt;&lt;/strong&gt; is about how comet could supercharge a web worm so it becomes more virulent than a Warhol Worm. Samy took MySpace down with a web worm in 23 hours. I think it might be possible to reduce this time to about 6 seconds.&lt;/p&gt;

&lt;a href=&#034;http://www.sitepen.com/blog&#034;&gt;&lt;img src=&#034;http://getahead.org/images/sitepen-logo.png&#034; style=&#034;border:0;padding-top:20px;&#034;/&gt;&lt;/a&gt;

&lt;p&gt;I work for &lt;a href=&#034;http://www.sitepen.com/&#034;&gt;SitePen&lt;/a&gt; along with a long list of similar techies. &lt;a href=&#034;http://www.sitepen.com/blog&#034;&gt;Our blog&lt;/a&gt; generally one post per day, about Ajax, Dojo, DWR and Comet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&#034;http://www.sitepen.com/blog/2008/05/22/comet-and-java/&#034;&gt;Servlet Spec, Comet and Java&lt;/a&gt;&lt;/strong&gt; is about how to work around Java&#039;s servlet spec to avoid needlessly chewing up threads. It looks at the options provided by Jetty, Grizzy, Tomcat and the new Servlet Spec.&lt;/p&gt;

&lt;a href=&#034;http://twitter.com/joewalker&#034;&gt;&lt;img src=&#034;http://assets2.twitter.com/images/twitter.png&#034; style=&#034;border:0;padding-top:20px;&#034;/&gt;&lt;/a&gt;

&lt;p&gt;And clearly, like everyone else, I &lt;a href=&#034;http://twitter.com/joewalker&#034;&gt;tweet from time to time&lt;/a&gt;. In between tweeting, like everyone else, I mostly complain about how I can&#039;t tweet because Twitter is so unreliable.&lt;/p&gt;

&lt;p&gt;Still no cat pictures, but I don&#039;t get peer reviews on my tweets.&lt;/p&gt;

        </description>
      
      
    
    
    
    <comments>http://directwebremoting.org/blog/joe/2008/05/23/useful_feeds.html#comments</comments>
    <guid isPermaLink="true">http://directwebremoting.org/blog/joe/2008/05/23/useful_feeds.html</guid>
    <pubDate>Fri, 23 May 2008 11:59:17 GMT</pubDate>
  </item>
  
  <item>
    <title>The rise of Comet</title>
    <link>http://directwebremoting.org/blog/joe/2007/11/07/the_rise_of_comet.html</link>
    
      
        <description>
          &lt;a href=&#034;http://cometdaily.com&#034;&gt;&lt;img src=&#034;http://getahead.org/images/comet-daily-logo.gif&#034; border=&#034;0&#034; align=&#034;right&#034; style=&#034;margin:0 10px&#034;/&gt;&lt;/a&gt;

&lt;p&gt;&lt;a href=&#034;http://cometdaily.com&#034;&gt;Comet Daily&lt;/a&gt; is new - dedicated to all things Comet. The idea, if we can get enough content, is to have regular - even daily, postings on the growth of Comet.&lt;/p&gt;

&lt;p&gt;There are a &lt;a href=&#034;http://cometdaily.com/people/&#034;&gt;whole bunch of people writing&lt;/a&gt;, and &lt;a href=&#034;http://alex.dojotoolkit.org/?p=631&#034;&gt;claiming that they are going to be writing&lt;/a&gt;.&lt;/p&gt;

&lt;a href=&#034;http://cometdaily.com/2007/10/23/why-comet-is-of-growing-importance/&#034;&gt;&lt;img src=&#034;http://getahead.org/images/comet-trend-small.png&#034; border=&#034;0&#034; align=&#034;left&#034; style=&#034;margin:0 10px&#034;/&gt;&lt;/a&gt;

&lt;p&gt;It&#039;s easy to disparage Comet as just Push, and to remember PointCast. But 1995 was the wrong side of the Ajax boom and the wrong side of the whole social explosion. The tipping point is where those 2 trends crossover - which is the &lt;a href=&#034;http://cometdaily.com/2007/10/23/why-comet-is-of-growing-importance/&#034;&gt;point of my first article:&lt;/a&gt;&lt;/p&gt;

&lt;p style=&#034;clear:both&#034;&gt;&amp;nbsp;&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://directwebremoting.org/blog/joe/2007/11/07/the_rise_of_comet.html#comments</comments>
    <guid isPermaLink="true">http://directwebremoting.org/blog/joe/2007/11/07/the_rise_of_comet.html</guid>
    <pubDate>Wed, 07 Nov 2007 10:38:47 GMT</pubDate>
  </item>
  
  <item>
    <title>Comet talk from FoWA</title>
    <link>http://directwebremoting.org/blog/joe/2007/10/08/comet_talk_from_fowa.html</link>
    
      
        <description>
          &lt;p&gt;Here are the slides from the talk I did at Future of Web Apps in London last week.&lt;/p&gt;

&lt;object type=&#034;application/x-shockwave-flash&#034; data=&#034;http://s3.amazonaws.com/slideshare/ssplayer.swf?id=128577&amp;doc=comet-making-the-web-a-2way-medium2626&#034; width=&#034;425&#034; height=&#034;348&#034;&gt;&lt;param name=&#034;movie&#034; value=&#034;http://s3.amazonaws.com/slideshare/ssplayer.swf?id=128577&amp;doc=comet-making-the-web-a-2way-medium2626&#034; /&gt;&lt;/object&gt;

&lt;p&gt;Quite a few of the other talks have been uploaded to the same place:&lt;/p&gt;

&lt;p&gt;Dion Almaer: &lt;a href=&#034;http://www.slideshare.net/dion/future-of-web-apps-google-gears/&#034; title=&#034;Future of Web Apps: Google Gears&#034;&gt;Future of Web Apps: Google Gears&lt;/a&gt; &lt;/p&gt;
&lt;a href=&#034;http://www.slideshare.net/dion/future-of-web-apps-google-gears&#034;&gt;&lt;img title=&#034;Future of Web Apps: Google Gears&#034; alt=&#034;Future of Web Apps: Google Gears&#034; src=&#034;http://s3.amazonaws.com/slideshare/future-of-web-apps-google-gears2963-thumbnail&#034; width=&#034;170&#034; /&gt;&lt;/a&gt;

&lt;p&gt;John Resig: &lt;a href=&#034;http://www.slideshare.net/jeresig/the-future-of-firefox-and-javascript/&#034; title=&#034;The Future of Firefox and JavaScript&#034;&gt;The Future of Firefox and JavaScript&lt;/a&gt; &lt;/p&gt;
&lt;a href=&#034;http://www.slideshare.net/jeresig/the-future-of-firefox-and-javascript&#034;&gt;&lt;img title=&#034;The Future of Firefox and JavaScript&#034; alt=&#034;The Future of Firefox and JavaScript&#034; src=&#034;http://s3.amazonaws.com/slideshare/the-future-of-firefox-and-javascript458-thumbnail&#034; width=&#034;170&#034; /&gt;&lt;/a&gt;

&lt;p&gt;Matt Mullenweg: &lt;a href=&#034;http://www.slideshare.net/photomatt/architucture-behind-wordpresscom/&#034; title=&#034;Architecture Behind WordPress.com&#034;&gt;Architecture Behind WordPress.com&lt;/a&gt; &lt;/p&gt;
&lt;a href=&#034;http://www.slideshare.net/photomatt/architucture-behind-wordpresscom&#034;&gt;&lt;img title=&#034;Architecture Behind WordPress.com&#034; alt=&#034;Architecture Behind WordPress.com&#034; src=&#034;http://s3.amazonaws.com/slideshare/architucture-behind-wordpresscom989-thumbnail&#034; width=&#034;170&#034; /&gt;&lt;/a&gt;

&lt;p&gt;Suw Charman: &lt;a href=&#034;http://www.slideshare.net/suw/suw-charman-preparing-for-enterprise-adoption-fowa/&#034; title=&#034;Preparing for Enterprise Adoption&#034;&gt;Preparing for Enterprise Adoption&lt;/a&gt; &lt;/p&gt;
&lt;a href=&#034;http://www.slideshare.net/suw/suw-charman-preparing-for-enterprise-adoption-fowa&#034;&gt;&lt;img title=&#034;Preparing for Enterprise Adoption&#034; alt=&#034;Preparing for Enterprise Adoption&#034; src=&#034;http://s3.amazonaws.com/slideshare/suw-charman-preparing-for-enterprise-adoption-fowa766-thumbnail&#034; width=&#034;170&#034; /&gt;&lt;/a&gt;

&lt;p&gt;Leisa Reichelt: &lt;a href=&#034;http://www.slideshare.net/leisa/ambient-intimacy-fowa-07/&#034; title=&#034;Ambient Intimacy&#034;&gt;Ambient Intimacy&lt;/a&gt; &lt;/p&gt;
&lt;a href=&#034;http://www.slideshare.net/leisa/ambient-intimacy-fowa-07&#034;&gt;&lt;img title=&#034;Ambient Intimacy&#034; alt=&#034;Ambient Intimacy&#034; src=&#034;http://s3.amazonaws.com/slideshare/ambient-intimacy-fowa-073498-thumbnail&#034; width=&#034;170&#034; /&gt;&lt;/a&gt;

&lt;p&gt;Rashmi Sinha: &lt;a href=&#034;http://www.slideshare.net/rashmi/social-design-slideshare-fowa07/&#034; title=&#034;Social Design&#034;&gt;Making Your App Social&lt;/a&gt; &lt;/p&gt;
&lt;a href=&#034;http://www.slideshare.net/rashmi/social-design-slideshare-fowa07&#034;&gt;&lt;img title=&#034;Social Design&#034; alt=&#034;Social Design&#034; src=&#034;http://s3.amazonaws.com/slideshare/social-design-slideshare-fowa074014-thumbnail&#034; width=&#034;170&#034; /&gt;&lt;/a&gt;

&lt;p&gt;Matt Biddulph: &lt;a href=&#034;http://www.slideshare.net/mattb/coding-on-the-shoulders-of-giants/&#034; title=&#034;Coding on the Shoulders of Giants&#034;&gt;Coding on the Shoulders of Giants&lt;/a&gt; &lt;/p&gt;
&lt;a href=&#034;http://www.slideshare.net/mattb/coding-on-the-shoulders-of-giants&#034;&gt;&lt;img title=&#034;Coding on the Shoulders of Giants&#034; alt=&#034;Coding on the Shoulders of Giants&#034; src=&#034;http://s3.amazonaws.com/slideshare/coding-on-the-shoulders-of-giants4724-thumbnail&#034; width=&#034;170&#034; /&gt;&lt;/a&gt;

&lt;p&gt;Simon Wardley: &lt;a href=&#034;http://www.slideshare.net/swardley/short-on-cycles-long-on-storage/&#034; title=&#034;Short on cycles, long on storage&#034;&gt;Short on cycles, long on storage&lt;/a&gt; &lt;/p&gt;
&lt;a href=&#034;http://www.slideshare.net/swardley/short-on-cycles-long-on-storage&#034;&gt;&lt;img title=&#034;Short on cycles, long on storage&#034; alt=&#034;Short on cycles, long on storage&#034; src=&#034;http://s3.amazonaws.com/slideshare/short-on-cycles-long-on-storage4693-thumbnail&#034; width=&#034;170&#034; /&gt;&lt;/a&gt;

&lt;p&gt;Heidi Pollock: &lt;a href=&#034;http://www.slideshare.net/heidipollock/heidi-pollock-fowa-07/&#034; title=&#034;Taking Your Application Mobile&#034;&gt;Taking Your Application Mobile&lt;/a&gt; &lt;/p&gt;
&lt;a href=&#034;http://www.slideshare.net/heidipollock/heidi-pollock-fowa-07&#034;&gt;&lt;img title=&#034;Taking Your Application Mobile&#034; alt=&#034;Taking Your Application Mobile&#034; src=&#034;http://s3.amazonaws.com/slideshare/heidi-pollock-fowa-073829-thumbnail&#034; width=&#034;170&#034; /&gt;&lt;/a&gt;


        </description>
      
      
    
    
    
    <comments>http://directwebremoting.org/blog/joe/2007/10/08/comet_talk_from_fowa.html#comments</comments>
    <guid isPermaLink="true">http://directwebremoting.org/blog/joe/2007/10/08/comet_talk_from_fowa.html</guid>
    <pubDate>Mon, 08 Oct 2007 22:01:48 GMT</pubDate>
  </item>
  
  <item>
    <title>Top 5 features that browsers need</title>
    <link>http://directwebremoting.org/blog/joe/2006/08/30/top_5_features_that_browsers_need.html</link>
    
      
        <description>
          &lt;p&gt;The following 5 things would really help developers to create better web applications.&lt;/p&gt;

&lt;h2&gt;1. Standard Libraries&lt;/h2&gt;
&lt;p&gt;We should take the core of &lt;a href=&#034;http://dojotoolkit.org/&#034;&gt;Dojo&lt;/a&gt; or something similar and embed it in all browsers so it doesn&#039;t have to be downloaded on every web page. It should not be as big as full Dojo, and it should be stable.&lt;/p&gt;

&lt;h2&gt;2. Server Push&lt;/h2&gt;
&lt;p&gt;Comet is too hard. Reverse Ajax in &lt;a href=&#034;http://getahead.ltd.uk/dwr/changelog/dwr20m2&#034;&gt;DWR&lt;/a&gt; is one of the trickiest bits of code I&#039;ve ever written. It should not be so hard.&lt;/p&gt;

&lt;h2&gt;3. Better Widgets&lt;/h2&gt;
&lt;p&gt;Menus, trees, sortable tables, tabs, draggable divs. The What-WG is working on &lt;a href=&#034;http://whatwg.org/specs/web-apps/current-work/&#034;&gt;some of them&lt;/a&gt;, but by no means all.&lt;/p&gt;

&lt;h2&gt;4. Vector Graphics&lt;/h2&gt;
&lt;p&gt;Microsoft? Have you got beyond &#034;we&#039;re thinking about it?&#034;. Opera, Firefox and Safari/KHTML all have Canvas and SVG either in a full release or in CVS.&lt;/p&gt;

&lt;h2&gt;5. Local Storage&lt;/h2&gt;
&lt;p&gt;You can use cookies, or flash, or get an nice API from Dojo Storage, but we should have it in a native browser feature.&lt;/p&gt;

&lt;p&gt;What did I miss?&lt;/p&gt;

        </description>
      
      
    
    
    
    <comments>http://directwebremoting.org/blog/joe/2006/08/30/top_5_features_that_browsers_need.html#comments</comments>
    <guid isPermaLink="true">http://directwebremoting.org/blog/joe/2006/08/30/top_5_features_that_browsers_need.html</guid>
    <pubDate>Wed, 30 Aug 2006 14:19:00 GMT</pubDate>
  </item>
  
  <item>
    <title>DWR 2.0 milestone 1 does Reverse Ajax</title>
    <link>http://directwebremoting.org/blog/joe/2006/04/11/dwr_2_0_milestone_1_does_reverse_ajax.html</link>
    
      
        <description>
          &lt;a href=&#034;http://getahead.ltd.uk/dwr/&#034;&gt;&lt;img src=&#034;http://getahead.ltd.uk/images/dwr-logo.png&#034; align=&#034;right&#034; style=&#034;margin:0px 10px&#034; border=&#034;0&#034;/&gt;&lt;/a&gt;

&lt;p&gt;We&#039;ve just released &lt;a href=&#034;http://getahead.ltd.uk/dwr/&#034;&gt;DWR&lt;/a&gt; version 2.0 milestone 1 - This is probably the biggest release we&#039;ve ever done in terms of new features.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Reverse Ajax&lt;/b&gt;: DWR 1.x allowed you to asynchronously call Java code from Javascript. DWR 2.0 builds on this to allow you to asynchronously call Javascript code from Java. Reverse Ajax makes writing interactive applications much easier. It can use polling or &lt;a href=&#034;http://alex.dojotoolkit.org/?p=545&#034;&gt;Comet&lt;/a&gt; (long-lived HTTP) queries.&lt;/p&gt;

&lt;p&gt;Our &#039;chat&#039; example contains Java code like this:&lt;/p&gt;

&lt;style type=&#034;text/css&#034;&gt;
.paste { background:#F8F8F8; font-size:90% ; border:1px dotted #999; padding:10px; margin:2px 10px; }
.java_type { color:#33C; }
.java_comment { color:#383; }
.java_operator { color:#999; }
.java_plain { color:#444; }
.java_separator { color:#999; }
.xml_tag_symbols { color:#999; }
.xml_tag_name { color:#33C; }
.xml_attribute_name { color:#619; }
.xml_attribute_value { color:#660; }
&lt;/style&gt;

&lt;div class=&#034;paste&#034;&gt;
&lt;div&gt;&lt;code&gt; &lt;span class=&#034;java_comment&#034;&gt;//&amp;nbsp;Get&amp;nbsp;the&amp;nbsp;current&amp;nbsp;page&lt;/span&gt; &lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt; &lt;span class=&#034;java_type&#034;&gt;WebContext&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;&amp;nbsp;wctx&amp;nbsp;&lt;/span&gt;&lt;span class=&#034;java_operator&#034;&gt;=&lt;/span&gt;&lt;span
  class=&#034;java_plain&#034;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&#034;java_type&#034;&gt;WebContextFactory&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;.&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;get&lt;/span&gt;&lt;span
  class=&#034;java_separator&#034;&gt;();&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;&lt;/span&gt; &lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt; &lt;span class=&#034;java_type&#034;&gt;String&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;&amp;nbsp;currentPage&amp;nbsp;&lt;/span&gt;&lt;span class=&#034;java_operator&#034;&gt;=&lt;/span&gt;&lt;span
  class=&#034;java_plain&#034;&gt;&amp;nbsp;wctx&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;.&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;getCurrentPage&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;();&lt;/span&gt;&lt;span
  class=&#034;java_plain&#034;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt; &lt;span class=&#034;java_plain&#034;&gt;&lt;/span&gt;&amp;nbsp;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt; &lt;span class=&#034;java_comment&#034;&gt;//&amp;nbsp;&#039;messages&#039; is a List&lt;String&gt; of recent messages for a browser to display&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt; &lt;span class=&#034;java_comment&#034;&gt;//&amp;nbsp;Java objects converted to Javascript have a declaration and a declared variable name.&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt; &lt;span class=&#034;java_type&#034;&gt;OutboundVariable&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;&amp;nbsp;ov&amp;nbsp;&lt;/span&gt;&lt;span class=&#034;java_operator&#034;&gt;=&lt;/span&gt;&lt;span
  class=&#034;java_plain&#034;&gt;&amp;nbsp;wctx&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;.&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;toJavascript&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;(&lt;/span&gt;&lt;span
  class=&#034;java_plain&#034;&gt;messages&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;);&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt; &lt;span class=&#034;java_plain&#034;&gt;&lt;/span&gt;&amp;nbsp;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt; &lt;span class=&#034;java_comment&#034;&gt;//&amp;nbsp;Loop&amp;nbsp;over&amp;nbsp;all&amp;nbsp;the&amp;nbsp;users&amp;nbsp;on&amp;nbsp;the&amp;nbsp;current&amp;nbsp;page&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt; &lt;span class=&#034;java_keyword&#034;&gt;for&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;(&lt;/span&gt;&lt;span class=&#034;java_type&#034;&gt;ScriptSession&lt;/span&gt;&lt;span
  class=&#034;java_plain&#034;&gt;&amp;nbsp;otherSession&amp;nbsp;&lt;/span&gt;&lt;span class=&#034;java_operator&#034;&gt;:&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;&amp;nbsp;wctx&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;.&lt;/span&gt;&lt;span
  class=&#034;java_plain&#034;&gt;getScriptSessionsByPage&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;(&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;currentPage&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;))&amp;nbsp;{&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt; &lt;span class=&#034;java_plain&#034;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;otherSession&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;.&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;addScript&lt;/span&gt;&lt;span
  class=&#034;java_separator&#034;&gt;(&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;ov&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;.&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;getInitCode&lt;/span&gt;&lt;span
  class=&#034;java_separator&#034;&gt;()&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;);&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt; &lt;span class=&#034;java_plain&#034;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;otherSession&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;.&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;addScript&lt;/span&gt;&lt;span
  class=&#034;java_separator&#034;&gt;(&lt;/span&gt;&lt;span class=&#034;java_literal&#034;&gt;&#034;receiveMessages(&#034;&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&#034;java_operator&#034;&gt;+&lt;/span&gt;&lt;span
  class=&#034;java_plain&#034;&gt;&amp;nbsp;ov&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;.&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;getAssignCode&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;()&lt;/span&gt;&lt;span
  class=&#034;java_plain&#034;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&#034;java_operator&#034;&gt;+&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&#034;java_literal&#034;&gt;&#034;);&#034;&lt;/span&gt;&lt;span
  class=&#034;java_plain&#034;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;);&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt; &lt;span class=&#034;java_plain&#034;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&#034;java_comment&#034;&gt;//&amp;nbsp;receiveMessages&amp;nbsp;is&amp;nbsp;a&amp;nbsp;Javascript&amp;nbsp;function&amp;nbsp;that&amp;nbsp;displays&amp;nbsp;the&amp;nbsp;current&amp;nbsp;messages&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt; &lt;span class=&#034;java_separator&#034;&gt;}&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;In essence we are looping over all the users on the current page and sending them some Javascript to update their display. The Javascript is even simpler. You just turn polling on:&lt;/p&gt;

&lt;div class=&#034;paste&#034;&gt;
&lt;div&gt;&lt;code&gt;&lt;span class=&#034;java_type&#034;&gt;DWREngine&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;.&lt;/span&gt;&lt;span class=&#034;java_plain&#034;&gt;setPolling&lt;/span&gt;&lt;span class=&#034;java_separator&#034;&gt;(&lt;span class=&#034;java_type&#034;&gt;true&lt;/span&gt;&lt;span
  class=&#034;java_separator&#034;&gt;);&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Chat example (included in the war download) includes the Javascript source to &lt;code&gt;receiveMessages()&lt;/code&gt; which is a 4-liner that uses DWRUtil to put the messages on the screen.&lt;/p&gt;

&lt;p&gt;Other uses for this technology include progress bars, online games, stock tickers and any system where server state changes and we need to push updates to a browser or browsers.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Cross-Domain Ajax&lt;/b&gt;: We now allow script tag remoting to enable cross-domain Ajax. This is in addition to XMLHttpRequest and iframe remoting.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Automatic signatures Element&lt;/b&gt;: If you are using DWR 2.0 with JDK5 generics then you can skip the signatures element in dwr.xml. DWR can now work out the correct mapping all for itself.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;DWRUtil Updates&lt;/b&gt;: The biggest change is to allow template style DOM manipulation. Using cloneNode() you can create a repeated HTML structure from an array of Javascript data.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Other new features&lt;/b&gt;: See the release notes for details of the refactoring to the org.directwebremoting package, new script scope for creators and attributes, and the new call meta-data abilities.&lt;/p&gt;

&lt;p&gt;For more information see the &lt;a href=&#034;http://getahead.ltd.uk/dwr/changelog/dwr20m1&#034;&gt;detailed release notes&lt;/a&gt;, or go straight to the &lt;a href=&#034;http://getahead.ltd.uk/dwr/download&#034;&gt;download area&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We&#039;ve got an aggressive list of new features to add to DWR for the upcoming milestones. What would you like us to add?&lt;/p&gt;

        </description>
      
      
    
    
    
    <comments>http://directwebremoting.org/blog/joe/2006/04/11/dwr_2_0_milestone_1_does_reverse_ajax.html#comments</comments>
    <guid isPermaLink="true">http://directwebremoting.org/blog/joe/2006/04/11/dwr_2_0_milestone_1_does_reverse_ajax.html</guid>
    <pubDate>Tue, 11 Apr 2006 15:43:36 GMT</pubDate>
  </item>
  
  </channel>
</rss>
