<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Adam McFarland</title>
	<atom:link href="http://www.adam-mcfarland.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.adam-mcfarland.net</link>
	<description>Musings of a Balding 30 Year Old Business Owner</description>
	<lastBuildDate>Sat, 18 May 2013 22:19:44 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Part-Time Jobs Within The Job</title>
		<link>http://www.adam-mcfarland.net/2013/05/18/part-time-jobs-within-the-job/</link>
		<comments>http://www.adam-mcfarland.net/2013/05/18/part-time-jobs-within-the-job/#comments</comments>
		<pubDate>Sat, 18 May 2013 22:19:44 +0000</pubDate>
		<dc:creator>Adam McFarland</dc:creator>
				<category><![CDATA[Entrepreneurship]]></category>

		<guid isPermaLink="false">http://www.adam-mcfarland.net/?p=3763</guid>
		<description><![CDATA[When you run a small business there are all sorts of job functions that you become responsible for simply because there&#8217;s no one else to do the job. Usually these things only take up a few hours here and there, but they have moments where the time commitment spikes and they become like a second job, a part-time job within the job. Such has been the case with managing our insurance for the past six months or so. I&#8217;ve become the de facto point of contact for all of our insurances &#8211; health insurance, property insurance, business insurance, life insurance, &#8230; <a class="continue-reading" href="http://www.adam-mcfarland.net/2013/05/18/part-time-jobs-within-the-job/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<p>When you run a small business there are all sorts of job functions that you become responsible for simply because there&#8217;s no one else to do the job.  Usually these things only take up a few hours here and there, but they have moments where the time commitment spikes and they become like a second job, a part-time job within the job.</p>
<p>Such has been the case with managing our insurance for the past six months or so.  I&#8217;ve become the de facto point of contact for all of our insurances &#8211; health insurance, property insurance, business insurance, life insurance, and disability insurance (and probably a few more that I&#8217;m forgetting).  Back in college I interned at <a href="http://www.northwesternmutual.com/" target="_blank">Northwestern Mutual</a> for a summer and got my NYS life, accident, and health insurance license so I suppose I have a bit more knowledge about insurance than the average person, which is how I think I ended up being the Pure Adapt insurance guy.</p>
<p>It started over the holidays when we were notified that our health insurance plan was being terminated.  So we did the research with our broker and transitioned over to a new plan.  Then we decided to increase the buy/sell life insurance and key-man life insurance that we had on each partner.  As anyone who has ever taken out a life insurance policy knows, it&#8217;s a lot of work, including a pretty thorough medical exam.  And we also decided it was time to add group disability coverage.  And our yearly renewal for the business insurance just came up.  </p>
<p>We work with good brokers for each type of insurance, but that doesn&#8217;t mean it&#8217;s still not a lot of work to process the options, make sound decisions with my partners, and then convey them to the team.  So, I spent a few hours today on a Saturday reading through the new group disability policy as well as the business insurance.  It&#8217;s not my first choice of how to spend my Saturday (or any day for that matter) but someone has to do it and I try hard to do just as good of a job on this as I would something I was super excited about.  </p>
<p>My partners each have their own similar responsibilities.  Not something you necessarily think about when starting a company, but necessary to run a successful one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adam-mcfarland.net/2013/05/18/part-time-jobs-within-the-job/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Data That Drove Our Responsive Design</title>
		<link>http://www.adam-mcfarland.net/2013/05/06/the-data-that-drove-our-responsive-design/</link>
		<comments>http://www.adam-mcfarland.net/2013/05/06/the-data-that-drove-our-responsive-design/#comments</comments>
		<pubDate>Mon, 06 May 2013 20:33:39 +0000</pubDate>
		<dc:creator>Adam McFarland</dc:creator>
				<category><![CDATA[Decision Making]]></category>
		<category><![CDATA[Detailed Image]]></category>
		<category><![CDATA[Productivity]]></category>

		<guid isPermaLink="false">http://www.adam-mcfarland.net/?p=3744</guid>
		<description><![CDATA[In my last post breaking down the new Detailed Image, I wrote the following about our responsive design: If you haven’t figured it out by now, this was the main driving force behind this project. Mobile and tablet usage on our site has skyrocketed, with Safari on iOS becoming our #1 browser/OS combo. It’s a trend that’s only going to continue. We needed to up our game. This will be the topic of my next post where I’ll dive into some of the data. We cut the project down significantly so that we could release ASAP because every day we &#8230; <a class="continue-reading" href="http://www.adam-mcfarland.net/2013/05/06/the-data-that-drove-our-responsive-design/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<p>In my last post <a href="http://www.adam-mcfarland.net/2013/04/25/breaking-down-the-new-detailed-image/" target="_blank">breaking down the new Detailed Image</a>, I wrote the following about our responsive design:</p>
<blockquote><p>If you haven’t figured it out by now, this was the main driving force behind this project. Mobile and tablet usage on our site has skyrocketed, with Safari on iOS becoming our #1 browser/OS combo. It’s a trend that’s only going to continue. We needed to up our game. This will be the topic of my next post where I’ll dive into some of the data. We cut the project down significantly so that we could release ASAP because every day we were without a responsive design we felt like we were losing out on a ton of potential sales.</p></blockquote>
<p>So let&#8217;s dive into some numbers.  We review our analytics regularly so the increase in mobile usage hasn&#8217;t really come as a surprise to us. It&#8217;s been happening for a few years. Anyone paying attention to smartphones knows that mobile commerce has grown through the roof.  </p>
<p>What did surprise us a bit towards the end of 2012 was that 1) mobile traffic was on pace to overtake computer traffic in the not-too-distant future, and 2) our mobile conversion rates were significantly lower than our computer conversion rates.  </p>
<p>Shouldn&#8217;t mobile conversion rates be lower you say?  Industry data seems to suggest so, but we knew that <a href="http://www.adam-mcfarland.net/2010/10/01/the-story-behind-the-detailed-image-mobile-site/" target="_blank">our old half-baked mobile site</a> was costing us sales.  We&#8217;d only find out how many sales by releasing a site where the experience was comparable across devices.  </p>
<p>We were due for a design and programming &#8220;refresh&#8221; on DI. What drove us to focus on the responsive design above all else was what we found when we dove into the numbers a bit more. Take a look at the browser usage and screen resolutions for the five month period of October 1, 2012 &#8211; March 1, 2013:</p>
<p><strong>Browser Usage</strong></p>
<p><img src="http://www.adam-mcfarland.net/wp-content/uploads/2013/05/browser-usage.png" alt="Detailed Image Browser Usage Oct 2012 - Mar 2013" width="462" height="430" class="aligncenter size-full wp-image-3745" /></p>
<p><strong>Screen Resolutions</strong></p>
<p><img src="http://www.adam-mcfarland.net/wp-content/uploads/2013/05/screen-resolution.png" alt="Detailed Image Browser Resolutions Oct 2012 - Mar 2013" width="209" height="366" class="aligncenter size-full wp-image-3746" /></p>
<p>A few notes/conclusions:</p>
<ul>
<li>Green browsers are ones that we extensively tested and fully support. Yellow we tested and support, although things might not look the same or work quite as well (ahem IE7). Red were tested briefly (except Safari on Blackberry &#8211; sorry, don&#8217;t have one of those).  Everything below we ignored.</li>
<li>We added the &#8220;Trend&#8221; column based upon our data and general industry knowledge: IE9 will go down and IE10 will go up once Microsoft releases IE10 as a required update, Android Browser will go down as Chrome becomes the default, and Safari isn&#8217;t being updated on Windows anymore.</li>
<li>It&#8217;s clear that between Safari on iOS, the Android browser, and Chrome on Android and Safari that mobile is impossible to ignore. Over 30% of our visitors are using those browsers. If anything we should be developing for mobile webkit <em>first</em> and everything else second.</li>
<li>The resolutions confirm that the site needs to work equally as good on all screens.  The top 5 range from only 8.13% to 9.8%, and include the iPad (768&#215;1024), iPhone < 5 and popular Android phones (320x480), 1080p monitors (1920x1080), and popular laptop resolutions (1366x768 and 1280x800)</li>
<li>When using mobile devices, people hold them in the upright portrait view much more than they do the landscape view.</li>
<li>It&#8217;s important to note that our usage is not equal to the global trends for the same time period.  <a href="http://gs.statcounter.com/#os-ww-monthly-201210-201302-bar" target="_blank">iOS usage is only 3.34%</a>, <a href="http://gs.statcounter.com/#browser_version_partially_combined-ww-monthly-201210-201302-bar" target="_blank">Chrome is far and away the most popular browser at 34%</a>, and <a href="http://gs.statcounter.com/#mobile_os-ww-monthly-201210-201302-bar" target="_blank">Android usage surpasses iOS by 9%</a>.  In short, it seems like our users are a little ahead of the curve and that they prefer iOS devices.
<li>As tech savvy as our customers are, Internet Explorer 7 and 8 still make up a substantial portion of visitors.  7.51% for IE8, along with it being the last IE release on XP, meant that we had to treat it as an important browser that&#8217;s not going anywhere.  IE7 usage will slowly fall off, but at 1.62% it&#8217;s still too large to ignore.</li>
</ul>
<p>At this point in early March, we dialed back the scope of the project, readjusted our priorities a bit, and really made the responsive design the #1 feature.  The thought was that every day we were without a better mobile experience we were hemorrhaging easy sales.  There was a sense of urgency to release ASAP, and we did.</p>
<p>So far, so good. There&#8217;s nothing statistically significant about three weeks worth of sales, but we&#8217;re certainly off to a good start. Sales are up.  Conversion rates are up across the board, with conversion rates on mobile now up much closer to conversion rates on computers.  If nothing else, there&#8217;s a sense of relief that we didn&#8217;t totally screw things up!</p>
<p>In my next post I&#8217;ll explain how we go about browser testing, device testing, and supporting older browsers&#8230;without driving ourselves mad.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adam-mcfarland.net/2013/05/06/the-data-that-drove-our-responsive-design/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Breaking Down The New Detailed Image</title>
		<link>http://www.adam-mcfarland.net/2013/04/25/breaking-down-the-new-detailed-image/</link>
		<comments>http://www.adam-mcfarland.net/2013/04/25/breaking-down-the-new-detailed-image/#comments</comments>
		<pubDate>Thu, 25 Apr 2013 21:00:42 +0000</pubDate>
		<dc:creator>Adam McFarland</dc:creator>
				<category><![CDATA[Detailed Image]]></category>
		<category><![CDATA[Ecommerce]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.adam-mcfarland.net/?p=3722</guid>
		<description><![CDATA[Over on The Detailed Image Blog I wrote a post outlining the features of the new DetailedImage.com. I copied that post below, and then added in some additional thoughts about each feature in italics. &#8212; Yesterday we were extremely excited to unveil our new DetailedImage.com website. Our goal is to provide you with the simplest, fastest, and most secure shopping experience in the industry. Let&#8217;s take a look at what&#8217;s new: The Design We&#8217;ve kept the important functionality where it&#8217;s familiar &#8211; navigation on the left, search box up top, My Account and Cart information in the header &#8211; while &#8230; <a class="continue-reading" href="http://www.adam-mcfarland.net/2013/04/25/breaking-down-the-new-detailed-image/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<p>Over on <a href="http://www.detailedimage.com/blog/site-announcements/welcome-to-the-all-new-detailed-image/" target="_blank">The Detailed Image Blog</a> I wrote a post outlining the features of the new <a href="http://www.detailedimage.com/" target="_blank">DetailedImage.com</a>.  I copied that post below, and then added in some additional thoughts about each feature in italics.</p>
<p>&#8212;</p>
<p>Yesterday we were extremely excited to unveil our new <a href="http://www.detailedimage.com/" target="_blank">DetailedImage.com</a> website.  Our goal is to provide you with the simplest, fastest, and most secure shopping experience in the industry.  Let&#8217;s take a look at what&#8217;s new:</p>
<h2>The Design</h2>
<p>We&#8217;ve kept the important functionality where it&#8217;s familiar &#8211; navigation on the left, search box up top, My Account and Cart information in the header &#8211; while also introducing elements of modern web design.  We hope that this balance allows you to find exactly the products and information you&#8217;re looking for quickly and easily.</p>
<p><em>The old design was, well, old. It was solid for 2009 but it needed a refresh. There&#8217;s some stuff we&#8217;ve improved already since launch, and there&#8217;s still other stuff we&#8217;d like to improve upon, but this is much much better than the previous site.  It&#8217;s a starting point for all of our future plans.</em></p>
<p><img src="http://www.adam-mcfarland.net/wp-content/uploads/2013/04/blog-di-new-home.png" alt="The New Detailed Image - Homepage" width="950" height="459" class="aligncenter size-full wp-image-3730" /></p>
<h2>One Site &#8211; All of Your Devices</h2>
<p>We utilized a fairly new web design technique called responsive web design to ensure that the new Detailed Image works great on your large monitor, your laptop, your tablet, your phone, and any other device you use.</p>
<p><em>If you haven&#8217;t figured it out by now, this was the main driving force behind this project. Mobile and tablet usage on our site has skyrocketed, with Safari on iOS becoming our #1 browser/OS combo.  It&#8217;s a trend that&#8217;s only going to continue. We needed to up our game.  This will be the topic of my next post where I&#8217;ll dive into some of the data.  We cut the project down significantly so that we could release ASAP because every day we were without a responsive design we felt like we were losing out on a ton of potential sales.</em></p>
<p><img src="http://www.adam-mcfarland.net/wp-content/uploads/2013/04/blog-responsive.png" alt="The New Detailed Image - Responsive Design" width="950" height="482" class="aligncenter size-full wp-image-3731" /></p>
<h2>Better Search Engines</h2>
<p>Now when you search the <a href="http://www.detailedimage.com/Auto-Detailing-Guide/" target="_blank">Detailing Guide</a> or <a href="http://www.detailedimage.com/Ask-a-Pro/" target="_blank">Ask a Pro Blog</a> you&#8217;ll get the same fast search that you&#8217;ve come to love from our product search, including helpful autocomplete suggestions to help ensure you find what you&#8217;re looking for the very first search.</p>
<p><em>I took the <a href="http://www.adam-mcfarland.net/2013/01/15/a-better-search-experience-on-detailed-image/" target="_blank">improved product search engine</a> and set out to apply that to the Detailing Guide and Ask-a-Pro Blog (WordPress search engines are just horrendous). The difference was that analyzing text is much more difficult than a product with a few keywords. I started with the code for <a href="http://www.lockerpulse.com/search" target="_blank">LockerPulse&#8217;s very good search engine</a>, and improved the keyword analysis a bit, to create a pretty good search engine. Much better than what we had before.  I also created an autosuggest for each: section headings for the guide, and each post title, author, category, and tag for the AAP.</em></p>
<p><img src="http://www.adam-mcfarland.net/wp-content/uploads/2013/04/blog-search-2.png" alt="The New Detailed Image - Search Engines" width="950" height="284" class="aligncenter size-full wp-image-3728" /></p>
<h2>New Product Photos</h2>
<p>We built a new photo booth at our warehouse and re-shot every one of our 800+ products to provide you with better looking product photos.  When applicable, we took multiple photos so you can see everything you need to make an informed decision.</p>
<p><em>We hired Mike&#8217;s brother Sam, the artist behind the successful <a href="http://www.kickstarter.com/projects/birdhouse/nesl/" target="_blank">Nesl Kickstarter project</a>, to create our photo process and snap the initial photographs (we&#8217;d love to have him take all of our photos in the future, but he&#8217;ll be busy with bigger and better things).  Now when you look at a brand or category page with dozens of products, the photos all have uniformly white backgrounds. The mishmash of white, off-white, and gray backgrounds on the old site was a huge eyesore.</em></p>
<p><img src="http://www.adam-mcfarland.net/wp-content/uploads/2013/04/blog-photos-2.png" alt="The New Detailed Image - Photos" width="950" height="495" class="aligncenter size-full wp-image-3726" /></p>
<h2>Product Labels and Downloads</h2>
<p>Many products now have a &#8220;From The Label&#8221; section that includes information and instructions right from the label so you can feel as comfortable buying online as you would if you picked up the bottle in a store.  We also added a &#8220;Product Downloads&#8221; section where you can download instruction manuals for tools like buffers, vacuums, and flashlights.</p>
<p><em>I anticipate that this will be huge for conversion rates on our product pages. We got a small portion of the labels from the manufacturers, but most of them our guys typed in one at a time.  It was a LOT of not-so-fun work, but with a huge potential payoff.</em></p>
<p><img src="http://www.adam-mcfarland.net/wp-content/uploads/2013/04/blog-label.png" alt="The New Detailed Image - Product Labels" width="950" height="546" class="aligncenter size-full wp-image-3724" /></p>
<h2>Verified Product Reviews</h2>
<p>With over 4,000 product reviews on our site and growing fast, it can be difficult sometimes to determine which reviews to trust.  To help, we added a &#8220;DI Verified Purchase&#8221; badge to any review where we can verify that the reviewer purchased the product being reviewed directly from Detailed Image.  Knowing that someone actually purchased the product adds an extra sense of credibility to their opinion.</p>
<p><em>Interestingly enough, about 75% of reviews are &#8220;verified&#8221;. Of those other 25%, we get a small amount of reviews that seem completely ridiculous. Either it sounds like they&#8217;ve never used the product before, they&#8217;re completely insane, or they have an agenda against the product or against us (i.e. they own a competing product that we don&#8217;t want to pick up). Thing is, we can&#8217;t definitively say this about some of the negative reviews so it&#8217;s hard to have the justification to ban them or delete the review. This will help our customers weed these people out.</em></p>
<p><img src="http://www.adam-mcfarland.net/wp-content/uploads/2013/04/blog-reviews.png" alt="The New Detailed Image - Verified Product Reviews" width="950" height="412" class="aligncenter size-full wp-image-3727" /></p>
<h2>More Free Stuff</h2>
<p>If our Weekly Special has taught us anything it&#8217;s that you love free stuff!  We&#8217;ve decided to expand upon the Weekly Special and create an entire <a href="http://www.detailedimage.com/Free/" target="_blank">Free Stuff page</a> that&#8217;s filled with free offers that you can receive every single day.  Free offers range from popular products like our All Purpose Towel (free with a coupon on any purchase over $9) to a complete clay bar and lube kit (free over $69).</p>
<p><em>If there&#8217;s been a &#8220;best new feature&#8221; winner in the first few days, this is it.  People are eating up these offers.  Certainly something we can do even more of as time goes on.</em></p>
<p><img src="http://www.adam-mcfarland.net/wp-content/uploads/2013/04/blog-free.png" alt="The New Detailed Image - Free Stuff" width="950" height="446" class="aligncenter size-full wp-image-3723" /></p>
<h2>No More Weight Limit!</h2>
<p>Instead of forcing you to place multiple orders when you have more than 60 lbs in products, our system now intelligently splits your order up into multiple boxes automatically so you can fit as many products as you like into one single order!</p>
<p><em>I have a love/hate relationship with this feature.  It was a bitch to program. I wanted to hold off until after the site launch, but I was convinced otherwise by Greg and Reece. Our wholesale program has grown by leaps and bounds to the point where this was becoming a real problem for people. We were hearing it regularly from our wholesalers. We want to continue to aggressively grow wholesale, and we certainly don&#8217;t want to turn away gigantic purchases, so it was worth pushing up the priority list and slipping it into this launch.</em></p>
<p><img src="http://www.adam-mcfarland.net/wp-content/uploads/2013/04/blog-shipments.png" alt="The New Detailed Image - Weight Limit" width="950" height="290" class="aligncenter size-full wp-image-3729" /></p>
<h2>And More&#8230;</h2>
<ul>
<li><strong>Speed improvements</strong> &#8211; we&#8217;ve optimized the new DI to be blazing fast no matter what device you&#8217;re using. <em>I&#8217;m planning a before/after speed comparison post as well.  We&#8217;re only about 80% of the way there though &#8211; it can still get faster.</em></li>
<li><strong>Newsletter available to everyone</strong> &#8211; even if you&#8217;re not a registered user, you can still sign up for our newsletter to be alerted of our sales by filling out the form at the bottom of any page. <em>Another bitch to program, but a necessity for obvious reasons.</em></li>
<li><strong>A more streamlined checkout process</strong> &#8211; we&#8217;ve redesigned our checkout process to make it simpler and faster to checkout without missing any critical information about your order. <em>A sleeper candidate for the &#8220;best new feature&#8221; award. Checkout is much cleaner, smoother, more logical, and has much better copy.</em></li>
<li><strong>All Deals</strong> &#8211; we&#8217;ve created an &#8220;All Deals&#8221; page found at <a href="http://www.detailedimage.com/Deals/" target="_blank">DetailedImage.com/Deals</a> that lists out all of the current site-wide promotions we&#8217;re running.  A great resource to bookmark and visit regularly! <em>This is just a combination of our Sale page, Free Stuff page, any sale we&#8217;re running, and our Ship &amp; Save. From a marketing standpoint, we want to be able to say &#8220;go to DetailedImage.com/Deals for all of our latest deals.&#8221;</em></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.adam-mcfarland.net/2013/04/25/breaking-down-the-new-detailed-image/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The New Detailed Image is Here!</title>
		<link>http://www.adam-mcfarland.net/2013/04/21/the-new-detailed-image-is-here/</link>
		<comments>http://www.adam-mcfarland.net/2013/04/21/the-new-detailed-image-is-here/#comments</comments>
		<pubDate>Sun, 21 Apr 2013 19:22:26 +0000</pubDate>
		<dc:creator>Adam McFarland</dc:creator>
				<category><![CDATA[Detailed Image]]></category>

		<guid isPermaLink="false">http://www.adam-mcfarland.net/?p=3718</guid>
		<description><![CDATA[This morning we launched our new Detailed Image site. The largest improvement is the responsive design: take a look on your computer, tablet, and phone. We&#8217;re still working out a few minor kinks. The homepage just has a placeholder Ship &#038; Save graphic that will be replaced with a nice big sale in the coming days! More to come soon&#8230;]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.detailedimage.com/" target="_blank"><img src="http://www.adam-mcfarland.net/wp-content/uploads/2013/04/New-Detailed-Image-2013.png" alt="The New Detailed Image" width="800" height="387" class="aligncenter size-full wp-image-3719" /></a></p>
<p>This morning we launched our new <a href="http://www.detailedimage.com/" target="_blank">Detailed Image</a> site. The largest improvement is the responsive design: take a look on your computer, tablet, and phone.  </p>
<p>We&#8217;re still working out a few minor kinks.  The homepage just has a placeholder Ship &#038; Save graphic that will be replaced with a nice big sale in the coming days!</p>
<p>More to come soon&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adam-mcfarland.net/2013/04/21/the-new-detailed-image-is-here/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Almost There&#8230;</title>
		<link>http://www.adam-mcfarland.net/2013/04/08/almost-there/</link>
		<comments>http://www.adam-mcfarland.net/2013/04/08/almost-there/#comments</comments>
		<pubDate>Mon, 08 Apr 2013 23:53:00 +0000</pubDate>
		<dc:creator>Adam McFarland</dc:creator>
				<category><![CDATA[Detailed Image]]></category>
		<category><![CDATA[Ecommerce]]></category>

		<guid isPermaLink="false">http://www.adam-mcfarland.net/?p=3713</guid>
		<description><![CDATA[We&#8217;re almost ready to launch the new Detailed Image site. The planned launch day is Saturday, April 20th. We&#8217;re putting the finishing touches on everything and then later this week we&#8217;ll start testing pretty heavily. It&#8217;s nice having an entire team of people to test. Last year prior to launching the revamped LockerPulse we found quite a few little bugs by having our employees use it for a while. An e-commerce site is a little tougher to dogfood than a sports news app. But given the amounts of money exchanging hands on any given transaction, it&#8217;s also much more important &#8230; <a class="continue-reading" href="http://www.adam-mcfarland.net/2013/04/08/almost-there/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<p>We&#8217;re almost ready to launch <a href="http://www.adam-mcfarland.net/2013/01/27/our-caching-system-guide-improvements-and-the-exciting-next-step/" target="_blank">the new Detailed Image site</a>.  The planned launch day is Saturday, April 20th.  We&#8217;re putting the finishing touches on everything and then later this week we&#8217;ll start testing pretty heavily.  It&#8217;s nice having an entire team of people to test.  Last year prior to launching the revamped LockerPulse we found quite a few little bugs by having our employees use it for a while.  An e-commerce site is a little tougher to <a href="http://en.wikipedia.org/wiki/Eating_your_own_dog_food" target="_blank">dogfood</a> than a sports news app. But given the amounts of money exchanging hands on any given transaction, it&#8217;s also much more important to release without major bugs. </p>
<p>It&#8217;s interesting how much browser testing has changed since I first started developing for the web.  We ran a browser / OS report for the past six months and Safari on iOS is #1 in terms of visits.  Responsive design isn&#8217;t just necessary so that it looks nice when people occasionally use the site on their phones or tablets, it&#8217;s becoming people&#8217;s primary way of shopping online, and thus the mobile views of the responsive design are just as important as the large screen views.  I plan on doing a few posts about this after the launch diving into our stats a bit more.</p>
<p>We always try to plan these launches out, but inevitably it&#8217;s always a mad rush to the finish line. In some ways I enjoy the chaos &#8211; to some degree I thrive in it &#8211; but it&#8217;s unsustainable.  I&#8217;ve been putting off anything and everything in life and work that I can until after the 20th.  That gets tiring and stressful after a while.  Plus when you&#8217;re 90% done with something there&#8217;s this nagging feeling that it should be released ASAP so your customers and your business can benefit from it.  In the midst of the development, my wife and I also bought a house, which we&#8217;ll be closing on in early May.  So the second the site is up and stable I&#8217;ll have to switch gears and dial back my workload a bit&#8230;which is probably a good thing for me.  </p>
<p>I&#8217;ve got some posts I&#8217;m really excited to write after the launch.  Until then, I&#8217;ll be spending my time driving myself mad trying to make a modern HTML5 responsive design work in IE8 and &#8211; gasp &#8211; IE7!  IE7 is still about 1.7% of our visitors, which for a retail business is too large to ignore.  Thankfully <a href="https://github.com/aFarkas/html5shiv" target="_blank">html5shiv</a> got us a good part of the way there without any work.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adam-mcfarland.net/2013/04/08/almost-there/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Little Things That Win Customers</title>
		<link>http://www.adam-mcfarland.net/2013/03/18/the-little-things-that-win-customers/</link>
		<comments>http://www.adam-mcfarland.net/2013/03/18/the-little-things-that-win-customers/#comments</comments>
		<pubDate>Mon, 18 Mar 2013 23:58:54 +0000</pubDate>
		<dc:creator>Adam McFarland</dc:creator>
				<category><![CDATA[Culture]]></category>
		<category><![CDATA[Customer Service]]></category>
		<category><![CDATA[Detailed Image]]></category>

		<guid isPermaLink="false">http://www.adam-mcfarland.net/?p=3704</guid>
		<description><![CDATA[Somewhat surprisingly, today we shipped out a record number of orders as a part of our Spring Sale, beating even Cyber Monday 2012. I took a shot of the package pile towards the end of the day: As our FedEx pickup arrived we were literally sprinting around the warehouse trying to pack the last few orders. The interesting thing is that we didn&#8217;t have to do that. On our busiest day ever, we had already packed up every order that came in after 12:15 PM, which is our &#8220;guaranteed&#8221; same-day shipment cutoff time. We had run our afternoon batch around &#8230; <a class="continue-reading" href="http://www.adam-mcfarland.net/2013/03/18/the-little-things-that-win-customers/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<p>Somewhat surprisingly, today we shipped out a record number of orders as a part of our <a href="http://www.detailedimage.com/blog/sales-specials/25-off-spring-sale-2/" target="_blank">Spring Sale</a>, beating even <a href="http://www.adam-mcfarland.net/2012/11/28/thoughts-on-a-killer-cyber-monday-week/" target="_blank">Cyber Monday 2012</a>. I took a shot of the package pile towards the end of the day:</p>
<div id="attachment_3705" class="wp-caption aligncenter" style="width: 910px"><img src="http://www.adam-mcfarland.net/wp-content/uploads/2013/03/boxes-3-18-13.jpg" alt="Detailed Image Boxes 3-18-2013" width="900" height="534" class="size-full wp-image-3705" /><p class="wp-caption-text">The box pile that defeated Cyber Monday</p></div>
<p>As our FedEx pickup arrived we were literally sprinting around the warehouse trying to pack the last few orders. The interesting thing is that we didn&#8217;t <em>have to</em> do that.  On our busiest day ever, we had already packed up every order that came in after 12:15 PM, which is our &#8220;guaranteed&#8221; same-day shipment cutoff time.  We had run our afternoon batch around 1:30 PM, which got quite a few additional customers out a day early. Instead of being satisfied, we ran them again.  Then when the truck pulled up, we ran them another time.  And again just as the truck was getting ready to pull away.  He probably left at 2:45 PM and we literally had every order placed up until 2:44 PM on that truck.  Two and a half hours of customers will be receiving their orders a day early (possibly two if this impending snow storm lives up to the hype).</p>
<p>Getting a customer a package a day early is a huge win.  Have you ever received a package on Tuesday that you expected on Wednesday?  You&#8217;re surprised.  I know I am when it happens.  My expectations are exceeded.  In detailing, receiving a package on Friday or Saturday instead of Monday or Tuesday means one more Spring weekend that you can detail your car.  That alone can win over a customer. Just check out our <a href="http://www.detailedimage.com/Testimonials/" target="_blank">testimonials page</a> and you&#8217;ll see a lot of comments that echo that sentiment. </p>
<p>On a crazy busy day it&#8217;s easy to value each individual customer less than you would if business was slow.  I love that our team goes out of our way to exceed expectations for every customer every single day.  It might have only been 15 or 20 extra orders that we got out today, but that&#8217;s 15 or 20 extra customers that we may have just won over.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adam-mcfarland.net/2013/03/18/the-little-things-that-win-customers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Post About Not Posting</title>
		<link>http://www.adam-mcfarland.net/2013/02/19/a-post-about-not-posting/</link>
		<comments>http://www.adam-mcfarland.net/2013/02/19/a-post-about-not-posting/#comments</comments>
		<pubDate>Tue, 19 Feb 2013 18:47:08 +0000</pubDate>
		<dc:creator>Adam McFarland</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Sacrifice]]></category>

		<guid isPermaLink="false">http://www.adam-mcfarland.net/?p=3698</guid>
		<description><![CDATA[My posts have come to a screeching halt lately. I don&#8217;t think I&#8217;ve ever gone a month without a post since I started blogging back in 2005 so I didn&#8217;t want to start now! Mike and I have been pushing really hard to release the aforementioned new version of Detailed Image. As a company we&#8217;re probably devoting close to 40% of our time right now working on new site related tasks. Things are busy for me personally right now as well, so I&#8217;m pretty much ripping through my day-to-day work tasks as fast as possible and then spending every remaining &#8230; <a class="continue-reading" href="http://www.adam-mcfarland.net/2013/02/19/a-post-about-not-posting/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<p>My posts have come to a screeching halt lately.  I don&#8217;t think I&#8217;ve ever gone a month without a post since I started blogging back in 2005 so I didn&#8217;t want to start now!</p>
<p>Mike and I have been pushing really hard to release the <a href="http://www.adam-mcfarland.net/2013/01/27/our-caching-system-guide-improvements-and-the-exciting-next-step/" target="_blank">aforementioned</a> new version of Detailed Image.  As a company we&#8217;re probably devoting close to 40% of our time right now working on new site related tasks.  Things are busy for me personally right now as well, so I&#8217;m pretty much ripping through my day-to-day work tasks as fast as possible and then spending every remaining second developing.  </p>
<p>We don&#8217;t have a launch date yet, but we&#8217;re hoping for around a month from now.  The sooner it&#8217;s up, the sooner we can reap the benefits.  It&#8217;s challenging to develop a good quality site while feeling under the gun time wise, which is why we haven&#8217;t set a hard date yet.  If something takes an extra day, but it comes out great, we&#8217;re fine with that. We&#8217;ve done a good job of leaving out unnecessary features for launch.  The self-imposed time crunch doesn&#8217;t seem to be affecting quality up to this point &#8211; I think what we&#8217;ve done so far is our best work yet &#8211; but it&#8217;s a possibility that&#8217;s worth being aware of.</p>
<p>I think my days look boring to the outside world.  What did I do last night? Eat dinner, program, sleep.  What did I do this morning?  Answer email, eat breakfast, work out, program.  What am I doing this afternoon?  Programming.  Every day until we launch.  It&#8217;s not very glorious, but putting your head down and grinding is how you give yourself a chance of making something great. It&#8217;s worth sacrificing for a few months to create something that could be a building block for years of success.  Plus, I really do enjoy diving in to a project like this.  It&#8217;s only sustainable for a few months, but it sure is fun.</p>
<p>I probably won&#8217;t post again until we&#8217;re approaching a launch.  Once we do launch I have a whole lot of posts queued up in my brain that I&#8217;m looking forward to writing!  Until then I&#8217;ll be on <a href="https://twitter.com/AdamJMcFarland" target="_blank">Twitter</a> from time to time. Otherwise it&#8217;s a safe assumption that I&#8217;m <a href="http://www.adam-mcfarland.net/2012/11/14/standing-desk-1-year-later/" target="_blank">standing at my desk</a> writing kickass code that hopefully helps propel our business to the next level.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adam-mcfarland.net/2013/02/19/a-post-about-not-posting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Our Caching System, Guide Improvements, and the Exciting Next Step</title>
		<link>http://www.adam-mcfarland.net/2013/01/27/our-caching-system-guide-improvements-and-the-exciting-next-step/</link>
		<comments>http://www.adam-mcfarland.net/2013/01/27/our-caching-system-guide-improvements-and-the-exciting-next-step/#comments</comments>
		<pubDate>Sun, 27 Jan 2013 20:55:49 +0000</pubDate>
		<dc:creator>Adam McFarland</dc:creator>
				<category><![CDATA[Detailed Image]]></category>
		<category><![CDATA[Ecommerce]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.adam-mcfarland.net/?p=3686</guid>
		<description><![CDATA[Continuing the theme from Adding To The Foundation [Of Our Cart] and A Better Search Experience on Detailed Image, I recently wrapped up a few more important features. Caching One big opportunity for improvement on any database driven website is caching. Let&#8217;s take the example of our sitemap. When someone used to land on that page, it would run a database query to extract the product name and URL of every product on our site. If it&#8217;s hypothetically accessed 100x/day, that would have been 100 queries. They&#8217;re not particularly taxing queries, but there are hundreds of similar scenarios happening simultaneously &#8230; <a class="continue-reading" href="http://www.adam-mcfarland.net/2013/01/27/our-caching-system-guide-improvements-and-the-exciting-next-step/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<p>Continuing the theme from <a href="http://www.adam-mcfarland.net/2012/12/21/adding-to-the-foundation-of-our-cart/" target="_blank">Adding To The Foundation [Of Our Cart]</a> and <a href="http://www.adam-mcfarland.net/2013/01/15/a-better-search-experience-on-detailed-image/" target="_blank">A Better Search Experience on Detailed Image</a>, I recently wrapped up a few more important features. </p>
<h2>Caching</h2>
<p>One big opportunity for improvement on any database driven website is caching.  Let&#8217;s take the example of our <a href="http://www.detailedimage.com/Sitemap/" target="_blank">sitemap</a>.  When someone used to land on that page, it would run a database query to extract the product name and URL of every product on our site.  If it&#8217;s hypothetically accessed 100x/day, that would have been 100 queries.  They&#8217;re not particularly taxing queries, but there are hundreds of similar scenarios happening simultaneously all day long, which in sum do make a difference.  </p>
<p>The solution is to <a href="http://en.wikipedia.org/wiki/Cache_%28computing%29" target="_blank">cache</a> &#8211; save a file on the server with the sitemap in it, and only update that file at specific regular intervals.  For the sitemap, we update it once per day. So now those 100 queries become 1.  A simple example, but I think it illustrates the point.</p>
<p>I wanted to build a caching system that could be used for any aspect of our site, from those sitemaps to product pages to stuff we haven&#8217;t thought of yet.</p>
<p>To accomplish that, I decided to create a PHP class* that does a few simple things:</p>
<ul>
<li>Converts an array to JSON and then writes that array to a file in our cache directory on our server</li>
<li>Retreives the file and then converts that JSON back into an array</li>
</ul>
<p>It&#8217;s a pretty simple 35 lines of code that can then be used across the site to quickly store and retrieve information.  </p>
<p>As we rework the entire site, this will be a staple in what we do: anything that can be cached will be cached, to speed up load times and minimize resources, the latter being particularly important during crazy shopping spikes like Cyber Monday.  Caching product pages will likely have the greatest impact.</p>
<p>Right now though, this system is only in place for a few select sections of the site, like the sitemap and our Auto Detailing Guide&#8230;</p>
<h2>Reworking Our Guide</h2>
<p>In the past two years we&#8217;ve done two substantial rewrites to our <a href="http://www.detailedimage.com/Auto-Detailing-Guide/" target="_blank">Auto Detailing Guide</a>.  The first was solely about improving the content, the second additionally improved upon our linking, product recommendations, and introduced a downloadable PDF version.</p>
<p>Amazingly, none of this was in our database.  It was all old school HTML files. The PDF was manually updated, uploaded, and linked to each time we made even the slightest grammatical change.  It was a pain in the ass.  This was just one of those things that we started doing one way in 2007 with the <a href="http://www.adam-mcfarland.net/2007/09/10/di-features-and-lessons-learned/" target="_blank">initial site launch</a>, and never improved upon because we did only a few revisions per year.  </p>
<p>Now we&#8217;re looking to revise much more often, as should be the case with any web based how-to guide.  To accomplish that though, we first had to make it less tedious to update. I started by getting the existing guide into our database.  All of the content, structure, and product recommendations are being pulled from the database. Of course, since these pages aren&#8217;t updated all that often, they take full advantage of the aforementioned caching system and are only regenerated from the database when there&#8217;s a change in the content.</p>
<p>The last &#8211; and most difficult part &#8211; was auto-generating the PDF.  I used the robust <a href="http://html2pdf.fr/en/default" target="_blank">HTML2PDF</a> to accomplish this.  There were a lot of little problems that took a while to work out.  The most difficult** was properly handling when one section of the guide links to another section of the guide.  Instead of the link within the PDF bringing the user to their browser, you want it to jump internally within the PDF to that other section.  It took some time, but <a href="http://www.detailedimage.com/guide/AutoDetailingGuide.pdf" target="_blank">the result</a> is a better PDF than we had been producing manually before.  </p>
<p>As a last step, the PDF also is only re-generated when the cache is updated.  Now someone can make the change once in our database, update the cache, and be done.  Eventually we&#8217;ll build this into our Admin so our employees can make changes, but for now this is a monumental leap.</p>
<h2>What&#8217;s Next?</h2>
<p>Now comes the fun part.  The foundation is in place for us to devote all of our attention to the HTML5 responsive design that I touched upon in <a href="http://www.adam-mcfarland.net/2012/12/21/adding-to-the-foundation-of-our-cart/" target="_blank">that first post</a> last month.  More to come soon!</p>
<p>&#8212;</p>
<p class="small-text">*A goal of mine is to open source this code and other code that may be helpful to other developers in the future&#8230;not the imminent future, but hopefully in the next year or two.</p>
<p class="small-text">**It was also quite challenging that the library was written and documented in French, with some English translations available, but many of the examples and variables still in French.  Those five years of French I took in middle school and high school finally paid off a bit!  I&#8217;m far from fluent, but was able to understand enough to get done what I needed to get done.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adam-mcfarland.net/2013/01/27/our-caching-system-guide-improvements-and-the-exciting-next-step/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Why We Still Pay For Health Insurance In Full For Every Employee</title>
		<link>http://www.adam-mcfarland.net/2013/01/24/why-we-still-pay-for-health-insurance-in-full-for-every-employee/</link>
		<comments>http://www.adam-mcfarland.net/2013/01/24/why-we-still-pay-for-health-insurance-in-full-for-every-employee/#comments</comments>
		<pubDate>Thu, 24 Jan 2013 23:00:19 +0000</pubDate>
		<dc:creator>Adam McFarland</dc:creator>
				<category><![CDATA[Culture]]></category>
		<category><![CDATA[Happiness]]></category>
		<category><![CDATA[Health & Fitness]]></category>

		<guid isPermaLink="false">http://www.adam-mcfarland.net/?p=3671</guid>
		<description><![CDATA[Last month I had a dentist appointment. The dental hygienist &#8211; who I&#8217;ve known for my entire life &#8211; was asking me how business was and we eventually got on the topic of health care costs. I mentioned that our plan was being canceled and we had to pick a new plan for 2013. After quite a bit of research we were able to find a pretty good new plan. Of course, it&#8217;s still significantly more expensive than the old plan and has significantly worse coverage. Since we set up our health insurance in early 2007, costs per employee have &#8230; <a class="continue-reading" href="http://www.adam-mcfarland.net/2013/01/24/why-we-still-pay-for-health-insurance-in-full-for-every-employee/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<p>Last month I had a dentist appointment.  The dental hygienist &#8211; who I&#8217;ve known for my entire life &#8211; was asking me how business was and we eventually got on the topic of health care costs. I mentioned that our plan was being canceled and we had to pick a new plan for 2013.  After quite a bit of research we were able to find a pretty good new plan.  Of course, it&#8217;s still significantly more expensive than the old plan and has significantly worse coverage.  Since we set up our health insurance in early 2007, costs per employee have roughly doubled. I mentioned that we still pay for all of our employee&#8217;s health and dental insurance in full.  She said something along the lines of &#8220;you won&#8217;t be able to continue to do that, eventually you&#8217;ll go broke!&#8221;  I responded that we&#8217;ll do everything in our power to continue to do it for as long as we absolutely can.</p>
<p>Why?  Because it&#8217;s a core value of our company.  We believe that people shouldn&#8217;t have to worry about whether or not they&#8217;ll be able to afford health care.  We believe that providing this benefit is a critical building block in the structure of a great organization.  Core values shouldn&#8217;t be compromised to save a few bucks.  </p>
<p>Last week <a href="http://www.fastcompany.com/3004348/facebook-pixar-10-conversations-changed-our-world" target="_blank">I read this great quote</a> from Starbucks CEO Howard Schultz.  Even though they&#8217;re a gigantic publicly traded company and we&#8217;re a tiny private company, I couldn&#8217;t help but draw a few parallels:</p>
<blockquote><p>
In 2008, Howard Schultz returned as Starbucks&#8217;s CEO to turn around the company. Early on, he had to fend off investors&#8217; requests to slash Starbucks&#8217;s benefits, which had made it the model of an enlightened, post-union era company.</p>
<p>&#8220;Our stock was in free fall. One day, I found myself on a phone call with one large institutional shareholder. He addressed the longstanding health coverage for our employees, which at the time cost $250 million. He said this would be the perfect time for Starbucks and me to cut health care. Many companies were doing this at the time, so I would be immune from any public outcry.</p>
<p>I tried to describe to him that the essence of the brand is humanity, and our culture is steeped in two primary benefits that have defined who we are: comprehensive health-insurance coverage for our people and equity in the form of stock options, which we give to anyone who works more than 20 hours a week. I told him, &#8216;This is a nonstarter at every level because you don&#8217;t understand the essence of our company.</p>
<p>After all these years, if you believe the financial crisis should change our principles and core purpose, perhaps you should sell your stock. I&#8217;m not building a stock. I&#8217;m trying to build a great, enduring company.&#8217; We are a performance-driven organization, but we have to lead the company through the lens of humanity.&#8221;
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.adam-mcfarland.net/2013/01/24/why-we-still-pay-for-health-insurance-in-full-for-every-employee/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>A Better Search Experience on Detailed Image</title>
		<link>http://www.adam-mcfarland.net/2013/01/15/a-better-search-experience-on-detailed-image/</link>
		<comments>http://www.adam-mcfarland.net/2013/01/15/a-better-search-experience-on-detailed-image/#comments</comments>
		<pubDate>Wed, 16 Jan 2013 01:14:21 +0000</pubDate>
		<dc:creator>Adam McFarland</dc:creator>
				<category><![CDATA[Detailed Image]]></category>
		<category><![CDATA[Ecommerce]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.adam-mcfarland.net/?p=3659</guid>
		<description><![CDATA[I&#8217;ve been chipping away at the next round of improvements to our shopping cart. The past week was one of those really good weeks where I deployed a ton of code. jQuery A precursor to moving forward was to (finally) switch our javascript library from using the outdated script.aculo.us to the more lightweight and more powerful jQuery. This required quite a bit of code to be rewritten, most of it critical to the shopping experience, but it has paid immediate dividends: the site is significantly faster, jQuery is much easier to develop with, and the plug-ins available make it extremely &#8230; <a class="continue-reading" href="http://www.adam-mcfarland.net/2013/01/15/a-better-search-experience-on-detailed-image/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been chipping away at the <a href="http://www.adam-mcfarland.net/2012/12/21/adding-to-the-foundation-of-our-cart/" target="_blank">next round of improvements</a> to our shopping cart.  The past week was one of those <em>really</em> good weeks where I deployed a ton of code.</p>
<h2>jQuery</h2>
<p>A precursor to moving forward was to (finally) switch our javascript library from using the outdated <a href="http://script.aculo.us/" target="_blank">script.aculo.us</a> to the more lightweight and more powerful <a href="http://jquery.com/" target="_blank">jQuery</a>.  This required quite a bit of code to be rewritten, most of it critical to the shopping experience, but it has paid immediate dividends: the site is significantly faster, jQuery is much easier to develop with, and the plug-ins available make it extremely extensible.  </p>
<p>The site speed is a big deal. Prior to starting this project I took a bunch of speed benchmarks (using <a href="http://developer.yahoo.com/yslow/" target="_blank">YSlow</a> and <a href="https://getfirebug.com/" target="_blank">Firebug</a>).  The goal is to be as fast and lightweight as possible, <a href="http://www.lockerpulse.com/Product-Blog/2012/06/27/making-html5-and-responsive-design-work-for-web-apps-like-lockerpulse/" target="_blank">like we achieved with the new LockerPulse</a>.  The more people shop on mobile, the more speed becomes a critical factor.  We&#8217;re still a long long ways from the ultimate goal, but just from the jQuery switch and some minification we&#8217;re 50%+ faster on most pages.</p>
<h2>Better Search</h2>
<p>Most e-commerce site searches suck.  If I don&#8217;t find what I&#8217;m looking for when I search, I tend to go back and drill through category pages, or site search using Google, just in case a site&#8217;s bad algorithm didn&#8217;t return everything it should have.</p>
<p>This is for good reason.  Search is hard.  It takes a lot of work to get right (or even close to right).  Many businesses use off-the-shelf shopping carts, and you&#8217;re stuck with whatever their search engine offers.  </p>
<p>When we launched this version of our shopping cart in 2009 we had a pretty good search engine (I explained the &#8220;how&#8221; <a href="http://www.adam-mcfarland.net/2008/04/22/my-top-10-favorite-tastefully-driven-features/comment-page-1/#comment-702" target="_blank">here</a>).  It had an autosuggest/autocomplete feature, and the results were exceptionally accurate compared to our competitors. </p>
<p>Fast forward almost four years and the search engine still worked, but we&#8217;d discovered some holes in it that I set out to plug.</p>
<h3>Autosuggest</h3>
<p><a href="http://jqueryui.com/" target="_blank">jQueryUI </a>has a great <a href="http://jqueryui.com/autocomplete/" target="_blank">autocomplete widget</a> that I used as a starting point to completely rewrite our autosuggest feature.  Among the improvements:</p>
<ul>
<li><strong>Speed:</strong> the old one used an AJAX call to our database on each keystroke. This is common (Amazon does it) but also can be slow and resource intensive. The new one uses a pre-loaded javascript array, which is cached nightly. Flickr&#8217;s post about <a href="http://code.flickr.net/2009/03/18/building-fast-client-side-searches/" target="_blank">optimizing their autosuggest</a> was incredibly insightful and served as a guide in my decision making process.</li>
<li><strong>Pattern matching:</strong> the old one would only match the first character of a product name, whereas we now match any part of the product name. We also show you what you&#8217;re matching by bolding the matched text.</li>
<li><strong>Brands, Categories, Subcategories:</strong> brands and categories are now marked as such within the autosuggest, and subcategories are also included, broadening the potential matches significantly.</li>
<li><strong>Sorting: </strong> the old one would sort alphabetically, whereas now we display in order of our &#8220;quality score&#8221; (more on that below).</li>
</ul>
<p>Here&#8217;s an example of where the old autosuggest failed.  Type in <em>shampoo</em> &#8211; something we sell plenty of &#8211; and nothing shows up!  Since shampoo isn&#8217;t a main category, and no products started with the word <em>shampoo</em>, it was blank:  </p>
<p><img src="http://www.adam-mcfarland.net/wp-content/uploads/2013/01/di_autosuggest_shampoo_old.png" alt="Detailed Image Autosuggest Shampoo - Old" width="599" height="173" class="aligncenter size-full wp-image-3665" /></p>
<p>On the new autosuggest, you get exactly what you&#8217;d be looking for &#8211; a link to our shampoo subcategory page, followed by a list of our most popular shampoos:</p>
<p><img src="http://www.adam-mcfarland.net/wp-content/uploads/2013/01/di_autosuggest_shampoo_new.png" alt="Detailed Image Autosuggest Shampoo - New" width="611" height="392" class="aligncenter size-full wp-image-3664" /></p>
<h3>Search Results</h3>
<p>Ideally everyone finds exactly what they&#8217;re looking for using the autosuggest.  In reality, plenty of people still search &#8211; either because they ignore the autosuggest or because the autosuggest doesn&#8217;t provide what they&#8217;re looking for.</p>
<p>Our biggest weakness was not matching &#8220;synonym&#8221; keywords where the searcher is searching for something we have but just calling it something different.  I&#8217;d imagine Google has teams devoted to this. Our data showed that the queries we did worst for were ones where customers searched for buffer pads with the word <em>inch</em> in the query.  For instance, <em>4 inch pads</em>.  </p>
<p>As of last week that query returned zero results.  Why? Because we call them <em>4&#8243; pads</em>.  So I built a &#8220;synonym system&#8221; to help tackle some of these queries.  In doing so, I discovered another problem: we&#8217;d display all sizes of a product if there was a match, not just the size that matched.  So even now if you searched for a 4 inch pad, you&#8217;d get the 5.5 inch and 6 inch sizes of the same pad in the results too!  I reworked that as well, and now <a href="http://www.detailedimage.com/find.php?search=4+inch+pads" target="_blank">a query for 4 inch pads</a> actually returns 4 inch pads! </p>
<p><img src="http://www.adam-mcfarland.net/wp-content/uploads/2013/01/di_search_4_inch.png" alt="Detailed Image Search for 4 Inch Pads" width="786" height="288" class="aligncenter size-full wp-image-3667" /></p>
<h2>Quality Score</h2>
<p>When you&#8217;re viewing a brand page or a category page on our site, we sort the products by what we call our &#8220;quality score.&#8221;  The higher the score, the higher the item appears on the page.  Previously this was something we assigned manually &#8211; we wanted to curate the site based upon what people were buying, what was new and hot, and what we thought were the best quality products.  This was fine when we had 100 products. We now have over 750 products, we&#8217;ve been in our fastest rate of product additions these past 6 months or so, and we have no plans of stopping.</p>
<p>The reality was that no one was going through the products and updating the quality scores unless they saw something that was drastically off.  Given how difficult and time consuming this would be anyway, we decided to automate the quality scores based upon the sales history of the product and the newness of the product, with new products getting a &#8220;boost&#8221; to both stand out to customers and to give us time to get adequate sales data.</p>
<p>The result is much better than what we had manually.  Because this worked so well, I then decided to sort the results in the autosuggest based upon the quality score. If you start typing in a brand name, you&#8217;ll see the newest products first, followed by the most popular products.  As opposed to just an alphabetical list.  Here&#8217;s an example:</p>
<p><img src="http://www.adam-mcfarland.net/wp-content/uploads/2013/01/di_autosuggest_chemical_guys_new.png" alt="Detailed Image Autosuggest Chemical Guys - New" width="607" height="341" class="aligncenter size-full wp-image-3663" /></p>
<h2>Moving Forward</h2>
<p>Throughout this whole process I made a list of probably a dozen more improvements.  I was tempted to keep going, but I was unsure of the payoff.  What I did do was start collecting even more data on each and every query so that we can better analyze what queries are working and what ones aren&#8217;t.  In a few months I&#8217;ll have Bobby do some analysis for me and we&#8217;ll make our improvements based upon what we find.</p>
<p>We&#8217;re still at the point where I feel like we&#8217;re tackling the low-hanging fruit.  It didn&#8217;t take some robust analysis to tell us that these things needed fixing &#8211; they were obvious and we just used the data as confirmation.  To me, it&#8217;s pretty obvious that these changes will increase conversions, average order value, and decrease customer frustration.  We&#8217;ll certainly confirm that with data, but when my/our search experience improves so drastically it won&#8217;t be surprising that our customers does as well.</p>
<p>I hope that by the end of the year we&#8217;re at the point where there aren&#8217;t so many of the obvious improvements left.  That&#8217;s when having all of this data, and an employee who spends much of his time doing data analysis, will really pay off.  We&#8217;ll be able to make those little changes that might not seem obvious to us, but will have a positive impact on our customers and bottom line.  We&#8217;ll be able to quickly iterate and optimize based upon what we&#8217;re learning from our customers.  That&#8217;s something we&#8217;ve been envisioning for years, and I&#8217;m very pumped that it&#8217;s now within our grasp.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adam-mcfarland.net/2013/01/15/a-better-search-experience-on-detailed-image/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
