<?xml version="1.0" encoding="utf-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
<title>The Chatterbox</title>
<link rel="alternate" type="text/html" href="http://www.randycullom.com/chatterbox/" />
<modified>2009-09-13T06:39:31Z</modified>
<tagline>Venting, musing and hopefully some useful web marketing info.</tagline>
<id>tag:www.randycullom.com,2009:/chatterbox//1</id>
<generator url="http://www.movabletype.org/" version="3.14">Movable Type</generator>
<copyright>Copyright (c) 2009, Randy</copyright>
<entry>
<title>Tools and the Google API</title>
<link rel="alternate" type="text/html" href="http://www.randycullom.com/chatterbox/archives/2009/09/tools_and_googl.html" />
<modified>2009-09-13T06:39:31Z</modified>
<issued>2009-09-11T15:28:48Z</issued>
<id>tag:www.randycullom.com,2009:/chatterbox//1.127</id>
<created>2009-09-11T15:28:48Z</created>
<summary type="text/plain">Just a quick note for those how may be using some of the tools available here. Namely those using the All In Title or Common Link tools and trying to query Google via the old SOAP API. Yes I am...</summary>
<author>
<name>Randy</name>

<email>randy@randycullom.com</email>
</author>
<dc:subject>Just Chatter</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.randycullom.com/chatterbox/">
<![CDATA[<p>Just a quick note for those how may be using some of the tools available here.  Namely those using the All In Title or Common Link tools and trying to query Google via the old SOAP API.</p>

<p>Yes I am aware those tools are not currently working as expected.  Jill notified me yesterday that a custom built AIT tool I'd made for her internal use some time ago had stopped working and was producing an error message.  I've tested it here with my versions too, and they're also not working as expected.</p>

<p>It appears, at first glance anyway, that Google may have disabled their SOAP servers that were delivering information via the old SOAP API.  I'm not 100% positive this is what's happening yet and have a query out to try to confirm that they've intentionally disabled SOAP requests, but that's what it looks like is happening.</p>

<p>In all honesty I figured this day would come eventually.  It only makes sense considering they stopped issuing SOAP keys many years ago now.  In fact, they even stopped answering questions on the SOAP Google Group well over a year ago, so the writing was definitely on the wall.  It is however going to have a detrimental effect on literally thousands of scripts out there, not just the couple where I've integrated the SOAP API calls to gather data. </p>

<p><span class="line-through">I've seen no official or even semi-official announcements on the subject yet, so am unable to confirm if this is a temporary problem or the final nail in the coffin.  But I'm trying to get the information.</span> <span class="smallred">Update: It's confirmed, the SOAP API servers are gone and gone for good.  More updates from yours truly at the end.</span>  Unfortunately if it's gone it's simply going to be gone and I'm either going to have to remove those tools that use a Google API or in the case of the Common Link finder simply remove the Google search results from the options.  </p>

<p>Though I could certainly script a little scraper to get the information, I'm not going to.  Not only is that against Google's TOS, but it's simply bad form IMHO.  And to knowledge the other API Google started offering when they stopped sending out SOAP API's just won't work for these tools.  Or at least won't work for free tools because there would be a cost involved to start using that method.</p>

<p>Sorry for the bad news, but it is what it is.  If you have any problems with it, tell Google to turn their SOAP servers back on.  <efg></p>

<p><span class="smallred">Additional Update: I will <em>not</em> be converting any of my tools over to Google's Ajax APIs.  Not because I don't want to have support for Google, but because their Ajax/REST method has returned buggy information since day one, and even years after the fact they've chosen to allow the bugs to live on.  Bad data is worse than useless as far as I'm concerned.  It's dangerous!  Why? Because it could cause some people who trust the data to be correct to make some very bad business decisions.</span></p>

<p><span class="smallred">I simply will not be a party to spreading such misinformation when I know it's there.  Only Google can fix it, and I think it's safe to say after 2 years of bug reports on most of the issues they're not going to magically get fixed now.</span></p>

<p><span class="smallred">Looks like that's the end of Google's API.  Well, cept for the one they pay lip service to but have mangled so badly it's useless to real developers who want to do anything even a millimeter outside the box Google has painted everybody into.</span></p>]]>

</content>
</entry>
<entry>
<title>Google Rank Extractor - Ajax Version</title>
<link rel="alternate" type="text/html" href="http://www.randycullom.com/chatterbox/archives/2009/08/google_rank_ext_2.html" />
<modified>2009-08-15T16:44:17Z</modified>
<issued>2009-08-15T15:37:38Z</issued>
<id>tag:www.randycullom.com,2009:/chatterbox//1.126</id>
<created>2009-08-15T15:37:38Z</created>
<summary type="text/plain">Just a quick note to notify I have released the Ajax version of Google Rank Extractor. With the new release there have been several changes and improvements, all of which are documented in History section the README file. And I&apos;ve...</summary>
<author>
<name>Randy</name>

<email>randy@randycullom.com</email>
</author>
<dc:subject>Web Analytics</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.randycullom.com/chatterbox/">
<![CDATA[<p>Just a quick note to notify I have released the Ajax version of <a href="http://www.randycullom.com/google-rank-extractor.php">Google Rank Extractor</a>.</p>

<p>With the new release there have been several changes and improvements, all of which are documented in History section the README file.  And I've also set up a dedicated page for the tool to make things a bit easier for me to maintain.  The link above points to this new page.</p>

<p>The switch to Ajax (obviously) makes the tool useful to a much larger number of sites.</p>

<p>Previous posts on the subject:  <a href="http://www.randycullom.com/chatterbox/archives/2009/07/google_rank_ext.html">Initial Release</a><br />
<a href="http://www.randycullom.com/chatterbox/archives/2009/07/google_rank_ext_1.html">First Update</a><br />
</p>]]>

</content>
</entry>
<entry>
<title>New Google Preview</title>
<link rel="alternate" type="text/html" href="http://www.randycullom.com/chatterbox/archives/2009/08/new_google_prev.html" />
<modified>2009-08-12T15:45:47Z</modified>
<issued>2009-08-12T14:15:53Z</issued>
<id>tag:www.randycullom.com,2009:/chatterbox//1.125</id>
<created>2009-08-12T14:15:53Z</created>
<summary type="text/plain">For those who don&apos;t actively track this stuff, Google is apparently getting set to release some major revamps of their code. Something they&apos;re calling Caffeine. You can see the preview at http://www2.sandbox.google.com/. You can also of course use this preview...</summary>
<author>
<name>Randy</name>

<email>randy@randycullom.com</email>
</author>
<dc:subject>Search Engine Marketing</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.randycullom.com/chatterbox/">
<![CDATA[<p>For those who don't actively track this stuff, Google is apparently getting set to release some major revamps of their code.  Something they're calling Caffeine.  You can see the preview at <a href="http://www2.sandbox.google.com/" target="_blank" title="Opens in a new window">http://www2.sandbox.google.com/</a>.  You can also of course use this preview to compare rankings side-by-side with the current Google.</p>

<p>It's noteworthy to realize Google doesn't normally release such previews prior to an algorithm update.  In fact it's never happened like this before.  The fact that they are releasing a preview may indicate there is a lot more going on in this update than is at first apparent.</p>

<p>They're not saying much about what has changed exactly, as is completely normal and understandable.  I'm sure those who watch these things will be espousing their opinions on the changes over the coming days/weeks.  Note that you won't see any great changes in the user interface or how it looks visually.  All of the changes are happening in the back end in the way they spider, index and rank sites.</p>

<p>I checked some of the markets and keywords I've tracked over a long time period and didn't see a ton of movement.  One thing that I did notice is that without fail sites I knew were involved in a good bit of link spamming, where someone manages to get a ton of low quality links by blog/forum spamming, but where there are few or no legitimate high quality backlinks have taken a tumble.  Not just a few places either, but many, many pages.</p>

<p>From this single observation it appears Google may be getting a better handle on preventing people from artificially pumping up their sites with these low quality links with spot on anchor text.  I don't see it as a penalty, just that those links aren't conferring as much weight, trust or authority as they have been.  Which is a good thing in my book.</p>

<p>In checking my own sites for their main (most competitive) keyword phrases they're all either holding steady in the New Google, or in many cases my sites have gained a bit more traction.  This applies across the board, both for older more established sites and for newer sites that don't yet have a large footprint.</p>

<p>All in all I didn't see a lot of movement.  But what I saw looks okay to me.</p>

<p>Additional Resources for more reading:<br />
<a href="http://www.mattcutts.com/blog/caffeine-update/" target="_blank" title="Opens in a new window">Matt Cutts' Blog</a><br />
Google's <a href="http://googlewebmastercentral.blogspot.com/2009/08/help-test-some-next-generation.html" target="_blank" title="Opens in a new window">Webmaster Central Blog</a><br />
<a href="http://searchengineland.com/caffeine-googles-new-search-index-23823" target="_blank" title="Opens in a new window">Vanessa Fox's initial thoughts</a> on the new Google on Search Engine Land.  (Vanessa used to work at Google for those unaware.)</p>]]>

</content>
</entry>
<entry>
<title>Google Rank Extractor (Part II)</title>
<link rel="alternate" type="text/html" href="http://www.randycullom.com/chatterbox/archives/2009/07/google_rank_ext_1.html" />
<modified>2009-08-17T17:35:46Z</modified>
<issued>2009-07-15T14:40:17Z</issued>
<id>tag:www.randycullom.com,2009:/chatterbox//1.124</id>
<created>2009-07-15T14:40:17Z</created>
<summary type="text/plain">UPDATES: August 15, 2009 - GRE is now Ajaxified! Download links have been updated, documentation has been updated and there is now a dedicated page for the project that is located here. The Google Rank Extractor, or GRE, is now...</summary>
<author>
<name>Randy</name>

<email>randy@randycullom.com</email>
</author>
<dc:subject>Search Engine Marketing</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.randycullom.com/chatterbox/">
<![CDATA[<p><em>UPDATES:<br />
August 15, 2009 - GRE is now Ajaxified!  Download links have been updated, documentation has been updated and there is now a dedicated page for the project that is located <a href="http://www.randycullom.com/google-rank-extractor.php">here</a>.</em></p>

<p>The Google Rank Extractor, or GRE, is now officially a public Beta release.  It may be downloaded <a href="http://www.randycullom.com/download/gre.zip">from here</a>.</p>

<p>I would like to thank those who volunteered to be Alpha testers and advisors.  Your feedback was invaluable, as usual.</p>

<p>Several new features have been added since the Alpha version, the main one being that I've added an admin user interface to the package.  This UI gives you several ways to sort and display the information that has been collected by the extractor.</p>

<p>Also added is some better documentation, which was definitely needed.  Especially with the release of the user interface.   The docs also include quick install instructions.</p>

<p>A couple of files have been added to the package and I've changed the structure just a bit so that the database connection info only has to be entered a single time and so the admin area can be easily password protected.</p>

<p>Lastly, I have removed the ability to save the data to a flat file.  Starting with the Beta version GRE now requires a MySQL database to store the information being collected.  This requirement simply makes the most sense given the amount of information that it'll end up collecting.  Not to mention that one needs a sensible way to sort, process and display the information.</p>

<p>I'll be putting up a Demo (and will link to it from this post) sometime over the next day or two so that everyone can see what type of information gets collected and how it can be displayed in different ways.  It'll take a little bit of time to get a working demo up and available since I need to build a database with real looking, but essentially fake information.  I don't want to be handing out any proprietary information about my sites, and the tool does collect some <em><strong>very</strong></em> proprietary data.  <strong><em>UPDATE: You can see the demo of the admin side of things <a href="http://www.randycullom.com/gre/">here</a>.</em></strong></p>

<p>Enjoy !</p>]]>

</content>
</entry>
<entry>
<title>Google Rank Extractor</title>
<link rel="alternate" type="text/html" href="http://www.randycullom.com/chatterbox/archives/2009/07/google_rank_ext.html" />
<modified>2009-08-15T16:50:42Z</modified>
<issued>2009-07-08T10:18:49Z</issued>
<id>tag:www.randycullom.com,2009:/chatterbox//1.123</id>
<created>2009-07-08T10:18:49Z</created>
<summary type="text/plain">UPDATES: July 15, 2009 - I&apos;ve released the first public beta version. The announcement post is here and the download zip file has been updated. August 15, 2009 - The GRE tool has been re-coded to be an Ajax application,...</summary>
<author>
<name>Randy</name>

<email>randy@randycullom.com</email>
</author>
<dc:subject>Search Engine Marketing</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.randycullom.com/chatterbox/">
<![CDATA[<p><em>UPDATES:<br />
July 15, 2009 - I've released the first public beta version.  The announcement post is <a href="http://www.randycullom.com/chatterbox/archives/2009/07/google_rank_ext_1.html">here</a> and the download zip file has been updated.</p>

<p>August 15, 2009 - The GRE tool has been re-coded to be an Ajax application, removing the hard and fast requirement that the site's pages be php based.  The announcement post of this update is <a href="http://www.randycullom.com/chatterbox/archives/2009/08/google_rank_ext_2.html">here</a> and I've also set up a dedicated page to the GRE project, which can be found <a href="http://www.randycullom.com/google-rank-extractor.php">here</a>.</em></p>

<p>I've got a new little tool for you today.  Yippee!</p>

<p>[If you want to skip the story, the <a href="/download/gre.zip">download is here</a> in zip format.]</p>

<p>Okay, what's all this Rank Extractor thing about.  First a bit of history.</p>

<p>Forever people have been running (usually automated) queries against Google's search engine in an effort to try to figure out where their site ranks for its search phrases.  These automated queries have <em>always</em> been against Google's Terms of Service.</p>

<p>Once upon a time Google would let you do this if you had applied for and used an API License Key in whatever automated rank reporting tool you used.  Technically this is still the case, with one rather large caveat.  The API License Key that's valid for this sort of thing is what is commonly known as the old style SOAP license.  And Google stopped issuing new SOAP style API licenses some years ago now.</p>

<p>So basically if you weren't already doing this stuff years ago you had no way to get an API License to collect any ranking data for your site with regard to Google, while still remaining within the constraints of their TOS.</p>

<p>That's the quick history.  Basically unless you were doing this stuff several years ago, you were SOL.  Thankfully, all of that is about to change.  And change for the better I might add.</p>

<p>A quick hit on the dirty details.</p>

<p>Though most haven't even noticed, Google began changing what shows up in the Referal (sic) area of hits a few months ago.  It was originally confirmed and announced on the <a href="http://analytics.blogspot.com/2009/04/upcoming-change-to-googlecom-search.html" title="Opens in a New Window" target="_blank">Official Google Analytics Blog</a> back in mid-April.</p>

<p>The gist of it, and all you really need to know if you're not a tech junkie, is that Google is changing their referral string from the old style that looked something like:</p>

<div style="width:600px; overflow:auto;">
<strong>http://www.google.com/search?hl=en&q=flowers&btnG=Google+Search</strong>
</div>

<p>To a new style that embeds a <em><strong>lot</strong></em> information.  The new style referral string looks something like:</p>

<div style="width:600px; overflow:auto;">
<strong>http://www.google.com/url?sa=t&source=web&ct=res&cd=7&url=http%3A%2F%2Fwww.example.com%2Fmypage.htm&ei=0SjdSa-1N5O8M_qW8dQN&rct=j&q=flowers&usg=AFQjCNHJXSUh7Vw7oubPaO3tZOzz-F-u_w&sig2=X8uCFh6IoPtnwmvGMULQfw</strong>
</div>

<p>The important part for our purposes, and something they didn't mention in the official release document, is that little bit in the referrer string that says <strong>cd=</strong> some number.</p>

<p>The really important part is that the "some number" value of this cd variable is the Ranking Position of your site for that phrase in Google at the time the link was clicked.</p>

<p>Say what!?!?!  They're finally going to tell us <em><strong>exactly</strong></em> where we rank, for every single phrase that sends us traffic from Google.com?  They're going to give us access to more information that we could have ever gotten from running some automated queries against their search engine, because there is no way we could ever extract every phrase that sends us traffic via Google, then guess whether what we saw was the same as what that user saw at the moment they clicked through?</p>

<p>Well, I'm here to tell ya that Google are going to do exactly that!  And this is sooooo cool.  It gives you relatively easy access to tons of information you've never had available to you before.  And all you need to gain access to this new, quite important information is a little tool that extracts the information being sent to you during a Google referral hit.</p>

<p>Thus, my new little tool I've been testing on some of my sites for the last 6 weeks or so that I've coined <a href="/download/gre.zip">Google Rank Extractor</a>.</p>

<p>It's a really simple tool when you break down the code.  All it does it review the referral string data, extract bits and pieces we want to record for posterity (namely the search phrase used, the ranking position, the version of Google searched, the date and time of the hit and the page of our site the user landed on) then drops it all either into a flat file or MySQL database.</p>

<p>Simple really.  But also <em>extremely</em> useful.</p>

<p>I've not yet gotten around to developing a front end to help with the sorting of the data, but I can tell you already that I'm seeing all sorts of phrases I didn't even realize my site ranked well for show up with #1 or similar rankings.  And apparently my little sites are kicking butt and taking names on some of the regional versions of Google (eg .co.uk, .com.au, etc) because on some of them my most competitive phrases in the worldwide search are consistently sitting at the #1 spot.</p>

<p>Cool beans!</p>

<p>And the Google Rank Extractor tool is incredibly easy to install if you have a .php based site.  Especially if like me you use common header or footer files to drop some parts of your html template into each and every page.  And to add to the fun, the tool is so lightweight that there is no discernible lag when the pages load.  In fact, basically nothing in the php fires when it's not a Google referral hit.</p>

<p>Even though Google has not yet changed this referer string in all of their data centers yet (I'm only seeing it on about 5% of my Google hits so far) I can't stress enough how much data the tool will collect, nor how valuable the data can be both to your SEO and Marketing efforts.  </p>

<p>Personally, I've found all sorts of nuggets that I've been able to leverage.  Especially for the longer tail phrases where users are getting incredibly specific because they know what they want.  Those are people ready to buy, if you just make sure you tell them you have what they want.</p>

<p>So I would encourage you to install the Google Rank Extractor on your PHP site.  Let it run for a few days, then start reviewing the information.  And check back here (you might want to bookmark the page, though it'll be mentioned in the files above too) in a few weeks.  If nobody else gets to it first I plan on building a little front end that will help out considerably in sorting the data being collected so that it's both easier to consume and more actionable.</p>

<p>And if you're a developer please, please, please consider helping out.  There are several ways to do so.  You could build the front end, which shouldn't take long but my free time is pretty limited currently.  Or you could port the code to other languages so that more people can make use of it.  Or anything else that pops into your head.  The GRE is released under a standard GNU/GPL license just like all of the other tools I release.  So please run with it and improve it!</p>]]>

</content>
</entry>
<entry>
<title>Creating Water Drops in Photoshop</title>
<link rel="alternate" type="text/html" href="http://www.randycullom.com/chatterbox/archives/2009/04/creating_water.html" />
<modified>2009-05-09T11:10:52Z</modified>
<issued>2009-04-25T13:41:17Z</issued>
<id>tag:www.randycullom.com,2009:/chatterbox//1.122</id>
<created>2009-04-25T13:41:17Z</created>
<summary type="text/plain"> This is a short Photoshop tutorial of one method to create water drops on a glass containing cooler liquid, mimicking a glass sweating. There are several ways to attain this effect. A friend saw an image I&apos;d done the...</summary>
<author>
<name>Randy</name>

<email>randy@randycullom.com</email>
</author>
<dc:subject>Just Chatter</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.randycullom.com/chatterbox/">
<![CDATA[<div width="600">
<em>This is a short Photoshop tutorial of one method to create water drops on a glass containing cooler liquid, mimicking a glass sweating.  There are several ways to attain this effect.</em>

<p>A friend saw an image I'd done the other day and asked how I accomplished making the bottle look like it was sweating and had water droplets of condensation on the glass.  There are several ways to do this in Photoshop, depending upon exactly what you need.  </p>

<p>Some are easier to use, some are harder.  In this case it was easier because I didn't really need any distortion effect beneath the waterdrops since there weren't any letters on the glass.  So I used a method that allows me to add water drops to any image in literally any image in a couple of minutes.</p>

<p>The key to droplets is that when they occur in nature, no matter whether it's condensation or rain, there is a certain randomness involved.  Meaning not all of the water drops are the same size.  Nor are they positioned in any kind of set pattern.  You need both of these elements no matter what method you use. </p>

<p>So with all of this said here's a quick and dirty tutorial, with all the steps and screen shots, of the easiest way I've found to make groups of water drops in Photoshop.<br />
First, we need an image to start with.  I've chosen a photo of a glass of iced tea sitting on a deck rail with some green growth in the background.  You can right click and save this image if you want to play along.</p>

<p><br />
<img src="/ps/iced-tea.jpg" width="334" height="500" align="middle"></p>

<p>1. Launch your Photoshop and open the image file you plan to work with.  Press the <strong>D</strong> key to set the Default colors to black foreground and white background.</p>

<p>Next, if your Layers Palette isn't already open press the <strong>F7</strong> key to open it.</p>

<table>
<td width="340">
2. Then select the <strong>Create New Layer</strong> button.  This is a button along the bottom of the Layer Palette, in the position noted in the image to the right. 
</td><td width="260">
<img src="/ps/layerpalette-new.jpg" width="257" height="325" border="0">
</td>
</tr>
</table>
3. With the new layer created and selected (it selects automatically) press the <strong>Ctrl</strong> along with the <strong>Delete</strong> key (Ctrl + Del) to fill the new layer with a white color.  Your image should now look similar to the one below.

<p><img src="/ps/tea-addlayerwhite.jpg" width="500" height="474" border="0" align="middle"></p>

<p>(Brief Aside: I'm on a Windows PC so the keyboard shortcuts are for Windows users.  If you're on a Mac substitute the Command key for the Ctrl key and the Option key when I say to use the Alt key.)</p>

<p>Next we're going to use some filters that are built into Photoshop to create our water drops in a nice random pattern.  This is going to look funny for a bit, but stick with the entire three step process and you'll have some great water droplets to work with.</p>

<table>
<tr>
<td width="303">
<img src="/ps/tea-fiberssettings.jpg" width="300" height="407" border="0"> 
</td><td width="297">
4. First filter - Choose <strong>Filter > Render > Fibers</strong>.  The settings I used are shown to the left and are a pretty good starting point, though you can always tweak the settings on any of these filter instructions to change the look, size and placement of the water drops if necessary. 
</td>
</tr>
</table>

<p>This should leave your image looking like the one below.</p>

<p><img src="/ps/tea-fibers.jpg" width="500" height="474" border="0" align="middle"></p>

<table>
<tr>
<td width="332">
5. Our second filter is <strong>Filter > Texture > Stained Glass</strong>.  The settings I used are shown to the right. 
</td><td width="268">
<img src="/ps/tea-stainedglasssettings.jpg" width="265" height="404" border="0">
</td>
</tr>
</table>

<p>Which leaves our image looking like the one below.</p>

<p><img src="/ps/tea-stainedglass.jpg" width="500" height="474" border="0" align="middle"></p>

<table>
<tr>
<td width="269">
<img src="/ps/tea-plastersettings.jpg" width="266" height="405" border="0">
</td><td width="331">
6. Our last filter is <strong>Filter > Sketch > Plaster</strong> using the settings shown to the left.  
</td>
</tr>
</table>

<p>Which leave us looking like the image below:</p>

<p><img src="/ps/tea-plaster.jpg" width="500" height="474" border="0" align="middle"></p>

<table>
<tr>
<td width="330">
7. Now we need to start maniupulating our water drops.  So select the <strong>Magic Wand</strong> from your Tools menu bar as noted in the image to the right.  Then click in one of the <strong>Black</strong> spots of the image to select everything that's black. 
</td><td width="70">
<img src="/ps/tools-magicwand.jpg" width="67" height="445" border="0">
</td>
</tr>
</table>

<p>The above should leave you with an image looking like the one below, with all of the Black bits being selected.</p>

<p><img src="/ps/tea-wand.jpg" width="357" height="549" border="0" align="middle"></p>

<p>We're going to delete this Black part. So press your <strong>Delete</strong> key. Once the Black is deleted choose <strong>Select > Deselect</strong> (or Command + D if you like keyboard shortcuts) to deselect our area.  This should leave your image looking like the one below.</p>

<p><img src="/ps/tea-afterwanddelete.jpg" width="500" height="474" border="0" align="middle"></p>

<table>
<tr>
<td width="324">
<img src="/ps/tea-overlay.jpg" width="257" height="321" border="0">
</td><td width="276">
8. Things are a bit harsh yet, aren't they. So let's make it more realistic.  Go to your <strong>Layer Palette</strong> and tweak the Layer Mode and Opacity a bit.  I used a Layer Mode of <strong>Overlay</strong> and an Opacity of <strong>90%</strong> as shown in the image to the left. 
</td>
</tr>
</table>

<p>Your image should now look something like the one below.</p>

<p><img src="/ps/tea-overlay2.jpg" width="357" height="549" border="0" align="middle"></p>

<p>We're getting closer now aren't we?  We simply have a little clean up work to do.  The clean up Which like it would be a lot harder than it actually is, considering we've got water drops all over the place.</p>

<table>
<tr>
<td width="340">
9. With your water droplets layer still selected in the Layer Palette, and it should be already if you haven't clicked around any, choose the <strong>Add Layer Mask</strong> icon in your Layer Palette, as noted to the right.
</td><td width="260">
<img src="/ps/tea-addmask.jpg" width="257" height="321" border="0">
</td>
</tr>
</table>

<p>To make sure we have our colors set right, press your <strong>D</strong> key to set the Mask default color options, then press the <strong>X</strong> key to inverse them.  This should leave you with Black as the foreground color and White as the background color.</p>

<table>
<tr>
<td width="70">
<img src="/ps/tools-lasso.jpg" width="67" height="445" border="0">
</td><td width="330">
10. Now select the <strong>Lasso</strong> from your Tools menu as noted in the image on the left.  Using the Lasso tool draw a loose selection around the tea in the glass.  Basically what you want to do here is draw a lasso around everything that you want to have water drops, because we'll be using it to mass delete all of the extra water droplets.  Don't stress over your Lasso too much though.  This is simply a shortcut to save us a little time.  Your Lasso doesn't have to be perfect, as you can see from the image of my Lasso drawing below.
</td>
</tr>
</table>

<p><img src="/ps/tea-drawlasso.jpg" width="355" height="546" border="0" align="middle"></p>

<p>Note however that when I drew my Lasso I went just around the tea inside the glass, leaving parts of the glass outside of the Lasso selection.  That'll help speed things up a bit in the next step.  Not necessary, just nice.</p>

<p>11. With your Lasso drawn we need to invert the selection, so that we're selecting everything <em>outside</em> of our tea.  So select <strong>Select > Inverse</strong> (or Command + I) and then press and hold your <strong>Alt</strong> key and press the <strong>Delete</strong> button.</p>

<p>Next deselect everything with <strong>Select > Deselect</strong>, which should leave you with an image like the one below.</p>

<p><img src="/ps/tea-afterlasso.jpg" width="500" height="474" border="0" align="middle"></p>

<table>
<tr>
<td width="339">
12. Our water drops are all there and somewhat random, however they're just a bit too well-formed to look natural.  It's time for final clean up.  Select the Brush icon from your menu bar and set it up to be a rather large, soft brush similar to the settings shown in the image to the right.  Using this brush "paint" around the edges of your tea and you'll see that this removes unwanted water drops.  As shown in the image below.
</td><td width="261">
<img src="/ps/tea-brush1.jpg" width="258" height="273" border="0">
</td>
</tr>
</table>

<p><img src="/ps/tea-betweenbrushes.jpg" width="357" height="549" border="0" align="middle"></p>

<table>
<tr>
<td width="261">
<img src="/ps/tea-brush2.jpg" width="258" height="273" border="0">
</td><td width="339">
13. Now set your brush to still be soft, but a bit smaller, similar to the settings shown in the image to the left.  Using this brush paint around over the remaining water droplets individually in a somewhat random manner.  This will provide the non-uniformity seen in nature.  Leave some water drops more well formed, and paint others more so they are less pronounced.  At this point I typically reduce the Opacity just a bit too, to around 80%, so that too much doesn't get removed too quickly.  This is noted in the image below.
</td>
</tr>
</table>

<p><img src="/ps/tea-brush3.jpg" width="507" height="35" border="0" align="middle"></p>

<p>If you overdo it on any of the droplets you can use <strong>Ctrl + Z</strong> to step back one action.  Or <strong>Alt + Ctrl + Z</strong> if you need to step back multiple steps.  Both of those are available in your Edit menu as well.</p>

<p>When you're pretty sure you're done walk away from your computer for 5 minutes or so, or minimize your Photoshop and do something else for a moment.  Then look at it again (glancing or scanning really) to see if it looks realistic.  When you're done you should have an image with water drops that looks something like the one below.</p>

<p><img src="/ps/iced-tea-finished.jpg" width="334" height="500" border="0" align="middle"></p>

<p>You can then save it as a .jpg file for use on the web, and you might also want to save it as a .psd Photoshop file, just in case you decide you need to come back and edit it more later.  Saving it as a .psd preserves your layers.  I tend to save them as both.</p>

<p>I hope the above helps someone out there trying to figure out a quick and easy way to add water drops to an image.  The same technique can be used on all types of images to produce both condensation and rain effects.  About the only time you'd need to take on one of the more difficult methods, where you create the individual water drops one-at-a-time, is if you have a close-up view that has text or something underneath the water drops that needs to be refracted and distorted.<br />
</div></p>]]>

</content>
</entry>
<entry>
<title>Google Chrome Extensions - Highlight Nofollow Links</title>
<link rel="alternate" type="text/html" href="http://www.randycullom.com/chatterbox/archives/2009/03/google_chrome_e.html" />
<modified>2009-03-24T14:18:36Z</modified>
<issued>2009-03-24T12:42:23Z</issued>
<id>tag:www.randycullom.com,2009:/chatterbox//1.121</id>
<created>2009-03-24T12:42:23Z</created>
<summary type="text/plain">For those who hadn&apos;t yet noticed, the Chrome team over at Google recently started to allow the use of Extensions for their browser. I caught wind of it while reading recent blog entry over at Matt Cutts&apos; blog. Or if...</summary>
<author>
<name>Randy</name>

<email>randy@randycullom.com</email>
</author>
<dc:subject>Just Chatter</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.randycullom.com/chatterbox/">
<![CDATA[<p>For those who hadn't yet noticed, the Chrome team over at Google recently started to allow the use of Extensions for their browser.  I caught wind of it while reading <a href="http://www.mattcutts.com/blog/write-chrome-extension/" target="_blank" title="Opens in a new window">recent blog entry</a> over at Matt Cutts' blog.  Or if you want the developer info there's a new page up in the <a href="http://dev.chromium.org/developers/design-documents/extensions/howto" target="_blank" title="Opens in a new window">Chromium Developers</a> at Google.</p>

<p>As a bit of a warning, this is brand new and is pretty limited at the moment.  The main limit being that at this point in time one can only have one extension installed for Chrome.  According to what I've read Extensions are available only in the latest versions of the Developer version of Chrome, and possibly the Beta 2 version of the non-developer version.  And as of this time they haven't yet made easy use of CSS available via extensions.</p>

<p>FTR, I've been using the Developer version of Chrome for some time now and have never run into any major problems.  So even though it's more of a bleeding edge choice, it's not a bad one.  If you want or need to upgrade to the Dev version you can do that <a href="http://dev.chromium.org/getting-involved/dev-channel" target="_blank" title="Opens in a new window">here</a>.</p>

<p>The One Extension limitation is a serious one for me.  I've got a couple of extensions I've gotten used to over the years.  The big two for me being an Ad Blocker and having the ability to easily see Nofollow links.  Ad Blocking I accomplish via my <strong>hosts</strong> files, as opposed to doing it with a browser extension.  So it's no biggie.  I have however missed having the ability to see nofollow's without viewing the source code.</p>

<p>Thankfully, that's now easy.  In fact, I didn't even have to write any new code to pull it off.  I found I could simply save the javascript for a Greasemonkey highlighter, then let Chrome know where it is via a manifest file.  It's easy to do too.  Following are the files you need and some quick and dirty instructions, in case you use Chrome and want the ability to see nofollow's.</p>

<p>First, save these two files to your hard drive.<br />
<a href="/ext/manifest.json" target="_blank" title="Opens in a new window">manifest.json</a><br />
<a href="/ext/highlight-nofollow.js" target="_blank" title="Opens in a new window">highlight-nofollow.js</a></p>

<p>Or alternatively you can grab both files in <a href="/ext/highlight-nofollow.zip" target="_blank" title="Opens in a new window">this zip file</a>.</p>

<p>You can put these anywhere on your hard drive.  I have chosen to make a new directory at <strong>C:\chromeextensions</strong> to keep everything orderly.  So my instructions will assume you've created a folder of the same name and placed the files in it.</p>

<p>Once you have the two files saved in this new directory it's simply a matter of letting Chrome know the extension is there.  You do this by editing the startup instructions for Chrome.</p>

<p>So right click on the Chrome icon on your desktop and go to the <strong><em>Shortcut</em></strong> tab.  There you should see something like the following in the <strong>Target</strong> line.</p>

<pre>"C:\Documents and Settings\Administrator\Local Settings\Application Data\Google\Chrome\Application\chrome.exe"</pre>

<p>You'll want to add a couple of things to the end of this line to enable extensions and tell Chrome where you've saved them.  After editing the above line should look like:</p>

<pre>"C:\Documents and Settings\Administrator\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" --enable-extensions --load-extension="c:\chromeextensions"</pre>

<p>Basically you're adding <strong>--enable-extensions</strong> to tell Chrome to enable Extensions, the telling Chrome where your extensions are located on your computer with <strong>--load-extension="c:\chromeextensions"</strong></p>

<p>That's it, that's all.  Click OK to save your changes.  Then shut down and restart Chrome and you should have your nofollow highlighter installed and working.  It'll automatically put a pink background color behind any links that are nofollow'd on any page you visit in Chrome.</p>

<p><em>Note: If you changed the c:\chromeextensions path I'm using you'll need to make a quick edit to the Shortcut edit.  No other changes should be necessary since I use a referential reference to the javascript file in the manifest.json file.</em></p>

<p>Enjoy it!  And look for more to be coming soon.  Since it's so darned easy to port over these extensions I expect they'll be hitting the 'Net pretty quickly, as soon as the Chrome team beefs up the Extensions capabilities of Chrome a bit more.</p>]]>

</content>
</entry>
<entry>
<title>Bailout or Stimulus?</title>
<link rel="alternate" type="text/html" href="http://www.randycullom.com/chatterbox/archives/2009/01/bailout_or_stim.html" />
<modified>2009-01-29T22:35:06Z</modified>
<issued>2009-01-29T19:56:03Z</issued>
<id>tag:www.randycullom.com,2009:/chatterbox//1.120</id>
<created>2009-01-29T19:56:03Z</created>
<summary type="text/plain">So here in the US there&apos;s this huge debate about what the Fed&apos;s are talking about doing to infuse a ton of money in hopes of spurring an economic recovery. That&apos;s all well and good as far as I&apos;m concerned,...</summary>
<author>
<name>Randy</name>

<email>randy@randycullom.com</email>
</author>
<dc:subject>Just Chatter</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.randycullom.com/chatterbox/">
<![CDATA[<p>So here in the US there's this huge debate about what the Fed's are talking about doing to infuse a ton of money in hopes of spurring an economic recovery.  That's all well and good as far as I'm concerned, since frankly it was the Fed's fault things got as bad as they have.  (I could go on and on on that subject, but it's too late to change the past so why bother.)</p>

<p>Now there's this debate about whether the current proposal is a bailout, or a stimulus.  Proponents are calling it a Stimulus plan.  Opponents are couching it in terms of a Bailout.</p>

<p>I consider the current plan a Bailout, though for reasons that are entirely different than others.</p>

<p>Here's the deal as far as I'm concerned.</p>

<ol>
<li>You can't call it a Stimulus when all you're doing is handing money to other government bodies and some quasi-governmental entities.</li>
<li>It's not going to create the jobs President Obama wants to see.  For several reasons.  One of the main ones being the time frame restrictions being put on the funding. (For those unaware, the plan as it's currently being discussed says the Fed's have to distribute <em><strong>all</strong></em> of the money within 60 days, <em>and</em> the recipients have to have their project "in the dirt" as it were within 120 days.  

<p>Anybody who has ever paid attention to how government works knows it usually takes more than 120 days for the planning stage of most larger, more significant projects.  Heck, it can take 60-90 days just to get a city council to agree to go ahead with a project.  At which point they still need to go out to bid to find an architect, who then needs another 3 months to create the plans.</p>

<p>What does this mean?  Governments will be using the money to pay for projects they already had planned and on the books.  Not much new will happen.  It'll just be that someone else is paying the bill for already planned projects.</li><br />
<li>The planning part is going to quickly become a weak link.  There are only so many architects, and it's not like those firms can magically ramp up their staffing 500% to service all of these new client projects they're going to have.  Architects have to go to school and be licensed, remember?</p>

<p>So as I pointed out above, if the drawings haven't already been completed, or at least started, there's no chance to meet the 120 day requirement.  Does this mean the Fed's are going to change the requirement?  Or what happens to money that is devoted to a project that isn't "in the dirt" in 120 days.</li><br />
<li>We all know the initial 750 billion bailout of the banks was basically wasted cash.  They got the money with no strings attached, and in large part didn't do anything with it to help the economy or the failing credit market.  Sad but true.  Instead they used it shored up their own companies.</li><br />
<li>What makes anyone think state and local governments are any more trustworthy than the banks?  They're not.  They're going to look out for themselves and their friends first and foremost.  And are used to making large sums of money disappear in a puff of smoke.  </p>

<p>Hell, here in Missouri the other day our new Governor proposes to use $809 million dollars he expects to get in this bailout (no clue where he gets that figure!) to <em><strong>balance the state budget!</strong></em>  No new roads, no new bridges even though we have several hundred that are falling down, no new programs unless you count reinstating some programs that were cut back a few years ago as being "new".  Tell me how that $809 million is going to create new jobs?  Oh and he's talking about cutting 10% or so of the state's employee's at the same time too.  The budget after all has to be balanced (it's a state constitutional requirement here) and he made a lot of campaign promises.  (Hey, I voted for the guy, so I've got a right to complain!  LOL)</li><br />
<li>The only new jobs this money is going to create as it is currently structured is in the construction industry.  But these aren't going to be <em>sustainable</em> jobs, because as soon as the jobs are done the construction companies are going to be forced to lay people off again.  Apparently nobody is looking to see what's going to happen a year or two down the road.</li></p>

<p>Okay, okay, so I should stop complaining since it's the only plan out there, right?</p>

<p>Well, I typically don't bitch about stuff unless I have a solution.  Or at least an idea for one.  ;)</p>

<p>I do in fact have a stimulus plan.  It's basic, but it would work. And further it would not only create the 2+ million New Jobs the President has set as a target, but would stand a lot better chance of succeeding over a much longer time frame.</p>

<p>In a nutshell, instead of giving that trillion or whatever amount they end up doling out to government or local industry, invest it in People and their dreams.  People are simply more trustworthy than either government or large corporations.  </p>

<h3>Here's Randy's Stimulus Plan</h3>

<p>Take applications from People who want to start their own small business.  Don't limit the type of business, as long as it's legal, but do make it a requirement that it be a New Business.  So no corps get a penny.  Nor do current small businesses. (Though I wouldn't freak out if these were allowed to apply as long as you put an upper valuation limit on the applicant.  Say maybe 2 million cap.)</p>

<p>Don't invest in the company.  Invest in the person wanting to start a business.  Give each approved applicant $1 million dollars to get started.  This gives us somewhere between 835,000 and 1,000,000 brand new businesses, depending upon the final funding figure.  Then set a few, logical and quite attainable restrictions.</p>

<ol>
<li>The applicant must be able to start their new business, at least ready to open the doors, within 60 days of funding.</li>
<li>The business <em>must</em> rent or buy some type of office or warehouse space.  This also has to be accomplished in the first 60 days.  Home businesses are nice, but we're looking to stimulate the economy here.  And influx of 835,000 to 1 million new offices would have a drastic effect on the current malaise in the commercial real estate market.</li>
<li>Each new business <em>must</em> employ at least two people.  Full time.  With a wage of at least $50,000 per year, but not more than $100,000 for the first two years.  Again, this must be done in the first 60 days.  One of these wages can be paid to the applicant.  The other has to be someone who is not an immediate family member.  No nepotism.  Both (required) employees must work at the registered office to make sure nobody pulls anything too funny.  If there are additional employees they can telecommute, but at least two need work out of the office space.</li>
<li>All 1 million of startup capital must be spent within 5 years.  There are no restrictions on how it can be spent, as long as it's a legitimate business expense.</li>
<li>Throw a little money at the US Small Business Association in the 2009 budget to help these new, first-time business owners plan a budget, work out a marketing plan, etc, etc.  Encourage the successful applicants to make use of public and private Business Incubators that may be available in their area.  And of course to get involved with their local Chamber of Commerce.</li>

<p>And that's about it.  Pretty simple, hunh?</p>

<p>American's throughout time have always had this dream of owning their own business.  Some attain it.  Most do not, even though they could.  Usually because they do not have the kind of capital available to them to get started.  A million is a nice little nest egg that the vast majority of small businesses never had the luxury of starting out with.</p>

<p>The big initial advantage is that you'll get an immediate infusion into local economies.  Not only in the commercial real estate with those 1 million new office leases.  But also in all of the office desks, computers, filing cabinets, phones, etc that will need to be purchased.  Several industries, all of which already exist and are hurting, will get a piece of the pie.</p>

<p>You also immediately get your 2 million new jobs.  Simple math.  One million new businesses with a requirement that each have at least 2 employees.  That's 2 million jobs if everyone only does the minimum.  And it <em><strong>happens within 60 days</strong></em> of funding.  And each employee is guaranteed at least a living wage.  Not extravagant by any stretch of the imagination, but lots of folks are working 60+ hours per week and bringing home less than $50K per year.</p>

<p>Better yet, these are not Temp jobs, like would be the case with the way the current plan is structured.  As long as the businesses survive there will always be at least 2 employees. For the applicants that are more successful, there will be a lot more than 2 employees a year or two down the road.</p>

<p>The local, state and federal governments get an influx tax revenue, starting with the 2009 tax year.  From the business taxes, personal taxes and sales taxes as the new business makes sales or the employees buy stuff at their local store.  Schools get more tax money to spend too.</p>

<p>In effect you tap into the ideal of the American Dream, giving it wings and an excellent chance to succeed.  You <em><strong>Empower</strong></em> people to become their own boss and own their own business, then you get the heck out of their way and let the do it!</p>

<p>Sounds simple doesn't it?</p>

<p>Okay, let's let the naysayers have some input.</p>

<p>They'd say:</p>

<p><em>We're never going to get that money back since it's basically a grant to a few (1 million is a few?) individuals.</em></p>

<p>True. But are we going to get back any of the money in the current plan?  I've not seen where anybody is going to be repaying anything to the Feds.</p>

<p><em>You can't trust people to do the right thing with that much!</em></p>

<p>Well, true up to a point.  On the other hand it's a certainty that you can't trust Big Business or Government entities to do the things that would actually help the economy.  Just like normal people they're going to help themselves first.</p>

<p>That's the beauty here.  We want the people who get the money are totally selfish.  Because the more selfish they are, the more they're in it to get themselves set for Life, the better everything will turn out.  They'll work harder to make their business a success.</p>

<p><em>Are you nuts? People will take the million and disappear!</em></p>

<p>Some might try.  That's fraud though, isn't it? So when you catch 'em you put 'em in jail.  As a side note, we've already seen the financial system bailout money used that way.  But I haven't seen anybody being charged or going to jail.</p>

<p><em>Do you know how many new businesses fail?</em></p>

<p>Yes I do.  Though the old figures of 50% failing in the first year and 95% within the first five years isn't exactly true.</p>

<p>The SBA statistics show that 66% of new employer establishments survive at least two years.  44% survive at least four years.</p>

<p>Still that's not great.  Slightly less than half will be here four years from now by the stats.</p>

<p>But...and it's a big BUT, riddle me this.  What is the #1 reason for small businesses to fail so early?</p>

<p>Yep, you guessed it.  Being severely under-capitalized from the get go.  They don't have a million dollars to work with to get things rolling.  So the owner spends the first several years bootstrapping, living paycheck to paycheck, both on a business and personal level.</p>

<p>With proper assistance from the SBA, Chambers of Commerce and hopefully also from business incubators across the country, I'd be willing to bet that the failure rate for these special companies would be closer to 20% or less during the first five years.  And five years down the road the economy, heck the world itself, is likely to be quite different from today.  Hopefully better, but there are no guarantees in life.</p>

<p>And for every one that fails it's a reasonable expectation that two others would have been successful enough to expand and make up the difference.</p>

<p>So tell me Mr. President and our leaders in Washington DC.  Why are you making this bailout/stimulus so convoluted and difficult?  Especially when the answer to all of the things on your wish list is right here, and is something everyone could get behind.</p>

<p>Empower your people, and encourage the Dream!</p>]]>

</content>
</entry>
<entry>
<title>Analytics and Tracking Visits From Twitter Tweets</title>
<link rel="alternate" type="text/html" href="http://www.randycullom.com/chatterbox/archives/2009/01/analytics_and_t.html" />
<modified>2009-01-30T19:53:25Z</modified>
<issued>2009-01-27T18:44:52Z</issued>
<id>tag:www.randycullom.com,2009:/chatterbox//1.119</id>
<created>2009-01-27T18:44:52Z</created>
<summary type="text/plain">Today we&apos;re going to take a look at how businesses can make use of social media services like Twitter to support their marketing efforts. Concentrating on the main pitfall these businesses run into when utlizing such marketing methods, that being...</summary>
<author>
<name>Randy</name>

<email>randy@randycullom.com</email>
</author>
<dc:subject>Web Analytics</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.randycullom.com/chatterbox/">
<![CDATA[<p>Today we're going to take a look at how businesses can make use of social media services like Twitter to support their marketing efforts.  Concentrating on the main pitfall these businesses run into when utlizing such marketing methods, that being how to track the impact or your efforts to make sure you're receiving appropriate bang for your marketing buck.  Or really if the time you put into social media marketing is worth the effort.</p>

<p>Needless to say, making use of social media is a far better fit for some markets than it is for others.  As a for instance, if you were consultant of some type, where building your reputation of expertise was important, having a presence in social media would stand a pretty good chance of being useful to your marketing efforts.  On the flip side, if you sold say Children's Toys you should probably expect that it'll have less impact to your bottom line as a general rule.</p>

<p>That said, one constant problem remains.  You HAVE to be able to track users who see your Tweets, figure out how many click on links you provide and how many of these ultimately up convert into paying customers.  Without the ability to track these actions you're basically shooting in the dark.  You have no way to tell if one subject is more popular than others.  Nor can you tell if addressing one subject resonsates better with users than another, thus producing higher or lower conversions.</p>

<p>A couple of ground rules before we dig into the meat of the subject.</p>

<p>First I'm going to be concentrating on Twitter for the purposes of this tutorial.  It's not that the methods described below won't work on other social media platforms (they will!) it's just that I want to keep things as straight forward as possible.</p>

<p>Second, I'm not going to address how to get users to follow you at all.  This document isn't about becoming a well known, highly followed Twitterer.  There are already lots of documents out there addressing this issue.  Instead this tutorial is solely about how to track what your followers are doing with the recommendations you make in your Tweets so that you can hopefully gain some insight and make better use of the system for business and marketing purposes.</p>

<p>Why Twitter?  Well, the answer to that one is pretty simple really.  First, I freely admit I'm not a big social media user myself.  There already aren't enough hours in my day and I know from past experience how time consuming these types of things can be.  Heck, I used to spend hours and hours playing different MUD games that were really nothing more than online social platforms.  I just don't have the extra time to devote to these types of things these days, so I'm not a dedicated Tweeter myself.</p>

<p>The real reason I chose Twitter for these examples is that a friend of mine uses Twitter as part of his business.  Specifically he started out using an application called <a href="http://getsatisfaction.com/" target="_blank" title="Opens in a new window">Get Satisfaction</a> that is basically a Twitter-enabled customer service/pre-sales tool.  He uses it to answer questions people visiting his consulting site might have.  </p>

<p>After he got into the whole Twitter thing he started getting some followers so he started blogging and then Tweeting about interesting things he ran across each day in his travels.  Like many he'd blog about these things he found, then Tweet a link to his blog.</p>

<p>Seeing the amount of traffic these pages received from his followers he wondered how he might use it to further grow his business through a new traffic channel.  Which was a good idea on his part.  It's always a good thing to explore and open new traffic channels IMHO.</p>

<p>While it's a good idea on the surface, several problems arise immediately.  The largest one being how does one track these hits that come from all over the place so that you can determine how effective the Tweet Campaigns really were?</p>

<p>Let's pause a moment to touch on why tracking these hits is so darned difficult.  The reason is both a blessing and a curse.</p>

<p>First, if the clicks were coming from people who were viewing his profile page on Twitter it would be reasonably easy to track.  The referer (sic, but that's the way it's spelled in the logs) field in the users browser would be easy for him to track in the Google Analytics stats for his site.</p>

<p>The blessing and curse is this:  According to most studies only about half of Twitter users actually use the viewing mechanisms provided at twitter.com.  Which means about half of Twitter users utilize one of several third party applications that have been built to make Twitter easier to use.  </p>

<p>These additional applications or clients can be SMS (read cell phone) text messaging, desktop applications like twhirl or TwitKit that pull your Twitter feeds onto your desktop for easier reading, light-weight web apps built for cell phone usage over the 'Net, etc.  This amazing flexibility, the ability to utilize one of several Twitter clients to access their system, is one of the features that makes Twitter so popular with its users.  It is a true blessing for users, but a curse for marketers trying to track movement.</p>

<p>The long and short of the curse is that clicks on Tweet links from these other applications carry no referer information in the browser.  They're often not browser based, so there is no referer.  For all intents and purposes these visits will look just like Direct hits in your site stats, meaning you'd have no earthly idea how someone may have found your blog post.</p>

<p>Needless to say this is the type incomplete data that can severely skew data.  Especially when you're trying to determine the Source or Channel to sort out if your Tweeting is bringing you good, converting traffic.</p>

<p>So that's where we start the exercise.  We have to see if we can come up with a way to track these visitors, and do so reasonably accurately, tracing them back to the original click, and then continue to track them all the way through conversion.</p>

<p>Talk about an interesting puzzle!  The fact that there is a data disconnect at the point of the first click is a MAJOR stumbling block.</p>

<p>So how do we do this without having to resort to a paid service?  And still make use of some of the url shortening services that are already out there for Twitter users?</p>

<p>Well, I don't want to spoil the plot for you, but I will give you a heads up that it can be done.  And once you have the basics set up the first time, it's not something that's difficult to do daily.  So let's get on to it!</p>

<p>Here's what we'll be using to track clicks and conversions:</p>

<ol>
<li>Google Analytics (hey, it's pretty good and best of all free!)</li>
<li>One of the avaiable url shorteners like <a href="http://www.tweetburner.com" target="_blank" title="Opens in a new window">Tweetburner</a> (You can use any of these services, not just Tweetburner.  The trick is to pick one that integrates well with the Twitter client you use.  I'm using Tweetburner because it's what my friend already used and because it works well with his <a href="http://twhirl.org/" target="_blank" title="Opens in a new window">twhirl</a> Twitter Desktop Client.</li>
<li>A little magic that was intended for Adwords advertisers, but can be used by anyone with a Google Analytics (GoAn) account.</li>
</ol>

<h3>The Beginning</h3>

<p>So in the very beginning we're going to create a web page or make a post on our blog that contains some juicy information, something that people will want to read about.  Pretty standard stuff here.  Millions of people post stuff like this every day.</p>

<p>The only trick, if you want to call it that, is that you usually need to find and use a URL shortening service if you're going to include these URLs in your Tweets.  The reason being that Twitter and similar micro-blogging platforms place a limit on the number of characters you may include in any message.  So the shorter the URL the better, as a general rule.</p>

<p>Most people who already Tweet are going to be well aware of this fact, so I'm not going into it in any depth.  Suffice it to say you need to keep your URLs as short as possible, so you'll want to use a shortening service.</p>

<h3>The Analytics Part of the Equation</h3>

<p>So now we have a couple of tools that will allow us to make our Tweets and shorten the URL address.  But we still don't know how to track the clicks.</p>

<p>Enter Google Analytics.  (As stated before, this same sort of concept would work with many other stats programs, but GoAn is free, quite good and has everything we need built into it already.  Namely URL Tagging.)</p>

<p>First, a quick word about the <a href="http://www.google.com/support/analytics/bin/answer.py?hl=en&answer=55518" target="_blank" title="Opens in a new window">URL Tagging</a> feature of Google Analytics.  URL Tagging was originally devised to allow Adwords advertisers to better define and determine which of their ads or ad groups were sending traffic to your web site.  It's a pretty cool feature for Adwords advertisers so that they can test and tweak their ads, eventually leading to better quality traffic.  And if used properly, traffic that converts.</p>

<p>We're going to be using a few of these URL Tagging fields to help us define our Tweet links so that we can tell what we're looking at when we review our Google Analytics stats.  </p>

<p>There are a couple of ways you can get your URL Tagging up and working for you.</p>

<h3>Manual URL Tagging</h3>

<p>If you want to do it the manual way, after you've made your blog post --or created whatever page you're going to promote via Twitter-- you can use Google's <a href="http://www.google.com/support/googleanalytics/bin/answer.py?hl=en&answer=55578" target="_blank" title="Opens in a new window">URL Tagging Builder</a> tool.  What you do here is plug in the URL address of the page you want to send folks to in the top section.  Then, since we don't need all of 'em, we'll put some info in each of the required URL Tagging fields.  Namely, Campaign Source, Campaign Medium and Campaign Name.</p>

<p>You can put pretty much anything you want into each of these, but what I suggest is to use something nice and generic for some of them and possibly something more specific in one or two so that we can gain a finer degree of control.  You'll also want to avoid spaces in your tags so that you don't worry about URL Encoding issues.  As you'll see in the screenshot below that is an example based upon this post I've chosen to put <strong>Twitter</strong> as the Campaign Source and Medium, and used a Campaign Name of <strong>TwitterAnalytics01272009</strong>.  </p>

<p>FTR, the Campaign Name is just a visual clue I'm setting up for myself so when I see it in GoAn I'll know it was a Tweet I sent out on January 27, 2009 and the subject of the Tweet was this discussion about enabling some web analytics tracking capabilities for Twitter induced visits to this page.  A screen capture of using the URL Tagging Builder is below.</p>

<p><img src="/images/urltagger.jpg" width="570" height="377"></p>

<p>You'll see this produced an incredibly long URL address of:</p>

<p><strong>http://www.randycullom.com/chatterbox/archives/2009/01/analytics_and_t.html?utm_source=Twitter&utm_medium=Twitter&utm_campaign=TwitterAnalytics01272009</strong></p>

<p>This is the main reason we need to use a url shortening service.  The tracking url itself ends up being almost as long as Twitter allows for your entire message!  So head over to Tweetburner or whichever URL shortening service you use and plug in your Tagged URL to get the considerably shorter version.</p>

<p>In my case Tweetburner shortened this exceedingly long URL to:<br />
<strong>http://twurl.nl/8zv28p</strong></p>

<p>Much better!</p>

<p>Okay, that's all for the manual way to create Tagged URLs.  If you don't Tweet URLs much, the manual method might be easiest.  In which case you can skip the next section.  If you Tweet very often though you'll want something a bit more automated.  Thus I'm including a much easier and faster way to produce these Tagged URLs.</p>

<p>And the easier way is?</p>

<h3>A Bookmarklet</h3>

<p>Hopefully you're already familiar with what Bookmarkets are, because that explanation is outside the scope of this post and I don't want to take the extra space explaining it.  Basically though, bookmarklets are relatively small bits of Javascript code that you can drag to your browser's Bookmarks that then do <em>something</em> when you click them while on a web page.</p>

<p>In the case of this bookmarklet it processes a bit of Javascript to automate a few things.  It...</p>

<ol>
<li>Grabs the URL of the page in your current browser window.</li>
<li>Pops up a little message to let you set the Campaign Name.</li>
<li>Produces a Tagged URL that Google Analytics will understand and process.</li>
<li>Sends it all off to Tweetburner, which in turn gets you the shortened url address to use in your Tweet.</li>
</ol>

<p>The text version of the Tweetburner Bookmarklet is:</p>

<pre style="overflow: auto; width: 570px; height: 50px; background-color: #FFFFFF">
javascript:var%20tweetletCampaign=window.prompt('Enter Campaign Name','ChangeMe');var%20tweetlet='http://tweetburner.com/links/create?url='+escape(location.href);if(location.href.indexOf('?')>0){tweetlet+=escape('&')}else{tweetlet+='?'}tweetlet+=escape('utm_source=Twitter&utm_medium=Twitter&utm_campaign=');tweetlet+=escape(tweetletCampaign);window.open(tweetlet,'_blank','width=500,height=320,scrollbars=yes,resizable=yes,status=yes,toolbar=no,location=no');tweetlet.focus();
</pre>

<p>Or if you want a version you can click and drag to your bookmarks: <a href="javascript:var%20tweetletCampaign=window.prompt('Enter Campaign Name','ChangeMe');var%20tweetlet='http://tweetburner.com/links/create?url='+escape(location.href);if(location.href.indexOf('?')>0){tweetlet+=escape('&')}else{tweetlet+='?'}tweetlet+=escape('utm_source=Twitter&utm_medium=Twitter&utm_campaign=');tweetlet+=escape(tweetletCampaign);window.open(tweetlet,'_blank','width=500,height=320,scrollbars=yes,resizable=yes,status=yes,toolbar=no,location=no');tweetlet.focus();">Tweetburner Bookmarklet</a></p>

<p><em>As mentioned above, this same concept will work with all sorts of url shortening services.  Though you'll have to tweak the above bookmarklet to work with other such services.  Also, most of these services will provide you with additional click data if you sign up for an account at whichever service you choose to use.  The above Tweetburner Bookmarklet has been tested in Firefox 3, IE6, and Chrome.  If you use another browser and have difficulty with the bookmarklet let me know and I'll try to sort out any problems.  No promises, but I'll give it a whirl.  </p>

<p>FTR, don't bother asking about IE7.  MS overreacted to a nefarious bookmarklet that exposed a bug in IE some time ago and put some security measures in place that defeat the usefulness of bookmarklets.  It's not worth the effort to get bookmarklets working in IE7 IMHO.</p>

<p><added>If you use Cli.gs, Snurl.com, TinyURL or Is.gd as your URL shortening service I've created a bookmarklets for each that can be found <a href="http://www.randycullom.com/twitterbookmarklets.php" target="_blank" title="Opens in a new window">here</a>.  I'll add more of those for other services as people suggest them and as I can find time.</em></p>

<h3>Pulling it all together</h3>

<p>Okay, so if used the bookmarklet you now have the shortened URL.  Same goes if you used the manual method.  What's next?</p>

<p>Now we need to start distributing the information via Twitter.  How to do this depends upon if you use their web appliance or one of the various client applications.  Whichever it is in your case, write your message and drop in your shortened URL, then send it to the ravenous masses.</p>

<p>Whichever method you choose, it will automatically get Google Analytics collecting the info you want.  And not just from those who see it in your Tweet either.  If they share the URL with others (via tweets, in their blog, in email, whatever!) the hits will all still show up in your GoAn as TwitterAnalytics hits.  Though in some cases you may also see a referring URL.</p>

<p>Your done with setting up the basics of incorporating web analytics into your Twitter usage.  Many will need do nothing else, and will automatically start receiving the enhanced data.  It just happens.</p>

<p>That said, the following questions beg to be answered: Where does this show up in Google Analytics and How can I make use of it?</p>

<p>Well, the first place to look at, if you're looking for just basic information, would be in the <strong>Traffic Sources > Campaign</strong> area.  Because we've set the Campaign Name on our Tweet links, Google Analytics will now break these out just as if they were individual Adwords campaigns.  You can break out this data by choosing <strong>Campaign</strong> in the <em>Dimensions</em> drop down, if it's not already selected.  Essentially this data can tell you which of your tweets struck a chord best with your Twitter followers.  Which tweets had the desired effect of producing a click to your page and which didn't for one reason or another.</p>

<p>That's the basic information available, without having to do anything else.  And while it's pretty basic it can also be quite valuable.  Think of it as instant feedback telling you what your followers want.  Sort of like having them take a survey, but without them realizing they're taking part in a survey.</p>

<p>If you're an e-comm site and you want to get more elaborate tracking data you can also set up <a href="http://www.google.com/support/googleanalytics/bin/topic.py?topic=11086"Goals and Funnels" target="_blank" title="Opens in a New Window">Goals and Funnels</a> in Google Analytics.  These would allow you to tie conversions back to the original hit on your site, essentially giving you not only a way to see how much traffic a certain tweet brought to your site, but also a way to see how many sales/conversions result from your Tweeting.</p>

<p>Say what?</p>

<p>Yes, you heard that right.  Now that we've removed the problem of the data disconnect you can treat Twitter activity (or any other social media platform) as a wholly unique traffic channel, and trace all of your hits and actions that resulted from those hits.  If you wanted to you could drill down to minutiae in your social media activity, turning it into a true marketing channel where you can test things and start better meeting your follower/customer/visitor expectations.</p>

<p>You can of course also utilize GoAn's Custom Reports and Advanced Segmentation tools to bring forth some incredibly helpful data.  Both of these services are still in Beta, though I understand they've rolled them out to most accounts at this point.  Experiment with them and I think you'll find the reporting capabilities quite useful.</p>

<p>In fact, if you're into doing some conversion testing and have a good testing tool you could even show different content to different users who visit via your Tweets (triggering it on the Campaign Name or Campaign Source if you wanted to get really crazy) to track the same message going out to different social media traffic channels.</p>

<p>This post is already way too long so I'm not going to go into all of the possibilities of how you can utilize Goals and Funnels in Google Analytics or a good conversion testing tool to alter the delivered content.  Just know that if you can dream it as part of your marketing campaign, you can probably do it!</p>

<p>I would encourage you to do experiment with these possibilities if you're Tweeting things and pointing people to pages that contain a conversion goal of some type.  Given the length of this post you might think this would be a difficult and time consuming thing to do.  But it's not.  Here are the basic steps, from start to finish:</p>

<ol>
<li>Create your landing (or blog) page to which you're going to be sending traffic.</li>
<li>Create the pages in your conversion funnel and/or goal completion pages as normal.  Or if they're already created, as will be the case most often, simply link to these pages from your landing page.</li>
<li>If you haven't done so already, log into your Google Analytics account and set up your Goals and Funnels, per the instructions from the link above.  You'll need to add a bit of GoAn code to your Goal Completion page to tie it all together.</li>
<li>Use the manual Tagging method or the Tagging Bookmarklet to get your special URL address you'll be pointing people to.</li>
<li>If you're using the manual method, shorten your url with Tweetburner or some similar service.  If you're using the Bookmarklet method you should already have your shortened URL.</li>
<li>Tweet your message and shortened URL out to your followers.</li>
<li>Sit back and relax for a couple of days to let the information start flowing into Google Analytics. After a few days review the data, interpret the response and design a new campaign to see if you can improve the conversion response.</li>
</ol>

<p>There ya go.  With a few simple steps you can now not only track your Tweet hits fairly accurately, you can also use your Tweet data to conduct some quick response conversion testing.</p>

<p>How's that for cool?  ;-)</p>]]>

</content>
</entry>
<entry>
<title>Using Economic Troubles In Your Sales Pitch</title>
<link rel="alternate" type="text/html" href="http://www.randycullom.com/chatterbox/archives/2008/12/using_economic.html" />
<modified>2008-12-30T14:35:25Z</modified>
<issued>2008-12-30T12:46:30Z</issued>
<id>tag:www.randycullom.com,2008:/chatterbox//1.118</id>
<created>2008-12-30T12:46:30Z</created>
<summary type="text/plain">The second interesting thing I mentioned in my last post has to do with how it can be advantageous to recognize and mention the current state of the economy as part of your sales pitch. Let me first be clear...</summary>
<author>
<name>Randy</name>

<email>randy@randycullom.com</email>
</author>
<dc:subject>Business on the Web</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.randycullom.com/chatterbox/">
<![CDATA[<p>The second interesting thing I mentioned <a href="http://www.randycullom.com/chatterbox/archives/2008/12/jus_testin.html" target="_blank" title="Opens in a new window">in my last post</a> has to do with how it can be advantageous to recognize and mention the current state of the economy as part of your sales pitch.  Let me first be clear in saying I do not believe this should <em>replace</em> your Unique Sales Proposition/Unique Value Proposition.  However simply stating the obvious, while breaking a couple of the normal Best Practice ideals, did manage to show some conversion improvements on the couple of sites I tested it.</p>

<p>What do I mean?</p>

<p>Well, first I think everybody is well aware by now that current state of the economy sucks.  It sucks big time!  And this is one where everybody is in the same boat.  A boat that has apparently sprung a few leaks.</p>

<p>Tailoring part of your offer to give voice to this reality surprisingly seems to be something you may be able to use to improve conversions.  It doesn't even have to be a grand statement.  The two sites I tested the idea on recently made only small mentions, but people were having an emotional response to the site's recognizing the fact that people are hurting, while tying the tough times to the offer.</p>

<p>As far as the breaking the rules part, I didn't really break a rule.  Just skimmed the edges a bit.</p>

<p>What I mean by this is that I always recommend that you stay away from superfluous, qualitative language in your headlines, copy and call to action.  Instead you should use quantitative language.  The former tends to get immediately discounted, or worse sets up a condition where visitors immediately question if they can trust you.</p>

<p>An example perhaps.</p>

<p>A qualitative headline might say something like:</p>

<p><em>We offer the best lederhosen on the web!</em></p>

<p>When you do something like this you're (unknowingly perhaps) challenging the visitor to review some of your competitors offers to see if they can find something better in some way or another.  Even if the visitors don't take up the challenge to shop your competitors, such blanket statements tend to introduce a bit of distrust into the equation.  This type of superfluous sales'y type of pitch simply doesn't work well in my experience.  Ever.</p>

<p>A quantitative approach that gets across basically the same message might be something like:</p>

<p><em>Your source for high quality, 100% goat hide lederhosen!</em></p>

<p>There's still a qualitative idea in there ("High Quality") but there's also a strong quantitative statement to back up the thought. (100% Goat Hide) And the headline has shifted the focus from "We Offer" (the old wee-wee mistake) to a customer-centric idea.</p>

<p>Now, how did I skirt around the edges of these best practice ideals (quantitative vs. qualitative and no wee-wee hype) that worked with the concept of recognizing the tough economic times that ended up improving conversions?  I added a simple sub-headline and a short paragraph to a part of the pitch.  It's not the USP, but it does support the USP.</p>

<p>Sub-headline: <em>Our best offer.  Ever.</em></p>

<p>Followed by a short paragraph detailing how the site's offer has been tweaked to give even better value than normal because the owner(s) understands times are hard for everyone.  This "Best Offer Ever" could be free shipping, a temporary price decrease, discounts for larger purchases, discounts for established customers, coupons, etc, etc.</p>

<p>There's a trick with using such a qualitative statement as part of your pitch though.</p>

<p>Notice how it doesn't set up a comparison to every other competitor out there.  It doesn't cause the visitor to immediately distrust the hype.  Instead it's comparing the current offer to what this particular business has done in the past.  In a nutshell it's saying <strong><em>We feel your pain.  If you help us, we'll help you.</em></strong>.</p>

<p>This is an entirely different approach than I've used before.  Though it seems to resonate with prospective customers, probably because of the current economic crunch.  And it's something you may want to test with your own site if you've recently implemented some changes to help you survive the economic downturn.  </p>

<p>I've tested the concept on two sites and seen very good success, with conversion rates doubling on one site and rising by roughly 60% on the other.  In both cases this single, smallish addition has helped recoup all of the losses these two sites have seen over the last several months.  Both are converting at a higher rate than they were a year ago, prior to the downturn, with improved gross revenues.</p>

<p>Obviously two sites is not nearly a large enough sample to say it'll work in every market for every site.  However the general idea is something you may want to test on your own site.  You may be pleasantly surprised at the emotional response it seems to evoke.</p>]]>

</content>
</entry>
<entry>
<title>Jus&apos; Testin&apos;</title>
<link rel="alternate" type="text/html" href="http://www.randycullom.com/chatterbox/archives/2008/12/jus_testin.html" />
<modified>2008-12-30T14:46:31Z</modified>
<issued>2008-12-30T03:19:33Z</issued>
<id>tag:www.randycullom.com,2008:/chatterbox//1.117</id>
<created>2008-12-30T03:19:33Z</created>
<summary type="text/plain">A couple of really interesting things that has come out of my recent kick of helping some friends with their sites. The first was a question someone raised, quite innocently. It was such a simple question too. The question was:...</summary>
<author>
<name>Randy</name>

<email>randy@randycullom.com</email>
</author>
<dc:subject>Business on the Web</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.randycullom.com/chatterbox/">
<![CDATA[<p>A couple of really interesting things that has come out of my recent kick of helping some friends with their sites.  The first was a question someone raised, quite innocently.  It was such a simple question too.  The question was:</p>

<p><em>What are the first things you do when you look at a page you're going to start conversion testing?</em></p>

<p>Well, here's what I do first.</p>

<p>When I look at the page I first try to determine what the true objective of the page is supposed to be.  Is the page supposed to get me to sign up for a free newsletter?  Am I supposed to click on a Buy button to purchase something?  Am I supposed to click on an affiliate link leading me to someone else's site?  Am I supposed to click on an Adsense ad or other paid advertisment?  Am I supposed to absorb some information and move on to another page in the sales funnel?</p>

<p>It may sound simplistic, but I've found time and time again that many if not most times either the webmaster doesn't know what the true objective of a landing page is, or isn't focusing users on the objective very well.</p>

<p>As an aside, I know everybody calls them landing pages and I do too, but for conversion testing purposes it's really a misnomer.  You see, Landing Page creates a mental image that it's some kind of destination.  Landing pages aren't a destination for our purposes. In fact they're just the opposite, they're a <em><strong>beginning</strong></em>.</p>

<p>So anyway, that's where you need to start.  What is the objective of your landing page.  Without knowing the objective you can never construct a good test.</p>

<p>Now, the follow-on question that my friend didn't ask by I answered anyway is what exactly should a good landing page do?</p>

<p>Well, that answer comes back to your visitors.  Doesn't it always?  ;)</p>

<p>What I mean by this is you need to understand that every visitor to every landing page subconsciously ask themselves three questions.  It's always the same three questions and it's absolutely vital you answer all three within the first 5 seconds or so of their hitting the page.  In my experience if you don't address them quickly, you've already lost a prospective customer.</p>

<p>These three questions, along with some explanation, are:</p>

<p><strong>Where am I?</strong><br />
<blockquote>People need to understand where they are, including orientation within a site.  This is especially true when you're talking about a landing page where the visitor is going to be deposited on a new-to-them site by clicking on a link in a search engine listing or a link from another site.</p>

<p>This isn't something you need to do with your text necessarily.  It can be done with your branding efforts many times, by the header graphics you use to identify your site.  If you're talking about an internal page being your landing page, this is where it's important to either have a prominent "Home" link and/or use breadcrumb navigation towards the top of your page to help users see where they are and where they can go.</blockquote></p>

<p><strong>What can I do here?</strong><br />
<blockquote>This leads us right back into why it's important to understand the true objective of your landing page.  You can't possibly answer this question, one every visitor automatically asks, without  knowing the answer yourself!</p>

<p>Conversely, since you know the answer <giggle> all you need to make sure you do is make it apparent to your site visitors.  This doesn't mean you have to slap a garish Buy button right in front of them.  But you should at least start leading them down the path so that if they want what you sell they can easily figure out how purchase it.</blockquote></p>

<p><strong>Why should I do it?</strong><br />
<blockquote>Obviously you're not going to completely answer this question in the first 5 seconds.  However you <strong><em>can</em></strong> start answering it enough to get visitors to read on.  Heck, you can address these last two right in your headline many times!</p>

<p>This one comes down to how you structure your call to action and how you deal with building trust <em>and</em> handling objections and trust issues.</blockquote> </p>

<p>So those are the four things I look at when I first review a landing page prior to setting up some conversion testing.</p>

<p>The other interesting thing that came to light recently I'll write about another day.  Hopefully tomorrow if I can manage to find a few moments to pop by.</p>]]>

</content>
</entry>
<entry>
<title>He&apos;s baaaaaaack (aka Where the heck has Randy been?)</title>
<link rel="alternate" type="text/html" href="http://www.randycullom.com/chatterbox/archives/2008/12/hes_baaaaaaack.html" />
<modified>2008-12-30T15:08:20Z</modified>
<issued>2008-12-30T02:55:00Z</issued>
<id>tag:www.randycullom.com,2008:/chatterbox//1.116</id>
<created>2008-12-30T02:55:00Z</created>
<summary type="text/plain">Yeah, yeah... I know I&apos;ve been neglecting my personal blog for a couple of months. Again. Sorry, but I was incredibly busy with several projects. Busy with my own e-comm sites, of course --you know ... the ones that pay...</summary>
<author>
<name>Randy</name>

<email>randy@randycullom.com</email>
</author>
<dc:subject>Just Chatter</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.randycullom.com/chatterbox/">
<![CDATA[<p>Yeah, yeah...  I know I've been neglecting my personal blog for a couple of months.  Again.  Sorry, but I was incredibly busy with several projects.  Busy with my own e-comm sites, of course --you know ... the ones that pay the bills -- as well as getting a couple of new things ready to launch after the first of the year and helping out a few friends with their web sites.</p>

<p>For those wondering, no I don't normally announce new parts of The Kingdom here, but I will tell you one of the new sites will be all about Bidness on the Web.  Specifically it's going to be a series of guides teaching how to set up and run tests to improve conversions.  Along with software recommendations to make the job considerably easier.</p>

<p>Think of it as a guide (actually several guides since one would get too big) that doesn't require any previous conversion testing knowledge or experience.</p>

<p>I've also been donating some time to help out a few friends during what I think everyone can agree is a stretch of tough economic times.  Folks who were on the cusp of being hugely successful or just breaking even have taken a pretty good hit based upon what I hear from those I talk to.  It's just not a good time to be in business if you didn't already have a cushion built up, let alone if you're not very imaginative.</p>

<p>Everybody seems worried that it's something they're doing.  I'm here to tell ya it's probably not anything you're doing or not doing.  Well not directly anyway, though there are always things you can do that'll improve your situation.  The reality is <em><strong>most</strong></em> e-comm sites have seen a decrease in revenue in the last 8-12 months.  How much of a decrease seems to depend largely upon if the product/service being sold was a Necessity, or was simply something nice to have.  Though there are always things you can do to help stave off and manage such decreases in times like these.</p>

<p>One positive thing I will say about these tough economic times is that they've apparently kick started more people into paying a lot more attention to how well their site currently converts visitors into buyers.  This shift of focus makes a good bit of sense when you think about it.  Traffic isn't cheap, so when money is tight it becomes more important to spend your advertising dollars wisely <em><strong>and</strong></em> convert more visitors into customers.</p>

<p>I noticed this new anomaly because I've had a lot more people asking me to help them with their site conversions over the past 6 months or so.  Lots of people who are completely willing to pay for consulting services if it'll help, even though most of them know before asking that I don't consult for hire anymore.  This is a promising development IMHO, even if it's one that had to be forced on business owners by some fairly shaky times.  </p>

<p>Folks just don't have much extra cash laying around these days.  And even those that do are being pretty stingy with it.  I fall into the same general category.  Though I've not stopped my spending dead in its tracks like some have, I am a lot more selective about how and where I spend my money.  </p>

<p>This is the new reality tegardless of whether it's a personal spend or a business spend.  Though I do freely admit to having spent a fair chunk of change in the last month getting a couple of things for the business that I needed.  And I admit to making the purchasing decisions before the first of the year, mainly so that I can claim those purchases on my taxes when I compile and file them next month. (I like to get all of the tax stuff out of the way in January so I can get back to business!)  I'm making these purchases now as opposed to buying in January or February and not getting the tax deduction for many, many months.</p>

<p>I figure if I'm going to spend it in the next couple of months anyway, I might as well spend it in 2008.  I'm sure my purchases have made a few somebody's quite happy, since each purchase was in the thousands of dollars range.</p>

<p>What was the point of this posting anyway?  Oh yeah, those friends I've been helping out.  There are actually two things to cover, but I think I'll get those in another quick post or two, considering my rambling has gone on too long in this one already!</p>]]>

</content>
</entry>
<entry>
<title>Google Analytics Cookies</title>
<link rel="alternate" type="text/html" href="http://www.randycullom.com/chatterbox/archives/2008/10/google_analytic.html" />
<modified>2008-12-30T03:46:01Z</modified>
<issued>2008-10-03T14:03:44Z</issued>
<id>tag:www.randycullom.com,2008:/chatterbox//1.115</id>
<created>2008-10-03T14:03:44Z</created>
<summary type="text/plain">A general question came up the other day regarding Google Analytics and how it tracks things, so I figured it was about time I posted the info I have on the cookies GoAn sets on the users computer, what the...</summary>
<author>
<name>Randy</name>

<email>randy@randycullom.com</email>
</author>
<dc:subject>Web Analytics</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.randycullom.com/chatterbox/">
<![CDATA[<p>A general question came up the other day regarding Google Analytics and how it tracks things, so I figured it was about time I posted the info I have on the cookies GoAn sets on the users computer, what the information in each of them is and which cookie does what.  </p>

<p>Note that this all pertains to the newer Google Analytics methods.  The older version used the same cookies and saved mostly the same information, however there are some minor differences.  The way to tell if your site (or someone else's for that matter) is using the new Google Analytics code or the older legacy code is to review the HTML source of a page containing GoAn code and look at the file being called.  A reference to "urchin.js" means the site is using the older legacy code.  A reference to "ga.js" means it's using the newer code.</p>

<p>First the cookies.  As a general rule GoAn sets four cookies on the users machine.  Their names are:  __utma, __utmb, __utmc and __utmz.  There's a possibility of more cookies, depending upon how the webmaster has things set up --such as the __utmv cookie-- but 99% of the time you'll see just the four main ones.</p>

<p>Here are the dirty details of what each does and the information it saves to the users computer, best I can tell.</p>

<hr width="60%" align="center" />

<p><strong>__utma</strong> - utma is the main cookie that saves all kinds of interesting information.  The interesting thing about this cookie is the massive amount of really pertinent data it saves in such a small package.  This info will look like a bunch of goobly-gook numbers until you understand what they mean.</p>

<p>The cookie contents typically looks like:</p>

<p><strong>XXXX.RRRR.FFFF.PPPP.CCCC.N</strong></p>

<p>Where...</p>

<p><strong>XXXX</strong> = A domain hash.  A domain hash is simply a group of numbers that relates directly back to the domain name of a site.  Think of it as a sort of numerical representation of your domain name.</p>

<p><strong>RRRR</strong> = A random number the GoAn script generates to be used as a Unique ID for each visitor.</p>

<p><strong>FFFF</strong> = A timestamp of the first visit/session for the user.  Or in English, the time someone first hit the site.  As a note, all of these timestamps are in the same format you'd give if you ran a php <em>date('U');</em> call.  They're not in the date format we humans are used to seeing, but they're just as effective.</p>

<p><strong>PPPP</strong> = A timestamp of the Previous visit by the user.  Or the date and time the user last visited your site.</p>

<p><strong>CCCC</strong> = The current time, in the same timestamp format as the previous two.</p>

<p><strong>N</strong> = The number of visitor Sessions the user has had since their first visit.  This number gets incremented by 1 each time the returning visitor starts a new Session.</p>

<p>As you can see, there is a lot of potentially very useful information in this one cookie.  </p>

<p>Essentially the utma cookie is what is known as a Persistent cookie.  Its expiration date is set out to two years in the future on the first visit, and the expiration date is moved out to two years in the future on each subsequent visit.  So if a visitor doesn't let two years pass between visits, you'd still be able to tell the first time they visited your site, the last time they visited your site, the time of their current visit and the number of times they've visited.  This would be some good information to know for all kinds of reasons, especially if you're doing any sort of conversion testing.  Or tracking visitor loyalty.</p>

<p>Some of the above stay pretty much constant throughout, from the first time the cookie is set to the last visit.  Others get updated with each visit.  Those that stay the same are the Domain Hash (XXXX), Random ID (RRRR) and Time of First Visit (FFFF).  Those that get updated and changed are the Time of the Previous Visit/Session (PPPP), Current Time (CCCC) and the Number of Visits/Sessions (N).</p>

<hr width="60%" align="center" />

<p><strong>__utmb</strong> - utmb is one of two cookies that work together to record information about what happened during the current visit or session.  Including the ability to tell when a session ends.  This is a cookie that has been changed pretty significantly between the older legacy version of GoAn and the newer version.  (The old version simply saved the Domain Hash and nothing else.)  The info it saves now looks like:</p>

<p><strong>XXXX.P.10.C</strong></p>

<p>Where...</p>

<p><strong>XXXX</strong> = The Domain Hash.</p>

<p><strong>P</strong> = Pages of the site viewed <em>this session</em>.</p>

<p><strong>C</strong> = A timestamp of the Current Time.</p>

<p>I'm not 100% sure what the "10" in there does, but every one of the dozen or so sites I looked at that had the new GoAn installed all had the number 10 in the third octet.  In looking at what's in the ga.js file it looks like this part is going to be utilized at some point in the future to perform automated off-site click tracking, but at this time it's not something that's reported in GoAn.</p>

<p>Again, we've got some useful information.  Especially that part where it records the number of pages you have viewed this Session.</p>

<p>This cookie sets itself to expire in 30 minutes, but it's 30 minutes from the time you loaded the last page you viewed.  Meaning if you hit a GoAn enabled site, view a page for a couple of minutes, then move to another page of the same site you're going to see two things happen to the cookie.  First the Pages This Session (P) value is going to be incremented by one (FTR it gets incremented if you reload the same page, so it technically isn't a Pages Viewed count) and the Created and Expires details are going to get updated to start the 30 minute clock ticking again.</p>

<p>Why 30 minutes?  Well, some browsers (some versions of IE notably) don't correctly erase a Session cookie like they should.  So the 30 minute timer works pretty well.  It gives a user plenty of time to move on to a new page, but ends the session in 30 minutes if nothing happens.</p>

<p>utmb in conjunction with utmc is what GoAn used to determine things like time on page, pages visited per session, how long a session lasts on average, etc.</p>

<hr width="60%" align="center" />

<p><strong>__utmc</strong> - utmc is a true Session cookie, meaning it is one that expires at the end of the current session/visit.  If you navigate away from the site or close your browser it should be automatically deleted, if the browser does what it's supposed to do.</p>

<p>As mentioned above, it's utlized with the "b" cookie, with its main function being to tell how long a session or visit lasted. It is not overwritten once a session starts, so by looking at the Created timestamp and the current time one can in theory tell how long a visitor has been on a given site.</p>

<p>The only info in utmc's content is the Domain Hash.</p>

<hr width="60%" align="center" />

<p><strong>__utmz</strong> - utmz is another of those powerhouse cookies, one that saves a lot of information that can be quite useful.  The treasure trove of info it saves relates to how a user arrived at a site.  The channel though which they came, date/time info and even what keywords they used if they arrived via a search engine.</p>

<p>Its content normally looks something like:</p>

<p><strong>XXXX.TTTT.V.S.utmcsr{source}|utmccn{campaign}|utmcmd{medium}|utmctr{keyword}</strong></p>

<p>Where...</p>

<p><strong>XXXX</strong> = The Domain Hash.</p>

<p><strong>TTTT</strong> = The timestamp of when the cookie was <em>last</em> set.</p>

<p><strong>V</strong> = How many visitor sessions there have been in total. (should be the same as the final number in the "a" cookie in theory.)</p>

<p><strong>S</strong> = Via how many different sources or channels this user has arrived at the site. In other words, if a user searched at Google and found your site one time, then searched at Live or Yahoo another time and clicked through, this number should increment.  In theory this number should also increment if one time a user clicked on your Organic search ranking in Google and a second time clicked on an Adwords ad you had running on Google.</p>

<p><strong>utmcsr</strong> = The source of the last time the cookie was updated.  So if someone searched and found your site on Google here it would say utmcsr=google</p>

<p><strong>utmccn</strong> = Campaign information.  This is really there for Adwords types of situations.  If you tag your campaign with an identifier it'll show up here in the cookie.  If it's just a normal search hit it should say utmccn=(organic)</p>

<p><strong>utmcmd</strong> = Medium.  But not as in Large, Medium and Small.  Their Medium is more really more channel information.  So if a hit comes from a normal, non-paid search it'll show utmcmd=organic</p>

<p><strong>utmctr</strong> = The keyword phrase someone typed into the search engine.  Really useful this one, however remember it shows the <em>last</em> search data, not how someone originally found you.</p>

<p>The utmz cookie gets set with a lifetime of six months into the future, and gets its expiration date updated with each time the cookie is updated.  This can be a bit misleading though.  The important thing to remember about this particular cookie is it <u><strong>doesn't</strong></u> necessarily get updated with each and every visit.  For normal visitors it pretty much does, but if you're checking your own site and its cookies you may see some sightly odd information updates.</p>

<p>So those are the four main cookies that get set by Google Analyzer, what they do and what information they contain.  A fifth one, and one I don't see often, is the __utmv cookie.  This one is known as a Custom Segmentation cookie and is one that requires the webmaster to have configured their GoAn via --utmSetVar() to track some special data.  I see it rarely.  In fact I think I've seen it exactly twice.</p>

<p><br />
</p>]]>

</content>
</entry>
<entry>
<title>Common Links Update</title>
<link rel="alternate" type="text/html" href="http://www.randycullom.com/chatterbox/archives/2008/09/common_links_up.html" />
<modified>2008-12-30T03:53:11Z</modified>
<issued>2008-09-04T14:55:41Z</issued>
<id>tag:www.randycullom.com,2008:/chatterbox//1.114</id>
<created>2008-09-04T14:55:41Z</created>
<summary type="text/plain">As you may have noticed, the Common Links tool was been down for maintenance the last few days. Thankfully Ed sent me a note last weekend to let me know it was returning gobbly-gook, so I took it offline to...</summary>
<author>
<name>Randy</name>

<email>randy@randycullom.com</email>
</author>
<dc:subject>Search Engine Marketing</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.randycullom.com/chatterbox/">
<![CDATA[<p>As you may have noticed, the <a href="http://www.randycullom.com/common_link.php" target="_blank" title="Opens in a new window">Common Links</a> tool was been down for maintenance the last few days. Thankfully Ed sent me a note last weekend to let me know it was returning gobbly-gook, so I took it offline to bring it up to date with the way Yahoo's API works these days, as compared to how they did things when the tool was originally released <a href="http://www.randycullom.com/chatterbox/archives/2005/07/common_link.html" target="_blank" title="Opens in a new window">a few years ago</a>.</p>

<p>Thanks for the heads up Ed !</p>

<p>While I had the tool down to bring it up to date, I decided to do a total rewrite of the back end code, adding a couple of features that had been requested.  No time like the present, as they say.</p>

<p>So the tool still does the same basic thing.  It allows you to enter a keyword phrase that it then uses to grab the Top 10 ranked sites for said phrase on whichever of the three major search engines you choose to query.  It then uses Yahoo's API to grab backlink data for each of these top ranking sites, sorting and ordering it so that you can see which other sites link to two or more of the top ranking sites.</p>

<p>The idea being to give you a heads up regarding some sites you may want to approach to obtain links to your site.  Hopefully links from sites that are already considered to be trusted and authoritative by the search engines.</p>

<p>The concept is pretty simple actually.  Gathering, ordering and sorting all of the data is a bit more complicated.  Almost impossible to do by hand in fact.  Hence the reason I built the Common Links tool in the first place.</p>

<p>New additionals to this updated version of Common Links include:</p>

<p>1. The ability to manually insert your own site into the results table, even if it doesn't currently rank in the Top 10 on a certain engine.  This feature was requested and I decided to add it into the mix since it can give you a quick visual reference to how your site stacks up against the top ranking sites.</p>

<p>The format you use when entering an Additional Site isn't all that important since I've added some checking into the back end code.  You can use the http:// address, the www.domain.com address or even the hostname like domain.com.  The tool will handle all of the above.</p>

<p>The tool also automatically checks for duplicate entries, which for the purposes of the tool means the same domain name.  So if there are two listings for two pages of the same domain, the tool will automatically strip out the dupe and show the domain only one time.  This applies for Additional Sites too.  If you manually enter your site and it's already in the Top 10, it'll still only show up once.</p>

<p>Also, it's important to remember Additional Sites will always show up in position #1 in the tool.  For our purposes the numbers aren't really the ranking of the sites, though it is if you do not enter an Additional Site.  For the tool the numbers are used simply as a reference, not the ranking.</p>

<p>2. I've also added the ability to select whether you want the tool to report on backlinks to the specific page that ranks well, or show every link to the domain regardless of which page it links to.  Personally I find the Domain choice gives me a lot better information, but a couple of people have asked for the ability to check backlinks to a specific page.  So it's there now.</p>

<p>A couple of notable things to remember...</p>

<p>Sometimes you'll have a phrase that says only 8 or 9 sites were returned as being Top 10 sites.  This happens because of the automatic pruning of dupes I mentioned above.  Meaning if a certain keyword phrase in a certain search engine has two pages from one site showing in one of those indented listings, it's only going to show up once in the tool.  This is done to eliminate needless queries for backlink data for the same domain multiple times.</p>

<p>Also, remember that this tool uses API licenses with each of the three major engines to gather its information.  I've always been of the mind that it's a good thing to be a responsible Netizen, so I won't do any scraping, search engine or otherwise.  A potential downside to this stance is that occasionally one or the other API licenses will max out its daily usage limits as set by the search engines.  For Google that's 1,000 per day, for Yahoo and MSN/Live it's considerably more.  And of course they Yahoo API gets a lot more use in this tool because that's the API that does most of the heavy lifting.</p>

<p>So if you get an Error, especially a 403 error, it typically means my license for a particular engine has hit its limit for the day.  If you simply wait a day these issues should correct themselves.</p>

<p>I don't regularly monitor the use of this or other API tools I've developed, so I don't see when this happens 9 times out of 10.  If you run into a problem where day after day you can't get the tool to work for you, let me know and I'll look into it.  If I find someone abusing the free tool with automatic queries or overuse I'll simply cut off their access so they don't adversely affect anybody else.</p>

<p>That's it!  Enjoy the new tool.</p>]]>

</content>
</entry>
<entry>
<title>x64 and Acrobat</title>
<link rel="alternate" type="text/html" href="http://www.randycullom.com/chatterbox/archives/2008/07/x64_and_acrobat.html" />
<modified>2008-07-31T21:18:03Z</modified>
<issued>2008-07-31T19:34:46Z</issued>
<id>tag:www.randycullom.com,2008:/chatterbox//1.113</id>
<created>2008-07-31T19:34:46Z</created>
<summary type="text/plain">Just a quick little addition I&apos;ve been meaning to get posted for the better part of a month now. This harks back to the Getting Windows XP x64 to work post of a few months ago. One particularly maddening thing...</summary>
<author>
<name>Randy</name>

<email>randy@randycullom.com</email>
</author>
<dc:subject>Just Chatter</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.randycullom.com/chatterbox/">
<![CDATA[<p>Just a quick little addition I've been meaning to get posted for the better part of a month now.  This harks back to the <a href="http://www.randycullom.com/chatterbox/archives/2008/04/getting_windows.html">Getting Windows XP x64 to work</a> post of a few months ago.</p>

<p>One particularly maddening thing with my switch to XP x64 was that while Acrobat (version 7 in my case) installed and worked for the most part, it did so as a WoW enabled 32 bit application.  This means it doesn't work as a browser plug in for the 64 bit version of IE7, which isn't a huge deal.  It just opens PDF's in an Acrobat window instead, which is fine by me.  Better in most cases actually.</p>

<p>The thing that was maddening is that the ability to pen something in Word or any other application then save it as a PDF failed to work on an x64 system.  The issue is the print drivers (and a PDF Port) being unable to be installed by Acrobat on an x64 system.  This situation still continues today, though there is a rumor that Adobe might finally be fixing the problem by making Acrobat 9 x64 capable.  I have no clue on that one since I'm not about to pay that much to upgrade just for something this silly.  I'd sooner dump Acrobat and use CutePDF, PDF Creator or a host of other options out there that are either completely free or very low cost.  Which is why it makes no sense to me that Adobe allowed this to go on so long.</p>

<p>There is something of a workaround I've set up for now on my system, though I personally think it's silly to have to make it a two-step process.  This works okay for me since I really don't need to convert that many documents myself.  In case you're in the same boat I am, here's how I did it and got it to work.</p>

<p>First, you'll need to install a Postscript printer driver.  Note that this doesn't have to actually be a printer you have attached to your computer since it's going to be a virtual printer for our purposes.  To do this go into your Control Panel (Start > Settings > Control Panel if you're using the Classic Windows start menu like me, or Start > Control Panel if you're using the newer start menu) and select the <strong>Printers and Faxes</strong> icon.</p>

<p>There select the Add Printer icon.</p>

<p>In the Add Printer Wizard select <strong>Local printer attached to this computer</strong> and make sure the <strong>Automatically detect</strong> option is <strong><em>NOT</em></strong> selected.</p>

<p>In the next window choose <strong>FILE: (Print to File)</strong> form the Use the following port dropdown list.  We're doing this here so that we don't have to remember to choose Print To File each time we go to save a document.</p>

<p>In the Printer Software window select <strong>HP</strong> from the Manufacturer box and <strong>HP Color LaserJet 8500 PS</strong> from the Printers box.  The PS is important, since we want it to use Postscript.</p>

<p>It would be wise for you to select <strong>No</strong> to the Default Printer question.  This is just a virtual printer after all.</p>

<p>That's it, you're done with the driver set up.  Well I did go back into the Printers and Faxes window, right clicked on the new 8500 PS printer listed there and renamed it to be Adobe PDF so that I'd know what it was.</p>

<p>Now when you're in Word or whatever and want to convert the document to PDF format instead of clicking on the Acrobat stuff up to, select File > Print and select your Adobe PDF printer.  If you didn't set the Port to FILE: you'll need to make sure to select <strong>Print to file</strong> before clicking OK.  If you set it up as above you shouldn't have to remember to do this each time.</p>

<p>This will open a Print To File window.  Change the .prn to All Files if it's automatically selected and name your file with whatever file name you want along with a .ps extension.</p>

<p>Lastly back in Acrobat choose <strong>Create PDF</strong>, then <strong>From File</strong> and select your .ps file.  Now it should be converted to pdf format, ready to be saved.</p>

<p>Like I said above, the two-step process would be a pain if you had to do this often.  If that is the case you should probably check out some of the x64 enabled options for PDF creation I mentioned earlier. But for those like me who do this rarely, it works at least.</p>]]>

</content>
</entry>

</feed>