Monday, December 17, 2007

Does Your Website Measure Up?

Website Series Introduction

This series of blog entries will relay some suggestions for improving website usability and performance. It is not intended for the technical web practitioner: instead, the intended audience is the business leader who relies upon the web to deliver sales messages to customers and prospects. The idea is to provide some information to help the business leader communicate with the techies and to evaluate the results achieved.

The visitor experience at your site is influenced by three primary factors: 1) relevance of the site content; 2) ease of finding what they are looking for; and 3) the speed and reliability of content delivery. Thus, content, UI and systems all influence the visitor experience. Said another way, the content relevance, ease of accessing content, and content delivery are the reasons your site will be judged as good or mediocre by visitors and determine whether they stay or come back to buy or get your sales messages. This series will help you understand what to look for to be sure your site is up to the task.

I plan to publish it in four parts over the next month or two:

Part 1: Is Your GUI Sticky?
The User Interface (UI) is what contributes to most to the visitor experience. The objective is to make the experience as positive as possible so visitors will buy and/or come back to buy. Making your site simple to navigate, error free and comfortable is essential to keeping visitors on the site and getting them back to buy again.

Part 2: Do Search Engines Like You?
Most web site owners find a majority of their traffic comes from the major search engines: Yahoo, Google, MSN, AOL, etc. In simple terms, a web site that is set up to appeal to the nuances of search engines is likely to get more traffic than a web site that is not. There are some basic search engine optimization (SEO) techniques that you want to be sure your developers include routinely in the pages they build for you.

Part 3: Is Your Technology Tuned?
In referring to underlying technology, I do not generally mean the hardware and software choices. Several hardware/software vendor solutions are up to the task of delivering web content. The critical issues are the configuration and the environment the systems operate within. These two factors must both be right to reliably perform the required tasks with speed and almost 100% uptime.

Part 4: Is Your Content King?
Visitors primarily find your web site based upon content (and some SEO techniques) and decide to stay and buy your product or proposition based upon content. Clear, professional copy, “community” information, and complete product information are essential to a truly effective web site.

Thursday, December 6, 2007

Image Data Cache

Earlier this year, I implemented an interesting architecture for serving images. The company had a web site with a searchable portal for real estate listings – about 1 million of them with over 20 million images associated with the listings – which was growing as sluggish real estate sales caused listing inventories to grow nationwide. In addition, a new version of the portal displayed additional images in the search results. This situation caused the company’s primary image disk storage array to be extremely stressed, especially while loading new images. The secondary site was off line due to upgraded disk appliance o/s software that was too memory intensive for the model of disk appliance in service. To resolve that required rolling back the software to an earlier version; then reloading the image files on that appliance by transferring the images from the primary site disk array, further stressing the primary hardware. The job was going to take about 10 days, and performance was suffering.

The idea that solved the problems was to cache images on servers at a third party location. Since the company had already signed a contract with a third party to host and serve video, trying the image cache approach for the company made sense. Within 5 business days, the company had implemented the changes needed and had started to cache images on servers at a third party location. Most of that time was spent waiting for the vendor to set up the systems on their end. The changes on the portal servers were relatively simple and implemented within a day or two.

The cache was pretty easy to implement. Code is changed to request the image from the third party URL instead of the traditional source. In this company’s situation, this was easy because most images are called with a data base function that builds a URL for the call and executes the request for the image. So, all the IT staff needed to do as revise and deploy that function.

Once the request is directed to the off site cache, the image is served if it is cached. If not, the 404 error invokes software on the cache that gets the image from the source. In this company’s situation, that source was multiple sources in an image structure behind a F5 load balancer. The cache vendor then serves the image and copies it to their server with concurrent processes.

Images stay on the vendor’s servers for a time set by the customer. The portal company used a 2 week time to live (TTL). This means if an image is not used for 2 weeks; it is automatically removed from the vendor’s cache. The vendor distributed the company’s images on 1000 servers, so the company had to add 1000 names to its DNS records.

The cost of this service is very reasonable compared to the cost of adding or upgrading disk appliances to meet the growth in images stored. For a few hundred dollars a month in vendor services, the company avoided disk appliance upgrade that may have cost as much as a half million dollars.

For more information about this project, or to discuss other issues related to large scale image storage for web delivery, contact me at 757.675.5010 or email bobpride @ (Remove the spaces before and after the @ --- I have to put them there to fool the spammers’ bots.)