<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for EricGoldsmith.com</title>
	<atom:link href="http://ericgoldsmith.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://ericgoldsmith.com</link>
	<description>Random thoughts on life and technology</description>
	<lastBuildDate>Wed, 30 Mar 2011 17:05:13 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>Comment on Is localStorage The New Browser Cache? by Frank Denis</title>
		<link>http://ericgoldsmith.com/2011/03/29/is-localstorage-the-new-browser-cache/#comment-11382</link>
		<dc:creator>Frank Denis</dc:creator>
		<pubDate>Wed, 30 Mar 2011 17:05:13 +0000</pubDate>
		<guid isPermaLink="false">http://ericgoldsmith.com/2011/03/29/is-localstorage-the-new-browser-cache/#comment-11382</guid>
		<description><![CDATA[Yes it is. There&#039;s no reason not to use it as a browser cache.

The browser cache sucks. It barely knows about the context, what really ought to be cached and what is safe to expire. Plus the client doesn&#039;t have much control on the cache. And the browser cache only caches resources. Not fragments.

localStorage is awesome as a flexible cache. Especially for fragments, see my blog post: http://00f.net/2010/09/22/transparent-client-side-fragment-cache/

Let&#039;s use it, it&#039;s just perfect for this kind of task. The only thing to fear of is what will happen once marketing companies realize how powerful it is.]]></description>
		<content:encoded><![CDATA[<p>Yes it is. There&#8217;s no reason not to use it as a browser cache.</p>
<p>The browser cache sucks. It barely knows about the context, what really ought to be cached and what is safe to expire. Plus the client doesn&#8217;t have much control on the cache. And the browser cache only caches resources. Not fragments.</p>
<p>localStorage is awesome as a flexible cache. Especially for fragments, see my blog post: <a href="http://00f.net/2010/09/22/transparent-client-side-fragment-cache/" rel="nofollow">http://00f.net/2010/09/22/transparent-client-side-fragment-cache/</a></p>
<p>Let&#8217;s use it, it&#8217;s just perfect for this kind of task. The only thing to fear of is what will happen once marketing companies realize how powerful it is.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Performance Troubleshooting with Domain Categories by Eric Goldsmith</title>
		<link>http://ericgoldsmith.com/2010/01/22/performance-troubleshooting-with-domain-categories/#comment-5904</link>
		<dc:creator>Eric Goldsmith</dc:creator>
		<pubDate>Tue, 26 Jan 2010 15:42:12 +0000</pubDate>
		<guid isPermaLink="false">http://ericgoldsmith.com/2010/01/22/performance-troubleshooting-with-domain-categories/#comment-5904</guid>
		<description><![CDATA[Great questions, Steve. 

To paraphrase: When distributing load time among categories, how are the following cases handled?
 - Time ‘gaps’ where the client is processing JS, but nothing is being downloaded
 - Multiple objects being downloaded in parallel

First, let me provide some additional context for the problem space. The focus of this type of reporting is for operational monitoring, as opposed to pure performance measurement. So the goal is quick problem identification, isolation, and resolution. 

The characteristics of time ‘gaps’ due to client JS processing are dependent on the available resources on the client machine, which can vary greatly depending on the type of computer and what other things are happening on it. Since the focus of operational monitoring is on the delivery of content to the user, these client-side processing gaps are ignored in the data. So, both the category times and page load times do not include these gaps.

When multiple objects are loaded in parallel, the time is shared among all the objects loading at any moment in time. For example, if the load time of a page is divided into 10ms slices, and 5 objects load in parallel during a particular time slice, then each object is assigned 2ms of time (10 / 5) for that slice. Those times are summed for each object (or category) to determine the contribution to page load time.

This approach fulfills the goals above in helping understand the distribution of load time among categories (or domains), and quickly identifying drivers of a performance change. However, it is not intended as a development tool to estimate time savings for removing content. If page content is changed, the load behavior will change (the order objects are retrieved, the amount of parallelism, etc.), so the distribution of time to the various categories (or domains) will also change.

-Eric]]></description>
		<content:encoded><![CDATA[<p>Great questions, Steve. </p>
<p>To paraphrase: When distributing load time among categories, how are the following cases handled?<br />
 &#8211; Time ‘gaps’ where the client is processing JS, but nothing is being downloaded<br />
 &#8211; Multiple objects being downloaded in parallel</p>
<p>First, let me provide some additional context for the problem space. The focus of this type of reporting is for operational monitoring, as opposed to pure performance measurement. So the goal is quick problem identification, isolation, and resolution. </p>
<p>The characteristics of time ‘gaps’ due to client JS processing are dependent on the available resources on the client machine, which can vary greatly depending on the type of computer and what other things are happening on it. Since the focus of operational monitoring is on the delivery of content to the user, these client-side processing gaps are ignored in the data. So, both the category times and page load times do not include these gaps.</p>
<p>When multiple objects are loaded in parallel, the time is shared among all the objects loading at any moment in time. For example, if the load time of a page is divided into 10ms slices, and 5 objects load in parallel during a particular time slice, then each object is assigned 2ms of time (10 / 5) for that slice. Those times are summed for each object (or category) to determine the contribution to page load time.</p>
<p>This approach fulfills the goals above in helping understand the distribution of load time among categories (or domains), and quickly identifying drivers of a performance change. However, it is not intended as a development tool to estimate time savings for removing content. If page content is changed, the load behavior will change (the order objects are retrieved, the amount of parallelism, etc.), so the distribution of time to the various categories (or domains) will also change.</p>
<p>-Eric</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Performance Troubleshooting with Domain Categories by Steve Souders</title>
		<link>http://ericgoldsmith.com/2010/01/22/performance-troubleshooting-with-domain-categories/#comment-5888</link>
		<dc:creator>Steve Souders</dc:creator>
		<pubDate>Mon, 25 Jan 2010 17:28:40 +0000</pubDate>
		<guid isPermaLink="false">http://ericgoldsmith.com/2010/01/22/performance-troubleshooting-with-domain-categories/#comment-5888</guid>
		<description><![CDATA[The idea of breaking down overall performance into categories by type of content is great. The hard part is, the load time of a page is not the sum of the individual parts. While some JavaScript is executing, downloads are happening. And while a download is happening, rendering might be blocked. And multiple downloads often happen in parallel. Can you expand on how you allocate page load time to individual categories given the high degree of overlap during page load?]]></description>
		<content:encoded><![CDATA[<p>The idea of breaking down overall performance into categories by type of content is great. The hard part is, the load time of a page is not the sum of the individual parts. While some JavaScript is executing, downloads are happening. And while a download is happening, rendering might be blocked. And multiple downloads often happen in parallel. Can you expand on how you allocate page load time to individual categories given the high degree of overlap during page load?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Metrics for Performance Analysis by Philip Tellis</title>
		<link>http://ericgoldsmith.com/2008/05/24/metrics-for-performance-analysis/#comment-5341</link>
		<dc:creator>Philip Tellis</dc:creator>
		<pubDate>Wed, 16 Dec 2009 17:34:42 +0000</pubDate>
		<guid isPermaLink="false">http://ericgoldsmith.com/2008/05/24/metrics-for-performance-analysis/#comment-5341</guid>
		<description><![CDATA[Web performance data actually follows a log-normal distribution, ie, the log (base is unimportant) of response times is normally distributed.  This property of the data means that the geometric mean is a good measure of central tendency.  You can get the geometric mean as exp(avg(log x)).  Similarly you can get the geometric standard error.

There&#039;s a paper that describes this:

http://home.pacbell.net/ciemo/statistics/WhatDoYouMean.pdf

There&#039;s also a question about whether you should run IQR filtering on the data before analysing it or not.  IQR filtering tends to get rid of outliers, which in the case of web performance data applies mainly to excessively high numbers that come out of DNS misses (ie, an ISP&#039;s first DNS server failed and the second responded), which isn&#039;t something you can control, though you may want to know about it any way.

I&#039;ll be speaking about this at confoo.ca in Montreal in March if you&#039;re interested.]]></description>
		<content:encoded><![CDATA[<p>Web performance data actually follows a log-normal distribution, ie, the log (base is unimportant) of response times is normally distributed.  This property of the data means that the geometric mean is a good measure of central tendency.  You can get the geometric mean as exp(avg(log x)).  Similarly you can get the geometric standard error.</p>
<p>There&#8217;s a paper that describes this:</p>
<p><a href="http://home.pacbell.net/ciemo/statistics/WhatDoYouMean.pdf" rel="nofollow">http://home.pacbell.net/ciemo/statistics/WhatDoYouMean.pdf</a></p>
<p>There&#8217;s also a question about whether you should run IQR filtering on the data before analysing it or not.  IQR filtering tends to get rid of outliers, which in the case of web performance data applies mainly to excessively high numbers that come out of DNS misses (ie, an ISP&#8217;s first DNS server failed and the second responded), which isn&#8217;t something you can control, though you may want to know about it any way.</p>
<p>I&#8217;ll be speaking about this at confoo.ca in Montreal in March if you&#8217;re interested.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A Video Is Worth A Thousand Metrics by Aaron Peters</title>
		<link>http://ericgoldsmith.com/2009/09/11/a-video-is-worth-a-thousand-metrics/#comment-4665</link>
		<dc:creator>Aaron Peters</dc:creator>
		<pubDate>Sat, 12 Sep 2009 14:10:58 +0000</pubDate>
		<guid isPermaLink="false">http://ericgoldsmith.com/2009/09/11/a-video-is-worth-a-thousand-metrics/#comment-4665</guid>
		<description><![CDATA[Yeah Pat, this is great!

Really a very useful addition to Webpagetest.
I hope he can think of a way to build this into the browser plugin version, but that&#039;s probably wishful thinking.]]></description>
		<content:encoded><![CDATA[<p>Yeah Pat, this is great!</p>
<p>Really a very useful addition to Webpagetest.<br />
I hope he can think of a way to build this into the browser plugin version, but that&#8217;s probably wishful thinking.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Ad Load Performance Best Practices by Eric Goldsmith</title>
		<link>http://ericgoldsmith.com/2008/10/30/ad-load-performance-best-practices/#comment-1580</link>
		<dc:creator>Eric Goldsmith</dc:creator>
		<pubDate>Mon, 27 Apr 2009 14:47:44 +0000</pubDate>
		<guid isPermaLink="false">http://ericgoldsmith.com/2008/10/30/ad-load-performance-best-practices/#comment-1580</guid>
		<description><![CDATA[Hi Aaron,

Several of the core participants in the best practices working group are now involved in an &lt;a href=&quot;http://www.iab.net/member_center/councils_committees_working_groups/working_groups/performance_ad_scoring_working_group&quot; rel=&quot;nofollow&quot;&gt;Ad Performance Scoring Working Group&lt;/a&gt;, trying to develop a method of measuring and scoring the load performance of ads, from both qualitative and quantitative perspectives.

As far as research into the impact of slow ads on ad effectiveness - within the IAB that type of work would generally be performed by the &lt;a href=&quot;http://www.iab.net/member_center/councils_committees_working_groups/councils/research_council&quot; rel=&quot;nofollow&quot;&gt;Research Council&lt;/a&gt;. This idea has been discussed as a project for the Research Council, but I not aware of active work in this area. 

Having an ad scoring method would be a good foundation to build from for that type of research. ;-)


-Eric]]></description>
		<content:encoded><![CDATA[<p>Hi Aaron,</p>
<p>Several of the core participants in the best practices working group are now involved in an <a href="http://www.iab.net/member_center/councils_committees_working_groups/working_groups/performance_ad_scoring_working_group" rel="nofollow">Ad Performance Scoring Working Group</a>, trying to develop a method of measuring and scoring the load performance of ads, from both qualitative and quantitative perspectives.</p>
<p>As far as research into the impact of slow ads on ad effectiveness &#8211; within the IAB that type of work would generally be performed by the <a href="http://www.iab.net/member_center/councils_committees_working_groups/councils/research_council" rel="nofollow">Research Council</a>. This idea has been discussed as a project for the Research Council, but I not aware of active work in this area. </p>
<p>Having an ad scoring method would be a good foundation to build from for that type of research. <img src='http://ericgoldsmith.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>-Eric</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Ad Load Performance Best Practices by Aaron Peters</title>
		<link>http://ericgoldsmith.com/2008/10/30/ad-load-performance-best-practices/#comment-1415</link>
		<dc:creator>Aaron Peters</dc:creator>
		<pubDate>Wed, 22 Apr 2009 13:56:13 +0000</pubDate>
		<guid isPermaLink="false">http://ericgoldsmith.com/2008/10/30/ad-load-performance-best-practices/#comment-1415</guid>
		<description><![CDATA[Hi Eric,


Do you know if the IAB has done any work in this area since the release of the Best Practices? For instance: research on the impact of slow ads on ad effectiveness.

thanks,
Aaron Peters]]></description>
		<content:encoded><![CDATA[<p>Hi Eric,</p>
<p>Do you know if the IAB has done any work in this area since the release of the Best Practices? For instance: research on the impact of slow ads on ad effectiveness.</p>
<p>thanks,<br />
Aaron Peters</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on 3 Tenets of Performance Metrics by Mark Morscher</title>
		<link>http://ericgoldsmith.com/2009/03/02/3-tenets-of-performance-metrics/#comment-649</link>
		<dc:creator>Mark Morscher</dc:creator>
		<pubDate>Thu, 19 Mar 2009 18:01:07 +0000</pubDate>
		<guid isPermaLink="false">http://ericgoldsmith.com/2009/03/02/3-tenets-of-performance-metrics/#comment-649</guid>
		<description><![CDATA[Good tenets from a performance metric analyzer point-of-view.  People used to always sneer at my thirst for all metrics available, or request to generate more, before figuring out which correlate to the problem at hand!  I always seemed to have a much heartier appetite than most for the metrics.

Another tenet per #3 is is the old adage of turning metrics into information, specifically useful information to those that can make a difference.  I&#039;ve always found two avenues for this:

1.  Recognize metrics you observe that important to the business and communicate (per your &quot;so what&quot; example).

2.  Recognize &quot;pain&quot; being experienced by the business/executives, and root out the appropriate metric to improve and follow.  In the old CompuServe days, the &quot;pain&quot; was the VP of Ops being pinged whenever other executives couldn&#039;t load the CompuServe Main Menu!  The metric ended up being availability, which led to a whole treasure trove of other metrics (Capacity, publishing, server metrics...)

Mark]]></description>
		<content:encoded><![CDATA[<p>Good tenets from a performance metric analyzer point-of-view.  People used to always sneer at my thirst for all metrics available, or request to generate more, before figuring out which correlate to the problem at hand!  I always seemed to have a much heartier appetite than most for the metrics.</p>
<p>Another tenet per #3 is is the old adage of turning metrics into information, specifically useful information to those that can make a difference.  I&#8217;ve always found two avenues for this:</p>
<p>1.  Recognize metrics you observe that important to the business and communicate (per your &#8220;so what&#8221; example).</p>
<p>2.  Recognize &#8220;pain&#8221; being experienced by the business/executives, and root out the appropriate metric to improve and follow.  In the old CompuServe days, the &#8220;pain&#8221; was the VP of Ops being pinged whenever other executives couldn&#8217;t load the CompuServe Main Menu!  The metric ended up being availability, which led to a whole treasure trove of other metrics (Capacity, publishing, server metrics&#8230;)</p>
<p>Mark</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Quantifying The Impact Of Poor Performance by Mark Morscher</title>
		<link>http://ericgoldsmith.com/2008/10/28/quantifying-the-impact-of-poor-performance/#comment-308</link>
		<dc:creator>Mark Morscher</dc:creator>
		<pubDate>Sat, 08 Nov 2008 14:34:46 +0000</pubDate>
		<guid isPermaLink="false">http://ericgoldsmith.com/2008/10/28/quantifying-the-impact-of-poor-performance/#comment-308</guid>
		<description><![CDATA[What you end up representing is more of an &quot;actual unavailability&quot; of a site rather than a &quot;wall clock&quot; availability that a typical, synthetic monitoring provides (both have their purposes).  By determining the % of &quot;missed page views&quot; you are theoretically representing the % of failed requests by the user, or the perceived unavailability to them.  Thus, with this method, the impact of an outage near peak (like your example) is more than a maintenance outage at 4am.

The next step after calculating the revenue impact would be to calculate an operational support cost for addressing the incident.  This includes:

- On call time spent on addressing the issue
- NOC attention to the issue
- Additional monitoring/tools established to detect in the future
- Post Mortem meetings/attention
- Future dev/process work needed to fix the bug/root cause

In an ideal world, if adequate costing information exists, you should be able to correlate reduced TCO for operational support with improved Availability, in addition to improved customer sat and revenue.

Mark]]></description>
		<content:encoded><![CDATA[<p>What you end up representing is more of an &#8220;actual unavailability&#8221; of a site rather than a &#8220;wall clock&#8221; availability that a typical, synthetic monitoring provides (both have their purposes).  By determining the % of &#8220;missed page views&#8221; you are theoretically representing the % of failed requests by the user, or the perceived unavailability to them.  Thus, with this method, the impact of an outage near peak (like your example) is more than a maintenance outage at 4am.</p>
<p>The next step after calculating the revenue impact would be to calculate an operational support cost for addressing the incident.  This includes:</p>
<p>- On call time spent on addressing the issue<br />
- NOC attention to the issue<br />
- Additional monitoring/tools established to detect in the future<br />
- Post Mortem meetings/attention<br />
- Future dev/process work needed to fix the bug/root cause</p>
<p>In an ideal world, if adequate costing information exists, you should be able to correlate reduced TCO for operational support with improved Availability, in addition to improved customer sat and revenue.</p>
<p>Mark</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Web Site Engagement by Chris</title>
		<link>http://ericgoldsmith.com/2008/01/23/web-site-engagement/#comment-3</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Tue, 11 Mar 2008 18:25:36 +0000</pubDate>
		<guid isPermaLink="false">http://ericgoldsmith.com/2008/01/23/web-site-engagement/#comment-3</guid>
		<description><![CDATA[So it looks like MS is doing A/B testing?  I think there&#039;s a general undervaluing of the &quot;design&quot; aspect in the industry.  Aside from a handful of sites that have unique enough content to overcome other aspects, the majority of the successes in the last year or two have been based on design.  FaceSpace?  Lets you connect with friends in an easy and orderly manner. Digg, Meebo, Delicious, Flickr... they all succeed(ed) because they give the users what they want in sleek package that&#039;s easy to use, functional and not annoying to look at.]]></description>
		<content:encoded><![CDATA[<p>So it looks like MS is doing A/B testing?  I think there&#8217;s a general undervaluing of the &#8220;design&#8221; aspect in the industry.  Aside from a handful of sites that have unique enough content to overcome other aspects, the majority of the successes in the last year or two have been based on design.  FaceSpace?  Lets you connect with friends in an easy and orderly manner. Digg, Meebo, Delicious, Flickr&#8230; they all succeed(ed) because they give the users what they want in sleek package that&#8217;s easy to use, functional and not annoying to look at.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
