<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" 
      xmlns:thr="http://purl.org/syndication/thread/1.0">
  <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php" />
  <link rel="self" type="application/atom+xml" href="http://www.readwriteweb.com/atom.xml" />
  <id>tag:,2008:/1/tag:72.47.210.69,2007://1.2745-</id>
  <updated>2008-05-09T18:12:01Z</updated>
  <title>Comments for How JavaScript is Slowing Down the Web (And What To Do About It)</title>
  
  <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.1</generator>
  <entry>
    <id>tag:72.47.210.69,2007://1.2745</id>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.readwriteweb.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=1/entry_id=2745" title="How JavaScript is Slowing Down the Web (And What To Do About It)" />
    <published>2007-08-15T08:18:11Z</published>
    <updated>2007-12-16T23:07:50Z</updated>
    <title>How JavaScript is Slowing Down the Web (And What To Do About It)</title>
    <summary> A single line of JavaScript is what powers a lot of blogging technologies these days. Widgets, sharing tools, visitors tracking, advertisers. In many cases a single line of JavaScript is all that a blogger needs to add a new technology to their blog. The problem is what happens when a lot of these single...</summary>
    <author>
      <name>Alex Iskold</name>
      <uri>http://www.adaptiveblue.com</uri>
    </author>
    
    <category term="Analysis" />
    
    <content type="html" xml:lang="en" xml:base="http://www.readwriteweb.com/">
      <![CDATA[<p><img src="http://www.readwriteweb.com/images/javascript_aug07/p0.jpg" vspace="5" hspace="5" align="left" /> 
A single line of JavaScript is what powers a lot of blogging technologies these days. Widgets, sharing tools,
visitors tracking, advertisers. In many cases a single line of JavaScript is all that a blogger needs to
add a new technology to their blog. The problem is what happens when a lot of these single lines of JavaScript come together...</p>
<p>
There is a well-known phenomenon in physics called <em>non-linearity</em>: When a lot of different things interact with each other, the outcome is hard
to predict. Software is no different - when you put together a lot of components, you just do not know what you are going to get.
This is because each component acts as if it is standalone, but they are literally fighting for real estate space and people's attention. The truth is that this war is
hurting everyone - the readers, the bloggers and the services. Everyone is frustrated. </p>
<p>In this post
  we'll take a look at what is causing pages to hang from too many single lines of javascript; and what can be done about it.</p>]]>
      <![CDATA[<h2>Bloggers - the Unsuspecting Victims</h2>
<p>Widgets are the new black and microchunking content is here to stay. Bloggers love showcasing
their personality and favorite content on their blogs. This is why people rush to install new widgets like
del.icio.us, Flickr, Twitter, AddThis, Sphere - because they are useful and there is a lot of demand for them.
</p>
<p><img src="http://www.readwriteweb.com/images/javascript_aug07/p1.png" /></p>

<p>Widgets are fairly easy to install if you are familiar with HTML and your blogging platform.
All you need to do is paste the HTML for the widget where you would
like it to appear. Sometimes you need to insert code into the head of the HTML document, but it is not
that difficult. So with a bit of technical understanding, you can do it or use a platform
like <a href="http://www.readwriteweb.com/archives/the_evolution_of_web_widgets.php">Widgetbox</a> to install it automatically.</p>
<p>It's simple enough that people are installing more and more widgets onto their blogs; and that's where things
have started to get hairy - as it may result in blogs taking a long time to load.</p>
<h2>Not All Widgets are Implemented Equal</h2>
<p>There are two major technologies for implementing widgets today: Flash and JavaScript.
Flash widgets have their own issues; from being heavy, to being unresizable, to being unable to
manipulate the DOM. However, typically it's not Flash widgets that are causing problems, it is the JavaScript ones.</p>
<p>The irony of this is that JavaScript was envisioned and designed to be  a lightweight language
to support minimum interactivity and quick manipulations of HTML documents, on the client site. But because
of the twisted paths that our technology trails have taken us, JavaScript evolved to be <em>the</em> programming
language for the web. From Ajax to Widgets, JavaScript is being used in a lot of cutting edge projects these days.
But the truth is, JavaScript has its issues. Let's explore those...</p>
<h2>How Browsers Handle JavaScript</h2>
<p>Perhaps the most shocking reverlation to any experienced technologist is that
JavaScript is a single threaded language. What this means is that it performs things sequentially
and not concurrently (with the exception of Ajax calls). Anytime a piece of JavaScript is being loaded or
evaluated, everything else has to wait. 
</p>
<p><img src="http://www.readwriteweb.com/images/javascript_aug07/p2.jpg" /></p>
<p>This means that a single slow JavaScript add-on can slow down the loading of an entire blog.
And that is exactly what is happening all over the blogosphere. So what is the solution?</p>
<h2>Can JavaScript Widgets be Better and Faster?</h2>
<p>Unfortunately there is no silver bullet for this problem. That is there is no single trick
or technique that will resolve the problem. While there is a combination of things that companies
can do to moderate the impact of being put together with other widgets, ultimately - given enough of a mix
- problems are bound to happen. While as an industry we ponder on what can be done, here are some things that
JavaScript providers should consider:</p>
<p>
<strong>1. Defer the execution of the JavaScript</strong>
</p>
<p>One of the frequent problems is that all JavaScript wants to run at once,
but it really can't. If the script does not need to modify the page as it loads,
the execution of the script <a href="http://www.websiteoptimization.com/speed/tweak/defer/">should be deferred until after the load</a>.
This way, the content of the page will come up fist. Unfortunately, not all browsers respect this directive to defer.
</p>
<p><strong>2. Minimize the amount of code that runs on load</strong></p>
<p>Anything that runs on a page load, slows down the load. The less code there is to run the better.
Another related issue is traversing the entire page looking for something. This is a major 'no-no', since
it will  cause the<em>Unresponsive Script</em> popup. In general, any JavaScript that runs over
a few seconds (typically 5) will cause a problem. Splitting the long execution by <a href="http://www.w3schools.com/js/js_timing.asp">using timeouts</a>
is the right (although painful) way to go.</p>
<p><strong>3. Load-balance requests by generating different URLs</strong></p>
<p>Most scripts these days give you back the same URL, for example: www.mycoolwidget.com. This is
not easy to scale. As the widget becomes more wide-spread, the amount of concurrent requests going
through the same server will be quite large. A better approach is to give out different URLs, like this:
<em>server1.mycoolwidget.com</em>, <em>server2.mycoolwidget.com</em>, etc. Even though for now they can be
pointing to the same domain, in the future there will be an option to split the traffic.</p>
<p><strong>4. Use Standard Libraries</strong></p>
<p>Probably the worst thing is to reinvent the wheel, since JavaScript is so easy to get wrong.
Unlike Java there is no set of standard libraries, but some like <a href="http://www.prototypejs.org/">prototype</a>
have effectively become a standard. The libraries are written by experienced people who know and understand
the pitfalls of the system, so it is a good idea to reuse their code.
</p>
<p><strong>5. Most Importantly - Think About it</strong></p>
<p>Being aware that there are other pieces of JavaScript that will run on end user's sites,
is the most important thing. By wearing the &quot;I am part of a bigger system&quot; hat, developers
will minimize the likelihood of undermining another widget, as well as ensuring an all-round smoother user experience.</p>
<h3>Where Do We Go From Here?</h3>
<p>While being a good Javascript citizen is encouraged, there is still only so much that developers can do.
You simply cannot know how and where your widget is going to be used. What other things will be installed?
Without this information, tuning the script is difficult. And the impact is on bloggers and blog readers.
So what do we do?
</p>
<p>If we look at the Java community, this problem has actually been solved many times over. Applets, Servlets
and even scary-sounding Enterprise Java Beans are not really different from widgets conceptually.
The big difference is that they all are managed by containers.</p>
<p>A container is a hosting environment that
provides delivery infrastructure and communication interfaces. It handles loading, unloading, callbacks,
clicks, messages and all the good things that we engineers love and non-technical people dread to hear about.
In short, we need a container for JavaScript - because a container is what brings  order to the component chaos.</p>
<h3>Conclusion</h3>
<p>While widgets and JavaScript tools are very cool and very useful, there is no good infrastructure
to make them work well today. The initial symptoms of blogs being slow to load, that are visible today,
are only going to get worse as more widgets and bits of JavaScript hit the blogosphere. It is not reasonable
to ask bloggers to understand the complexity, interdependencies and problems that can be caused by
combining widgets.</p>
<p>We need automated and standard ways of delivering these widgets. Ideally we should look at how this
has already been done before in the industry. The Java community was a huge success and leveraging the experiences
that it had could be of great value to the widget startups.</p>
<p>As always, please let us know what you think. If you are a widget developer, we would love to hear
the ways that you optimize your code to be more environment friendly and quick.</p>]]>
    </content>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22266</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22266" />
    <title>Comment from Lenny on 2007-08-15</title>
    <author>
        <name>Lenny</name>
        <uri>http://www.polldaddy.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.polldaddy.com">
        <![CDATA[<p>Hi Alex,</p>

<p>I would say that most javascript widgets don't actually do an awful lot of work in terms of processing. 9 times out of 10 the lag you are talking about is the actual delay in requesting the JS file from the widget server.</p>

<p>At PollDaddy we were serving up 15 million widgets per month 6 months ago and our server was on fire most days. We solved this problem in part by pushing our widgets out to Amazon S3 so now the bulk of our widget serving is handled my a much more robust infrastructure than our own.</p>

<p>Most javascript widgets are just containers for a HTML string which is rendered out on the page. If you are going to be serving up that many widgets you really need to look at getting them hosted somewhere that can handle those volumes of traffic.</p>

<p>Lenny.</p>]]>
    </content>
    <published>2007-08-15T08:56:36Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22267</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22267" />
    <title>Comment from paerang on 2007-08-15</title>
    <author>
        <name>paerang</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>great post!<br />
i'm also considering widgets with javascript as AIS contents.</p>]]>
    </content>
    <published>2007-08-15T09:21:32Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22268</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22268" />
    <title>Comment from Dan on 2007-08-15</title>
    <author>
        <name>Dan</name>
        <uri>http://pacificpelican.us</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://pacificpelican.us">
        <![CDATA[<p>Those JavaScript widgets really are a big issue.  When Twitter is kind of down (often) my Flash widgets just look stupid but on the pages that use the JavaScript widget it must get past that three second point you mentioned and then...of course...it just hangs and the rest of the page won't load.</p>]]>
    </content>
    <published>2007-08-15T10:16:30Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22269</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22269" />
    <title>Comment from Darren on 2007-08-15</title>
    <author>
        <name>Darren</name>
        <uri>http://darrenstuart.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://darrenstuart.com">
        <![CDATA[<p>I second the use of Amazon s3 for broadcasting your javascript. Its easy to setup s3 to look like a remote server also.</p>]]>
    </content>
    <published>2007-08-15T11:25:22Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22270</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22270" />
    <title>Comment from reed on 2007-08-15</title>
    <author>
        <name>reed</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>PollDaddy has solved _their_ problem by shoving the Javascript under their carpet. They leave the blog reader/client in same situation. Every single link is a latency and Javascript on the client does not improve user experience from page delivery speed point of view. The problem with Javascript interactions on client remains. <br />
Additional issue seems to be all the measuring and tracking done by third-party sites (and their Javascript). Every one is a latency to make the connection and extract metrics. Too many blogs are becoming a mashup under a different name.</p>]]>
    </content>
    <published>2007-08-15T11:43:46Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22271</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22271" />
    <title>Comment from widgetry on 2007-08-15</title>
    <author>
        <name>widgetry</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>Use Iframe to display the javascript of the widget. In other words create an HTML page containing just the widget tag, and in the page you want the widget displayed you include an iframe tag pointing to the HTML page with the widget code. </p>

<p>This method solves two problems:</p>

<p>- the javascript code of the widget (3rdparty) does not slow dow the display of your page. The slowness is limited to just the iframe. If their server goes down or is unreachable, is just the iframe that is not loading - and not your blog content.</p>

<p>= the widget publisher does not have access to your page content. JavaScript does not restrict cross domain scripting - so if you place a script src on your tag pointing to a 3rd party, that third party can see the referrer of your page, collect any data the user types, and who knows what.</p>

<p>The iframe solution has been used by advertising companies and more respected publishers since Microsoft first introduced it. It works pretty good.</p>]]>
    </content>
    <published>2007-08-15T13:22:04Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22272</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22272" />
    <title>Comment from Lenny on 2007-08-15</title>
    <author>
        <name>Lenny</name>
        <uri>http://www.polldaddy.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.polldaddy.com">
        <![CDATA[<p>Hi Reed,</p>

<p>I cant see why you would think we have "shoved it under the carpet". There is going to be a latency associated with any content you place on a web page. Its about making that latency as small as possible. Widgets are a great way to enhance the functionality of any site providing they are delivered quickly. The alternative of not using widgets means that site owners would have to build all this functionality themselves or depend on wordpress or somebody else to build it for their platform which is not feasible.</p>

<p>If you want your site to load as quick as it possible can then don't put any content on it. (joke)</p>

<p>Lenny.</p>]]>
    </content>
    <published>2007-08-15T13:28:25Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22273</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22273" />
    <title>Comment from boob on 2007-08-15</title>
    <author>
        <name>boob</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>Why not just stop using bloated widgets?</p>]]>
    </content>
    <published>2007-08-15T13:48:37Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22274</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22274" />
    <title>Comment from awflasher on 2007-08-15</title>
    <author>
        <name>awflasher</name>
        <uri>http://www.awflasher.com/blog/</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.awflasher.com/blog/">
        <![CDATA[<p>very interesting post :) useful !</p>]]>
    </content>
    <published>2007-08-15T14:03:10Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22275</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22275" />
    <title>Comment from kiluahtech on 2007-08-15</title>
    <author>
        <name>kiluahtech</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>Are there any other alternatives beside Javascript? ^_^</p>]]>
    </content>
    <published>2007-08-15T15:00:05Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22276</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22276" />
    <title>Comment from beth on 2007-08-15</title>
    <author>
        <name>beth</name>
        <uri>http://resistmedia.net/blog/news</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://resistmedia.net/blog/news">
        <![CDATA[<p>I don't think javascript has to completely go, but yeah people get waaaaaay too widget happy. What also makes me crazy are those page refresh scripts places like HuffPost uses. Isn't the point of AJAX to be unintrusive? I don't know whether this is because they think people need up to the second breaking news or some way to beef up their page views, but it's extra annoying when you use their quick-read lighbox feature and the next thing you know, the whole page is refreshed and your place is gone.</p>]]>
    </content>
    <published>2007-08-15T15:15:06Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22277</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22277" />
    <title>Comment from Isofarro on 2007-08-15</title>
    <author>
        <name>Isofarro</name>
        <uri>http://www.scripttags.com/</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.scripttags.com/">
        <![CDATA[<p>The biggest problem of widgets is the use of document.write, and the necessessity for its scripts to run while the page loads.</p>

<p>Widgets don't have to be there when the page loads up. There's nothing wrong with delaying their loading until the DOM is ready, or even later when the onload event has been fired.</p>

<p>All that's needed is properly written widgets, written with unobtrusive JavaScript, and a small script on the page that queues up each widget to load and run after the required event has fired.</p>

<p>The initialisation script just needs the URL of the external javascript file that contains the code for the widget, and a configuration object that the widget uses on initialisation.<br />
That configuration object just contains the div or other container where the widget can be placed.</p>

<p>The performance problems about heavy JavaScript/talking to third party servers while the document is still loading up is well known. TechCrunch has had multiple problems with widgets on its pages, and a few years ago Scoble dropped the whole "number of comments" functionality from his comment link because it basically stopped his page loading. Every comment link generated its own HTTP request - and multiple HTTP requests is an absolute no-no for high performance pages.</p>]]>
    </content>
    <published>2007-08-15T15:18:16Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22278</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22278" />
    <title>Comment from Andrew on 2007-08-15</title>
    <author>
        <name>Andrew</name>
        <uri>http://changingway.org</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://changingway.org">
        <![CDATA[<p>Widget developers should also bear in mind that there are some sites that don't allow js, for secutity reasons. One example is WordPress.com. So it helps if, where possible, developers provide hmtl-only alternatives to their js.</p>]]>
    </content>
    <published>2007-08-15T15:21:08Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22279</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22279" />
    <title>Comment from Jitendra on 2007-08-15</title>
    <author>
        <name>Jitendra</name>
        <uri>http://www.sezwho.com/blog</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.sezwho.com/blog">
        <![CDATA[<p>Great Post Alex...The idea of using a multiple servers is a good one...and so it the idea of having something similar to a JVM (javascript virtual machine) to restore some order...</p>

<p>The main issue though is Microsoft's deliberate negligence of the evolution of browser as a computing platform...If MS was not so keen on getting everybody to use the closed .net system and worked on improving the browser as a platform, there would no reason a lot of the technical issues you pointed out won't be addressed.</p>]]>
    </content>
    <published>2007-08-15T15:40:52Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22280</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22280" />
    <title>Comment from Rick on 2007-08-15</title>
    <author>
        <name>Rick</name>
        <uri>http://feedusblog.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://feedusblog.com">
        <![CDATA[<p>We've replaced our javascript widget, on Feed.Us, with a "local" script.  It works similarly to a javascript but calls info from a file that is hosted locally.</p>

<p>This allows the widget to run on the server side, not browser side.  </p>

<p>Works nice.</p>]]>
    </content>
    <published>2007-08-15T15:47:23Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22281</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22281" />
    <title>Comment from Owen on 2007-08-15</title>
    <author>
        <name>Owen</name>
        <uri>http://www.u-g-h.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.u-g-h.com">
        <![CDATA[<p>*grin* .. Quite ironic that while reading your post I got blocked from scrolling downwards as your MyBlogLog widget loaded.</p>

<p>Seriously, great post. Most website owners/bloggers tend to load their websites with way too much "flair", most of which just cuase dissonance on the page. </p>

<p>Don't agree with your third point above though; most larger widget providers will implement an internal load balancing solution and this is preferable to giving users static server names that may or may not be available at any particular moment in time.</p>]]>
    </content>
    <published>2007-08-15T15:55:35Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22282</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22282" />
    <title>Comment from Alex Iskold on 2007-08-15</title>
    <author>
        <name>Alex Iskold</name>
        <uri>http://www.adaptiveblue.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.adaptiveblue.com">
        <![CDATA[<p>@owen. The idea is that you can then load-balance each of these.</p>

<p>Alex</p>]]>
    </content>
    <published>2007-08-15T15:59:17Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22283</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22283" />
    <title>Comment from Joey Admin on 2007-08-15</title>
    <author>
        <name>Joey Admin</name>
        <uri>http://www.asktheadmin.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.asktheadmin.com">
        <![CDATA[<p>@Isofarro - You are so on point. Why cant all the java on a page after the content comes in - as to not  stare @ a blank page??</p>

<p>Thanks from <a href="http://www.askTheAdmin.com" rel="nofollow"><a href="http://www.askTheAdmin.com" rel="nofollow">http://www.askTheAdmin.com</a></a></p>]]>
    </content>
    <published>2007-08-15T16:12:28Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22284</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22284" />
    <title>Comment from Ryan Wagner on 2007-08-15</title>
    <author>
        <name>Ryan Wagner</name>
        <uri>http://cybernetnews.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://cybernetnews.com">
        <![CDATA[<p>And people should be using the jquery library instead of stuff like prototype. It is less than half the size.</p>]]>
    </content>
    <published>2007-08-15T16:17:28Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22285</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22285" />
    <title>Comment from Ted Goas on 2007-08-15</title>
    <author>
        <name>Ted Goas</name>
        <uri>http://www.tedgoas.com/</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.tedgoas.com/">
        <![CDATA[<p>What about concentrating on content and keeping widgets to a minimum? I realize blogs are all about personalization (add-ons), but where does each user draw the line?</p>

<p>Less widgets = less javascript line fighting each other. my opinion anyway, I'm sure many bloggers don't necessarily agree.</p>]]>
    </content>
    <published>2007-08-15T16:49:16Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22286</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22286" />
    <title>Comment from epc on 2007-08-15</title>
    <author>
        <name>epc</name>
        <uri>http://epcostello.net/</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://epcostello.net/">
        <![CDATA[<p>I disagree a bit with your 3rd point.  Differentiating URLs only has value if you're serving up different JavaScript for each widget.  Most widgets use a common core JavaScript and a second JavaScript file or other format file to customize the look and information in the widget.  In this scenario you want as many files coming from the same URL so that the common files are cached.  With the various load balancers available today there is no reason to differentiate by URL.</p>

<p>Using different URLs might also impact your ability to use Ajax/XHR.</p>]]>
    </content>
    <published>2007-08-15T17:08:20Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22287</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22287" />
    <title>Comment from Owen on 2007-08-15</title>
    <author>
        <name>Owen</name>
        <uri>http://www.u-g-h.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.u-g-h.com">
        <![CDATA[<p>@alex: point taken, though it seems a bit redunant, even roundrobin DNS can supply something more elegant than different URL's per user, but I suppose it's a design choice. </p>

<p>I've taken you post a bit further (coining the term JIL: Javascript-Induced Lag) on my blog: <a href="http://www.u-g-h.com/index.php/2007/08/15/how-javascript-can-hinder-rather-than-help/" rel="nofollow"><a href="http://www.u-g-h.com/index.php/2007/08/15/how-javascript-can-hinder-rather-than-help/" rel="nofollow">http://www.u-g-h.com/index.php/2007/08/15/how-javascript-can-hinder-rather-than-help/</a></a></p>

<p>Hope you don't mind my using your post for inspiration.</p>]]>
    </content>
    <published>2007-08-15T17:22:05Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22288</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22288" />
    <title>Comment from JeffreyD on 2007-08-15</title>
    <author>
        <name>JeffreyD</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>Thanks for this. Very well written and useful. I don't have much to add other than my thanks.</p>]]>
    </content>
    <published>2007-08-15T17:25:22Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22289</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22289" />
    <title>Comment from Alex Grogan on 2007-08-15</title>
    <author>
        <name>Alex Grogan</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>That's funny - that's funny</p>

<p>This page took 16.57s to load</p>]]>
    </content>
    <published>2007-08-15T17:40:27Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22290</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22290" />
    <title>Comment from Photoshop Tutorials on 2007-08-15</title>
    <author>
        <name>Photoshop Tutorials</name>
        <uri>http://www.tutorialsgarden.com/</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.tutorialsgarden.com/">
        <![CDATA[<p>I totally agree, JavaScript made websites hell slow. You have discussed a very important point that JavaScript is a single threaded language.</p>]]>
    </content>
    <published>2007-08-15T18:54:01Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22291</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22291" />
    <title>Comment from l.m.orchard on 2007-08-15</title>
    <author>
        <name>l.m.orchard</name>
        <uri>http://decafbad.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://decafbad.com">
        <![CDATA[<p>I agree with pretty much everything in this article except for one thing:</p>

<p>"Use Standard Libraries."</p>

<p>In isolation, I agree 100% with that statement.  When developing a site that's going to have lots of JavaScript, you should pick one of the leading modern JS libraries.  I like YUI.  Others like jQuery, prototype, mochikit, and Dojo are good too.  Pick one, work with it, but don't mix and match.</p>

<p>The problem is that your talking about third-party widget development.  That is, bits of JS intended for inclusion in others' pages, on others' sites.  And the problem is that the including site has probably already picked a standard JS library to work with.  And, most likely, it's different than the one you like.  </p>

<p>Unfortunately, many of these libraries don't play nice with each other when mixed on the same page - not to mention that they tend to weigh in at between 20-120k to download.  So, you've already got the weight of the host page, but then as a widget developer you want to haul in all your own favorite wheel-reinventions as well?</p>

<p>What I really think this calls for is a smaller, portable JS lib devoted to the concerns of widgets.  If that's possible, anyway.  Make it polite, unobtrusive, and very very tiny.  Limit it to just the things a widget would tend to want to do.</p>]]>
    </content>
    <published>2007-08-15T19:16:15Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22292</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22292" />
    <title>Comment from valleyblogzine on 2007-08-15</title>
    <author>
        <name>valleyblogzine</name>
        <uri>http://valleyblogzine.blogspot.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://valleyblogzine.blogspot.com">
        <![CDATA[<p>Excellent post. Some other exciting tools in this domain are yslow from Yahoo! This provides you a performance score for your site. The readwrite web site could use some improvements based on the reccommendations provided.<br />
<a href="http://developer.yahoo.com/yslow/" rel="nofollow"><a href="http://developer.yahoo.com/yslow/" rel="nofollow">http://developer.yahoo.com/yslow/</a></a></p>]]>
    </content>
    <published>2007-08-15T19:17:33Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22293</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22293" />
    <title>Comment from webcosmo.com on 2007-08-15</title>
    <author>
        <name>webcosmo.com</name>
        <uri>http://www.webcosmo.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.webcosmo.com">
        <![CDATA[<p>Its not time yet to get rid of the JavaScript. Its even being more popular with the wider use of the AJAX technology.</p>]]>
    </content>
    <published>2007-08-15T19:46:55Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22294</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22294" />
    <title>Comment from Stan James on 2007-08-15</title>
    <author>
        <name>Stan James</name>
        <uri>http://wanderingstan.com/</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://wanderingstan.com/">
        <![CDATA[<p>Great post, and something we often wrestle with here at Lijit. </p>

<p>Other commenters have said that people should just "stop using so many widgets."  That reminds me of the 90's when people were complaining about all those unnecessary and slow-loading images that people seemed to like.  </p>

<p>Bottom line is that distributed content serving is here to stay and we need to figure out a way to solve it.  People love this stuff, so there's a huge potential for those who can make it work.</p>]]>
    </content>
    <published>2007-08-15T19:58:32Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22295</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22295" />
    <title>Comment from Mikael Bergkvist on 2007-08-15</title>
    <author>
        <name>Mikael Bergkvist</name>
        <uri>http://www.widgetplus.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.widgetplus.com">
        <![CDATA[<p>Want a quick loading of BIG widgets - you can't beat this then. <br />
<a href="http://www.widgetplus.com/testbed.htm" rel="nofollow"><a href="http://www.widgetplus.com/testbed.htm" rel="nofollow">http://www.widgetplus.com/testbed.htm</a></a></p>]]>
    </content>
    <published>2007-08-15T20:19:51Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22296</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22296" />
    <title>Comment from Yasser on 2007-08-15</title>
    <author>
        <name>Yasser</name>
        <uri>http://yasser.hastalent.net</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://yasser.hastalent.net">
        <![CDATA[<p>I dont agree on that it is "slowing down the web" it actually makes it faster, it makes your browser slower, different story. If people would implement JavaScript in a smarter way, all you need is a bit of code and use the rest only when something happens. Third party JavaScript is the issue, like mentioned before. If you can use JavaScript properly then there shouldn't be an issue.</p>]]>
    </content>
    <published>2007-08-15T22:17:13Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22297</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22297" />
    <title>Comment from Justin on 2007-08-15</title>
    <author>
        <name>Justin</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>RE: 3. Load-balance requests by generating different URLs<br />
Sorry, this is totally ridiculous. Do you think everything from www.google.com comes from one server? Using different URLs is a pretty clunky way to load balance. There are numerous other ways to load balance that aren't apparent to your users.</p>

<p>RE: 4. Use Standard Libraries<br />
It'd be even nicer if lots of developers used standard libraries hosted in a standard location. Say you want to use prototype. It'd be cool if everyone loaded it from one location, then it'd be cached in everyone's browser all the time. I think this has been suggested before. Maybe Firefox could even come with Prototype and Dojo (and maybe some others) pre-loaded (and automatically updated). Then you wouldn't need to download all that standard code every time.</p>]]>
    </content>
    <published>2007-08-15T22:34:00Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22298</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22298" />
    <title>Comment from mario on 2007-08-15</title>
    <author>
        <name>mario</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>There is no container for JavaScript...  The HTML page it's in would be a wrapper not necessarily a container.  Agree/disagree?</p>]]>
    </content>
    <published>2007-08-15T23:00:44Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22299</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22299" />
    <title>Comment from Falcon on 2007-08-15</title>
    <author>
        <name>Falcon</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>Thx for bringing up this important issue. I'm using digg.com a lot and loading of pages last about 1 min sometimes, if the page got many comments. It's exactly the problem you describe here. I guess Firefox, my browser of choice, does not defer the execution of the JavaScript. Because if you use Opera instead you got no problems with Javascript at all. So I would say, its both, a webpage coding and a browser issue. Something must change, that can't be the right direction to go.  I've heard that next FF engine should handle this better. So let's see what future brings.</p>]]>
    </content>
    <published>2007-08-15T23:01:26Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22300</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22300" />
    <title>Comment from Richard Davies on 2007-08-15</title>
    <author>
        <name>Richard Davies</name>
        <uri>http://www.richarddavies.us</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.richarddavies.us">
        <![CDATA[<p>Actually, even AJAX calls are single threaded...<br />
<a href="http://www.javascriptkata.com/2007/06/12/ajax-javascript-and-threads-the-final-truth/" rel="nofollow"><a href="http://www.javascriptkata.com/2007/06/12/ajax-javascript-and-threads-the-final-truth/" rel="nofollow">http://www.javascriptkata.com/2007/06/12/ajax-javascript-and-threads-the-final-truth/</a></a></p>]]>
    </content>
    <published>2007-08-15T23:30:42Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22301</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22301" />
    <title>Comment from Alex Iskold on 2007-08-15</title>
    <author>
        <name>Alex Iskold</name>
        <uri>http://www.adaptiveblue.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.adaptiveblue.com">
        <![CDATA[<p>Richard,</p>

<p>Ajax call is asynchronous. That is while the server is working, the browser JavaScript continues to run.</p>

<p>Alex</p>]]>
    </content>
    <published>2007-08-15T23:37:29Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22302</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22302" />
    <title>Comment from Marco Gomes on 2007-08-15</title>
    <author>
        <name>Marco Gomes</name>
        <uri>http://boo-box.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://boo-box.com">
        <![CDATA[<p>boo!</p>

<p>The boo-box-bot JavaScript only runs after ALL elements of the page are loaded (except Flash), with this we don't slow down the page-load time and the user can get all the content before the boo-box run.</p>

<p>Sorry for bad english.</p>

<p>from Brazil, Marco Gomes<br />
CTO of the boo-box team<br />
<a href="http://boo-box.com" rel="nofollow"><a href="http://boo-box.com" rel="nofollow">http://boo-box.com</a></a></p>]]>
    </content>
    <published>2007-08-16T00:00:21Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22303</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22303" />
    <title>Comment from Glynn Foster on 2007-08-15</title>
    <author>
        <name>Glynn Foster</name>
        <uri>http://www.gnome.org/~gman/</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.gnome.org/~gman/">
        <![CDATA[<p>I wonder how much of the issues are caused by not easily being able to debug your Java Script? The DTrace guys have turned this around - <a href="http://blogs.sun.com/brendan/entry/javascript_provider_ver_2_0" rel="nofollow"><a href="http://blogs.sun.com/brendan/entry/javascript_provider_ver_2_0" rel="nofollow">http://blogs.sun.com/brendan/entry/javascript_provider_ver_2_0</a></a><br />
and *well* worth checking out. Being able to debug right down from page request to the kernel and back again brings massive benefits.</p>]]>
    </content>
    <published>2007-08-16T00:35:41Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22304</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22304" />
    <title>Comment from Tom Farrell on 2007-08-15</title>
    <author>
        <name>Tom Farrell</name>
        <uri>http://www.youtube.com/clearmethods</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.youtube.com/clearmethods">
        <![CDATA[<p>I've written some fairly large javascript libraries over the years. I've come to believe that if you think of Javascript as being for "widgets", you're ignoring its real power. Javascript facilitates improved interaction between user, browser, and server. It can also enable a faster, more powerful application development cycle. </p>

<p>Recently I've written a lot of Javascript that is included in the Water programming language. This facilitates nearly instant AJAX programming thought Water, as shown here:<br />
<a href="http://www.youtube.com/clearmethods" rel="nofollow"><a href="http://www.youtube.com/clearmethods" rel="nofollow">http://www.youtube.com/clearmethods</a></a><br />
The libraries are not small. However, pages still load fairly quickly, as you'll see in the videos. Contemporary systems and browsers evaluate even fairly large Javascript libraries quite quickly, unless there's a delay getting them from the server, in which case Javascript isn't really to blame. </p>

<p>Further, by using complex Javascript to facilitate easy AJAX programming, we've found that you can actually speed up the user experience by only refreshing such parts of the page as have actually changed. I strongly believe that the small up front hit of loading some additional Javascript to handle the AJAX transactionality is more than made up for by the time savings later of only having to wait for the server to generate tiny snippets of page instead of whole pages.</p>]]>
    </content>
    <published>2007-08-16T01:32:56Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22305</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22305" />
    <title>Comment from Bhasker V Kode on 2007-08-15</title>
    <author>
        <name>Bhasker V Kode</name>
        <uri>http://bosky101.blogspot.com.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://bosky101.blogspot.com.com">
        <![CDATA[<p>Dear Mr. Richard MacManus,</p>

<p>Let's face it . The web as we know it , can no longer neglect that the data we consume is truly fragmented.</p>

<p>I don't think that's a very bad thing at all, and i don't think we have anything to worry about . For a post right here in all its rich goodness has 26 script tags from as many different locations, i dont think it's doing too bad at all!</p>

<p>That said, there is no reason why developers should'nt look at optimization of the widgets and API's that they roll out. But you just cant stop the  fragmenting of data, and people from consuming it.</p>

<p>Keep Clicking,<br />
Bhasker V Kode</p>]]>
    </content>
    <published>2007-08-16T04:47:19Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22306</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22306" />
    <title>Comment from BarZoom on 2007-08-15</title>
    <author>
        <name>BarZoom</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>Maybe part of the slowdown is caused by the 342 cookies that are ass-pounded into browsers every time some idiot creates another useless blog-clog?</p>]]>
    </content>
    <published>2007-08-16T04:54:21Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22307</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22307" />
    <title>Comment from Auron on 2007-08-15</title>
    <author>
        <name>Auron</name>
        <uri>http://www.auronprophecy.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.auronprophecy.com">
        <![CDATA[<p>The pros of javascript far outweigh any of its negative attributes. Lets face the facts, we n-e-e-d javascript because there is no other current language that could replace its functionality range and browswer support.</p>

<p>Second, javascript is just like every other design element on a web page.. too much of a good thing is going to cause problems. We should elimate the abuse of javascript (bloggers with 7 and 8 external widgets i'm looking at you)... not completely divorse the web from the wonderful mate that is javascript.</p>

<p>Good article overall, thanks.</p>]]>
    </content>
    <published>2007-08-16T04:55:12Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22308</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22308" />
    <title>Comment from Ashwin on 2007-08-15</title>
    <author>
        <name>Ashwin</name>
        <uri>http://www.buxfer.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.buxfer.com">
        <![CDATA[<p>Oh, please please listen to what the first commenter (Lenny) has to say. You want to take the widget javascript loading _out_ of the critical path of the browser. There's a very simple solution to this. Just insert the  tag into the document after a small delay when the page is loading. setTimeout (function () { document.write (...) }, 100); </p>

<p>That way the blog content loads without waiting for all the stupid javascript files to arrive.</p>]]>
    </content>
    <published>2007-08-16T05:12:27Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22309</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22309" />
    <title>Comment from Tommy on 2007-08-15</title>
    <author>
        <name>Tommy</name>
        <uri>http://code.google.com/apis/gears/api_workerpool.html</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://code.google.com/apis/gears/api_workerpool.html">
        <![CDATA[<p>Google Gears adds some true multi-threaded features to javascipt besides the primary offline capabilities. <a href="http://code.google.com/apis/gears/api_workerpool.html" rel="nofollow"><a href="http://code.google.com/apis/gears/api_workerpool.html" rel="nofollow">http://code.google.com/apis/gears/api_workerpool.html</a></a></p>]]>
    </content>
    <published>2007-08-16T05:47:50Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22310</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22310" />
    <title>Comment from Alex Iskold on 2007-08-15</title>
    <author>
        <name>Alex Iskold</name>
        <uri>http://www.adaptiveblue.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.adaptiveblue.com">
        <![CDATA[<p>@44 This simulates threads via setTimeout? How can it ensure that a particular worked does not starve the rest?</p>

<p>Alex</p>]]>
    </content>
    <published>2007-08-16T06:07:14Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22311</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22311" />
    <title>Comment from Mandelbrot on 2007-08-15</title>
    <author>
        <name>Mandelbrot</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>What's with the funky figure?</p>]]>
    </content>
    <published>2007-08-16T06:13:22Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22312</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22312" />
    <title>Comment from Keith on 2007-08-16</title>
    <author>
        <name>Keith</name>
        <uri>http://www.neohide.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.neohide.com">
        <![CDATA[<p>I agree with Mandelbrot (#46), some figures or statistics would be great. Theoretically, Javascript does have some constrains, but it will be interesting to know how much impact these scripts have on the server and the loads.</p>]]>
    </content>
    <published>2007-08-16T09:25:30Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22313</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22313" />
    <title>Comment from Aleksis Brezas on 2007-08-16</title>
    <author>
        <name>Aleksis Brezas</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>Javascript with Virtual Machine doesn't really sound good to me.</p>

<p>Ok, JVM allows Java to be so portable but..</p>

<p>I thought that JVM is what's causing Java to be so slow (even 10 times slower than C++). Why does everyone prefer JS with VM over JS as it is now?</p>

<p>And I don't really see a chaos in Javascript. I think that's because of the general underestimating of JS. </p>

<p>OK, with several widgets on a blog, it may start being slow.</p>

<p>But I think that widget creators and blogging systems have to change, and not the language they are using.</p>]]>
    </content>
    <published>2007-08-16T17:33:26Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22314</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22314" />
    <title>Comment from Marc on 2007-08-16</title>
    <author>
        <name>Marc</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>I found 26 instances of javascript on this page!</p>]]>
    </content>
    <published>2007-08-16T20:41:58Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22315</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22315" />
    <title>Comment from Richard MacManus on 2007-08-16</title>
    <author>
        <name>Richard MacManus</name>
        <uri>http://www.readwriteweb.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.readwriteweb.com">
        <![CDATA[<p>Marc, exactly! That is the issue. Much of that javascript is for the advertising that runs on the site, which speaking as a publisher, is key to the site's success. Other things like the poll and mybloglog are not essential, but certainly add to the flavor of the site. I would definitely like to improve the time it takes the site to load, but in the end (as a publisher) I'm reliant on the code from widget and ad providers. That's fine, but as Alex said there must be ways that we as an industry can optimize that.</p>]]>
    </content>
    <published>2007-08-17T04:05:30Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22316</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22316" />
    <title>Comment from kael on 2007-08-16</title>
    <author>
        <name>kael</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>Great to see this matter discussed.</p>

<p>I'd say the <i>JavaScript overload</i> is due, amongst others things, to :</p>

<p>- a lack of OOP style coding, which seems to highly reduce memory consumption;<br />
- Firefox not optimally implementing JavaScript compared to Konqueror for example ; but extensions take memory also.</p>

<p>I'm using the <a href="http://noscript.net/" rel="nofollow">NoScript extension</a> which is very useful, although it requires to authorize scripts manually. Apart from discarding scripts coming from google.com, google-analytics.com and googlesyndication.com - :D -, it really reduces the load of pages.</p>

<p>Regarding web widgets, I came across the <a href="http://www.ietf.org/html.charters/OLD/widex-charter.html" rel="nofollow">Widget Description Exchange Service (WIDEX) WG</a> which <i>"seeks to define a light weight mechanism used in an IP-based network for remoting user interfaces where the user interface is represented in XML, and synchronization involves XML DOM events and XML DOM mutation/update operations"</i>. But apparently, the WG was shutdown without any RFC publication.</p>

<p>Perhaps, WIDEX could help to retrieve data from third-party websites API with very few JavaScript. Or there could be more server-side processing, or maybe more use of XSLT.</p>]]>
    </content>
    <published>2007-08-17T06:22:37Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22317</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22317" />
    <title>Comment from Linda Pelfrey on 2007-08-17</title>
    <author>
        <name>Linda Pelfrey</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>I really disagree with the server1. url.</p>

<p>When you want to change the # of servers ( say fewer at off-peak times or when they are being used for batch or replacement ) or more (hello Digg /. ) then should that logic be in JS instead of the front end load balancer???</p>

<p>more importantly, it is a pain to deal with user who want to bookmark the URL<br />
there is enough W2 stuff that breaks/devalues bookmarks already.</p>]]>
    </content>
    <published>2007-08-17T07:32:45Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22318</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22318" />
    <title>Comment from Alex Iskold on 2007-08-17</title>
    <author>
        <name>Alex Iskold</name>
        <uri>http://www.adaptiveblue.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.adaptiveblue.com">
        <![CDATA[<p>I think there is a misunderstanding about one of my suggestions, namely to randomize server URLs. First, to be clear, I suggest that each script gives our random server id. So each time users asks for a server id s1...sN is given back.</p>

<p>Let me explain why this is no different, and is potentially better than giving back just a single name. </p>

<p>To begin with, there is nothing that prevents you from assigning all these names to the same load balancer. </p>

<p>Secondly, since each user refers to only 1 server (typically) there is no caching problem, it caches as usual.</p>

<p>Thirdly, if you do grow big, you have an option of installing a load balancer in front of each address and turning each s1...sN into M machines.</p>

<p>Fourthly, if you experience distributed denial of service attack on one of these servers, other ones will be in tacked.</p>

<p>This is my take, and do not see a downside to this scheme.</p>

<p>Alex</p>]]>
    </content>
    <published>2007-08-17T12:57:23Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22319</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22319" />
    <title>Comment from Sean Ammirati on 2007-08-17</title>
    <author>
        <name>Sean Ammirati</name>
        <uri>http://www.profitablesignals.com/blog/</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.profitablesignals.com/blog/">
        <![CDATA[<p>Alex,  Personally I have really started to push my teams to not use prototype.  Instead we have been really happy with Dojo.  (We also experimented with YUI and GWT for sometime)  A very interesting follow up post would be one on picking the 'correct' JS libraries.</p>]]>
    </content>
    <published>2007-08-17T17:00:13Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22320</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22320" />
    <title>Comment from Alex Graveley on 2007-08-18</title>
    <author>
        <name>Alex Graveley</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>What a bunch of imbecilic schlock.  Nearly everything asserted in this post is technically incorrect.  Don't listen to it!</p>

<p>-Alex</p>]]>
    </content>
    <published>2007-08-18T22:06:56Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22321</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22321" />
    <title>Comment from Thomas Hansen on 2007-08-18</title>
    <author>
        <name>Thomas Hansen</name>
        <uri>http://ajaxwidgets.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://ajaxwidgets.com">
        <![CDATA[<p>Maybe we all should just resort back to lynx?<br />
Your post seemed like a badly hidden commercial for ActiveX, Flax,Silverlight or Desktop Apps...<br />
JavaScript is FAR more than just "widgets DHTML manipulation circus"...</p>

<p>.t</p>]]>
    </content>
    <published>2007-08-19T06:52:54Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22322</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22322" />
    <title>Comment from Mir mohamed ullah on 2007-08-19</title>
    <author>
        <name>Mir mohamed ullah</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>That's fine<br />
In this way men try to invent new technologies...</p>]]>
    </content>
    <published>2007-08-20T04:40:39Z</published>
  </entry>

  <entry>
    <id>tag:72.47.210.69,2007://1.2745-comment:22323</id>
    <thr:in-reply-to ref="tag:72.47.210.69,2007://1.2745" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php"/>
    <link rel="alternate" type="text/html" href="http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php#c22323" />
    <title>Comment from Yoav on 2007-08-30</title>
    <author>
        <name>Yoav</name>
        <uri>http://www.hosted-js.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.hosted-js.com">
        <![CDATA[<p>Although it wouldn't help much those using small widgets hosted-js.com is a new initiative to hosts major javascript frameworks and libraries on a central fast optimized server.<br />
Not open yet, but you can sign up to be notified when it does.</p>]]>
    </content>
    <published>2007-08-30T07:08:05Z</published>
  </entry>

</feed>