<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Mike's Lookout</title>
	
	<link>http://www.belshe.com</link>
	<description />
	<lastBuildDate>Fri, 01 Feb 2013 00:27:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/MikesLookout" /><feedburner:info uri="mikeslookout" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://superfeedr.com/hubbub" /><geo:lat>37.270543</geo:lat><geo:long>-122.023059</geo:long><feedburner:emailServiceId>MikesLookout</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Custom Protocols Everywhere</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/B9oOC-JhHKc/</link>
		<comments>http://www.belshe.com/2013/01/31/custom-protocols-everywhere/#comments</comments>
		<pubDate>Fri, 01 Feb 2013 00:27:07 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.belshe.com/?p=1205</guid>
		<description><![CDATA[TweetI&#8217;m here at the IETF discussing HTTP/2.0 (was SPDY).
One of the most interesting developments to me is that the rate of protocol evolution is about to step onto a rocket ship.  In the past, we&#8217;ve been dependent on standards, browsers, and servers to all simultaneously move to new protocols.  It takes about 15 [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.belshe.com/2013/01/31/custom-protocols-everywhere/&via=mikebelshe&text=Custom Protocols Everywhere&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script></div><div class="plusone" style="float: right"><g:plusone size="tall" href="http://www.belshe.com/2013/01/31/custom-protocols-everywhere/"></g:plusone></div><p><a href="http://www.belshe.com/wp-content/uploads/2013/01/Grasshopper.jpg"><img src="http://www.belshe.com/wp-content/uploads/2013/01/Grasshopper.jpg" alt="" title="Grasshopper" width="300"  class="alignright size-full wp-image-1206" /></a>I&#8217;m here at the <a href="http://trac.tools.ietf.org/wg/httpbis/trac/wiki/F2F/Jan13">IETF</a> discussing HTTP/2.0 (was SPDY).</p>
<p>One of the most interesting developments to me is that the rate of protocol evolution is about to step onto a rocket ship.  In the past, we&#8217;ve been dependent on standards, browsers, and servers to all simultaneously move to new protocols.  It takes about 15 years, in a good case!  But mobile apps are cracking this open.  With native code, instead of relying on the browser&#8217;s network stack, you just include your client library (imagine a facebook client library which speaks a custom protocol optimized just for facebook).  Since these apps are not doing general purpose web surfing, they&#8217;re only connecting to their own servers.  If you own the client, and you own the server, who needs a standard?</p>
<p>This is going to lead to massive innovation in protocols.  Companies can invent new paradigms and algorithms, and then either keep these to themselves or kick them back to the IETF for later.  From what I hear, SPDY sounds like a promising starting point for these apps, and it will lead to splintering.  But you don&#8217;t have to wait for Google, Microsoft, and Firefox to agree on protocols anymore!  As Will Chan puts it, it&#8217;s like HTML for HTTP &#8211; everyone can change it in practically real time.</p>
<p>The one last challenge is getting your protocol to work across the internet, where proxies, intermediaries, carriers, and other middlemen are always trying to trip you up.  But fortunately, we have an answer for that too &#8211; tunnel it all through SSL, which you should be doing as a best practice anyway.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=B9oOC-JhHKc:xJkC_mrnVrs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=B9oOC-JhHKc:xJkC_mrnVrs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=B9oOC-JhHKc:xJkC_mrnVrs:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=B9oOC-JhHKc:xJkC_mrnVrs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=B9oOC-JhHKc:xJkC_mrnVrs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=B9oOC-JhHKc:xJkC_mrnVrs:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=B9oOC-JhHKc:xJkC_mrnVrs:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=B9oOC-JhHKc:xJkC_mrnVrs:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/B9oOC-JhHKc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2013/01/31/custom-protocols-everywhere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2013/01/31/custom-protocols-everywhere/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=custom-protocols-everywhere</feedburner:origLink></item>
		<item>
		<title>Mobile Networking is Where HTML5 Falls Short</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/j3lVEy1e1Hk/</link>
		<comments>http://www.belshe.com/2013/01/14/mobile-networking-is-where-html5-falls-short/#comments</comments>
		<pubDate>Mon, 14 Jan 2013 16:09:17 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.belshe.com/?p=1201</guid>
		<description><![CDATA[TweetThe world renowned belshe.com tech blog has taken a beating in the last year as the lead author has been busy working the startup life at Twist.  
Fortunately, the nice folks at Fierce Developer were able to whip us into shape, and publish a guest post for me.  Let me know what you [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.belshe.com/2013/01/14/mobile-networking-is-where-html5-falls-short/&via=mikebelshe&text=Mobile Networking is Where HTML5 Falls Short&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script></div><div class="plusone" style="float: right"><g:plusone size="tall" href="http://www.belshe.com/2013/01/14/mobile-networking-is-where-html5-falls-short/"></g:plusone></div><p>The world renowned belshe.com tech blog has taken a beating in the last year as the lead author has been busy working the startup life at <a href="http://www.twist.com/">Twist</a>.  </p>
<p>Fortunately, the nice folks at Fierce Developer were able to whip us into shape, and publish a guest post for me.  Let me know what you think!</p>
<p><a href="http://www.fiercedeveloper.com/story/mobile-networking-where-html5-falls-short/2013-01-11">Fierce Developer: Mobile Networking is Where HTML5 Falls Short</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=j3lVEy1e1Hk:dE51pbB2u8Y:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=j3lVEy1e1Hk:dE51pbB2u8Y:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=j3lVEy1e1Hk:dE51pbB2u8Y:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=j3lVEy1e1Hk:dE51pbB2u8Y:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=j3lVEy1e1Hk:dE51pbB2u8Y:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=j3lVEy1e1Hk:dE51pbB2u8Y:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=j3lVEy1e1Hk:dE51pbB2u8Y:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=j3lVEy1e1Hk:dE51pbB2u8Y:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/j3lVEy1e1Hk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2013/01/14/mobile-networking-is-where-html5-falls-short/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2013/01/14/mobile-networking-is-where-html5-falls-short/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=mobile-networking-is-where-html5-falls-short</feedburner:origLink></item>
		<item>
		<title>Visualizing SPDY vs HTTP</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/R47QFelPWU4/</link>
		<comments>http://www.belshe.com/2012/08/20/visualizing-spdy-vs-http/#comments</comments>
		<pubDate>Mon, 20 Aug 2012 17:12:00 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/?p=1177</guid>
		<description><![CDATA[TweetWhen we were developing SPDY, we wanted to know if SPDY was always faster or just sometimes faster than HTTP.  The following chart is what convinced us that SPDY is indeed almost always faster.  I didn&#8217;t publish this at that time because I didn&#8217;t like looking at web performance as a single number. [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.belshe.com/2012/08/20/visualizing-spdy-vs-http/&via=mikebelshe&text=Visualizing SPDY vs HTTP&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script></div><div class="plusone" style="float: right"><g:plusone size="tall" href="http://www.belshe.com/2012/08/20/visualizing-spdy-vs-http/"></g:plusone></div><p>When we were developing SPDY, we wanted to know if SPDY was always faster or just sometimes faster than HTTP.  The following chart is what convinced us that SPDY is indeed almost always faster.  I didn&#8217;t publish this at that time because I didn&#8217;t like looking at web performance as a single number.  &#8220;Is it faster&#8221; includes many variables, such as the network simulated (bandwidth &#038; latency), the packet loss rate, the content chosen, and the measurement (total PLT, first PLT, second PLT, or time-to-first-render).  You&#8217;d really want a whole stack of these charts, rather than just a single combination.</p>
<p>What I like about this chart is how easy it is to compare two protocols.  If the two protocols are identical in performance, all points would be on the midline (red).  If one protocol is slower, then the points will fall closer to that axis.</p>
<p><img src="/wp-content/uploads/2012/08/Screen-Shot-2012-08-20-at-8.12.36-AM.png" alt="SPDY vs HTTP PLT" /></p>
<p>Notes about this test:</p>
<ul>
<li>Used a static copy of the Alexa Top-300 websites (excluded porn sites), full content, unchanged</li>
<li>Simulated 2Mbps download, 386Kbps upload, 100ms RTT, 0% packet loss</li>
<li>No SSL</li>
<li>The average speedup was ~40% on this test</li>
<li>This test predates CWND changes in the kernel</li>
<li>Server was linux, client was chrome on Windows 7</li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=R47QFelPWU4:6LLHY-OZr_c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=R47QFelPWU4:6LLHY-OZr_c:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=R47QFelPWU4:6LLHY-OZr_c:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=R47QFelPWU4:6LLHY-OZr_c:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=R47QFelPWU4:6LLHY-OZr_c:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=R47QFelPWU4:6LLHY-OZr_c:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=R47QFelPWU4:6LLHY-OZr_c:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=R47QFelPWU4:6LLHY-OZr_c:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/R47QFelPWU4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2012/08/20/visualizing-spdy-vs-http/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2012/08/20/visualizing-spdy-vs-http/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=visualizing-spdy-vs-http</feedburner:origLink></item>
		<item>
		<title>I will donate $1,000,000 to the US Govt This Year</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/v6OVJVJwzTQ/</link>
		<comments>http://www.belshe.com/2012/08/15/i-will-donate-1000000-to-the-us-govt-this-year/#comments</comments>
		<pubDate>Wed, 15 Aug 2012 17:03:51 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.belshe.com/?p=1167</guid>
		<description><![CDATA[TweetThe US debt is a big problem (currently ~$16T, or about ~$50K per person).  I&#8217;m willing to do my share to help pay it off.  To do this, I need the government to commit to a sustainable plan so that I&#8217;m not just throwing good money after bad.
Thus I make this promise:
If Washington [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.belshe.com/2012/08/15/i-will-donate-1000000-to-the-us-govt-this-year/&via=mikebelshe&text=I will donate $1,000,000 to the US Govt This Year&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script></div><div class="plusone" style="float: right"><g:plusone size="tall" href="http://www.belshe.com/2012/08/15/i-will-donate-1000000-to-the-us-govt-this-year/"></g:plusone></div><p>The US debt is a big problem (currently ~$16T, or about ~$50K per person).  I&#8217;m willing to do my share to help pay it off.  To do this, I need the government to commit to a sustainable plan so that I&#8217;m not just throwing good money after bad.</p>
<p>Thus I make this promise:</p>
<p>If Washington can make spending match tax receipts, I will donate an extra $1,000,000 to the USA to help pay down the debt.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=v6OVJVJwzTQ:c2YOOKw6Gpk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=v6OVJVJwzTQ:c2YOOKw6Gpk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=v6OVJVJwzTQ:c2YOOKw6Gpk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=v6OVJVJwzTQ:c2YOOKw6Gpk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=v6OVJVJwzTQ:c2YOOKw6Gpk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=v6OVJVJwzTQ:c2YOOKw6Gpk:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=v6OVJVJwzTQ:c2YOOKw6Gpk:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=v6OVJVJwzTQ:c2YOOKw6Gpk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/v6OVJVJwzTQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2012/08/15/i-will-donate-1000000-to-the-us-govt-this-year/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2012/08/15/i-will-donate-1000000-to-the-us-govt-this-year/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=i-will-donate-1000000-to-the-us-govt-this-year</feedburner:origLink></item>
		<item>
		<title>Followup to “Not as SPDY as You Thought”</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/DVoa9So04t0/</link>
		<comments>http://www.belshe.com/2012/06/24/followup-to-not-as-spdy-as-you-thought/#comments</comments>
		<pubDate>Mon, 25 Jun 2012 00:28:27 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/?p=1138</guid>
		<description><![CDATA[Tweet
    p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Arial}
    p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Times; min-height: 14.0px}
    p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 15.0px Arial}
    p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 11.0px Arial; [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.belshe.com/2012/06/24/followup-to-not-as-spdy-as-you-thought/&via=mikebelshe&text=Followup to "Not as SPDY as You Thought"&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script></div><div class="plusone" style="float: right"><g:plusone size="tall" href="http://www.belshe.com/2012/06/24/followup-to-not-as-spdy-as-you-thought/"></g:plusone></div><style type="text/css">
    p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Arial}
    p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Times; min-height: 14.0px}
    p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 15.0px Arial}
    p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 11.0px Arial; color: #1155cc}
    p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 11.0px Arial}
    span.s1 {text-decoration: underline ; color: #1155cc}
    span.s2 {text-decoration: underline}
    table.t1 {border-collapse: collapse}
    td.td1 {width: 99.0px; border-style: solid; border-width: 1.0px 1.0px 1.0px 1.0px; border-color: #000000 #000000 #000000 #000000; padding: 7.0px 7.0px 7.0px 7.0px}
    td.td2 {width: 171.0px; border-style: solid; border-width: 1.0px 1.0px 1.0px 1.0px; border-color: #000000 #000000 #000000 #000000; padding: 7.0px 7.0px 7.0px 7.0px}
    td.td3 {width: 165.0px; border-style: solid; border-width: 1.0px 1.0px 1.0px 1.0px; border-color: #000000 #000000 #000000 #000000; padding: 7.0px 7.0px 7.0px 7.0px}
    td.td4 {width: 153.0px; border-style: solid; border-width: 1.0px 1.0px 1.0px 1.0px; border-color: #000000 #000000 #000000 #000000; padding: 7.0px 7.0px 7.0px 7.0px}
  </style>
<p class="p1">In the last couple of weeks many people have asked me to comment on <a href="http://www.guypo.com/">guypo</a>’s benchmark blog post, “<a href="http://www.guypo.com/technical/not-as-spdy-as-you-thought/"><span class="s1">Not as SPDY as You Thought</span></a>”.  Guy shared the post with me before he posted it.  Overall, I disagree with his title, but I don’t disagree with his results much, so I haven&#8217;t felt pressed to comment.  He tested something that nobody else has tested, and after reviewing his methodology, it’s mostly fine. Some suggestions have been made for improvement, which he was very open to, and we’ll likely see additional test results coming soon.  But his results are not contrary to Google’s or my own results; they’re just a different test.</p>
<p class="p2"></p>
<p class="p1">The reason his results aren’t contradictory is because Guy’s test doesn’t test SPDY page loads.  Guy tested <i>partial</i> SPDY page loads, not <i>full</i> SPDY page loads.  More specifically, he tested this case:  if you upgrade your primary domain, but few of your other domains, your CDN, etc, how does SPDY perform?  This is a perfectly valid case to test &#8211; especially when sites may take an incremental approach to upgrading.  And I’m not surprised at all that if you only upgrade half your page to SPDY, that the results are not as good as if you upgrade all of your page to SPDY.</p>
<p class="p2"></p>
<p class="p1">In the report, Guy breaks out domains into “1st party domains” and “3rd party domains”.  He argues that since you don’t have control over the 3rd party content servers, it may not get SPDY-ized, and therefore his test is valid.  Ok &#8211; thats a good point.  But how do we define “3rd party”?  I consider “1st party” to be any content which you, as the site owner have control to change directly.  So if you load your main content from <a href="http://www.google.com/"><span class="s1">www.google.com</span></a> and your images from <a href="http://images.google.com/"><span class="s1">images.google.com</span></a>, those are both 1st party domains.  Unfortunately, Guy’s classifier did not classify them this way.</p>
<p class="p2"></p>
<p class="p1">To understand what I mean, lets take a look at the domains used on a few sample pages and how his test loaded resources from them.  I simply picked three from his test results.   Every page tested is different, but the patterns below are common to many of the top websites.</p>
<p></p>
<table cellspacing="0" cellpadding="0" class="t1">
<tbody>
<tr>
<td valign="top" class="td1">
<p class="p2"></p>
</td>
<td valign="top" class="td2">
<p class="p3">www.cnn.com</p>
</td>
<td valign="top" class="td3">
<p class="p3">www.ebay.com</p>
</td>
<td valign="top" class="td4">
<p class="p3">www.yahoo.com</p>
</td>
</tr>
<tr>
<td valign="top" class="td1">
<p class="p3">Domains Used</p>
</td>
<td valign="top" class="td2">
<p class="p4"><span class="s2"><a href="http://www.cnn.com/">www.cnn.com</a></span></p>
<p class="p5">icompass.insighexpressai.com</p>
<p class="p5">z.cdn.turner.com</p>
<p class="p5">i.cdn.turner.com</p>
<p class="p4"><span class="s2"><a href="http://www.facebook.com/">www.facebook.com</a></span></p>
<p class="p5">ad.insightexpressai.com</p>
<p class="p5">s-static.ak.fbcdn.com</p>
<p class="p5">svcs.cnn.com</p>
<p class="p5">gdyn.cnn.com</p>
<p class="p5">s-external.ak.fbcdn.com</p>
</td>
<td valign="top" class="td3">
<p class="p4"><span class="s2"><a href="http://www.ebay.com/">www.ebay.com</a></span></p>
<p class="p5">ir.ebaystatic.com</p>
<p class="p5">i.ebayimg.com</p>
<p class="p5">q.ebaystatic.com</p>
<p class="p5">p.ebaystatic.com</p>
<p class="p5">thumbs4.ebaystatic.com</p>
<p class="p5">rover.ebay.com</p>
<p class="p5">srx.main.ebayrtm.com</p>
<p class="p5">rtm.ebaystatic.com</p>
<p class="p5">ad.doubleclick.net</p>
<p class="p5">pics.ebaystatic.com</p>
<p class="p5">s0.2mdn.net</p>
<p class="p2"></p>
</td>
<td valign="top" class="td4">
<p class="p4"><span class="s2"><a href="http://www.yahoo.com/">www.yahoo.com</a></span></p>
<p class="p5">l.yimg.com</p>
<p class="p5">us.bc.yahoo.com</p>
<p class="p5">v4test.yahoo.com</p>
<p class="p5">v4test2.yahoo.com</p>
<p class="p5">v4test3.yahoo.com</p>
<p class="p5">dstest.yahoo.com</p>
<p class="p5">dstest2.yahoo.com</p>
<p class="p5">dstest3yahoo.com</p>
<p class="p5">ad.doubleclick.net</p>
</td>
</tr>
<tr>
<td valign="top" class="td1">
<p class="p3">SPDY domains</p>
</td>
<td valign="top" class="td2">
<p class="p3">1</p>
</td>
<td valign="top" class="td3">
<p class="p3">1</p>
</td>
<td valign="top" class="td4">
<p class="p3">1</p>
</td>
</tr>
<tr>
<td valign="top" class="td1">
<p class="p3">Non SPDY domains</p>
</td>
<td valign="top" class="td2">
<p class="p3">9</p>
</td>
<td valign="top" class="td3">
<p class="p3">11</p>
</td>
<td valign="top" class="td4">
<p class="p3">9</p>
</td>
</tr>
<tr>
<td valign="top" class="td1">
<p class="p3">Resources fetched over SPDY</p>
</td>
<td valign="top" class="td2">
<p class="p3">40</p>
</td>
<td valign="top" class="td3">
<p class="p3">20</p>
</td>
<td valign="top" class="td4">
<p class="p3">48</p>
</td>
</tr>
<tr>
<td valign="top" class="td1">
<p class="p3">Resources fetched over HTTP</p>
</td>
<td valign="top" class="td2">
<p class="p3">46</p>
</td>
<td valign="top" class="td3">
<p class="p3">37</p>
</td>
<td valign="top" class="td4">
<p class="p3">26</p>
</td>
</tr>
<tr>
<td valign="top" class="td1">
<p class="p3">“1st party” resources that could have been SPDY but were NOT in Guy’s test</p>
</td>
<td valign="top" class="td2">
<p class="p3">31</p>
</td>
<td valign="top" class="td3">
<p class="p3">34</p>
</td>
<td valign="top" class="td4">
<p class="p3">24</p>
</td>
</tr>
</tbody>
</table>
<p class="p2"></p>
<p class="p2"></p>
<p class="p2"></p>
<p class="p1">I hope you can now see why I don’t discredit Guy’s test results.  On these pages, 25-50% of the 1st party controlled resources which could have been loaded over SPDY weren&#8217;t loaded over SPDY at all.  If you only partially use SPDY, you only get partial results.  This is okay to me.</p>
<p class="p2"></p>
<p class="p1">Nobody should think I’m discrediting Guy’s work here.  He’s done a great job with great vigor, and it takes an incredible amount of time to do these tests.  He’s planning to do more tests, and I&#8217;m very thankful that he is doing this and that <a href="http://www.akamai.com/">Akamai</a> is letting him do so.</p>
<p class="p2"></p>
<p class="p1">In the next wave of tests, I expect we’ll see that SPDY benefits are increased.  Keep in mind that your average site isn’t going to see the <a href="http://blog.chromium.org/2009/11/2x-faster-web.html">2x speed boost</a>.   The overall benefit of SPDY is conditional on many factors, and websites today have not yet been tuned for SPDY.  Most sites will see benefits in the 5-20% range (like Google did).   A few will see 50% better.  A few will see worse.  Everyone will benefit from new optimization possibilities, less complex websites, and a more <a href="http://bitsup.blogspot.com/2011/09/spdy-what-i-like-about-you.html">network</a> and <a href="http://googledevelopers.blogspot.ca/2012/05/spdy-performance-on-mobile-networks.html">mobile friendly protocol</a>.   More testing like Guy&#8217;s is the key to a better HTTP/2.0.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=DVoa9So04t0:_pAATIY9YJE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=DVoa9So04t0:_pAATIY9YJE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=DVoa9So04t0:_pAATIY9YJE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=DVoa9So04t0:_pAATIY9YJE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=DVoa9So04t0:_pAATIY9YJE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=DVoa9So04t0:_pAATIY9YJE:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=DVoa9So04t0:_pAATIY9YJE:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=DVoa9So04t0:_pAATIY9YJE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/DVoa9So04t0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2012/06/24/followup-to-not-as-spdy-as-you-thought/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2012/06/24/followup-to-not-as-spdy-as-you-thought/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=followup-to-not-as-spdy-as-you-thought</feedburner:origLink></item>
		<item>
		<title>The Web only Works Thanks to Reload…  (and why the mobile web fails)</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/m8gY8DgQCmk/</link>
		<comments>http://www.belshe.com/2012/06/04/the-web-only-works-thanks-to-reload-and-why-the-mobile-web-fails/#comments</comments>
		<pubDate>Mon, 04 Jun 2012 17:03:42 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.belshe.com/?p=1132</guid>
		<description><![CDATA[TweetWhen you build a mobile app that uses the network, it is instantly clear that your app needs to be robust against all sorts of network failures:
network completely down
network transitioning from WiFi to 3G
network insanely slow (EDGE!)
network timeouts &#8211; is 5s long enough to wait?  10s? 30?
network radio warmup is slow
what happens if your [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.belshe.com/2012/06/04/the-web-only-works-thanks-to-reload-and-why-the-mobile-web-fails/&via=mikebelshe&text=The Web only Works Thanks to Reload...  (and why the mobile web fails)&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script></div><div class="plusone" style="float: right"><g:plusone size="tall" href="http://www.belshe.com/2012/06/04/the-web-only-works-thanks-to-reload-and-why-the-mobile-web-fails/"></g:plusone></div><p>When you build a mobile app that uses the network, it is instantly clear that your app needs to be robust against all sorts of network failures:</p>
<li>network completely down</li>
<li>network transitioning from WiFi to 3G</li>
<li>network insanely slow (EDGE!)</li>
<li>network timeouts &#8211; is 5s long enough to wait?  10s? 30?</li>
<li>network radio warmup is slow</li>
<li>what happens if your app is terminated before finishing a critical network request?</li>
<li>etc&#8230;</li>
<p>Dealing with these is hard, but not impossible.  Applications retry at various levels trading off battery life and user perceived performance all the time.  After enough work, you can make the app functional.  </p>
<p>But if you try to write an app using HTML5, how do you do this?</p>
<p><em>You can&#8217;t.</em></p>
<p>The web simply isn&#8217;t designed for partial network failures on a web page.  Web pages are comprised of hundreds of subresources from multiple sites these days.  What happens when CSS #5 out of 32 resources fails to load?  What happens when you can&#8217;t connect to i.amazon.com even though you already loaded the main content from www.amazon.com?  Does your application even know?  Generally not.  You can trap for some sorts of errors; but the browser will NOT automatically retry on any of these failures for you.  Most likely you&#8217;ll be left with a web page which renders incorrectly, hangs forever, or throws javascript errors on the whole page because a critical set of code just never got loaded.</p>
<p>Of course, these problems can happen on your desktop, too.  But they generally don&#8217;t happen as often.  And when they do occur, every user easily becomes his own network administrator thanks to the web browser&#8217;s handy dandy &#8220;reload&#8221; button.  How many times have you drummed your fingers for a few seconds before reloading a page?  Probably a lot!  But on mobile, network errors occur *all* the time.   Do mobile apps have &#8216;reload&#8217; buttons?  Generally not &#8211; users are becoming quite accustomed to apps which can handle their own errors gracefully.</p>
<p>Sadly, I think this is one more nail in the coffin against HTML5 on mobile.   Browsers need to be completely overhauled to properly deal with network errors and retries before HTML5 can be a serious contender to native applications.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=m8gY8DgQCmk:v2iUXkXTd2Y:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=m8gY8DgQCmk:v2iUXkXTd2Y:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=m8gY8DgQCmk:v2iUXkXTd2Y:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=m8gY8DgQCmk:v2iUXkXTd2Y:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=m8gY8DgQCmk:v2iUXkXTd2Y:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=m8gY8DgQCmk:v2iUXkXTd2Y:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=m8gY8DgQCmk:v2iUXkXTd2Y:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=m8gY8DgQCmk:v2iUXkXTd2Y:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/m8gY8DgQCmk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2012/06/04/the-web-only-works-thanks-to-reload-and-why-the-mobile-web-fails/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2012/06/04/the-web-only-works-thanks-to-reload-and-why-the-mobile-web-fails/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=the-web-only-works-thanks-to-reload-and-why-the-mobile-web-fails</feedburner:origLink></item>
		<item>
		<title>I don’t listen to voicemail</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/YFaOwiwwjvI/</link>
		<comments>http://www.belshe.com/2012/05/02/i-dont-listen-to-voicemail/#comments</comments>
		<pubDate>Wed, 02 May 2012 08:06:51 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.belshe.com/?p=1130</guid>
		<description><![CDATA[TweetFor a long time, my voicemail wasn&#8217;t set up.  People got mad at me.
So I setup my voicemail, and now it has a greeting.  But I don&#8217;t listen to messages.  People get mad at me again.
The trouble with voicemail is its just too inefficient.  I have to dial-in, wait for it [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.belshe.com/2012/05/02/i-dont-listen-to-voicemail/&via=mikebelshe&text=I don't listen to voicemail&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script></div><div class="plusone" style="float: right"><g:plusone size="tall" href="http://www.belshe.com/2012/05/02/i-dont-listen-to-voicemail/"></g:plusone></div><p>For a long time, my voicemail wasn&#8217;t set up.  People got mad at me.</p>
<p>So I setup my voicemail, and now it has a greeting.  But I don&#8217;t listen to messages.  People get mad at me again.</p>
<p>The trouble with voicemail is its just too inefficient.  I have to dial-in, wait for it to connect, listen to the rambling, and then act on it.  The whole process is quite maddening &#8211; 20-30 seconds each!  I know that at this very moment I have voicemails from my sister and brother, and I even have spare time.  But the mere thought of the painful process makes me not do it.  <em>I&#8217;d rather write a whole blog post about how I hate listening to voicemail.</em></p>
<p>Hmm&#8230; I wonder how many messages I&#8217;ve got queued up?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=YFaOwiwwjvI:LfhRbq6U114:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=YFaOwiwwjvI:LfhRbq6U114:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=YFaOwiwwjvI:LfhRbq6U114:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=YFaOwiwwjvI:LfhRbq6U114:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=YFaOwiwwjvI:LfhRbq6U114:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=YFaOwiwwjvI:LfhRbq6U114:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=YFaOwiwwjvI:LfhRbq6U114:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=YFaOwiwwjvI:LfhRbq6U114:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/YFaOwiwwjvI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2012/05/02/i-dont-listen-to-voicemail/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2012/05/02/i-dont-listen-to-voicemail/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=i-dont-listen-to-voicemail</feedburner:origLink></item>
		<item>
		<title>Comments on Microsoft’s SPDY Proposal</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/Ra3p7LEWg8k/</link>
		<comments>http://www.belshe.com/2012/03/29/comments-on-microsofts-spdy-proposal/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 14:30:02 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/?p=1116</guid>
		<description><![CDATA[TweetMicrosoft published their SPDY proposal today to the IETF.  They call it &#8220;HTTP + Mobility&#8221;.  Here are some quick comments on their proposal.
a) It&#8217;s SPDY!
The Microsoft proposal is SPDY at its core.  They&#8217;ve fully retained the major elements of SPDY, including multiplexing, prioritization, and compression, and they&#8217;ve even lifted the exact syntax [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.belshe.com/2012/03/29/comments-on-microsofts-spdy-proposal/&via=mikebelshe&text=Comments on Microsoft's SPDY Proposal&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script></div><div class="plusone" style="float: right"><g:plusone size="tall" href="http://www.belshe.com/2012/03/29/comments-on-microsofts-spdy-proposal/"></g:plusone></div><p>Microsoft published their <a href="http://tools.ietf.org/html/draft-montenegro-httpbis-speed-mobility-01">SPDY proposal today to the IETF</a>.  They call it &#8220;HTTP + Mobility&#8221;.  Here are some quick comments on their proposal.</p>
<p><strong>a) It&#8217;s SPDY!</strong><br />
The Microsoft proposal is SPDY at its core.  They&#8217;ve fully retained the major elements of SPDY, including multiplexing, prioritization, and compression, and they&#8217;ve even lifted the exact syntax of most of the framing layer &#8211; maintaining SYN_STREAM, SYN_RESET, SYN_REPLY, HEADERS, etc.  </p>
<p>It&#8217;s a huge relief for me to see Microsoft propose SPDY with a few minor tweaks.</p>
<p><strong>b) WebSockets Syntax</strong><br />
When SPDY started a couple of years ago, <a href="http://tools.ietf.org/html/rfc6455">WebSockets</a> didn&#8217;t exist.  Microsoft is proposing taking existing SPDY, and changing the syntax to be more like WebSockets.  This won&#8217;t have any feature impact on the protocol, but does make the protocol overall more like other web technologies.</p>
<p>Personally, I don&#8217;t think syntax matters much, and I also see value in symmetry across web protocols.  I do think the WebSocket syntax is more complicated than SPDY today, but its not that big of a deal.  Overall, this part of the Microsoft proposal may make sense.  I&#8217;m happy that Microsoft has presented it.</p>
<p><strong>c) Removal of Flow Control</strong><br />
The Microsoft proposal is quick to dismiss SPDY&#8217;s per-stream flow control as though it is already handled at the TCP layer.  However, this is incorrect.  TCP handles flow control for the TCP stream.  Because SPDY introduces multiple concurrent flows, a new layer of flow control is necessary.  Imagine you were sending 10 streams to a server, and one of those streams stalled out (for whatever reason).  Without flow control, you either have to terminate all the streams, buffer unbounded amounts of memory, or stall all the streams.  None of these are good outcomes, and TCP&#8217;s flow control is not the same as SPDY&#8217;s flow control.</p>
<p>This may be an example of where SPDY&#8217;s implementation experience trumps any amount of protocol theory.  For those who remember, earlier drafts of SPDY didn&#8217;t have flow control.  We were aware of it long ago, but until we fully implemented SPDY, we didn&#8217;t know how badly it was needed nor how to do it in a performant and simple manner.  I can&#8217;t emphasize enough with protocols how important it is to actually implement your proposals.  If you don&#8217;t implement them, you don&#8217;t really know if it works.</p>
<p><strong>d) Optional Compression</strong><br />
HTTP is full of &#8220;optional&#8221; features.  Experience shows that if we make features optional, we lose them altogether due to implementations that don&#8217;t implement them, bugs in implementations, and bugs in the design.  Examples of optional features in existing HTTP/1.1 include:  pipelining, chunked uploads, absolute URIs, and there are many more.</p>
<p>Microsoft did not include any benchmarks for their proposal, so I don&#8217;t really know how well it performs.  What I do know, however, is that the header compression which Microsoft is advocating be optional was absolutely critical to mobile performance for SPDY.  If the Microsoft proposal were truly optimized for mobile, I suspect it would be taking more aggressive steps toward compression rather than pulling it out.</p>
<p>Lastly, I&#8217;m puzzled as to why anyone would propose removing the header compression.  We could argue about which compression algorithm is best, but it has been pretty non-controversial that we need to start compressing headers with HTTP.  (See also:  <a href="http://dev.chromium.org/spdy/spdy-whitepaper">SPDY spec</a>,  <a href="http://bitsup.blogspot.fr/2012/01/use-case-for-spdy-header-compression.html">Mozilla example</a>, <a href="http://www.eecis.udel.edu/~amer/PEL/poc/pdf/SPDY-Fan.pdf">UofDelaware research</a>)  </p>
<p><strong>e) Removal of SETTINGS frames</strong><br />
SPDY has the promise of &#8220;infinite flows&#8221; &#8211; that a client can make as many requests as it wants.  But this is a jedi mind trick.  Servers, for a variety of reasons, still want to limit a client to a reasonable number of flows. And different servers have very different ideas about what &#8220;reasonable&#8221; is.  The SETTINGS frame is how servers communicate to the client that they want to do this.</p>
<p>I&#8217;m guessing this is an oversight in the Microsoft proposal.  </p>
<p><strong>f) Making Server Push Optional</strong><br />
Microsoft proposes to make server push optional.  There is a fair discussion to be had about removing Server Push for a number of reasons, but to make it optional seems like the worst of all worlds.  Server Push is not trivial, and is definitely one of the most radical portions of the protocol.  To make it optional without removing it leaves implementors with the burden of all the complexity with potentially none of the benefits.</p>
<p>The authors offer opinions as to the merits of Server Push, but offer no evidence or data to back up those claims.</p>
<p><strong>h) Removal of IP Pooling</strong><br />
The Microsoft writeup eliminates connection pooling, but it is unclear why.  Connection pooling is an important element of SPDY both for performance and for efficiency on the network.  I&#8217;m not sure why Microsoft would recommend removing this, especially without benchmarks, data, or implementation details.  The benchmarks clearly show it has measurable benefit, and without this feature, mobile performance for the Microsoft proposal will surely be slower than for SPDY proper.</p>
<p><strong>Conclusion</strong><br />
I&#8217;m happy with the writeup from Microsoft.  I view their proposal as agreement that the core of SPDY in acceptable for HTTP/2.0, which should help move the standardization effort along more quickly.  They&#8217;ve also raised a couple of very reasonable questions.  It&#8217;s clear that Microsoft hasn&#8217;t done much testing or experimentation with their proposal yet.  I&#8217;m certain that with data, we&#8217;ll come to resolution on all fronts quite quickly.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=Ra3p7LEWg8k:nNDKR5OIKAE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=Ra3p7LEWg8k:nNDKR5OIKAE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=Ra3p7LEWg8k:nNDKR5OIKAE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=Ra3p7LEWg8k:nNDKR5OIKAE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=Ra3p7LEWg8k:nNDKR5OIKAE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=Ra3p7LEWg8k:nNDKR5OIKAE:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=Ra3p7LEWg8k:nNDKR5OIKAE:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=Ra3p7LEWg8k:nNDKR5OIKAE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/Ra3p7LEWg8k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2012/03/29/comments-on-microsofts-spdy-proposal/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2012/03/29/comments-on-microsofts-spdy-proposal/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=comments-on-microsofts-spdy-proposal</feedburner:origLink></item>
		<item>
		<title>Honda Hybrid Settlement – Only the Lawyers Like It</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/5x_zVeYQVqI/</link>
		<comments>http://www.belshe.com/2012/03/10/honda-hybrid-settlement-only-the-lawyers-like-it/#comments</comments>
		<pubDate>Sat, 10 Mar 2012 23:25:37 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Lawyers]]></category>

		<guid isPermaLink="false">http://www.belshe.com/?p=1045</guid>
		<description><![CDATA[TweetI filed my second objection to the Honda Civic Hybrid Settlement this year, and they were nice enough to send me a CD of all the other letters that were submitted to the court.
Scorecard

There were 3 letters in favor of the settlement
There were 45 letters opposing the settlement

The Supporting Letters Were From

The lawyers, Jonathan Cuneo [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.belshe.com/2012/03/10/honda-hybrid-settlement-only-the-lawyers-like-it/&via=mikebelshe&text=Honda Hybrid Settlement - Only the Lawyers Like It&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script></div><div class="plusone" style="float: right"><g:plusone size="tall" href="http://www.belshe.com/2012/03/10/honda-hybrid-settlement-only-the-lawyers-like-it/"></g:plusone></div><p>I filed my second objection to the <a href="http://www.hchsettlement.com/">Honda Civic Hybrid Settlement</a> this year, and they were nice enough to send me a CD of all the other letters that were submitted to the court.</p>
<p><strong>Scorecard</strong></p>
<ul>
<li>There were <strong>3 </strong>letters in favor of the settlement</li>
<li>There were <strong>45 </strong>letters opposing the settlement</li>
</ul>
<p><strong>The Supporting Letters Were From</strong></p>
<ul>
<li>The lawyers, <a href="http://www.cuneolaw.com/lawyers/jonathan_cuneo.php">Jonathan Cuneo</a> and <a href="http://www.chimicles.com/nicholas-e-chimicles">Nicholas Chimicles</a> (who also filed for fee reimbursement of $2.332M and $2.995M, respectively).</li>
<li>The mediator of the original settlement, Howard Wiener.</li>
<li>Rust Consulting, paid for by American Honda Motor.</li>
</ul>
<p><strong>Summary</strong></p>
<ul>
<li>The lawyers who are getting paid millions love it.</li>
<li>Not a single member of the settlement class wrote in favor of the settlement.</li>
<li>Honda just wants to pay this ransom and move on.</li>
</ul>
<p>I&#8217;m under no illusion that my letter will have any effect.  </p>
<p>It is a measurable fact that Cuneo and Chimicles are poor negotiators.  Although damages are in the thousands of dollars per individual, they could only negotiate a $100 settlement for us.  This is in spite of the fact that another member of the class, <a href="http://www.huffingtonpost.com/2012/02/02/honda-hybrid-lawsuit-heather-peters-wins_n_1248357.html">Heather Peters, was able to successfully negotiate $9,867 for herself</a> &#8211; nearly 100 times more than Cuneo and Chimicles.</p>
<p>Sadly, Cuneo and Chimicles will not be fired for their lackluster performance.  Instead, for this one case, they will each be paid a multi-million dollar sum greater than the average American will earn in his entire lifetime (median salary * 45 years).</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=5x_zVeYQVqI:oOwhHYNOC1Y:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=5x_zVeYQVqI:oOwhHYNOC1Y:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=5x_zVeYQVqI:oOwhHYNOC1Y:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=5x_zVeYQVqI:oOwhHYNOC1Y:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=5x_zVeYQVqI:oOwhHYNOC1Y:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=5x_zVeYQVqI:oOwhHYNOC1Y:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=5x_zVeYQVqI:oOwhHYNOC1Y:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=5x_zVeYQVqI:oOwhHYNOC1Y:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/5x_zVeYQVqI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2012/03/10/honda-hybrid-settlement-only-the-lawyers-like-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2012/03/10/honda-hybrid-settlement-only-the-lawyers-like-it/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=honda-hybrid-settlement-only-the-lawyers-like-it</feedburner:origLink></item>
		<item>
		<title>SPDY Momentum Fueled by Juggernauts</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/ikvLmDFtNCU/</link>
		<comments>http://www.belshe.com/2012/03/07/spdy-momentum-fueled-by-juggernauts/#comments</comments>
		<pubDate>Thu, 08 Mar 2012 06:54:30 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/?p=1061</guid>
		<description><![CDATA[TweetRecent SPDY news comes from some big brands:  Twitter, Mozilla, Amazon, Apache, Google.

Mar, 2012Twitter now supports SPDY&#160;
Feb, 2012A draft of the SPDY specification is submitted to the http-bis working group for consideration toward the HTTP/2.0 effort.&#160;
Feb, 2012Firefox 11 now supports SPDY&#160;
Jan, 2012Google publishes SPDY Tech Talk, Announces that SPDY with SSL is now faster [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.belshe.com/2012/03/07/spdy-momentum-fueled-by-juggernauts/&via=mikebelshe&text=SPDY Momentum Fueled by Juggernauts&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script></div><div class="plusone" style="float: right"><g:plusone size="tall" href="http://www.belshe.com/2012/03/07/spdy-momentum-fueled-by-juggernauts/"></g:plusone></div><p>Recent <a href="http://dev.chromium.org/spdy">SPDY</a> news comes from some big brands:  Twitter, Mozilla, Amazon, Apache, Google.</p>
<ul>
<li><font size=-2>Mar, 2012</font><br /><a href="https://twitter.com/#!/raffi/status/177616491204714497/photo/1">Twitter now supports SPDY</a><br />&nbsp;</li>
<li><font size=-2>Feb, 2012</font><br />A <a href="http://tools.ietf.org/html/draft-mbelshe-httpbis-spdy-00">draft of the SPDY specification</a> is submitted to the http-bis working group for consideration toward the HTTP/2.0 effort.<br />&nbsp;</li>
<li><font size=-2>Feb, 2012</font><br /><a href="http://hacks.mozilla.org/2012/02/spdy-brings-responsive-and-scalable-transport-to-firefox-11/">Firefox 11 now supports SPDY</a><br />&nbsp;</li>
<li><font size=-2>Jan, 2012</font><br />Google publishes <a href="http://googlecode.blogspot.com/2012/01/making-web-speedier-and-safer-with-spdy.html">SPDY Tech Talk</a>, Announces that SPDY with SSL is now faster than HTTP without SSL for Google sites.<br />&nbsp;</li>
<li><font size=-2>Dec, 2011</font><br /><a href="http://calendar.perfplanet.com/2011/introducing-mod_spdy-a-spdy-module-for-the-apache-http-server/">Apache mod-spdy enters beta</a><br />&nbsp;</li>
<li><font size=-2>Nov, 2011</font><br /><a href="http://www.conceivablytech.com/9912/products/spdy-how-the-kindle-fire-may-inspire-a-much-faster-internet">Amazon launches Kindle Silk browser with SPDY support</a><br />&nbsp;</li>
</ul>
<p>Looking forward to seeing what comes next!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=ikvLmDFtNCU:IjjV7tnoy4A:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=ikvLmDFtNCU:IjjV7tnoy4A:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=ikvLmDFtNCU:IjjV7tnoy4A:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=ikvLmDFtNCU:IjjV7tnoy4A:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=ikvLmDFtNCU:IjjV7tnoy4A:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=ikvLmDFtNCU:IjjV7tnoy4A:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=ikvLmDFtNCU:IjjV7tnoy4A:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=ikvLmDFtNCU:IjjV7tnoy4A:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/ikvLmDFtNCU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2012/03/07/spdy-momentum-fueled-by-juggernauts/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2012/03/07/spdy-momentum-fueled-by-juggernauts/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=spdy-momentum-fueled-by-juggernauts</feedburner:origLink></item>
		<item>
		<title>Rethinking SSL for Mobile Apps</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/92pP7XLcD2w/</link>
		<comments>http://www.belshe.com/2012/02/04/rethinking-ssl-for-mobile-apps/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 19:04:20 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/?p=1040</guid>
		<description><![CDATA[TweetMobile Apps use HTTP.  But they usually don&#8217;t use it to transfer HyperText &#8211; rather they are using it to transfer JSON, XML, or other data formats.  Just like their web counterparts, secure transmission is desirable.
But, if you ever trace a fresh SSL connection, you know that its a nasty process:

DNS
 TCP handshake
 [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.belshe.com/2012/02/04/rethinking-ssl-for-mobile-apps/&via=mikebelshe&text=Rethinking SSL for Mobile Apps&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script></div><div class="plusone" style="float: right"><g:plusone size="tall" href="http://www.belshe.com/2012/02/04/rethinking-ssl-for-mobile-apps/"></g:plusone></div><p>Mobile Apps use HTTP.  But they usually don&#8217;t use it to transfer HyperText &#8211; rather they are using it to transfer JSON, XML, or other data formats.  Just like their web counterparts, secure transmission is desirable.</p>
<p>But, if you ever trace a fresh SSL connection, you know that its a nasty process:</p>
<ul>
<li>DNS
<li> TCP handshake
<li> SSL handshake
<li> Server sends certificate
<li> DNS to CA
<li> TCP to CA
<li> OCSP to CA
<li> Finish SSL handshake
<li> Finally do what you wanted to do….
</ul>
<p>SSL is designed so that you can pick up some random certificate and check it dynamically.  This is a good thing for the web, where the user coasts from site to site, happily discovering new content which needs new validation.</p>
<p>But this process is pretty costly, especially on mobile networks.  For my own service, I just did a quick trace over 3G:</p>
<ul>
<li> DNS (1334ms)
<li> TCP handshake (240ms)
<li> SSL handshake (376ms)
<li> Follow certificate chain (1011ms)  &#8212; server should have bundled this.
<li> DNS to CA  (300ms)
<li> TCP to CA (407ms)
<li> OCSP to CA #1 (598ms)   &#8212; StartSSL CA uses connection close on each!
<li> TCP to CA #2 (317ms)
<li> OCSP to CA #2 (444ms)
<li> Finish SSL handshake (1270ms)
</ul>
<p>With the web, this verification process makes some sense &#8211; you ask the CA to be your trust point and verify that he trusts the certificate provided.</p>
<p>But why do this with a mobile app?  Your mobile app has a lot of trust with it &#8211; they downloaded it from you, its signed by Apple, and if the code has been compromised, well, heck, your app isn&#8217;t really running anyway.</p>
<p>What we really want for mobile apps is to bake the server&#8217;s certificate into the app.  If the server&#8217;s certificate needs to change, you can auto-update your app.   In the example above, doing so would have shaved about 3000ms off application startup time. </p>
<p>The downside of this is that if your certificate changes, your app won&#8217;t verify.  Then what to do?  Simple &#8211; force an auto update.  </p>
<p>There is another advantage to this approach.  If you can verify your own certs, you don&#8217;t need a CA provided certificate anyway.  These silly 1-2 year expirations are no longer necessary.  Sign your own cert, and verify it yourself.  Since our CAs have been getting hacked left and right in 2011, this is probably even more secure.</p>
<p>PS:  SSL is hard.  In this one trace, I can spot at *least* 3 low-hanging-fruit optimizations.  I haven&#8217;t mentioned them, because they are pervasive everywhere on the net.  There are errors here at every level &#8211; the client is missing opportunities, the server is missing opportunities, and the CA is missing opportunities!   It&#8217;s no wonder that SSL is slow.  The chance that your combination of client + server + CA will have some dumb performance bug is ~99%.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=92pP7XLcD2w:-RbYMaF6A88:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=92pP7XLcD2w:-RbYMaF6A88:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=92pP7XLcD2w:-RbYMaF6A88:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=92pP7XLcD2w:-RbYMaF6A88:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=92pP7XLcD2w:-RbYMaF6A88:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=92pP7XLcD2w:-RbYMaF6A88:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=92pP7XLcD2w:-RbYMaF6A88:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=92pP7XLcD2w:-RbYMaF6A88:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/92pP7XLcD2w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2012/02/04/rethinking-ssl-for-mobile-apps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2012/02/04/rethinking-ssl-for-mobile-apps/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rethinking-ssl-for-mobile-apps</feedburner:origLink></item>
		<item>
		<title>Chrome 16 – World’s Most Popular Browser</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/oY_icButv7c/</link>
		<comments>http://www.belshe.com/2012/02/02/chrome-16-worlds-most-popular-browser/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 21:08:05 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Chrome]]></category>

		<guid isPermaLink="false">http://www.belshe.com/?p=1035</guid>
		<description><![CDATA[TweetI haven&#8217;t read about this anywhere, but in Jan 2012, Chrome 16 was the World&#8217;s Most Popular Browser.  A minor stat, but a testament to modern update policies.  You won&#8217;t read about this in any press release, but this is the #1 reason why Chrome&#8217;s security is better than any other browser.

]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.belshe.com/2012/02/02/chrome-16-worlds-most-popular-browser/&via=mikebelshe&text=Chrome 16 - World's Most Popular Browser&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script></div><div class="plusone" style="float: right"><g:plusone size="tall" href="http://www.belshe.com/2012/02/02/chrome-16-worlds-most-popular-browser/"></g:plusone></div><p>I haven&#8217;t read about this anywhere, but in Jan 2012, Chrome 16 was the World&#8217;s Most Popular Browser.  A minor stat, but a testament to modern update policies.  You won&#8217;t read about this in any press release, but this is the #1 reason why Chrome&#8217;s security is better than any other browser.</p>
<p><a href="http://www.belshe.com/wp-content/uploads/2012/02/Screen-shot-2012-02-02-at-1.01.23-PM.png"><img src="/wp-content/uploads/2012/02/Screen-shot-2012-02-02-at-1.01.23-PM.png" alt="" title="Screen shot 2012-02-02 at 1.01.23 PM" width="823" height="514" class="alignnone size-full wp-image-1037" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=oY_icButv7c:EeMLQes5Fm4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=oY_icButv7c:EeMLQes5Fm4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=oY_icButv7c:EeMLQes5Fm4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=oY_icButv7c:EeMLQes5Fm4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=oY_icButv7c:EeMLQes5Fm4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=oY_icButv7c:EeMLQes5Fm4:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=oY_icButv7c:EeMLQes5Fm4:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=oY_icButv7c:EeMLQes5Fm4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/oY_icButv7c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2012/02/02/chrome-16-worlds-most-popular-browser/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2012/02/02/chrome-16-worlds-most-popular-browser/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=chrome-16-worlds-most-popular-browser</feedburner:origLink></item>
		<item>
		<title>Origin http://localhost is not allowed by Access-Control-Allow-Origin</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/MBCPDhCpTF8/</link>
		<comments>http://www.belshe.com/2012/01/26/origin-httplocalhost-is-not-allowed-by-access-control-allow-origin/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 23:50:31 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.belshe.com/?p=1031</guid>
		<description><![CDATA[TweetI had a frustrating day.  I&#8217;m writing some simple ajax/xhr tests, and I can&#8217;t get the browser to issue my requests:
Origin http://localhost is not allowed by Access-Control-Allow-Origin
Searching on Google, it&#8217;s clear that lots of other people are having the same problem, but nobody has an answer &#8211; the browser nazis are being overzealous, protecting [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.belshe.com/2012/01/26/origin-httplocalhost-is-not-allowed-by-access-control-allow-origin/&via=mikebelshe&text=Origin http://localhost is not allowed by Access-Control-Allow-Origin&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script></div><div class="plusone" style="float: right"><g:plusone size="tall" href="http://www.belshe.com/2012/01/26/origin-httplocalhost-is-not-allowed-by-access-control-allow-origin/"></g:plusone></div><p>I had a frustrating day.  I&#8217;m writing some simple ajax/xhr tests, and I can&#8217;t get the browser to issue my requests:</p>
<blockquote><p>Origin http://localhost is not allowed by Access-Control-Allow-Origin</p></blockquote>
<p><a href="https://www.google.com/#sclient=psy-ab&#038;hl=en&#038;source=hp&#038;q=Origin+http%3A%2F%2Flocalhost+is+not+allowed+by+Access-Control-Allow-Origin">Searching on Google</a>, it&#8217;s clear that lots of other people are having the same problem, but nobody has an answer &#8211; the browser nazis are being overzealous, protecting us from localhost &#8211; really?  </p>
<p>Fortunately, chrome has a workaround.  Use this commandline:</p>
<p>    chrome.exe &#8211;disable-web-security</p>
<p>And you can get your job done.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=MBCPDhCpTF8:dQaznMvtxV0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=MBCPDhCpTF8:dQaznMvtxV0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=MBCPDhCpTF8:dQaznMvtxV0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=MBCPDhCpTF8:dQaznMvtxV0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=MBCPDhCpTF8:dQaznMvtxV0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=MBCPDhCpTF8:dQaznMvtxV0:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=MBCPDhCpTF8:dQaznMvtxV0:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=MBCPDhCpTF8:dQaznMvtxV0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/MBCPDhCpTF8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2012/01/26/origin-httplocalhost-is-not-allowed-by-access-control-allow-origin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2012/01/26/origin-httplocalhost-is-not-allowed-by-access-control-allow-origin/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=origin-httplocalhost-is-not-allowed-by-access-control-allow-origin</feedburner:origLink></item>
		<item>
		<title>Fire Your Lawyer</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/uZ4t_4vtKek/</link>
		<comments>http://www.belshe.com/2012/01/23/fire-your-lawyer/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 22:34:40 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.belshe.com/?p=1029</guid>
		<description><![CDATA[TweetJust spent 3 days waiting for turnaround on a contract where the other party&#8217;s counsel did nothing but twiddle the bits on the confidentiality clause.  What a waste of time, productivity, and legal bills.
Don&#8217;t get me wrong &#8211; the other lawyer is not the only one at fault here.  My lawyer is equally [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.belshe.com/2012/01/23/fire-your-lawyer/&via=mikebelshe&text=Fire Your Lawyer&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script></div><div class="plusone" style="float: right"><g:plusone size="tall" href="http://www.belshe.com/2012/01/23/fire-your-lawyer/"></g:plusone></div><p>Just spent 3 days waiting for turnaround on a contract where the other party&#8217;s counsel did nothing but twiddle the bits on the confidentiality clause.  What a waste of time, productivity, and legal bills.</p>
<p>Don&#8217;t get me wrong &#8211; the other lawyer is not the only one at fault here.  My lawyer is equally to blame.</p>
<p>What the hell?  Why is it that my lawyer, and the other lawyer both thought they needed to reinvent a confidentiality clause?  Can&#8217;t we just create one, have it ratified by the courts and live with it?  Why do two lawyers get to rack up wages at $300/hr to modify 2 sentences that they&#8217;ve modified a thousand times before?</p>
<p>Lawyers who don&#8217;t work on fixing this problem are the problem.  They all need to get together, settle this, and stop raping America.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=uZ4t_4vtKek:9aHzyScVdkE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=uZ4t_4vtKek:9aHzyScVdkE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=uZ4t_4vtKek:9aHzyScVdkE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=uZ4t_4vtKek:9aHzyScVdkE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=uZ4t_4vtKek:9aHzyScVdkE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=uZ4t_4vtKek:9aHzyScVdkE:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=uZ4t_4vtKek:9aHzyScVdkE:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=uZ4t_4vtKek:9aHzyScVdkE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/uZ4t_4vtKek" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2012/01/23/fire-your-lawyer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2012/01/23/fire-your-lawyer/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=fire-your-lawyer</feedburner:origLink></item>
		<item>
		<title>Honda Civic Hybrid Lawsuit</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/usHgcDycvC8/</link>
		<comments>http://www.belshe.com/2012/01/04/honda-civic-hybrid-lawsuit/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 20:28:55 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.belshe.com/?p=1024</guid>
		<description><![CDATA[TweetHeather Peters has become semi-famous this week because of her small-claims suit against Honda.  Honda reached a class-action settlement because the gas mileage of the Civic is simply not up to par.  This matches my own experience.  Aside from the first few months owning the car where I was both actively hypermiling [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.belshe.com/2012/01/04/honda-civic-hybrid-lawsuit/&via=mikebelshe&text=Honda Civic Hybrid Lawsuit&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script></div><div class="plusone" style="float: right"><g:plusone size="tall" href="http://www.belshe.com/2012/01/04/honda-civic-hybrid-lawsuit/"></g:plusone></div><p>Heather Peters has become semi-famous this week <a href="http://www.dailymail.co.uk/news/article-2082030/Woman-sues-Honda-claiming-hybrid-Civic-doesnt-meet-gas-mileage-expectations.html">because of her small-claims suit against Honda</a>.  <a href="http://dockets.justia.com/docket/california/cacdce/5:2007cv00287/384460/">Honda reached a class-action settlement</a> because the gas mileage of the Civic is simply not up to par.  This matches my own experience.  Aside from the first few months owning the car where I was both actively <a href="http://en.wikipedia.org/wiki/Hypermiling">hypermiling</a> and also driving exclusively highway miles, the gas mileage in my car has been disappointing.  My hybrid gets ~38mpg right now, a far cry worse than the claimed 50mpg that I should be getting.</p>
<p>The class action lawsuit was a joke.  The lawyers walked away with millions, while the consumers were compensated with $100 and a video.  And each Civic Hybrid consumer has thousands of dollars in damages.  Worse, the settlement bars anyone who even complained about the settlement from receiving the settlement.  I complained, of course, and my punishment is that I didn&#8217;t get the $100.</p>
<p>Since there seems to be renewed interest in this whole affair, here is the full text of the letter I submitted to the court regarding the class action suit back in December 2009.</p>
<p>UNITED STATES DISTRICT COURT<br />
CENTRAL DISTRICT OF CALIFORNIA<br />
EASTERN DISTRICT &#8211; RIVERSIDE</p>
<p>JOHN TRUE, et al.,<br />
  Plaintiffs,                                                             Case No.: 5:07-cv-00287-VAP-OP </p>
<p>v. </p>
<p>AMERICAN HONDA MOTOR CO., INC</p>
<p>  Defendants. </p>
<p>OBJECTIONS TO CLASS ACTION SETTLEMENT</p>
<p>I am a member of the settlement class for Case No. 5:07-cv-00287-VAP-OP (True vs. Honda Motor Company Inc.).  This letter officially declares my objection to the settlement on the grounds that this settlement is not in the best interest of the members of the settlement class.</p>
<p><strong>Background</strong><br />
This lawsuit was brought against American Honda Motors (AMH) because the fuel efficiency of their cars does not match the advertised claims.  Evidence has been presented that the cars were advertised to achieve 50MPG while only actually achieving 32MPG for many drivers.  Drivers of these cars often purchase them specifically because of the alleged low cost of operation.  When the gas mileage fails to achieve advertised claims, the consumer is left to pay the difference.  I believe the difference is an accurate representation of the damages caused by AMH.  </p>
<p>The Honda Civic warranties apply to various parts of the car for 50,000 to 150,000 miles, and consumers are sold the car with the <a href="http://www.honda.com/news/article.aspx?id=2006031670437">expectation that 100,000 miles is reasonable</a><br />
 .  Gasoline in <a href="http://www.CaliforniaGasPrices.com/retail_price_chart.aspx?city1=California&#038;city2=&#038;city3=&#038;crude=n&#038;tme=36&#038;units=us">California has averaged ~$3.20 per gallon over the last 3 years</a><br />
 .  Using these figures, if the car only achieved 32MPG instead of 50MPG, the per-consumer damages are ~$3,600.  </p>
<p><strong>Objections</strong><br />
I have 4 objections to this settlement.</p>
<p><em><strong>Objection #1:</strong> Failure to correct damages for the settlement class</em><br />
Given the magnitude of damages to consumers, the settlement offer simply is not in the best interest of the settlement class.  The settlement reimburses the members of the class for less than 2% of the damages incurred.</p>
<p>In the settlement, members are given 3 options:<br />
    a) Sell your hybrid, and get a $1000 coupon on another Honda (not a hybrid).<br />
    b) Give your hybrid to a family member, get a $500 coupon on another Honda (not a hybrid).<br />
    c) Get a $100 check.<br />
All 3 options include a video for how to get better gas mileage.</p>
<p>Even if the settlement member wanted a new car (which many do not), the $1,000 rebate still would still be less than one-third of the damages incurred due to unexpectedly low cost-of-operation.</p>
<p>But worse, for most consumers, the $100 settlement is so small that it does not offset the damages at all.  At the same time, this settlement greatly reduces the consumer&#8217;s claims against Honda, and may even void the consumers current warranty.  Why would any consumer sell this privilege for a mere $100?  (see the second objection #2).</p>
<p><em><strong>Objection #2:</strong> Overreaching settlement releases</em><br />
As part of this settlement, all members of the settlement class release all claims against AMH regarding anything related to the fuel economy of the vehicle.  Specifically, the settlement covers anything</p>
<p>&#8220;involving, based on, relating to, arising out of or in any way connected with, directly or indirectly, the advertising of the fuel economy or m.p.g. of the HCH&#8230;&#8221;</p>
<p>With regard to existing warranties, it states</p>
<p>&#8220;Nothing in this Agreement shall be interpreted to modify or diminish the manufacturer&#8217;s limited warranty with respect to a Class Vehicle; provided, however, that any such claim of breach of any warranty or any extended warranty based on the advertising or representations made by AHM with respect to fuel economy, mileage or m.p.g are in fact released.&#8221;</p>
<p>This clause is completely overreaching!  For instance, Honda warrants the batteries in the vehicle for 50-150K miles.  When I was sold the vehicle, the salesperson told me that the batteries would not need replacement for 150K miles.  However, as the batteries get old (much like the batteries in your cellphone), they hold their charge for diminishing amounts of time.  The car will still operate just fine even with diminished battery life, but the MPG rating will drop significantly!  I fear that if I accept this settlement, and then I go to Honda to get help with replacement of my previously-under-warranty batteries, I will no longer have a claim.  Honda will be able to say that my car is working fine, and that the battery problem related to MPG was Released as part of this settlement.</p>
<p>As such, this contract specifically DOES alter my warranty, despite claims to the contrary.</p>
<p><em><strong>Objection #3:</strong> The retaliatory nature of the settlement against its members.</em><br />
As part of this settlement, any member of the settlement class that objects to the settlement is specifically barred from collecting any benefits if the settlement is accepted by the court.  This clause is clearly not in the best interest of the settlement class, and is actually retaliatory in nature.  </p>
<p>It is clear to me that the damages I have personally incurred due to AMH&#8217;s wrongful advertising are far in excess of the $100 settlement.  Purchasing a new Honda has no appeal to me.  I do not want to purchase a new car from Honda at any time in the future, and even if I did, I would like to get a hybrid.  As such, options (a) and (b) simply do not make any sense.</p>
<p>But the negotiators of this settlement have defined only 3 options, and I am required to either accept them or be ignored from any settlement result.  This clearly only serves the interest of the legal staff and does not serve the interest of the plaintiffs.</p>
<p><em><strong>Objection #4: </strong>Negotiation of excessive attorney compensation at the expense of the settlement members</em><br />
I recognize that the attorneys have worked hard on this case for the last year.  While they are pushing for a quick settlement which will enable them to receive a hefty payout of nearly 3 million dollars, they have failed to negotiate a settlement which actually addresses the original problem in the claim.  If they believe that settlement members would benefit by accepting a plan which voids their warranty and only recoups 2% of the damages, then the attorney fees should also be diminished &#8211; I propose they should be set to 2% of the requested fees, or $92,187.</p>
<p><strong>My Status in the Settlement Class</strong><br />
The following responses are the required responses as per the proposed settlement in progress.</p>
<p>(i) Name address and phone number<br />
Michael Belshe<br />
[DETAILS OMITTED FROM BLOG]</p>
<p>(iii) Grounds for objection<br />
Stated above.<br />
(iv) Proof<br />
Stated above.<br />
(v) No persons will be called to testify<br />
(vi) I do intend to appear at the Final Approval Hearing, schedule permitting.<br />
(vii) I have appeared in no other cases as a settlement objector or counsel in the past 5 years.</p>
<p><strong>Recommendations</strong><br />
I have 5 recommendations for the settlement:<br />
(a) The negotiators should compute a reasonable figure for damages to each consumer.  (I computed $3,600).<br />
(b) The negotiators should negotiate a settlement for at least 50% of those damages.<br />
(c) Objecting to a proposal must not cause members to be excluded from a settlement.<br />
(d) The settlement must re-address the warranty voiding effects mentioned above.<br />
(e) The attorney fees should be in-line with what settlement members receive in the settlement.  If the settlement members recoup 50% of their damages, then the attorneys should only collect 50% of their $2.95M fee as well.</p>
<p>Respectfully,</p>
<p>Michael A Belshe</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=usHgcDycvC8:iIXFiCmifts:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=usHgcDycvC8:iIXFiCmifts:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=usHgcDycvC8:iIXFiCmifts:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=usHgcDycvC8:iIXFiCmifts:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=usHgcDycvC8:iIXFiCmifts:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=usHgcDycvC8:iIXFiCmifts:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=usHgcDycvC8:iIXFiCmifts:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=usHgcDycvC8:iIXFiCmifts:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/usHgcDycvC8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2012/01/04/honda-civic-hybrid-lawsuit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2012/01/04/honda-civic-hybrid-lawsuit/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=honda-civic-hybrid-lawsuit</feedburner:origLink></item>
	</channel>
</rss>
