Monthly Archives: May 2012

Optimizing Web Pages

This article discusses some of the basic concepts of optimizing a web page to make the web page load quickly – or at least, more quickly. It is for the benefit of those who are not technically oriented, but need to have a means of discussing these concepts with their web developer.

Reduce the amount of data required to display the page

A web page consists of html, scripts, style documents, and media such as images and videos. These components should be reduced in size as much as possible to shorten the time required to download them. Images typically represent the greatest opportunity for optimization. Browsers cannot display image resolutions higher than 72 dpi, so there is no point in loading anything of higher resolution. Additionally, the images should be sized to the size being displayed rather than having html resize them. The html code itself should be concise and correct. The code should be validated to ensure that it meets the requirements of the document type. All presentation elements should be moved to an external css style sheet. On a website with many pages, there should be a fundamental style sheet and then a separate style sheet for each page. Smaller websites should have only one stylesheet. Finally, css and javascript files should be ‘gzipped’ (compressed) and/or ‘minified’ which removes non-essential characters without changing the functionality. If you have a WordPress site, the W3 Total Cache plugin will do that for you.

Reduce HTTP Calls

The next important key step to increasing web page loading speed is to reduce the calls to the internet within your web page (reducing HTTP calls). There are several aspects to this issue: combining scripts and style sheets, using image sprites, and avoiding redirects or frames. These are critical areas in which your website performance can be improved.

Content Distribution

If your audience is widely distributed geographically and you make extensive use of graphics and/or video files, you should be using a Content Delivery Network (CDN). These are systems with widely distributed servers that are optimized for content delivery. Also, loading your videos and images on a different domain (such as a CDN) allows browsers to load your content more quickly. Amazon S3 is the most widely used CDN and certainly the most cost-effective. You might also use a second domain on your webhost to store the style sheets and javascript elements to allow them to load faster, especially if you use cookies. Content should always be delivered from a domain that does not use cookies.

In violation of concepts above, the home page will benefit from having style and javascript elements within the page. This works because it reduces the http calls, but it should only be used on the home page. In this case, a gzipped version of the style elements must be placed at the top of the html page within the head section and the javascript elements – just those required for the home page – placed just above the closing body tag.

Network Issues

If your optimized website still loads slowly, you will need to evaluate your webhost and your ISP. If your webhost is slow, your website will load slowly. You will need to upgrade your webhost. Or it may be just that your ISP speed is slow in which case other people will see your website load quickly, but you will always see it load slowly. Time to shop around for a new ISP.

These are just a quick general discussion of the aspects of website optimization. Please contact us if you have further questions.

Hiring a Web Developer Part 04

Interviewing Your Prospective Web Developer

Effective techniques in interviewing a web developer can make the difference between success and disaster for your website project.

If possible, interviews should be performed on a face-to-face basis. In my case, most of my current clients were referred to me and I have met only a few of them face-to-face because they are spread all over the US and Canada. I have, however, participated in several face-to-face interviews and much prefer them to telephone or Skype interviews. All the individuals who will be involved with the project should participate during the interview, both to add their perspective to the hiring process and to evaluate the quality of communication between the web developer and the project members.

Working with a web developer covers a broad range of communication issues. Design concepts and ideas, copy concepts, SEO keywords and phrases… all are areas which require effective communication to produce the desired result. A common complaint among those who have hired web developers is that they never hear from their developer. Be specific in stating your expectations and preferences in the level of detail, means of communication and frequency of status updates. This is an essential aspect of the RFP, but it must be addressed during the interview as well.

Discuss the developers’ level of experience with the specific requirements of the project and their ability to accomplish the project within the timeframe specified in the RFP. Determine whether they work alone or as a team. With whom do they work and what kind of relations do they have with their associates? What associates or groups do they belong to?

Discuss their primary tools, languages or technologies. Ask them to discuss how that particular technology is suited to the project at hand.

Discuss their working standards. Do they observe the W3C standards? Are they familiar with them? How do they comment and/or document their work? If they get hit by a bus, is someone else going to be able to pick up the project and continue on, based on their documentation and comments?

Discuss methods they use to reduce the load time of a web page. If you are not familiar with these methods, please read our blog post on Optimizing Web Pages. Also discuss their techniques for cross-browser testing to ensure that your browser is properly presented regardless of what browser your audience may be using.

Ask about post-development support. What hours are they available for support. What communication processes do they provide for addressing updates and other issues. If your website goes down for some reason, how quickly can they respond?

After the interview, discuss the interview with your team and ask each team member for their thoughts and feelings about the prospective developer. Score the prospective developer. As a starting point, utilize the Basis for Award of Contract portion in the RFP. We recommend using a spreadsheet laid out so that you can compare the prospective web developers side by side on each point.

Finally, Contact the owners of the websites that are in the web developer’s portfolio for their thoughts about the developer and whether they have continued their relationship with that developer. Ask about the topics discussed above and how effective the developer has been in each case. Update the spreadsheet with their feedback.

After all the prospective web developers have been interviewed, assemble the team for a detailed discussion of the relative merits and demerits of each developer. If one of them appears to meet the requirements for the project, hire that developer. If you are still not comfortable with the developers you have interviewed, do not hire anyone. Invite more developers to participate and continue the process until you find someone in whom you have confidence.