Web Developers: Take a Lesson from Google

by Sam Dean - Mar. 17, 2008Comments (3)

Many open source developers rely on Google Code--the company's developer network, with APIs, open source projects, and much more--to help fuel their projects. Jacob Moon, from Google Developer Programs, now has an interesting blog post up about how the folks behind Google Code recently implemented a few speed and efficiency boosts on the site. If you do any kind of development on the web, take a close look at how these tune-ups were executed.

Moon's blog post cites the "Performance Golden Rule" from the well-known book High Performance Web Sites by Steve Souders: ""only 10-20% of the end user response time is spent downloading the HTML document. The other 80-90% is spent downloading all the components in the page." Using that as a governing principle, Google Code developers set about reducing the number and size of downloads (HTTP requests) for the "components" throughout Google Code.

Specifically, the developers:

  • Combined and minimized JavaScript and CSS files used throughout the site;
  • Implemented CSS sprites for frequently-used images (concatenating several commonly found images into one HTTP request);
  • Implemented lazy loading of Google's AJAX APIs loader module (google.load).

Although I have no way of verifying the claims, the folks behind Google Code claim that latency measurement stats show that user-perceived latency on the site dropped between 30 percent and 70 percent depending on the page being loaded--nothing to shake a stick at. If you're involved with web development, take a look at Google's specifics on the techniques above.

Do you know of any good speed- and efficiency-boosting techniques for web developers?



Craig Harris uses OStatic to support Open Source, ask and answer questions and stay informed. What about you?



3 Comments
 

A big one is the order in which your page loads too. A lot of gunk in the section of the file causes the entire page to load slowly. Simply moving unnecessary scripts to the end of the file (things like your analytics trackers, etc.) will improve the initial page load, though will not impact the overall page load.


0 Votes

The perception of speedy loading is more important than the entire page load. Ajax is your friend, provided you use it smartly and not pound the server with unnecessary hits. Load the important elements first. Then follow up with additional data via ajax.


0 Votes

This seems so very much like dark days of the Microsoft OS monopoly. Who can forget the memories of; stifled competition, and price fixing. In this case Google does the arm twisting AND knuckle cracking by dropping the pricing of a service to free. Goolge is using the advantage of massive scale built on the backs of consumers and media to choke the life out of them and any competitor.

Do we now face a world where all apps are run on the google platform and coded to their specifications. Have we forgotten what happened to Borland, Netscape, and Novel.

Make no bones about it; Google is trying to be the next OS at any cost. If they go on this path unchallenged we will see the snuffing out of a vibrant industry that was once the home of rebels that believed in the possibilities and the freedom of choice.

It is also clear that Google is the biggest danger to Open Source software that we have ever seen. Where is the cloud/OS for those of us that want a choice and don't think its a good idea for one company to own the very life of the internet.

We at adelph.us will be launching an alternative

"You take the blue pill and the story ends. You wake in your bed and believe whatever you want to believe."

"You take the red pill and you stay in Wonderland and I show you how deep the rabbit-hole goes. Remember -- all I am offering is the truth, nothing more."

from the Matrix written by Andy Wachowski & Larry Wachowski

0 Votes
Share Your Comments

If you are a member, to have your comment attributed to you. If you are not yet a member, Join OStatic and help the Open Source community by sharing your thoughts, answering user questions and providing reviews and alternatives for projects.