<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">

  <channel rdf:about="http://directwebremoting.org/blog/joe/">
    <title>Joe Walker</title>
    <link>http://directwebremoting.org/blog/joe/</link>
    <description>Thoughts on Web Development</description>
    <items>
      <rdf:Seq>
        
        <rdf:li resource="http://directwebremoting.org/blog/joe/2008/11/19/why_is_the_web_the_default_development_platform.html" />
        
        <rdf:li resource="http://directwebremoting.org/blog/joe/2008/07/23/defining_the_open_web.html" />
        
        <rdf:li resource="http://directwebremoting.org/blog/joe/2008/07/22/lessons_from_hosting_a_website.html" />
        
        <rdf:li resource="http://directwebremoting.org/blog/joe/2008/05/23/useful_feeds.html" />
        
        <rdf:li resource="http://directwebremoting.org/blog/joe/2008/05/19/big_question_for_sun.html" />
        
      </rdf:Seq>
    </items>
  </channel>

  
  <item rdf:about="http://directwebremoting.org/blog/joe/2008/11/19/why_is_the_web_the_default_development_platform.html">
    <title>Why is the web the default development platform?</title>
    <link>http://directwebremoting.org/blog/joe/2008/11/19/why_is_the_web_the_default_development_platform.html</link>
    
      
        <description>
          &lt;p&gt;10 years ago the default was probably VB6/Windows, these days it’s just the web. Why?&lt;/p&gt;

&lt;p&gt;If we don&#039;t know what&#039;s right about the web, then it&#039;s hard to know how to build on the success.&lt;/p&gt;

&lt;p&gt;4 reasons why; and they&#039;ve all got something vital in common.&lt;/p&gt;

&lt;h2&gt;Zero Install&lt;/h2&gt;

&lt;p&gt;This is the easy one, in retrospect it&#039;s amazing that it took so long for the concept of a &#039;player&#039; to catch on. A player (like a web browser, flash runtime etc) allows the download component to be smaller, it can provide a sandbox to keep the user safe and it can provide many of the libraries that otherwise would have been part of the install.&lt;/p&gt;

&lt;p&gt;Zero install saves time, builds trust, reduces clicks and confusion, saves space and is much easier to use. &lt;/p&gt;

&lt;h2&gt;UI Model&lt;/h2&gt;

&lt;p&gt;HTML makes it hard to create overlapping windows, complex dialogs, hidden options, deep menu structures - all the things that can make traditional applications harder to use. It&#039;s easy, when someone doesn&#039;t &#039;get&#039; an application, to think that they&#039;ve got a problem, and that they need a training course.&lt;/p&gt;

&lt;p&gt;But it would be better if we saw it another way: the application author has a problem - their app is too complex. Developers are very good at coping with complexity, but too often assume that others are too.&lt;/p&gt;

&lt;p&gt;The web makes it hard to pass the complexity on, so people create simple UIs instead.&lt;/p&gt;

&lt;h2&gt;Lazy Text&lt;/h2&gt;

&lt;p&gt;Lazy Text means that web pages are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;hackable&lt;/strong&gt;. Which means advanced users can &lt;a href=&#034;http://ouseful.wordpress.com/2008/10/14/data-scraping-wikipedia-with-google-spreadsheets/&#034;&gt;scrape, mash and plot&lt;/a&gt;, and normal users can &lt;a href=&#034;http://books.google.com/books?id=zaiM6UCdonYC&#034;&gt;embed YouTube videos&lt;/a&gt; in their blogs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;debuggable&lt;/strong&gt;. When makes them easier to fix, even outside of the development environment.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;learnable&lt;/strong&gt;. Which means HTML can be taught in most schools.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Postel’s Law compliant&lt;/strong&gt;. Which means they work. &lt;a href=&#034;http://en.wikipedia.org/wiki/Robustness_Principle&#034;&gt;Postel’s Law&lt;/a&gt; makes browsers harder to write, can makes pages a mess and is a disaster for security, but there are &lt;a href=&#034;http://diveintomark.org/archives/2004/01/08/postels-law&#034;&gt;no exceptions to Postel’s Law&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Openness&lt;/h2&gt;

&lt;p&gt;Creating the development platform for the world is quite a responsibility. It would be a mistake to give it to Dr. Evil. There are degrees of openness, and while the web is not in the ideal position, it does appear that there are forces currently taking it in that direction.&lt;/p&gt;

&lt;p&gt;Probably, the ideal position would have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open patent free specs&lt;/li&gt;
&lt;li&gt;Multiple implementations, at least one being open source&lt;/li&gt;
&lt;li&gt;No monopolies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Clearly the web does not have a monopoly free position - it’s not as open as most people would like, but at the moment, each month we getting closer to the ideal. &lt;/p&gt;

&lt;h2&gt;What do these 4 have in common?&lt;/h2&gt;

&lt;p&gt;Zero Install means that the web will scale to billions of pages.&lt;/p&gt;

&lt;p&gt;Lazy Text means that the web will scale to millions of developers.&lt;/p&gt;

&lt;p&gt;A Simple UI Model means that the web will scale to billions of users.&lt;/p&gt;

&lt;p&gt;Openness means that the web will scale to thousands or millions of enablers (the creators of browsers, servers, development tools, etc) &lt;/p&gt;

&lt;p&gt;The web is probably the most scalable system that anyone has ever designed. The Chinese Army, the Indian State Railways and the UK Health Service &lt;a href=&#034;http://www.timesonline.co.uk/tol/news/uk/health/article1050197.ece&#034;&gt;are all big&lt;/a&gt;, but they&amp;#39;re nothing on the size of the web. It’s perhaps not surprising that what made it successful was it’s scalability potential.&lt;/p&gt;

&lt;p&gt;&lt;small&gt;(Note: This is taken from a talk I gave at &lt;a href=&#034;http://jboye08.dk/&#034;&gt;JBoye08&lt;/a&gt; on the Open Web. See &lt;a href=&#034;http://www.slideshare.net/joewalker/the-case-for-the-open-web&#034;&gt;the rest of the slides at SlideShare&lt;/a&gt;.)&lt;/small&gt;&lt;/p&gt;

        </description>
      
      
    
  </item>
  
  <item rdf:about="http://directwebremoting.org/blog/joe/2008/07/23/defining_the_open_web.html">
    <title>Defining The Open Web</title>
    <link>http://directwebremoting.org/blog/joe/2008/07/23/defining_the_open_web.html</link>
    
      
        <description>
          &lt;p&gt;Brad asked what the &#039;&lt;a href=&#034;http://codinginparadise.org/weblog/2008/07/what-heck-is-open-web.html&#034;&gt;Open Web&lt;/a&gt;&#039; is. &lt;a href=&#034;http://codinginparadise.org/weblog/2008/04/whats-open-web-and-why-is-it-important.html&#034;&gt;Twice&lt;/a&gt;. My mum was always cross if she had to ask 3 times, so here&#039;s my stab.&lt;/p&gt;

&lt;p style=&#034;margin-left:20px;margin-right:20px;&#034;&gt;&lt;strong&gt;The Open Web is the user-remixable technologies that are shipped by the clear majority of major browsers&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So, for example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;XHTML 2.0 is not part of the open web because the browsers didn&#039;t go for it even though the W3C did.&lt;/li&gt;
&lt;li&gt;XMLHttpRequest is part of the open web even though the W3C haven&#039;t gone for it (&lt;a href=&#034;http://www.w3.org/TR/2008/WD-XMLHttpRequest-20080415/&#034;&gt;yet&lt;/a&gt;) because it&#039;s in all the browsers.&lt;/li&gt;
&lt;li&gt;Canvas is part of the open web since it&#039;s in everything except IE these days.&lt;/li&gt;
&lt;li&gt;XUL is not part of the open web and wouldn&#039;t be even if Opera supported it, but if Opera and Safari did, then it would.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some rationale might be needed:&lt;/p&gt;

&lt;h3&gt;&#039;User-Remixable Technologies&#039;&lt;/h3&gt;

&lt;p&gt;One of the key things about the web is how anyone can take part. It&#039;s easy for technologists to dismiss what &#039;normal people&#039; want to do. But cutting and pasting the HTML to embed a YouTube video into your profile is within reach of many people. Maybe not your grandma, but certainly most school leavers.&lt;/p&gt;

&lt;p&gt;Are there any significant parts of current browsers that are not user-remixable? Maybe this is built into the ecosystem enough that it doesn&#039;t need stating?&lt;/p&gt;

&lt;h3&gt;&#039;Shipped&#039;&lt;/h3&gt;

&lt;p&gt;I considered &#039;endorsed/implemented/supported&#039;, but I think the vote comes when it&#039;s included in a download.&lt;/p&gt;

&lt;h3&gt;&#039;Clear Majority&#039;&lt;/h3&gt;

&lt;p&gt;I don&#039;t think we need to be totally unanimous. Indeed requiring unanimity implies a simple lowest common denominator approach. Maybe you could argue for a 75% majority or something. I just went with something simple for now. The implication is that 3 out of the 4 must agree. But that requires me to justify the 4 ...&lt;/p&gt;

&lt;h3&gt;&#039;Major browsers&#039;&lt;/h3&gt;

&lt;p&gt;I&#039;d venture to suggest that today there are 4 major rendering engines &lt;a href=&#034;http://msdn.microsoft.com/en-us/library/aa741317.aspx&#034;&gt;Trident&lt;/a&gt;, &lt;a href=&#034;http://wiki.mozilla.org/Gecko:Home_Page&#034;&gt;Gecko&lt;/a&gt;, &lt;a href=&#034;http://webkit.org/&#034;&gt;WebKit&lt;/a&gt; and &lt;a href=&#034;http://my.opera.com/saito/blog/index.dml/tag/Presto&#034;&gt;Presto/Core 2&lt;/a&gt;. Sorry to Amaya, Lynx and WGet. This isn&#039;t a fixed list - if the Java &lt;a href=&#034;http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/html/HTMLEditorKit.html&#034;&gt;HTMLEditorKit&lt;/a&gt; suddenly becomes useful as a browser and widely used, we should pick our jaws off the floor, and include it in the list.&lt;/p&gt;

&lt;h3&gt;No W3C&lt;/h3&gt;

&lt;p&gt;Some people would like to make the W3C king and have all innovation be standards lead. But I don&#039;t think that history has shown that to be a successful strategy. Some people think the W3C is totally irrelevant, but it is a place where the browser vendors &#039;sit down&#039; together (by which I mean argue over email). I thought about saying &#039;major browsers and the W3C&#039; but in the end left it simply with &#039;major browsers&#039;. Feel free to disagree.&lt;/p&gt;

&lt;h2&gt;Implications&lt;/h2&gt;

&lt;p&gt;If this is right, then it turns out that Flash and Silverlight are not part of the Open Web. I think this is perhaps what many people intuitively feel. I&#039;m not sure that either qualify as user-remixable and they are not shipped with the majority of browsers either.&lt;/p&gt;

&lt;p&gt;I wondered about defining the term based on browser usage: For example: &amp;quot;The open web is the technologies available to 80% of the web using public&amp;quot;. But this is bad because it&#039;s against innovation. The old and dying, but still highly used browsers get to hold the open web back, and it opens up the chance that one browser can get to define what the Open Web is. The whole idea behind &#039;Open&#039; is lack of lock-in. Maybe the Web is defined in this way, but not the Open Web.&lt;/p&gt;

&lt;p&gt;I think this definition builds in many of the concepts of Decentralization, Transparency, Openness that Brad &lt;a href=&#034;http://codinginparadise.org/weblog/2008/04/whats-open-web-and-why-is-it-important.html&#034;&gt;originally argued for&lt;/a&gt;, and stuff that is not explicit is perhaps included by implication.&lt;/p&gt;

&lt;p&gt;There are some interesting implications for &lt;a href=&#034;http://gears.google.com/&#034;&gt;Gears&lt;/a&gt; in this proposal. While the purpose behind Gears is to support the Open Web, it is itself not part of it for the same reason that Flash and Silverlight are not.&lt;/p&gt;

        </description>
      
      
    
  </item>
  
  <item rdf:about="http://directwebremoting.org/blog/joe/2008/07/22/lessons_from_hosting_a_website.html">
    <title>Lessons from Hosting a Website</title>
    <link>http://directwebremoting.org/blog/joe/2008/07/22/lessons_from_hosting_a_website.html</link>
    
      
        <description>
          &lt;p&gt;You might have noticed that the getahead.org domain has been replaced by &lt;a href=&#034;http://directwebremoting.org/dwr/&#034;&gt;directwebremoting.org&lt;/a&gt;. There’s a story behind it ...&lt;/p&gt;

&lt;p style=&#034;float: right; margin:10px;&#034;&gt;&lt;img src=&#034;http://directwebremoting.org/images/server.png&#034; alt=&#034;picture of a server&#034;/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3 years ago when DWR started to be successful, I bought 2 identical servers, built them identically with the latest Debian, and latest Drupal, bought some hosting space for one of the servers and kept the other at home as a backup with a nightly rsync, and thought I was doing a good job of managing a website.&lt;/p&gt;

&lt;p&gt;The first thing to go wrong was Drupal dropping support for several of the modules that we were using: the theme engine, and the wiki module. So we were stuck on an old version of Drupal unless we spent lots of time recreating the themes and updating all the content. Lesson: 3rd party modules are OK but don&#039;t depend on them in a big way.&lt;/p&gt;

&lt;p&gt;We realized we needed to upgrade, but it was a big job and when I &lt;a href=&#034;http://directwebremoting.org/blog/joe/2007/12/11/changes_for_dwr.html&#034;&gt;began talking&lt;/a&gt; to the &lt;a href=&#034;http://dojotoolkit.org/foundation&#034;&gt;Dojo Foundation&lt;/a&gt; about them hosting DWR and talking to &lt;a href=&#034;http://www.sitepen.com/&#034;&gt;SitePen&lt;/a&gt; about me &lt;a href=&#034;http://ajaxian.com/archives/dwr-joins-the-dojo-foundation-joe-walker-joins-sitepen&#034;&gt;working for them&lt;/a&gt;, it seemed sensible to do the upgrade when we moved to Dojo Foundation hardware.&lt;/p&gt;

&lt;p&gt;Then the backup died. Is it just me or does everyone assume that the live server will die first? We hoped that we could get everything onto the new hardware before the live server died.&lt;/p&gt;

&lt;p&gt;The bad news is, but if you buy identical bits of hardware, then there is a good chance that they will have identical failings. That proved to be true in our case and we ended up with a huge rush to get everything moved to new servers, which included a fair bit of downtime. Sorry if it affected you.&lt;/p&gt;

&lt;p&gt;I’m not sure if this is a reason to buy different hardware, where do you stop after all? Do you insist on different copper vendors for the power cable? The lesson is - if you discover a hardware fault in some part of a live site, the same thing is likely to happen to other identical hardware.&lt;/p&gt;

&lt;p&gt;The good news is that the DWR website is now back on new hardware and a new URL. &lt;a href=&#034;http://directwebremoting.org/dwr/&#034;&gt;http://directwebremoting.org/dwr/&lt;/a&gt;. We’ve tried really hard to ensure we’ve got re-directs for all URLs, but please give us a shout if you notice that anything is 404ing.&lt;/p&gt;

        </description>
      
      
    
  </item>
  
  <item rdf:about="http://directwebremoting.org/blog/joe/2008/05/23/useful_feeds.html">
    <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>
      
      
    
  </item>
  
  <item rdf:about="http://directwebremoting.org/blog/joe/2008/05/19/big_question_for_sun.html">
    <title>Big Question for Sun</title>
    <link>http://directwebremoting.org/blog/joe/2008/05/19/big_question_for_sun.html</link>
    
      
        <description>
          &lt;p&gt;It looks from the outside as though every spare resource that Sun has is going into JavaFX. JavaFX may or may not win against Flash/Flex/Air/Silverlight/Android/Ajax, but while Sun is concentrating on FX, it doesn&#039;t appear to be giving the Java language the updates it badly needs.&lt;/p&gt;

&lt;p&gt;Maybe Sun sees Java as &#039;done&#039;. OK, but the Java language has one of the largest developer communities in the world, and they&#039;d like some direction. Where do Sun recommend they go for their server-side development needs in 5 years time?&lt;/p&gt;

&lt;p&gt;Maybe Sun think we should change to JRuby, Scala or Groovy. Maybe there are updates to Java that I don&#039;t know about. If none of the above are the case, the community will eventually disappear into mish-mash of languages that doesn&#039;t have the strength of numbers.&lt;/p&gt;

&lt;p&gt;&lt;small&gt;3:19pm Update: tweaked last paragraph to make the point clearer.&lt;/small&gt;&lt;/p&gt;

        </description>
      
      
    
  </item>
  

</rdf:RDF>
