Category Archives: performance optimization

Don’t Hide Your Loading

For years, web developers have been driven to try to find ways to mask the performance characteristics of our sites.  We know that graphics are getting larger, third-party libraries are more prominent, and expectations are rising– but at the same time, everyone wants something up in 1.2 seconds after hitting the link.  Get something to load in a hurry, even if it’s not the full content, and everyone will feel like it’s faster.  However, like most “philosophies for web design”, this can be quickly followed from sensible to downright hazardous. Continue reading

Facebook Audience Engagement: Web-Op Vs. Industry Standard

In the world of social media, Facebook has earned its place on the top of the proverbial mountain.  With 1.23 billion active users, Facebook presents a unique opportunity for businesses to reach new audiences, strengthen their brand and recruit new buyers.  In fact, a presence on Facebook and other social media platforms has been a necessity rather than an opportunity for many companies.

However, being active on social media isn’t enough; every business needs the right strategy.  They must target the right users, and constantly “touch” their audience with new, unique content and designs.  Not just to get the word out about their product or services, but to maintain positive consumer sentiment towards their brand. Continue reading

The Contact Form

The goal of a landing page is to collect information from site visitors with the hope that they will be converted into a customer. From a business standpoint, we would like as much information as possible from these potentials. However, the average site visitor wants to spend as little time as possible filling out the contact form to get access to the offer they’re trying to receive.

In an article from HubSpot’s Social Media Scientist, Dan Zarella, looks at which types of form fields lower or increase customer conversation rate. From his studies we are able to analyze the best approach to a successful contact form.


In Zarella’s studies, he found that as the number of form fields increases, conversation rates of customers slightly decrease.


This graph represents as the number of single line text fields increase, there is a small decrease in conversation rate.


This next graph shows that multiple text areas have a noticeably shrinking effect on conversation rate.


Lastly, this graph proves that multiple drop down fields, can lower your companies conversation rate.

We can infer from Zarella’s study that the fewer form fields implemented on your landing page will bring you greater conversation feedback. In fact, conversation rate improves by almost half when the number of form fields are reduced from four fields to three- that is a 50% increase!

A few small details that will keep your contact form most efficient is by reducing all friction. The more friction you can eliminate from the user experience, the more your conversation rate will increase. One way to do this is by creating trust on your page. Reconsider the information you are requesting in your form fields; if you do not need it right away, get it from the user later. Another thing you might want to consider is providing the user with help text. By utilizing help text, you are telling the customer exactly how to fill out the form by eliminating any extra thinking on their end. Last but not least, don’t be afraid to design your contact form; it should be memorable to the customer, as well as clean, simple and efficient.

Enhanced CPC: Is This Always The Right Choice?


When choosing a click-focused bid strategy, is clicking the “Enable Enhanced CPC” button always the right choice? What Enhanced CPC means is exactly how it sounds, it optimizes your cost per click if Adwords presumes it as beneficial, or not beneficial, to your campaign. This feature can increase your bids for clicks by up to 30% if deemed good for the campaign, and lower the bid by any amount if it seems that the campaign will not benefit. Seems awesome right? This may not necessarily be the case.

While Enhanced CPC can be beneficial for a campaign with a good history of conversion data, a new campaign with Enhanced CPC will most likely not perform at its best. It can drive down traffic for a new campaign and make your campaign not work as how you would’ve hoped.  It’s not going to do a good job if there is no data to base its bid decisions over. What is our verdict?

Use it for a campaign with good historic conversion data. This is where the Enhanced CPC feature may perform at its best and be the most beneficial to your Adwords campaign, with potential for increased conversion rate, increase ROI, and overall lower costs. However,for a new campaign, we recommend not using it. Be smart with Enhanced CPC, make sure it’s right for you.

Windshield Guru Page Load & Organic Search Traffic

Google Webmaster Tools now reports 1.4 second load time across all pages for Windshield Guru. This includes many of our database intensive pages accessed via the backend – where we still include Google Analytics tags to track employee site usage. The chart can be seen below.
Windshield Guru Page Load Chart

It’s difficult to draw correlations to organic traffic due to the penguin update that is plaguing the seo industry, however organic search has climbed 5.5% over the last thirty days compared to the previous thirty. Additionally our bounce rate has dropped slightly, time on site has jumped by 3% and pages per visit is up as well.

How We Cut Windshield Guru’s Load Time by 46%

We recently moved Windshield Guru to Amazon Web Services to help us scale up to meet the demands of both visitors and our customer service department. While we’ve seen gains in page load time from the switch, we really weren’t squeezing every ounce of performance we could from Amazon’s scalable infrastructure. Our server architecture consisted of a large mysql DB instance an apache instance serving the front end and an instance we used for development of new functionality. Our worst metric across a ton of tests was time to first byte. As apache had to read a file, interpret php, then query the database, the logical first step to increase performance was to serve our content up via a reverse caching proxy. There are a few ways to setup a reverse proxy for caching but the two most obvious are nginx and varnish. We’ve played with both pieces of software and settled on Varnish.

Varnish works by loading up your static content into memory – effectively eliminating any disk i/o constraints (which are common on AWS – especially on EBS backed instances). As no disk seek is necessary – the only function varnish does is checks to see if the content requested is in the cache (in RAM) and serve it to the end user. Working from memory is much faster than reading from a disk.

[Jack notes…] Be aware that there are often assets you don’t want cached on your site. On Windshield Guru, visitors are presented with a map of nearby shops, looked up from their IP address. Obviously, this doesn’t help when they show a cached map of Washington state and you’re in Phoenix. What we chose to do is isolate these assets as iframes, and then serve them up from a seperate subdirectory with a less liberal caching policy, so every user gets them fresh. Other alternatives include drawing the info in client side with AJAX calls from a script not tied to the main caching rules.

The Results

Time to first byte dropped from 0.665 seconds to 0.029 seconds – a 2200% reduction. Overall page load time dropped from 2.547 seconds load time on first visit to 1.393 seconds – a 46% decrease!

2.547s Load Time via Apache

Unoptimized Page Load

1.393s Load Time via Varnish

Page Load w/Varnish Caching