<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Robert Accettura&#039;s Fun With Wordage &#187; Google</title>
	<atom:link href="http://robert.accettura.com/blog/tag/google/feed/" rel="self" type="application/rss+xml" />
	<link>http://robert.accettura.com</link>
	<description>Robert Accettura&#039;s Personal Blog on Web Development and Tech</description>
	<lastBuildDate>Thu, 09 Feb 2012 01:43:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://robert.accettura.com/?pushpress=hub'/>
<cloud domain='robert.accettura.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>How Google Music Works</title>
		<link>http://robert.accettura.com/blog/2011/11/16/how-google-music-works/</link>
		<comments>http://robert.accettura.com/blog/2011/11/16/how-google-music-works/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 04:05:54 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[google music]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=6541</guid>
		<description><![CDATA[Google announced Google Music. Needless to say I was curious how they implemented an audio player in the browser. Most of the application is your run of the mill modern Web Application with lots of JavaScript. It looks like pretty &#8230; <a href="http://robert.accettura.com/blog/2011/11/16/how-google-music-works/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Google announced <a href="http://music.google.com">Google Music</a>.  Needless to say I was curious how they implemented an audio player in the browser.  Most of the application is your run of the mill modern Web Application with lots of JavaScript.  It looks like pretty much anything Google&#8217;s built in recent years.  It doesn&#8217;t do anything really out of the ordinary for the most part.  Until you get to the audio playback.</p>
<p>How the audio is played is interesting:</p>
<pre>

&lt;div id=&quot;embed-container&quot;&gt;
  &lt;audio autoplay=&quot;autoplay&quot; id=&quot;html5Player&quot;&gt;&lt;/audio&gt;
  &lt;div class=&quot;goog-ui-media-flash&quot;&gt;
    &lt;embed wmode=&quot;window&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot; type=&quot;application/x-shockwave-flash&quot; seamlesstabbing=&quot;false&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;sameDomain&quot; bgcolor=&quot;#000000&quot; flashvars=&quot;&quot; src=&quot;r/musicplayer.swf&quot; class=&quot;goog-ui-media-flash-object&quot; name=&quot;:0&quot; id=&quot;:0&quot; quality=&quot;high&quot; style=&quot;width: 1px; height: 1px;&quot;&gt;&lt;/embed&gt;
  &lt;/div&gt;
&lt;/div&gt;
</pre>
<p>You&#8217;re reading that right.  That&#8217;s a HTML5 <code>&lt;audio/&gt;</code> tag.  First time I&#8217;ve seen it appear in a major product.  However as of this writing in Firefox, Safari, and Chrome on Mac OS X the Flash player seems to be used.  I suspect, but can&#8217;t confirm that this may indicate a future intent of using HTML5 <code>&lt;audio/&gt;</code> in place of Flash.  Flash is likely the default for now.  But it&#8217;s still very interesting to see.</p>
<p>The audio itself seems to be 44,100 Hz 320 kb/s MPEG Layer 3 (MP3) audio.  The samples I&#8217;ve looked at were encoded with LAME 3.98.2.  Obviously if they intend to use HTML5 audio they will need to offer something other than MP3 at least for Firefox users.  It&#8217;s not currently possible to serve everyone <a href="http://diveintohtml5.info/video.html">without multiple encodings</a>.  I don&#8217;t see that changing anytime soon.</p>
<p>The servers serving the media seem very similar to YouTube&#8217;s delivery servers for H.264 video.  It&#8217;s progressive download, again just like YouTube.  No DRM.  I suspect there&#8217;s a shared history between this delivery system and YouTube or a very strong influence.  But knowing how Google works, there&#8217;s likely a shared backend.</p>
<p>It&#8217;s pretty good stuff.  I highly recommend checking it out.  Google built a decent mp3 player in the cloud.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=6541#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2011/11/751f915.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2011/11/16/how-google-music-works/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Thoughts On Dart</title>
		<link>http://robert.accettura.com/blog/2011/10/11/quick-thoughts-on-dart/</link>
		<comments>http://robert.accettura.com/blog/2011/10/11/quick-thoughts-on-dart/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 14:02:08 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[dash]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=6352</guid>
		<description><![CDATA[Google yesterday officially took the wraps off Dart. Google decided to stop short of outright calling it a replacement for JavaScript, however that does seem to be one of the goals. I&#8217;m still looking at it myself, but my first &#8230; <a href="http://robert.accettura.com/blog/2011/10/11/quick-thoughts-on-dart/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Google yesterday officially took the wraps off <a href="http://www.dartlang.org">Dart</a>.  Google decided to stop short of outright calling it a replacement for JavaScript, however that does seem to be one of the goals.</p>
<p>I&#8217;m still looking at it myself, but my first impression is that the point of another language is buried in the details of the <a href="http://googlecode.blogspot.com/2011/10/dart-language-for-structured-web.html">announcement</a>.  This particular sentence I think is the focal point (emphasis mine):</p>
<blockquote cite="http://googlecode.blogspot.com/2011/10/dart-language-for-structured-web.html">
<ul>
<li>Ensure that Dart delivers high performance on all modern web browsers and environments ranging from small handheld devices <strong>to server-side execution</strong>.</li>
</ul>
</blockquote>
<p>I suspect the real goal behind Dart is to unify the stack as much as possible.  Web Development today is one of the most convoluted things you can do in Computer Science.  Think about just the technologies/languages you are going to deal with to create a &#8220;typical&#8221; application:</p>
<ul>
<li>SQL</li>
<li>Server Side Language</li>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
</ul>
<p>That&#8217;s actually a <em>very</em> simple stack and almost academic in nature.  &#8220;In real life&#8221; Most stacks are even more complicated, especially when dealing with big data.  Most professions deal with a handful of technologies. Web Development deals with whatever is at hand.  I&#8217;m not even getting into supporting multiple versions of multiple browsers on multiple OS&#8217;s.</p>
<p>Google even said in a <a href="http://pastebin.com/NUMTTrKj">leaked internal memo</a>:</p>
<blockquote cite="http://pastebin.com/NUMTTrKj"><p>
- Front-end Server &#8212; Dash will be designed as a language that can be used server-side for things up to the size of Google-scale Front Ends.  This will allow large scale applications to unify on a single language for client and front end code.
</p></blockquote>
<p>Additionally:</p>
<blockquote><p>
What happened to Joy?<br />
The Joy templating and MVC systems are higher-level frameworks that will be built on top of Dash.
</p></blockquote>
<p>By using one language you&#8217;d reduce what a developer needs to know and specialize in to build an application.  This means higher productivity and more innovation and less knowledge overhead.</p>
<p>This wouldn&#8217;t be the first attempt at this either for Google.  <a href="https://code.google.com/webtoolkit/">GWT</a> is another Google effort to let developers write Java that&#8217;s transformed into JavaScript.  This however <a href="http://ryandoherty.net/2007/04/29/why-google-web-toolkit-rots-your-brain/">doesn&#8217;t always work well</a> and has limitations.</p>
<p>The web community has actually been working on this in the other direction via <a href="http://nodejs.org/">node.js</a> which instead takes JS and puts it on the server side, rather than inventing a language that seems almost server side and wanting to put it in the browser.</p>
<p>Google still seems to have plans for <a href="http://golang.org/">Go</a>:</p>
<blockquote><p>
What about Go?<br />
Go is a very promising systems-programming language in the vein of C++.  We fully hope and expect that Go becomes the standard back-end language at Google over the next few years.   Dash is focused on client (and eventually Front-end server development).  The needs there are different (flexibility vs. stability) and therefore a different programming language is warranted.
</p></blockquote>
<p>It seems like Go would be used where C++ or other high performance compiled languages are used today and Dart would be used for higher level front-end application servers as well as the client side, either directly or through a compiler which would turn it into JavaScript.</p>
<p>Would other browsers (Safari, Firefox, IE) consider adopting it?  I&#8217;m unsure.  Safari would likely have a lead as the memo states &#8220;Harmony will be implemented in V8 and JSC (Safari) simultaneously to avoid a WebKit compatibility gap&#8221;.  Presumably IE and Firefox would be on their own to implement or adapt that work.</p>
<p>New languages rarely succeed in adoption.  On the internet the barrier is even higher.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=6352#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2011/10/9f16b57.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2011/10/11/quick-thoughts-on-dart/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Version Numbers Still Matter</title>
		<link>http://robert.accettura.com/blog/2011/09/28/version-numbers-still-matter/</link>
		<comments>http://robert.accettura.com/blog/2011/09/28/version-numbers-still-matter/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 01:01:42 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[life-cycle]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=6271</guid>
		<description><![CDATA[I ran into an interesting situation today not unlike one I&#8217;ve encountered hundreds of times before but this time with Google Chrome. One person was able to reproduce the bug on an internal tool with ease. Nobody else was able &#8230; <a href="http://robert.accettura.com/blog/2011/09/28/version-numbers-still-matter/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://robert.accettura.com/blog/2011/09/28/version-numbers-still-matter/google_doesnt_care/" rel="attachment wp-att-6272"><img src="http://robert.accettura.com/wp-content/uploads/2011/09/google_doesnt_care-300x298.jpg" alt="Google Doesn&#039;t Care About Web Developers" title="Google Doesn&#039;t Care About Web Developers" width="300" height="298" class="alignleft size-medium wp-image-6272" /></a>I ran into an interesting situation today not unlike one I&#8217;ve encountered hundreds of times before but this time with Google Chrome.  One person was able to reproduce the bug on an internal tool with ease. Nobody else was able to.  Eventually upon getting the version number it clicked.  This particular computer had Chrome 10 installed.  </p>
<p>For my younger readers, Chrome 10 is an &#8220;ancient&#8221; version from March 2011.  This is back when Obama was still in office, the United States was in a recession, there was a debt problem in Europe, hipsters carried their iPads in <a href="http://www.youtube.com/watch?v=iuygRWVwuUI">man purses</a>&#8230; These were crazy times.</p>
<p>For whatever reason this Chrome install, like a number out there didn&#8217;t update.  It could be security permissions, it could have been disabled for some reason.  I really don&#8217;t know, or care terribly much.  The reality is not everyone can update on release day regardless of opinions on the matter.</p>
<p>Go try and find Chrome 10 Mac OS X on the internet.  Try using a search engine like Google.  Now try and find it for any platform.  Good luck.  It&#8217;s a pain.  I can get a <a href="http://ftp.mozilla.org/pub/mozilla.org/phoenix/releases/0.1/">Phoenix 0.1 binary</a> from Sept 2002 (this was my primary browser for part of fall 2002, I used it before Firefox was cool), but I couldn&#8217;t find Chrome 10 from way back in 2011.  I was eventually able to trace down a Chrome 10 binary, work around the problem and move forward however it took way more time than it should have.</p>
<p>This to me illustrates a few key points:</p>
<ul>
<li><strong>Version numbers still matter</strong> &#8211; They matter.  Simple enough.  Even in a rather sterile environment that this was, I had to deal with an older browser.  They exist in larger quantities out in the wild web.  Saying they don&#8217;t matter anymore is naive. Idealistic, but naive.</li>
<li><strong>Make old platforms available</strong> &#8211; Just because you ship a new version doesn&#8217;t mean the old one has no relevance or need anymore.  Google lost some serious credit in my mind for making it nearly impossible to get an &#8220;older&#8221; version of Chrome to test with.  This shouldn&#8217;t be difficult.  Google is said to have approximately <a href="http://www.datacenterknowledge.com/archives/2011/08/01/report-google-uses-about-900000-servers/">900,000 servers</a>.  Surely they can setup an archive with an explicit notice it&#8217;s an archive and user should download the latest. Mozilla&#8217;s got less than that.</li>
</ul>
<p>The web is a fluid platform.  Browsers are evolving platform<strong>s</strong>.  Versions still matter as long as two things, the web at large, and the platform that is the browser need to interact.  When version numbers no longer exist, it will likely be because monoculture is so strong it doesn&#8217;t matter.  Until then, knowing what browser and what version will matter.  Browsers will likely never agree 100% on what to implement and a timetable for implementation.</p>
<p><small>That image is a joke if you can&#8217;t tell.  Google Chrome Developers are good people, they just need to put together an archive page for web developers.</small>
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=6271#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2011/09/a1b63b3.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2011/09/28/version-numbers-still-matter/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>2012 Presidential Candidate Websites</title>
		<link>http://robert.accettura.com/blog/2011/09/01/2012-presidential-candidate-websites/</link>
		<comments>http://robert.accettura.com/blog/2011/09/01/2012-presidential-candidate-websites/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 00:07:37 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Around The Web]]></category>
		<category><![CDATA[akamai]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[barack obama]]></category>
		<category><![CDATA[campaign 2012]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=6044</guid>
		<description><![CDATA[Back in 2008 I did a special segment in my &#8220;Secrets In Websites&#8221; series for the 2008 Presidential Elections. It was quite popular (almost crashed the server). I decided to do it again, but slightly revised for 2012. My observations/conclusions/insights &#8230; <a href="http://robert.accettura.com/blog/2011/09/01/2012-presidential-candidate-websites/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Back in 2008 I did a special segment in my &#8220;Secrets In Websites&#8221; series for the <a href="http://robert.accettura.com/blog/2008/01/11/secrets-in-websites-ii/2/">2008 Presidential Elections</a>.  It was quite popular (almost crashed the server).  I decided to do it again, but slightly revised for 2012.</p>
<p><span id="more-6044"></span>My observations/conclusions/insights (if you can call it that) can be found after the raw data.</p>
<div style="background-color: #FFFFD1; border: 2px dashed #FFF100; padding: 8px 15px;">
<strong>Disclaimer:</strong><em> If you post a comment that&#8217;s beyond the technical scope of this post, it will be deleted</em>.  This isn&#8217;t a politics site, and I don&#8217;t have the patience or time for it.  My blog, my rules.  No exceptions.</p>
<p>This is just a list of data I collected as <a href="#datacollection">described</a> at the bottom of the page and empirical observations.  This site is <strong>not</strong> an endorsement for or against any candidate or party by myself or my employer.
</div>
<style type="text/css"> .dataTable th { text-align: left; } </style>
<h3>Backend</h3>
<table class="dataTable">
<tr class="tableHeader">
<th>Candidate</th>
<th>Server/OS</th>
<th>CMS</th>
<th>Host</th>
<th>CDN</th>
</tr>
<tr>
<th><a href="http://www.barackobama.com/">Barack Obama (D)</a></th>
<td>Apache on Unknown</td>
<td>Unknown</td>
<td><a href="http://www.level3.com/content">Level3 (CDN)</a></td>
<td>Google CDN, Level3 (footprint.net for assets.bostatic.com)</td>
</tr>
<tr>
<th><a href="http://www.michelebachmann.com/">Michele Bachmann (R)</a></th>
<td>Apache on Unknown</td>
<td>WordPress</td>
<td><a href="http://www.smartechcorp.net">Smartech</a></td>
<td>No</td>
</tr>
<tr>
<th><a href="http://www.hermancain.com/">Herman Cain (R)</a></th>
<td>Apache on Unknown</td>
<td>WordPress</td>
<td><a href="http://www.godaddy.com">GoDaddy</a></td>
<td>No</td>
</tr>
<tr>
<th><a href="http://www.newt.org/">Newt Gingrich (R)</a></th>
<td>Apache on Unknown</td>
<td>Drupal</td>
<td><a href="http://www.smartechcorp.net">Smartech</a></td>
<td>No</td>
</tr>
<tr>
<th><a href="http://www.jon2012.com/">Jon Huntsman, Jr. (R)</a></th>
<td>Apache on Unknown</td>
<td>Drupal</td>
<td><a href="http://www.rackspace.com/cloud/">Rackspace Cloud</a></td>
<td>No</td>
</tr>
<tr>
<th><a href="http://www.garyjohnson2012.com/">Gary Johnson (R)</a></th>
<td>Apache on Unknown</td>
<td>WordPress</td>
<td><a href="http://mediatemple.net/">Media Temple</a></td>
<td>No</td>
</tr>
<tr>
<th><a href="http://fredkarger.com/">Fred Karger (R)</a></th>
<td>Apache on Unknown</td>
<td>Drupal</td>
<td><a href="http://www.slicehost.com">Slicehost</a> / <a href="http://www.rackspace.com/cloud">Rackspace Cloud</a></td>
<td>No</td>
</tr>
<tr>
<th><a href="http://www.andymartinforpresident.com/">Andy Martin (R}</a></th>
<td>Apache on Unknown</td>
<td>Appears to be static files</td>
<td><a href="http://www.godaddy.com">GoDaddy</a></td>
<td>No</td>
</tr>
<tr>
<th><a href="http://www.mccotter2012.com/">Thaddeus McCotter (R)</a></th>
<td>Apache on Unknown</td>
<td>WordPress</td>
<td><a href="http://www.rackspace.com">Rackspace</a></td>
<td>No</td>
</tr>
<tr>
<th><a href="http://jimmymcmillan.org/">Jimmy McMillan (R)</a></th>
<td>Nginx / Varnish</td>
<td>Trellix Site Builder</td>
<td><a href="http://www.ipowerweb.com/">IPOWERWEB</a></td>
<td>No</td>
</tr>
<tr>
<th><a href="http://www.roymoore2012.com/">Roy Moore (R)</a></th>
<td>Nginx / Varnish, Apache</td>
<td>Unknown</td>
<td><a href="http://www.ipowerweb.com/">IPOWERWEB</a></td>
<td>Cotendo</td>
</tr>
<tr>
<th><a href="http://www.ronpaul2012.com/">Ron Paul (R)</a></th>
<td>Apache on Unix</td>
<td>WordPress</td>
<td><a href="http://www.racksapce.com">Rackspace</a></td>
<td>Rackspace Cloud Files (Akamai)</td>
</tr>
<tr>
<th><a href="http://www.rickperry.org">Rick Perry (R)</a></th>
<td>Apache on Unknown</td>
<td>WordPress</td>
<td><a href="http://www.slicehost.com">Slicehost</a> / <a href="http://www.rackspace.com/cloud">Rackspace Cloud</a></td>
<td>Google CDN</td>
</tr>
<tr>
<th><a href="http://www.buddyroemer.com/">Buddy Roemer (R)</a></th>
<td>Apache on Unknown</td>
<td>WordPress</td>
<td><a href="http://www.smartechcorp.net">Smartech</a></td>
<td>No</td>
</tr>
<tr>
<th><a href="http://www.mittromney.com">Mitt Romney (R)</a></th>
<td>Nginx, Varnish on Unknown</td>
<td>Drupal</td>
<td><a href="http://https://aws.amazon.com/ec2/">Amazon Cloud</a></td>
<td>No</td>
</tr>
<tr>
<th><a href="http://www.ricksantorum.com">Rick Santorum (R)</a></th>
<td>Apache on Ubuntu</td>
<td>Drupal</td>
<td><a href="http://www.slicehost.com">Slicehost</a> / <a href="http://www.rackspace.com/cloud">Rackspace Cloud</a></td>
<td>No</td>
</tr>
<tr>
<th><a href="http://jonathontheimpalerforpresident2008.blogspot.com/">Jonathon Sharkey (R)</a></th>
<td>GSE (Google)</td>
<td>Blogspot</td>
<td>Google</td>
<td>Google Hosted</td>
</tr>
<tr>
<th><a href="http://www.timpawlenty.com/">Tim Pawlenty (R)</a></th>
<td>Varnish/Apache on Red Hat</td>
<td>Drupal</td>
<td><a href="http://www.rackspace.com/">Rackspace</a> via Freedom First PAC</td>
<td>No</td>
</tr>
</table>
<h3>Frontend</h3>
<table class="dataTable">
<tr class="tableHeader">
<th>Candidate</th>
<th>Markup</th>
<th># Validation Errors</th>
<th>Layout</th>
<th>Charset</th>
<th>HTTP Compression</th>
</tr>
<tr>
<th>Barack Obama (D)</th>
<td>HTML5</td>
<td>72 Errors, 4 warning(s)</td>
<td>CSS</td>
<td>UTF-8</td>
<td>Yes (~75%)</td>
</tr>
<tr>
<th>Michele Bachmann (R)</th>
<td>HTML5</td>
<td>27 Errors, 5 warning(s) </td>
<td>CSS</td>
<td>UTF-8</td>
<td>Yes (~65%)</td>
</tr>
<tr>
<th>Herman Cain (R)</th>
<td>HTML5</td>
<td>24 Errors, 2 warning(s)</td>
<td>CSS</td>
<td>UTF-8</td>
<td>No</td>
</tr>
<tr>
<th>Newt Gingrich (R)</th>
<td>XHTML 1.0</td>
<td>14 Errors, 3 warning(s) </td>
<td>CSS</td>
<td>UTF-8</td>
<td>No</td>
</tr>
<tr>
<th>Jon Huntsman, Jr. (R)</th>
<td>XHTML 1.0</td>
<td>364 Errors</td>
<td>CSS</td>
<td>UTF-8</td>
<td>Yes (~75%)</td>
</tr>
<tr>
<th>Gary Johnson (R)</th>
<td>HTML5</td>
<td>15 Errors, 1 warning(s)</td>
<td>CSS</td>
<td>UTF-8</td>
<td>No</td>
</tr>
<tr>
<th>Fred Karger (R)</th>
<td>XHTML 1.0</td>
<td>6 Errors, 6 warning(s)</td>
<td>CSS</td>
<td>UTF-8</td>
<td>Yes (~76%)</td>
</tr>
<tr>
<th>Andy Martin (R)</th>
<td>No Doctype</td>
<td>45 Errors, 2 warning(s) as HTML4 Trans</td>
<td>Table</td>
<td>windows-1252</td>
<td>No</td>
</tr>
<tr>
<th>Thaddeus McCotter (R)</th>
<td>HTML5</td>
<td>50 Errors, 2 warning(s) </td>
<td>CSS</td>
<td>UTF-8</td>
<td>No</td>
</tr>
<tr>
<th>Jimmy McMillan (R)</th>
<td>No Doctype</td>
<td>27 Errors, 10 warning(s) </td>
<td>Table</td>
<td>iso-8859-1</td>
<td>Yes (~88%)</td>
</tr>
<tr>
<th>Roy Moore (R)*</th>
<td>XHTML 1.0</td>
<td>3 Errors, 6 warning(s) </td>
<td>Flash, Tables</td>
<td>UTF-8</td>
<td>Yes (~65%)</td>
</tr>
<tr>
<th>Ron Paul (R)</th>
<td>XHTML 1.0 Strict</td>
<td>34 Errors, 19 warning(s) </td>
<td>CSS</td>
<td>UTF-8</td>
<td>No</td>
</tr>
<tr>
<th>Rick Perry (R)</th>
<td>HTML5</td>
<td>6 Errors, 3 warning(s)</td>
<td>CSS</td>
<td>UTF-8</td>
<td>Yes (~73%)</td>
</tr>
<tr>
<th>Buddy Roemer (R)</th>
<td>XHTML 1.0</td>
<td>23 Errors, 7 warning(s)</td>
<td>CSS</td>
<td>UTF-8</td>
<td>No</td>
</tr>
<tr>
<th>Mitt Romney (R)</th>
<td>XHTML 1.0 Strict</td>
<td>5 Errors, 4 warning(s) </td>
<td>CSS</td>
<td>UTF-8</td>
<td>Yes (~77%)</td>
</tr>
<tr>
<th>Rick Santorum (R)</th>
<td>XHTML 1.0 Strict</td>
<td>22 Errors</td>
<td>CSS</td>
<td>UTF-8</td>
<td>Yes (~74%)</td>
</tr>
<tr>
<th>Jonathon Sharkey (R)</th>
<td>XHTML 1.0 Strict</td>
<td>158 Errors, 199 warning(s) </td>
<td>CSS</td>
<td>UTF-8</td>
<td>No</td>
</tr>
<tr>
<th>Tim Pawlenty ®</th>
<td>XHTML 1.0 Strict</td>
<td>42 Errors</td>
<td>CSS</td>
<td>UTF-8</td>
<td>Yes (~83%)</td>
</tr>
</table>
<h3>Frontend (cont)</h3>
<table class="dataTable">
<tr class="tableHeader">
<th>Candidate</th>
<th>apple-touch-icon</th>
<th>Syndication Format</th>
<th>Framework/Libraries</th>
<th>Social Networks</th>
<th>Analytics</th>
<th>Misc.</th>
</tr>
<tr>
<th>Barack Obama (D)</th>
<td>Yes</td>
<td>RSS 2.0</td>
<td>jQuery</td>
<td>Facebook, Twitter, YouTube</td>
<td>Google Analytics</td>
<td>Chrome IE Frame, Viewport Meta tags</td>
</tr>
<tr>
<th>Michele Bachmann (R)</th>
<td>No</td>
<td>Feedburner/RSS2</td>
<td>jQuery,Yahoo Base CSS, SWFObject</td>
<td>Facebook, Twitter, YouTube, Flickr</td>
<td>Google Analytics</td>
<td>FB OpenGraph, lots of WordPress Plugins</td>
</tr>
<tr>
<th>Herman Cain (R)</th>
<td>No</td>
<td>No</td>
<td>jQuery</td>
<td>Facebook, TWitter</td>
<td>Google Analytics</td>
<td>ShareThis, Some WordPress Plugins</td>
</tr>
<tr>
<th>Newt Gingrich (R)</th>
<td>No</td>
<td>RSS</td>
<td>jQuery</td>
<td>Facebook, Twitter, YouTube</td>
<td>Google Analytics, Omniture</td>
<td>Has separate mobile site. Short domain.</td>
</tr>
<tr>
<th>Jon Huntsman, Jr. (R)</th>
<td>No</td>
<td>RSS 2.0</td>
<td>jQuery</td>
<td>Facebook, Twitter, YouTube, Vimeo</td>
<td>Google Analytics</td>
<td>ShareThis</td>
</tr>
<tr>
<th>Gary Johnson (R)</th>
<td>No</td>
<td>RSS 2.0</td>
<td>jQuery</td>
<td>Facebook, Twitter, Google+, Flickr, LinkedIn, YouTube</td>
<td>Google Analytics, KISSmetrics</td>
<td>Web Fonts</td>
</tr>
<tr>
<th>Fred Karger (R)</th>
<td>No</td>
<td>RSS</td>
<td>jQuery</td>
<td>Facebook, Twitter, Flickr, YouTube</td>
<td>Google Analytics</td>
<td>NetBoots Powered</td>
</tr>
<tr>
<th>Andy Martin (R)</th>
<td>No</td>
<td>Atom/RSS via Blogspot blog</td>
<td>No</td>
<td>Facebook, Twitter</td>
<td>-</td>
<td>Font tag</td>
</tr>
<tr>
<th>Thaddeus McCotter (R)</th>
<td>No</td>
<td>RSS 2.0</td>
<td>jQuery, jQuery UI</td>
<td>Facebook, Twitter, YouTube</td>
<td>Google Analytics, Chartbeat</td>
<td>Multilingual (xili-language powered)</td>
</tr>
<tr>
<th>Jimmy McMillan (R)</th>
<td>No</td>
<td>No</td>
<td>-</td>
<td>-</td>
<td>Hit Counter by Digits</td>
<td>The rent is too damn high</td>
</tr>
<tr>
<th>Roy Moore (R)</th>
<td>No</td>
<td>No</td>
<td>SwfObject</td>
<td>Facebook, YouTube</td>
<td>Google Analytics</td>
<td>iframed flash site. Likely to prevent spidering / caching content.</td>
</tr>
<tr>
<th>Ron Paul (R)</th>
<td>No</td>
<td>RSS 2.0</td>
<td>jQuery</td>
<td>Twitter, Facebook, YouTube</td>
<td>Google Analytics, Chartbeat</td>
<td>W3 Total Cache</td>
</tr>
<tr>
<th>Rick Perry (R)</th>
<td>Yes</td>
<td>RSS  2.0</td>
<td>html5 boilerplate/modernizr, jQuery</td>
<td>Facebook, Twitter</td>
<td>ChartBeat, Google Analytics</td>
<td><code>@media print</code></td>
</tr>
<tr>
<th>Buddy Roemer (R)</th>
<td>No</td>
<td>RSS (via FeedBurner)</td>
<td>jQuery</td>
<td>Facebook, Twitter, YouTube</td>
<td>Google Analytics</td>
<td>All in One SEO Pack</td>
</tr>
<tr>
<th>Mitt Romney (R)</th>
<td>Yes</td>
<td>RSS 2.0</td>
<td>jQuery, Typekit, Gigya</td>
<td>Facebook, Twitter, YouTube, Flickr</td>
<td>Google Analytics, Omniture, Lotame, NewRelic, Compete, Clickable</td>
<td>Analytics!</td>
</tr>
<tr>
<th>Rick Santorum (R)</th>
<td>No</td>
<td>RSS</td>
<td>jQuery, TypeKit</td>
<td>Facebook YouTube, Twitter, Flickr</td>
<td>Google Analytics</td>
<td>That Google bomb is still working wonders on his name</td>
</tr>
<tr>
<th>Jonathon Sharkey (R)</th>
<td>No</td>
<td>Atom/RSS 2.0</td>
<td>-</td>
<td>-</td>
<td>Google</td>
<td>Doesn&#8217;t own a .com?</td>
</tr>
<tr>
<th>Tim Pawlenty (R)</th>
<td>No</td>
<td>No</td>
<td>jQuery</td>
<td>Twitter, YouTube, Flickr, Facebook</td>
<td>GoSquared, ChartBeat, DoubleClick Floodlight, Google Analytics</td>
<td>Ended campaign</td>
</tr>
</table>
<h3>Observations</h3>
<p>I retooled this for 2012 based on how web development and the internet has changed as well as the data that&#8217;s available.  The most noteworthy thing is that EVERY campaign uses open source.  Perhaps it&#8217;s saving money in this economy?  Windows Server isn&#8217;t free after all.  Most use it extensively.  Regardless who wins, that candidate would be very hypocritical to support the (unlikely regardless) &#8220;<a href="http://www.slate.com/id/2130798/">open source is communism</a>&#8221; mantra.  If this isn&#8217;t proof that open source is as mainstream as ever in America, I don&#8217;t know what is.  Apache is a huge winner.  So is jQuery, WordPress, Drupal, even Nginx and Varnish made a showing (they weren&#8217;t even on the radar in 2008).</p>
<p>Lots of websites are using the HTML5 doctype now.  That doesn&#8217;t mean they are using HTML5, but many are moving in that direction.  Web Fonts were spotted.  Tables were very rare.</p>
<p>Shockingly, CDN usage and HTTP compression were pretty rare.  Given Google will host popular javascript frameworks (jQuery for example), if you can&#8217;t afford the CPU to gzip data you could let Google host it for free.  Lots of cloud hosting though.</p>
<p>Between popular CMS&#8217;s, and popular plugins/modules for those CMS&#8217;s, there&#8217;s little diversity in these sites this time around.  It was obvious last time, it&#8217;s much more obvious this time.  Mono-culture has set in regarding the technicals of these sites.</p>
<p>One thing that really stood out is the amount of analytics on each site.  This election is really a data war.  Knowing as much as possible about voters and the candidates base.  Clearly this is an escalation from 2008.  There is also a proliferation of real-time analytics usage this time around.  Data is everything in the business world, it&#8217;s becoming that way in campaign websites as well.</p>
<h3>Misc Notes</h3>
<p><strong id="datacollection">Data collection method:</strong> The data for this blog post was mostly done on the evening of August 30, 2011 and August 31, 2011 by myself. The character set was however Firefox 6.0 interprets the page. HTML validation was checked by submitting to the W3C validator. All other analysis was done by eye and using tools like cURL. Some things were a little bit of a judgment call, such as CSS layout. I didn’t generally penalize if a table was used, it depends how it was used, and the context. I viewed source on all of them, and spent some time looking around while collecting data. I didn’t view every page on every site, since that would drive me insane. The data is based on the homepage of the site however I did make a brief attempt to hunt for feeds since some only include a link on a &#8220;news&#8221; page. If I couldn&#8217;t find it quick enough, it doesn&#8217;t exist.</p>
<p><strong>Secrets In Websites III?:</strong> Yes there will likely be a third installment. I don&#8217;t know when, I don&#8217;t know what will be included.  I do have some ideas and notes. It takes time to put these together, and I&#8217;m not exactly drowning in free time these days.</p>
<p><small>* Roy Moore&#8217;s website is Flash in an iframe.  For purposes of this analysis I&#8217;m using the page containing the flash object.</small>
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=6044#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2011/09/6b39183.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2011/09/01/2012-presidential-candidate-websites/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Voice: Hello Yeah GoDaddy</title>
		<link>http://robert.accettura.com/blog/2011/07/15/google-voice-hello-yeah-godaddy/</link>
		<comments>http://robert.accettura.com/blog/2011/07/15/google-voice-hello-yeah-godaddy/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 15:22:10 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Funny]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[godaddy]]></category>
		<category><![CDATA[google voice]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=5860</guid>
		<description><![CDATA[This just hit my inbox. Google Voice transcribed the important parts right, but also added a certain flare that seems very appropriate for GoDaddy. The only modifications made were stripping the phone number. Couldn&#8217;t do this better if I tried.]]></description>
			<content:encoded><![CDATA[<p>This just hit my inbox.  Google Voice transcribed the important parts right, but also added a certain flare that seems very appropriate for GoDaddy.  The only modifications made were stripping the phone number.</p>
<p><img src="http://robert.accettura.com/wp-content/uploads/2011/07/godaddy_helloyea-620x246.png" alt="GoDaddy Hello Yeah" title="GoDaddy Hello Yeah" width="620" height="246" class="aligncenter size-Blog2011 wp-image-5861" /></p>
<p>Couldn&#8217;t do this better if I tried.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=5860#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2011/07/32508f5.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2011/07/15/google-voice-hello-yeah-godaddy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Googlebot on Facebook?</title>
		<link>http://robert.accettura.com/blog/2011/03/26/googlebot-on-facebook/</link>
		<comments>http://robert.accettura.com/blog/2011/03/26/googlebot-on-facebook/#comments</comments>
		<pubDate>Sat, 26 Mar 2011 19:08:32 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[facebook]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=5487</guid>
		<description><![CDATA[I&#8217;ve got a few Facebook Applications I&#8217;ve played around with developing that are not actually for use (read: they do nothing). I&#8217;ve noticed over the past few days their canvas URL&#8217;s are seeing traffic in the form of 1 hit &#8230; <a href="http://robert.accettura.com/blog/2011/03/26/googlebot-on-facebook/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got a few Facebook Applications I&#8217;ve played around with developing that are not actually for use (read: they do nothing).  I&#8217;ve noticed over the past few days their canvas URL&#8217;s are seeing traffic in the form of 1 hit approximately every 24 hours.  Previously they saw no traffic at all.  At first I thought this was just Facebook with some new process to check for malicious apps, which sounds like a good idea.  Then I did some digging and found something surprising:</p>
<p>The first thing I found was the hostname where the request originated was <code>out-sw251.tfbnw.net</code> which is obviously owned by Facebook.  That&#8217;s not terribly interesting and supports my theory up above.  </p>
<p>Then I found these two curious bits in the request:</p>
<pre>
X-FB-USER-REMOTE-ADDR: 66.249.67.211
USER-AGENT: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
</pre>
<p>That IP address is <code>crawl-66-249-67-211.googlebot.com</code>.  That UserAgent is very telling and needs no introduction.  </p>
<p>The request is otherwise pretty unremarkable other than no query string which a normal person would generate when hitting that canvas URL.  However <code>fb_sig_request_method</code> is set to <code>GET</code> which suggests to me it&#8217;s actually using <code>POST</code> despite that what it claims.  There&#8217;s no <code>fb_sig_user</code> or anything else that would suggest an actual user, which makes sense because <code>fb_sig_logged_out_facebook</code> is set to <code>1</code>.</p>
<p>It appears as of March 20, 2011 Google has started crawling Facebook Apps.  I&#8217;ve got no idea what it&#8217;s intent, abilities or relationship is.  I can tell you that I&#8217;ve monitored since at least April 2010 and this only started a few days ago.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=5487#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2011/03/139042a.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2011/03/26/googlebot-on-facebook/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Async AdSense</title>
		<link>http://robert.accettura.com/blog/2011/03/17/async-adsense/</link>
		<comments>http://robert.accettura.com/blog/2011/03/17/async-adsense/#comments</comments>
		<pubDate>Thu, 17 Mar 2011 23:40:25 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[adsense]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=5421</guid>
		<description><![CDATA[About a year ago I asked where the async Google AdSense was. It finally arrived, and you need to do nothing to gain the performance. Awesome!]]></description>
			<content:encoded><![CDATA[<p>About a year ago I asked where the <a href="http://robert.accettura.com/blog/2010/02/11/where-is-the-asynchronous-adsense-google/">async Google AdSense</a> was.  It <a href="http://adsense.blogspot.com/2011/03/making-web-faster-for-all-adsense-for.html">finally arrived</a>, and you need to do nothing to gain the performance.  Awesome!
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=5421#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2011/03/07dbd9a.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2011/03/17/async-adsense/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Chrome Dropping H.264</title>
		<link>http://robert.accettura.com/blog/2011/01/11/on-chrome-dropping-h-264/</link>
		<comments>http://robert.accettura.com/blog/2011/01/11/on-chrome-dropping-h-264/#comments</comments>
		<pubDate>Wed, 12 Jan 2011 01:49:31 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefox 4]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[h.264]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[webm]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=5198</guid>
		<description><![CDATA[The Chrome team announced they are dropping support for H.264. WebM Support WebM support will be growing quickly as Firefox 4 rolls out (Firefox upgrade adoption is legendary). Chrome commands sizable market share and is pushing the Chrome OS platform. &#8230; <a href="http://robert.accettura.com/blog/2011/01/11/on-chrome-dropping-h-264/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The Chrome team announced <a href="http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html">they are dropping support for H.264</a>.  </p>
<h3>WebM Support</h3>
<p>WebM support will be growing quickly as Firefox 4 rolls out (Firefox upgrade adoption is legendary).  Chrome commands sizable market share and is pushing the <a href="http://www.google.com/chromeos/">Chrome OS platform</a>.  Opera is also supporting WebM.</p>
<p>Apple and Microsoft could join the party and bundle WebM support along with the other codecs they support at any time, though they are <a href="http://www.mpegla.com/main/programs/AVC/Pages/Licensors.aspx">licensors</a> for H.264 and wouldn&#8217;t benefit from WebM market penetration.  Microsoft&#8217;s implementation does allow for VP8 support <a href="http://blogs.msdn.com/b/ie/archive/2010/05/19/another-follow-up-on-html5-video-in-ie9.aspx">if a codec is installed</a>.  I&#8217;m not aware of anything for Safari and am rather certain nothing can be done for the iPhone without Apple intervening.</p>
<p>On the hardware side <a href="http://www.theregister.co.uk/2010/05/19/google_chrome_announcement/">AMD, ARM, Nvidia</a> are backing WebM.  <a href="http://investor.broadcom.com/releasedetail.cfm?ReleaseID=471536">Broadcom</a> announced support, as did <a href="http://www.qualcomm.com/blog/2010/05/19/web-video-google">Qualicomm</a> and <a href="http://e2e.ti.com/blogs_/b/mobile_momentum/archive/2010/05/19/our-omap-processors-embrace-webm-and-vp8-with-open-arms.aspx">TI</a>.  These are major vendors for mobile chips.  <a href="https://twitter.com/shaver/status/24998154805977088">Intel is working on stuff too</a>.</p>
<h3>H.264  Trouble</h3>
<p>H.264 is problematic and bad for the web for many reasons I&#8217;ve mentioned here before as well as great posts by <a href="http://weblogs.mozillazine.org/roc/archives/2010/01/video_freedom_a.html">roc</a> and <a href="http://shaver.off.net/diary/2010/01/23/html5-video-and-codecs/">shaver</a>.  I&#8217;ll leave it at that rather than rehash.</p>
<p>There was buzz a while back about H.264 being &#8220;free&#8221; (quotes intentional), but it&#8217;s not really &#8220;free&#8221; if you read the fine print.  As Peter Csathy of Sorenson Media <a href="http://blog.sorensonmedia.com/2010/09/think-h-264-is-now-royalty-free-think-again-and-the-open-source-defense-is-no-defense-to-mpeg-la/">notes</a>:</p>
<blockquote cite="http://blog.sorensonmedia.com/2010/09/think-h-264-is-now-royalty-free-think-again-and-the-open-source-defense-is-no-defense-to-mpeg-la/"><p>
But, you say, MPEG LA recently announced that it will no longer charge royalties for the use of H.264. Yes, it’s true – MPEG LA recently bowed to mounting pressure from, and press surrounding, WebM and announced something that kind of sounds that way. But, I caution you to read the not-too-fine print. <strong>H.264 is royalty-free only in one limited case – for Internet video that is delivered free to end users. Read again: for (1) Internet delivery that is (2) delivered free to end users. In the words of MPEG LA’s own press release, “Products and services other than [those] continue to be royalty-bearing.”</strong>
</p></blockquote>
<p>That&#8217;s hardly &#8220;free&#8221;.  That&#8217;s just one potential use case that&#8217;s now royalty exempt.  The reason they are doing that is presumably if they can get H.264 adoption high enough, all the other cases will be paying and therefore subsidizing this one case.</p>
<p>WebM is licensed a little different: Patent wise, it&#8217;s irrevocably royalty free.  License <a href="http://www.webmproject.org/about/faq/#licensing">is about as liberal as you can get</a>.</p>
<p>There&#8217;s no proprietary html, css, or images (GIF was, now it&#8217;s dead) used across the web.  Why should video be any different? The key to success and growth has always been an open platform that&#8217;s low cost and encourages innovation.</p>
<h3>Implementing Today</h3>
<p>For anyone who suggests that this further fragments the market, that&#8217;s not really true.  Adobe Flash actually creates an excellent shim to help migrate away from Flash to <code>&lt;video/&gt;</code>.  Allow me to explain:  </p>
<p>Adobe will soon be <a href="http://blogs.adobe.com/flashplatform/2010/05/adobe_support_for_vp8.html">supporting WebM through Flash</a>.  Adobe already support H.264 in Flash.  For legacy browsers and those who won&#8217;t support WebM, you have the option of delivering a Flash experience just like most websites do today.  There are websites doing this today via Flash and H.264.  For modern browsers you can just use <code>&lt;video/&gt;</code>.  Once your non-WebM market share drops low enough, you can get rid of the Flash experience.  Soon enough you&#8217;ll be able to push WebM to your Flash users.  The benefit of switching your Flash experience to WebM as a middle step would be one encoding for both delivery mechanisms vs. using H.264 and WebM in parallel.  Of course if you&#8217;re supporting mobile you likely need H.264 for a bit longer but likely use a smaller resolution and different profile for mobile consumption.  </p>
<p>No matter what there will be two delivery mechanisms for those looking to push video using HTML5 to users today.  The only thing that changes is the lean towards standardizing on the actively developed WebM codec vs. H.264.</p>
<p>All new technology has <a href="http://techblog.netflix.com/2010/12/html5-and-video-streaming.html">speed bumps</a>, that&#8217;s the cost of being on the bleeding edge.  However this is a positive turn as things are now starting to line up.  The most awesome thing is that the codec, HTML5 specs, and some of the most popular browsers in the world are open and inviting feedback and contributions to improve things.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=5198#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2011/01/a428bc2.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2011/01/11/on-chrome-dropping-h-264/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Firesheep Demonstrates The Need For SSL</title>
		<link>http://robert.accettura.com/blog/2010/10/26/firesheep-demonstrates-the-need-for-ssl/</link>
		<comments>http://robert.accettura.com/blog/2010/10/26/firesheep-demonstrates-the-need-for-ssl/#comments</comments>
		<pubDate>Tue, 26 Oct 2010 13:36:08 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[adsense]]></category>
		<category><![CDATA[eff]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firesheep]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[https everywhere]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=4869</guid>
		<description><![CDATA[There&#8217;s been a storm of discussion over the past 72 hours about Eric Butler&#8217;s Firefox extension Firesheep. To summarize, it&#8217;s a Firefox extension that facilitates session hijacking by packet sniffing for data from certain websites. As far as software goes, &#8230; <a href="http://robert.accettura.com/blog/2010/10/26/firesheep-demonstrates-the-need-for-ssl/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s been a storm of discussion over the past 72 hours about <a href="http://codebutler.com/firesheep">Eric Butler&#8217;s</a> Firefox extension <a href="http://codebutler.github.com/firesheep">Firesheep</a>.  To summarize, it&#8217;s a Firefox extension that facilitates session hijacking by packet sniffing for data from certain websites.  As far as software goes, it&#8217;s more evolutionary than revolutionary, at its core it&#8217;s a packet sniffer.  The evolution is the pretty UI which makes it trivial to hijack someone&#8217;s session (he really did do a good job on the UI, it&#8217;s so easy a child could use it).  </p>
<p>It&#8217;s actually surprising to me that so many people are shocked by what this demonstrates.  Even those who claim to be technically literate seem taken back.  Insecure sites by definition are insecure.  Anyone can read what&#8217;s going across the wire (that includes WiFi) when it is sent unencrypted.  If your browser can interpret and use the information to let you browse Facebook, Twitter, etc. so can any browser, on any computer.  It&#8217;s that simple.  Firesheep only supports a handful of sites, but adding support for more sites isn&#8217;t difficult.  If your favorite website hasn&#8217;t been done yet, I expect it will be soon enough.</p>
<h3>How Do You Protect Yourself?</h3>
<p>The best way to protect yourself is to demand that websites that hold private information use HTTPS from the moment you log in until you log out.  Short of that, the best you can do is use a Firefox extension like EFF&#8217;s <a href="https://www.eff.org/https-everywhere">HTTPS Everywhere</a> to force your browser to use HTTPS.  This won&#8217;t work everywhere as not every web server even has HTTPS working, but many secretly do.  They sometimes use HTTPS for certain things like login, then use insecure HTTP for the rest of your visit.  That&#8217;s so your password isn&#8217;t transmitted in plain text.  Protecting a password is important, but if the session is insecure anyone can intercept what you do.  HTTPS Everywhere works by rewriting all requests to many popular sites to use HTTPS ensuring your privacy and security through the length of your visit.  Some websites will have minor issues.  For example Facebook Chat is impossible to support right now due to it not <a href="http://www.eff.org/https-everywhere/faq">working via HTTPS</a>.  The rest of Facebook however works.</p>
<p>For more advanced users, HTTPS Everywhere lets you write your own rulesets for sites it doesn&#8217;t support.</p>
<h3>How Do Websites Protect Their Users?</h3>
<p>It&#8217;s very simple.  Use HTTPS for the period a user is logged in, not just when authenticating and submitting sensitive data.  Sure it&#8217;s a little slower and requires more hardware, but scaling HTTPS these days isn&#8217;t nearly as difficult as it was just 5 years ago.  In 2 years it will be even easier.  Google went as far as <a href="http://gmailblog.blogspot.com/2010/01/default-https-access-for-gmail.html">forcing HTTPS upon all of Gmail users</a>.  Binding a session to an IP address is fussy and largely ineffective due to NAT, WiFi hotspots and mobile services that can cause an IP to just change with little/no notice.  It&#8217;s not effective security.  It&#8217;s better than nothing, but it&#8217;s not a fix.</p>
<p>Google could make a huge difference by <a href="https://www.google.com/adsense/support/bin/answer.py?hl=en&#038;answer=10528">supporting SSL in Google AdSense</a>, something I&#8217;ve called for <a href="http://robert.accettura.com/blog/2008/12/07/google-adsense-and-ssl/">since 2008</a>.  Google has supported SSL with Google Analytics for some time, but they have lagged with rolling out support in other services.  Lots of websites monetize with AdSense and this is just another reason websites put off supporting SSL.  Other ad networks should do the same.  Google AdSense has the least barrier to entry since they serve their text ads off of their own infrastructure, vs. creatives hosted by other parties like some smaller ad networks.  One could argue having third-party code inserted on a page mitigates security but it would still be a major improvement over the current state of affairs and would prevent simple session jacking.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=4869#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2010/10/20cf775.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2010/10/26/firesheep-demonstrates-the-need-for-ssl/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Google Instant = Web Command Line Interface</title>
		<link>http://robert.accettura.com/blog/2010/09/08/google-instant-web-command-line-interface/</link>
		<comments>http://robert.accettura.com/blog/2010/09/08/google-instant-web-command-line-interface/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 01:18:47 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[command line interface]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[user-interface]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=4621</guid>
		<description><![CDATA[&#8220;What&#8217;s old is new again&#8221; the saying goes. Google Instant is a pretty interesting UI change. One of the big things mentioned is that all you need to do is type &#8220;w&#8221; and you&#8217;ll see the local weather. A way &#8230; <a href="http://robert.accettura.com/blog/2010/09/08/google-instant-web-command-line-interface/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>&#8220;What&#8217;s old is new again&#8221; the saying goes.  Google Instant is a pretty interesting UI change.  One of the big things mentioned is that all you need to do is type &#8220;w&#8221; and you&#8217;ll see the local weather.  A way to get information by just typing&#8230; some of us know that as command line interface.</p>
<p>Essentially we&#8217;re seeing Google move from a point &#038; click UI to almost a command line UI.  For ages the focus was automatically set on the search box, no need to click on it.  Just type, press enter or as I&#8217;m sure many (if not the majority did) mouse over the &#8220;search&#8221; button and click on it and you got search results.  It&#8217;s just another step forward in simplifying the process.  This is one less interaction (pressing search).</p>
<p>It&#8217;s interesting to see a less mouse centric UI develop after decades of anti-keyboard UI.  For those of us comfortable typing quickly and using keyboard shortcuts constantly it&#8217;s a constant nuisance when applications don&#8217;t handle shortcuts nicely.  We&#8217;re now seeing an effort to reduce use of the mouse, even if it&#8217;s just to press the &#8220;Search&#8221; button.   One less reason to take your hands off the keyboard.</p>
<p>One interesting quirk I&#8217;ve noticed is Google&#8217;s calculator (the ability to type a math problem into Google and get an answer) just feels awkward and unpolished.  I suspect they will improve upon that shortly.  This can vastly improve the utility of these little applications.  Google has several little apps built into its search (try typing &#8220;movies&#8221; for example).  It&#8217;s just that much easier to use.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=4621#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2010/09/5739fb4.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2010/09/08/google-instant-web-command-line-interface/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

