Why Yahoo! Mail Engineers Love Idle Browsers

The Yahoo! Mail engineering team is on a mission to make your email as fast and responsive as possible. It’s not an easy task. But one of the ways we improve performance is by taking advantage of the pauses in your activity on Yahoo! Mail to prepare for your next moves. Let me explain what I mean.

Every time you view your inbox, read a message, click on a news headline, or check your social updates, you are making our application on the browser work hard. But there are times when you give it a break, like when you read a lengthy message or news story. However short, these moments when the browser is “idle” are very important because they give us an opportunity to replenish the application with new data and functionality that you may use in the future. Let’s say you receive an email from a friend you haven’t talked to in years. As you are reading though the message, Yahoo! Mail is already downloading all the components needed for your reply, such as spell check or color options. All this work in the background lets you easily add features and personality to your message.

During other idle times, Yahoo! Mail fetches new messages from our servers and drops them into your inbox. Instead of blindly downloading your entire inbox like some other email providers do, we anticipate the messages that you will read. For example, emails from people in your contact list have preference over messages that were forwarded to you. Similarly, a reply to your message is given preference over a new email from someone you don’t know. We also fetch emails around the message you are currently reading so that when you move to next message, you don’t have to wait for that message to download from the server.

Even though the idle time slice is very brief, we optimize the application to make use of that every bit of downtime gives maximum benefit to the user. Once the modules or emails are fetched, we keep them running in your session so that your browser never downloads the same thing more than once. That saves Internet bandwidth and speeds up your Yahoo! Mail.

Making the most out of idle time is just one of the many exciting projects our engineering teams are working on to make Yahoo! Mail better. So take your time reading your friend’s long email. We’ll be busy at work.

If it is the technology behind this that interests you, please read about it on the YDN blog post titled “YUI3 AsyncQueue + Cache Warmer = better Yahoo! Mail performance

Picture 10

Subramanyan Murali
Frontend Engineer
Yahoo! Mail

Read more »

back to yahoo! mail

subscription options

Subscribe Form Subscribe via RSS Reader or or Follow Yahoo on Twitter or

latest posts