Hotmail

Fast experience

Windows Live Hotmail is now faster than ever thanks to a few really good tricks. We thought we'd share some of them with you. We've put together a semi-technical version and a simplified, jargon-free version.

How we sped things up

When you sign in to check e-mail, your browser and your e-mail service have a conversation.
A lot of our recent work has been about minimizing the chit-chat between your browser and Hotmail. We want the conversation to be as concise as possible. Just the facts.
Downloading a bunch of images can slow you down. We sew our individual graphics together like a quilt so that your browser doesn't have to ask Hotmail for each image individually. Your browser just asks once for the entire quilt and the instructions on where they go.
We further enhanced Hotmail speed by
  • Putting Hotmail's web pages on a strict diet to help make them lean and fast (and they look good at the beach)
  • Only using crayons we really need to make Hotmail's images look good
  • Shortening the virtual distance between your browser and Hotmail to get rid of some of the lag in communication

Technical details

We used to house Hotmail static content - CSS, images, HTML, text files – on the same domain where we housed the dynamic content. Browsers had to set cookies to get any type of content from our servers – static or dynamic.
Now the static content is stored on a dedicated domain that does not require clients to set cookies. This has really improved performance (those little cookie KBs quickly add up).
We've also further compressed any remaining cookies for added efficiency.
We aggregate multiple small images into one “clustered” image by stitching the smaller images together. We then use Cascading Style Sheets (CSS) to tell the browser to display the pertinent part of that clustered image for each image tag.
Image clustering saves on Page Load Times (PLT) in two ways: (1) it minimizes the TCP overhead associated with transmitting many small images as opposed to one clustered image, and (2) the cookies normally sent upstream with every small image GET request are trimmed down to only one GET request per clustered image.
We've further optimized performance by
  • Trimming down JavaScript and CSS page weights
  • Reducing the color schemes for images using narrower and, therefore, lighter palettes that don't materially degrade image quality.
  • Caching content at the edge, and minimizing redirects.