<?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>Ryan Underdown</title> <atom:link href="http://ryanunderdown.com/feed" rel="self" type="application/rss+xml" /><link>http://ryanunderdown.com</link> <description>SEO, Scripting and Marketing</description> <lastBuildDate>Wed, 01 Feb 2012 04:34:35 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Page Load Testing &#8211; Background vs Inline Images</title><link>http://ryanunderdown.com/cro/page-load-testing-background-images-vs-inline-images.php</link> <comments>http://ryanunderdown.com/cro/page-load-testing-background-images-vs-inline-images.php#comments</comments> <pubDate>Thu, 08 Dec 2011 22:14:46 +0000</pubDate> <dc:creator>Ryan Underdown</dc:creator> <category><![CDATA[CRO]]></category> <category><![CDATA[analytics]]></category> <category><![CDATA[backgound-image]]></category> <category><![CDATA[gwo]]></category><guid isPermaLink="false">http://ryanunderdown.com/?p=1094</guid> <description><![CDATA[I was recently working to speed up a website and was getting horrible load times for relatively small images (50k) off of a large amazon ec2 server.  I decided to create two simple pages and test if using background-images was making a noticeable difference.]]></description> <content:encoded><![CDATA[<p>I was recently working to speed up a website and was getting horrible load times for relatively small images (50k) off of a large amazon ec2 server.  I decided to create two simple pages and test if using background-images was making a noticeable difference. My two test variants look like this:</p><h3>inline image test page</h3><p><script src="https://gist.github.com/1448751.js?file=gistfile1.html"></script></p><h3>Source for background image test page</h3><p><script src="https://gist.github.com/1448762.js?file=gistfile1.txt"></script><br /> You will notice that I kept the same number of elements (of the same type) on each of the pages.  I left the source blank for the background image test variant to prevent polluting the test.</p><h3>results: inline image test page</h3><p><a href="http://cdn.ryanunderdown.com/uploads/2011/12/test1.gif"><img src="http://cdn.ryanunderdown.com/uploads/2011/12/test1-300x93.gif" alt="" title="_test1" width="300" height="93" class="aligncenter size-medium wp-image-1096" /></a></p><h3>results: background image test page</h3><p><a href="http://cdn.ryanunderdown.com/uploads/2011/12/test31.gif"><img src="http://cdn.ryanunderdown.com/uploads/2011/12/test31-300x93.gif" alt="" title="_test3" width="300" height="93" class="aligncenter size-medium wp-image-1098" /></a></p><p>The version <em>with</em> background images actually gave me a &#8220;Document Complete&#8221; after .0225 seconds &#8211; while the actual fully loaded page load time was roughly the same as the inline image version.  Could using all background images speed up firing of $.document(ready)?  My bet is this is an error in the testing mechanism of webpagetest.org</p><p>Full test results can be seen <a href="http://www.webpagetest.org/result/111208_2B_2EQYD/">here</a> and <a href="http://www.webpagetest.org/result/111208_EK_2ESPY/">here</a></p> ]]></content:encoded> <wfw:commentRss>http://ryanunderdown.com/cro/page-load-testing-background-images-vs-inline-images.php/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Switching to Facebook Comments</title><link>http://ryanunderdown.com/wordpress/switching-to-facebook-comments.php</link> <comments>http://ryanunderdown.com/wordpress/switching-to-facebook-comments.php#comments</comments> <pubDate>Tue, 29 Nov 2011 23:28:07 +0000</pubDate> <dc:creator>Ryan Underdown</dc:creator> <category><![CDATA[Wordpress]]></category> <category><![CDATA[comments]]></category> <category><![CDATA[facebook]]></category><guid isPermaLink="false">http://ryanunderdown.com/?p=1087</guid> <description><![CDATA[I recently decided to switch to facebook comments for this blog. As a result all old comments are being discarded. Sorry for the confusion.]]></description> <content:encoded><![CDATA[<p>I recently decided to switch to facebook comments for this blog.  As a result all old comments are being discarded.  Sorry for the confusion.</p> ]]></content:encoded> <wfw:commentRss>http://ryanunderdown.com/wordpress/switching-to-facebook-comments.php/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Track IP Addresses In Google Analytics</title><link>http://ryanunderdown.com/analytics/track-ip-addresses-in-google-analytics.php</link> <comments>http://ryanunderdown.com/analytics/track-ip-addresses-in-google-analytics.php#comments</comments> <pubDate>Mon, 06 Dec 2010 18:44:07 +0000</pubDate> <dc:creator>Ryan Underdown</dc:creator> <category><![CDATA[Analytics]]></category> <category><![CDATA[analytics]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[ip address]]></category> <category><![CDATA[tracking]]></category><guid isPermaLink="false">http://ryanunderdown.com/?p=1012</guid> <description><![CDATA[UPDATE: Apparently this is against Analytic&#8217;s TOS. So if you are thinking about collecting this data it might be wise NOT to. Now that Google Analytics allows multiple custom variables it is much easier to track your users ip addresses. Simply insert the following code in your analytics tag: pagetracker._setCustomVar(1, &#34;IP&#34;, &#34;&#60;?php echo $_SERVER['REMOTE_ADDR']; ?&#62;&#34;, [...]]]></description> <content:encoded><![CDATA[<p><strong>UPDATE: Apparently this is against Analytic&#8217;s <a href="http://www.google.com/analytics/tos.html">TOS</a>.  So if you are thinking about collecting this data it might be wise NOT to.</strong></p><p>Now that Google Analytics allows multiple custom variables it is much easier to track your users ip addresses.  Simply insert the following code in your analytics tag:</p><pre class="jush">
pagetracker._setCustomVar(1, &quot;IP&quot;, &quot;&lt;?php echo $_SERVER['REMOTE_ADDR']; ?&gt;&quot;, 2);
</pre><p>To break down each variable:</p><ul><li>SLOT &#8211; 1 refers to the Index or &#8220;slot&#8221; &#8211; you can have up to five slots</li><li>NAME &#8211; IP Address names the variable &#8220;IP Address&#8221; in Analytics</li><li>VALUE &#8211; The php script echos the visitor&#8217;s ip address as the value for the above named variable</li><li>SCOPE &#8211; The final &#8220;1&#8243; defines the scope of the variable.  Possible scopes include:<ul><li>1 &#8211; visit level</li><li>2 &#8211; session level</li><li>3 &#8211; page level (default value)</li></ul></li></ul><p>There is a lag of about 12-24 hours before the IP addresses will show in analytics.  To access this data click on Visitors->Custom Variables.  A variable titles &#8220;IP&#8221; should appear in the list.  Click on it to get detailed statistics.  It should look something like this:</p><div style="clear:both">&nbsp;</div><p><center><a href="http://cdn.ryanunderdown.com/uploads/2010/12/analytics-ip.png"><img src="http://cdn.ryanunderdown.com/uploads/2010/12/analytics-ip-300x1221.png" alt="Google Analytics with IP Tracking" title="analytics-ip" width="300" height="122" class="aligncenter size-medium wp-image-1032" /></a></center></p><div style="clear:both">&nbsp;</div><p>Go <a href="http://code.google.com/apis/analytics/docs/tracking/gaTrackingCustomVariables.html">here</a> to  read more about Custom Variables in Google Analytics.</a></p><p><strong>UPDATE: Apparently this is against Analytic&#8217;s <a href="http://www.google.com/analytics/tos.html">TOS</a>.  So if you are collecting this data it might be wise NOT to.</strong></p><p>The applicable section is:</p><blockquote><p> &#8220;7. PRIVACY . You will not (and will not allow any third party to) use the Service to track or collect personally identifiable information of Internet users, nor will You (or will You allow any third party to) associate any data gathered from Your website(s) (or such third parties&#8217; website(s)) with any personally identifying information from any source as part of Your use (or such third parties&#8217; use) of the Service. You will have and abide by an appropriate privacy policy and will comply with all applicable laws relating to the collection of information from visitors to Your websites. You must post a privacy policy and that policy must provide notice of your use of a cookie that collects anonymous traffic data.&#8221;</p></blockquote> ]]></content:encoded> <wfw:commentRss>http://ryanunderdown.com/analytics/track-ip-addresses-in-google-analytics.php/feed</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Minview: Minimalist Mobile Browsing</title><link>http://ryanunderdown.com/scripting/minview-minimalist-mobile-browsing.php</link> <comments>http://ryanunderdown.com/scripting/minview-minimalist-mobile-browsing.php#comments</comments> <pubDate>Wed, 08 Sep 2010 14:19:25 +0000</pubDate> <dc:creator>Ryan Underdown</dc:creator> <category><![CDATA[scripting]]></category> <category><![CDATA[browsing]]></category> <category><![CDATA[minimalist]]></category> <category><![CDATA[minview]]></category> <category><![CDATA[mobile]]></category><guid isPermaLink="false">http://ryanunderdown.com/?p=1004</guid> <description><![CDATA[Today I&#8217;m announcing a rapid prototype I&#8217;ve been working on for the past few days called Minview. Mobile browsing has come a long way since the dark days of the blackberry browser, but despite the recent advancements made by the iphone, palm and android devices &#8211; mobile browsers are still left wonting. While android and [...]]]></description> <content:encoded><![CDATA[<p><img src="http://cdn5.ryanunderdown.com/wp-content/uploads/2011/02/20110201-094812.jpg" alt="" class="alignnone size-full" /><br/><br/>Today I&#8217;m announcing a rapid prototype I&#8217;ve been working on for the past few days called <a href="http://minview.com">Minview</a>. Mobile browsing has come a long way since the dark days of the blackberry browser, but despite the recent advancements made by the iphone, palm and android devices &#8211; mobile browsers are still left wonting.  While android and iphone&#8217;s webkit browsers let you zoom in on content formatted for desktop browsers, the presentation is frequently less than optimal.  I was recently impressed by a fellow hacker&#8217;s implementation of a mobile version of <a href="http://ihackernews.com/">hacker news</a> that formats the desktop version into a highly usable mobile version with some added tricks.   I encourage you to visit the site and check it out.</p><p>Unfortunately hacker news is just one of many sites I frequent on a day to day basis.  So I created my own version to work on the sites I love.  Minview currently has two basic ways of working.  The first pulls an RSS feed of my favorite blogs and formats links to content for minimalist mobile viewing.  As you can tell by visiting the default page for minview that I&#8217;m a conservative (atheist) so for the moment you may or may not be interested in the default implementation.  The second, <a href="http://minview.com/drudge/">mindrudge</a>,  parses <a href="http://www.drudgereport.com">drudge report</a> and pulls all of the non static links &#8211; pushes them into an array and then passes those links off to my server-side implementation of &#8220;<a href="http://lab.arc90.com/experiments/readability/">readability</a>&#8220;.</p><p>Minview has a few cool features on top of the traditional readability script.  Namely it:</p><ul><li>parses images and embedded objects and automatically resizes them to fit in your mobile browser</li><li>updates the viewport when an iphone changes orientation (not sure if this works on android)</li><li> selects all links in parsed pages and prepends a link so they are automatically parsed via minview</li><li>can parse any page by sending the url to: minview.com/out/?url=[url here]</li></ul><p>As always I appreciate your feedback and if you have requests for any sites to be added please let me know in the comments.<br /> <br/><br/></p> ]]></content:encoded> <wfw:commentRss>http://ryanunderdown.com/scripting/minview-minimalist-mobile-browsing.php/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Lower Your Bounce Rate With One Line of Code</title><link>http://ryanunderdown.com/seo/lower-your-bounce-rate-with-one-line-of-code.php</link> <comments>http://ryanunderdown.com/seo/lower-your-bounce-rate-with-one-line-of-code.php#comments</comments> <pubDate>Fri, 30 Apr 2010 22:05:40 +0000</pubDate> <dc:creator>Ryan Underdown</dc:creator> <category><![CDATA[Analytics]]></category> <category><![CDATA[SEO]]></category> <category><![CDATA[bounce rate]]></category> <category><![CDATA[event tracking]]></category> <category><![CDATA[javascript]]></category><guid isPermaLink="false">http://ryanunderdown.com/?p=985</guid> <description><![CDATA[While reading through the Google Analytics Event Tracking Guide, I came across this nugget: In general, a &#8220;bounce&#8221; is described as a single-page visit to your site. In Analytics, a bounce is calculated specifically as a session that triggers only a single GIF request, such as when a user comes to a single page on [...]]]></description> <content:encoded><![CDATA[<p>While reading through the <a href="http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html">Google Analytics Event Tracking Guide</a>, I came across this nugget:</p><blockquote><p> In general, a &#8220;bounce&#8221; is described as a single-page visit to your site. In Analytics, a bounce is calculated specifically as a session that triggers only a single GIF request, such as when a user comes to a single page on your website and then exits without causing any other request to the Analytics server for that session. However, if you implement Event Tracking for your site, you might notice a change in bounce rate metrics for those pages where Event Tracking is present. This is because Event Tracking, like page tracking is classified as an interaction request.</p></blockquote><p>Of course having read through several SEO related posts identifying bounce rate as a <a href="http://seoblackhat.com/2008/11/21/bounce-rate-seo/">ranking factor</a> (or at a minimum a quality signal), I devised a way to game it.</p><pre><code class="javascript">&lt;div id=&quot;header&quot; onMouseOver=&quot;pageTracker._trackEvent('bounce', 'bouncecheck', 'Look Ma No Bounce');&quot;&gt;
</code></pre><p>I figure a mouseover on my header will probably be triggered enough to dramatically drop my bounce rate without looking too artificially manipulated.  Plus I wonder if a body onLoad statement would be overkill, or trigger faster than the gif request.  Anyway after implementing this for one day you can see the huge difference below.<br /> <br style="clear:both" /><br /><center><img style="float:none" src="http://ryanunderdown.com/wp-content/uploads/2010/04/bouncerate.jpg" alt="" title="bouncerate" width="188px" height="54px"  /></center><br /> <br style="clear:both" /></p><p>Now while my method is obviously solely aimed at gaming the system, there are some legitimate uses.  A few examples that come to mind where firing off an event make sense are video plays, if the end of a javascripted animation, newsletter signups, rss subscribes and there are probably a thousand more.</p> ]]></content:encoded> <wfw:commentRss>http://ryanunderdown.com/seo/lower-your-bounce-rate-with-one-line-of-code.php/feed</wfw:commentRss> <slash:comments>3</slash:comments> </item> </channel> </rss>

<!-- W3 Total Cache: CDN debug info:
Engine:             cf

Replaced URLs:
http://ryanunderdown.com/uploads/2011/12/test1.gif => http://cdn.ryanunderdown.com/uploads/2011/12/test1.gif
http://ryanunderdown.com/uploads/2011/12/test1-300x93.gif => http://cdn.ryanunderdown.com/uploads/2011/12/test1-300x93.gif
http://ryanunderdown.com/uploads/2011/12/test31.gif => http://cdn.ryanunderdown.com/uploads/2011/12/test31.gif
http://ryanunderdown.com/uploads/2011/12/test31-300x93.gif => http://cdn.ryanunderdown.com/uploads/2011/12/test31-300x93.gif
http://ryanunderdown.com/uploads/2010/12/analytics-ip.png => http://cdn.ryanunderdown.com/uploads/2010/12/analytics-ip.png
http://ryanunderdown.com/uploads/2010/12/analytics-ip-300x1221.png => http://cdn.ryanunderdown.com/uploads/2010/12/analytics-ip-300x1221.png
-->
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using memcached
Page Caching using memcached
Database Caching 1/26 queries in 0.006 seconds using memcached
Object Caching 359/425 objects using memcached

Served from: ryanunderdown.com @ 2012-02-22 18:35:49 -->
