Adding To The Foundation [Of Our Cart]

In the coming months we’ll be rolling out some big improvements to the Detailed Image website. We launched the current site in mid-2009. Since then we’ve iterated with the Ask-a-Pro Blog, Free Weekly Special, a new home page, a mobile site, free shipping every day, and more, but the site has largely remained the same as we’ve hired and trained two new full-time employees, launched the new version of LockerPulse, refined our warehouse operations and customer service process, and dealt with all of the other many challenges that come with growth.

In the meantime, we’ve been collecting data. Lots and lots of data. We’re ready to put that to work, along with many of the new industry best-practices (a mobile-first responsive design, for example), to release a fundamentally new version. I say “fundamentally” because this isn’t a total overhaul. The shell of the existing site is solid. This is more of a big iteration forward, that we can hopefully continue to iterate on with smaller improvements for a long time.

Our standard is to be on par with the best e-commerce experiences on the web. It’s a high standard. We’re not quite there now, but we think we can get there soon.

Deploy Early & Often

About a month ago I was able to really start devoting some serious time to the project. One of our first big decisions was to start releasing bits and pieces of the final product along the way instead of holding off and releasing it all on one big launch day. There will probably still be a “launch” where the aesthetics of the site change, however that will only be the proverbial cherry on the top of the sundae we’ll have been working on for months.

This approach has three big advantages:

  1. Our customers and us get the benefit of the work immediately instead of waiting months.
  2. We’re deploying less code on “launch” so there’s less of a chance of something going wrong on launch day. If something does go wrong after one of these mini-releases, it’s easier to debug and roll-back if necessary.
  3. As a developer, there’s a feeling of satisfaction when you successfully push out code. You can cross something off of the list and be done with it instead of having a feeling of things piling up.

Examples

HTML5 History Example - DI Washing & Drying

One example is that we’re now using the HTML5 History API to dynamically change URLs and “preserve the back button” on our product pages and browsing pages. So now when you go to our Washing & Drying page, click “Shampoo”, then click “Under $10”, you’ll see the URL change from:

http://www.detailedimage.com/Washing-Drying-C1/ to
http://www.detailedimage.com/Washing-Drying-C1/Shampoo-SC4/ and then to
http://www.detailedimage.com/Washing-Drying-C1/Shampoo-SC4/Price-Filter-Under-10/

all without a page refresh. If you click the back or forward button it will work – the products will change and the URL will change, again without a page refresh. And if you do refresh the page, or bookmark the page, it will work when you come back.

We can now link customers to a more refined set of products. This helps us in customer service. It helps us with our internal links on the site. And it helps get a bunch more pages indexed by search engines that previously we couldn’t serve up, particularly subcategory pages that could pull in a lot of traffic.

Another recently released feature is that we started including product names in our image names to help a bit with Google Image searches. For instance, here’s the URL of an image uploaded with our old uploader:

http://www.detailedimage.com/products/auto/444_1_lw_2848.jpg

where as a new one is named:

http://www.detailedimage.com/products/auto/Little-Trees-Black-Ice-Air-Freshener_716_1_lw_2692.jpg

I’m also in the midst of a big javascript rewrite where we’ll reduce requests, improve speed, and switch from script.aculo.us to jQuery. And there have been a handful of other similar changes pushed out over the past month, and there are many more to come.

We’re off to a great start. I’m pumped to keep pushing forward on this project. The end result should be our best work yet!

3 comments on Adding To The Foundation [Of Our Cart]

  1. […] my last post I wrote about all of the small features that we’ve been rapidly releasing lately for Detailed […]

  2. […] 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 […]

  3. […] 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 […]

Leave a Reply

Your email address will not be published. Required fields are marked *

Commenting Rules

I'm honored that you found this post interesting enough to leave a comment. Before posting, I have a few ground rules:

  • Please keep your comments as relevant to the post as possible.
  • No personal attacks or any other nastiness.
  • Your first comment is subject to my approval.

Thanks!