Today we're thrilled to launch Yahoo! Mail Beta. The site represents one of the most ambitious Web client technology efforts we've undertaken at Yahoo!. I'm happy to have the opportunity to give a behind-the-scenes peek at some of the tech behind it.
First let me set the stage. When we set out to build Yahoo! Mail Beta a year ago, we decided that speed was the number-one feature and set a target of cutting the loading time and the time to interact with the Inbox in half. That priority was followed closely by applying a simpler, elegant, and decidedly more purple design that unifies the Web experience with the mobile and tablet products.
So how did we get there? I’ll review four main areas that went into Yahoo! Mail Beta with a focus on performance: The development of the Web client itself; the applications platform; the cloud platforms we are using; and finally, a couple of user-flow optimizations.
Developing the Yahoo! Mail Beta
One of the first things we started with was the markup. We decided from the beginning to use CSS3 wherever possible. This meant performance optimizations in a couple of areas. First, less HTML, since we no longer needed to rely on extra benign elements just for style hooks intended to accommodate older browsers. Second, fewer images, since we replaced elements traditionally handled with background graphics with CSS for things like gradients, drop shadows, and rounded borders. With this approach, we knew that it wouldn't look exactly the same in every browser, but the essence and functionality of the product would be the same.
For JavaScript, we decided to use YUI3. Yahoo! Mail Beta is built using the YUI framework from the ground up. One of the great benefits of YUI is that it's modular, allowing us to pull in libraries as needed as opposed to downloading everything up front.
Modernizing the markup and using YUI3 for JavaScript reduced total download size for the application by 35 percent, a huge performance win.
Next we looked at how the browser communicates with the server. Negotiating HTTP connections comes with overhead, particularly on lossy connections common in emerging markets like India and Indonesia. To minimize overhead, we implemented an HTTP request streaming technique that lets us push chunks of data across a single HTTP connection as soon as they are ready on the server. The browser can render parts of the page even as the server works to satisfy the full launch request.
Yahoo! Mail applications
Another area of focus has been pace of iteration. Yahoo! Mail is a big animal. If we have to push the whole thing every time we want to iterate on a feature, the associated overhead (full regression, deployment to thousands of servers, etc.) can be pretty, well, not agile.
That's where Yahoo! Mail applications come in. Yahoo! Mail applications are extensions that can be developed, deployed and updated outside of the normal release cycle. They are written in pure Javascript, CSS and HTML and are isolated from the core product with a Javascript API, helping minimize the risk of regression from a bad application push.
With Yahoo! Mail Beta, we truly became customers of our own platform. The integrated Yahoo! Messenger feature as well as the inline photo slideshow and video player are all built using the same framework that external developers use.
Here's how it works: A simple MySQL database cluster stores the applications. When a developer publishes an application, the MySQL database is updated. From there, a globally deployed and replicated cache (think memcache with worldwide replication) pulls the application from MySQL and fronts the cache with a simple Web server for serving to Yahoo! Mail Beta. With this technique, we can deploy a new feature iteration in minutes. It also gives us a handy capability to deploy applications by percentages of the user base for throttled rollout and bucket testing. We have a lot more functionality in the works that takes advantage of this infrastructure.
Using the latest in cloud technology
For Yahoo! Mail Beta, we looked to use our cloud platform wherever possible. I'm betting most of you don't need an explanation why hosted cloud infrastructure can be a big win for a product team like ours. The less of an infrastructure truck we have to lug behind us, the more engineers we can devote to building a great product. I'll highlight two cloud services that are particularly relevant.
The first is our edge connection service. Our cloud team has deployed ultra efficient HTTP proxies around the planet. The nodes run Traffic Server, which we open sourced back in November 2009. Starting in October 2010, all of the more than five-billion daily HTTP requests for Yahoo! Mail flow through these connection proxies.
How does that translate to a Yahoo! Mail user?. Let's say you're sitting in an Internet cafe in India but your mailbox is actually located on a cluster in the U.S. Before we had the edge service, when you typed mail.yahoo.com into your browser, you would route all the way back to the cluster hosting your mailbox over your own bandwidth and through whatever network peering route your ISP has. With the edge connection service your request for mail.yahoo.com is routed to the closest proxy by network distance. From there the request flows over Yahoo!'s bandwidth back to the cluster hosting your mailbox. This can improve transfer speed by 25% and more in some cases.
The second relevant cloud service is our CDN (content delivery network). Using the same traffic server technology as the edge connection service, but adding a caching element and backing object store, the cloud-hosted CDN is also deployed around the globe. One of the main benefits of using our CDN service is that it natively supports combining JavaScript and CSS files on the server side. I mentioned before that negotiating HTTP connections can be expensive, so when you include JavaScript and CSS in the page, you want to do that in as few requests as possible. Since the application can behave in different ways for different users — for example, a Mail Plus user doesn't need all the JavaScript associated with managing ads — it's costly to precompile all the various combinations of JavaScript and CSS at build time. The CDN service lets us specify what to combine with a simple syntax so it looks something like this:
<script src="http://cdn/combo?core.js;ads.js;partner.js;etc.js"></script>
The CDN concatenates those JavaScript files into a single file instead of requiring four separate HTTP requests.
User flow optimizations
Finally, we took a look at what click-paths users take to get to Yahoo! Mail. One of the more common scenarios is a visit to the Yahoo! homepage and a click on the Yahoo! Mail link from there. We took a close look at what was happening in this flow and made a couple of key optimizations.
First, we removed redirects that users were taken through before actually hitting their Yahoo! Mail server cluster. In some countries, that alone saved up to a second of launch latency. Secondly we started precaching mailbox and social data for all signed-in users of the homepage, as there is high probability they will click through to Yahoo! Mail.
Summing up
The final result is that Yahoo! Mail Beta is at least twice as fast as any of our current Mail products (and in fact up to four times in some countries) and is architected to let us iterate quickly. All good stuff for our hundreds of millions of users around the world!
If you haven't tried it out yet, just visit Yahoo! Mail and click Try it out. Thanks for reading, and we look forward to hearing your feedback!


63 Comments
Congratulations to the team for this huge launch! Looks great and has kick-ass performance! Keep the good stuff coming.
Jason
congrads. nice work!
Huge congrats to the team on this major upgrade and re-architecture. The technology upgrade is impressive, more impressive is that it's being done for the biggest mail platform on the web at scale. The UI is slick and boy it it fast. Now I can't wait for the pace of innovation and new features to accelerate.
looks great, thx! Where is the calendar, I don't see it anymore?
Congratz guys. It looks great. Looking forward for the further development. I hope that you will provide services equally to "google apps for your domain" also.
You seem to have lost the "Check other email accounts" option.
The To: field replaces what I type with an incorrect name (it truncates the second word) — I'd prefer an option to let me see exactly what is being used.
I cannot login to Yahoo Messenger from Ymail anymore. I quite liked that (even though it was a bit unreliable).
I would prefer to have the "formatting" bar active by default when composing a message.
I don't like it that I now cannot expand the message to the right, temporarily hiding the advert.
The email editor allows you to paste embedded pictures into messages (which is something I was hoping for) but Ymail doesn't send them!!
The look and feel is ok. I'm sure I'd get used to it. Once you've fixed the above issues.
And oh dear… The feedback page doesn't work!!!!
Please implement IMAP support for Yahoo! and Yahoo Small Business. This should be a standard feature on any basic email service.
Great!
Saw the news of the beta release on CNET. Read your blog post and decided to try it. Definitely faster.
One question, though: why does Yahoo insist on giving me news headlines when I click on Mail? If I wanted news, I'd select news. It's just one more mouse click between me and what I want, which is to read my mail. This 'feature' alone was a huge factor to me using gmail primarily (and apparently I'll continue to do so).
Priority 1 : Do Mail effectively Priority 2 : Do Priority 1 Safely Priority 3 : Speed Priority 4 : Speed Priority 5 : Speed Priority 6 : Ease of use (reduced cursor movement & no. of. clicks for each future).
Where's the Calendar
Nice work guys!
The number of emails not read is incorrect: it should not count the unread items from the trash bin.
Great syncing across not just email but address, contacts and calendar is what's needed next. I'd recommend just adopting Activesync, as Google have done.
Yeah….Calendar function missing or what? The calendar should pop into the right pane when selecting the word Calendar on the left….just like Outlook….why has this not been done like a couple of years ago?
The speed is awesome, a huge improvement. However, IMAP accessibility is a must in 2010.
If you can get the customization features back, adjustable font sizes, colors, calendar tab, notepad, right-side expander, stationery, and put the complete options dialog in a more intuitive location, you'd be well on your way to a Gmail killer.
When I delete a mail after reading it, I don't automatically see the body of the next mail but instead get transferred to the inbox. This is a big negative. The contact tabs should not be on by default.
Nice, looks like Yahoo is stepping it up a notch!
http://www.anonymize.it.tc
It's saying the beta is not available for me, why is that? I had UK as my default content, which I also changed to USA but still beta doesn't seem to be "available" and would be "available soon". How can I get it? Thanks
Thanks for the great feedback. I'll address some of the comments and also encourage you to post and vote on the suggestion board, which we're watching closely. In fact, a huge part of why this is a "Beta" product is so that we can react to your feedback before rolling the product out more broadly.
http://suggestions.yahoo.com/?prop=mailbeta&viewmode=rating
1) Calendar – Fully agree a link needs to be in there. Stay tuned.
2) IMAP – Our focus on IMAP has been supporting the tremendous growth from mobile devices (over 40 percent year-over-year). Desktop support is on our radar but further out.
3) Check other email accounts – This functionality is in the product (I use it myself). When you click the "refresh" icon next to the Inbox folder it automatically checks other accounts.
4) Integrated Yahoo! Messenger – In the top-left corner of the page there is a welcome message "Hello, [username]". Clicking that message invokes a drop-down menu where you can select "Available" to sign in to Messenger. Once signed in, your online contacts will appear in the left-hand column of the interface. Double-click a contact to start a chat.
5) Why can't I go straight to my Inbox? – We plan to allow users to choose to go directly to their Inbox when they launch Mail. Stay tuned.
I was excited to check this out–until I realized that you guys block me from using Yahoo Mail beta in my browser of choice–Opera.
Of course, if I mask as Firefox or IE, it works. Back to Gmail, I guess. :/
This is a huge step in the right direction for Yahoo! Mail specifically and Yahoo! in general; and for me personally a huge validation of a similar vision I am trying to implement at my company. Thank you and kudos!
Mail beta does not work on opera
Does this mean that I won't see the "BP finally chokes off the flow" headline anymore?
I have grown accustomed to seeing that every morning. ; )
My one complaint about the Yahoo mail client was that it was sluggish. That's no longer the case.
Using YUI is also huge. Yahoo had too often not eaten its own dog food.
Excellent job.
Where has the calendar gone? It needs to be integrated as one of the tabs perhaps – not just a link. I want it as part of my mail provider. If it was inserted as a tab, perhaps it can be viewed as a calendar month (like traditional calendars). This would be a a great attraction for me.
I agree that the number of unread emails should not count those in the trash.
I'm not tech head, but the only major change I realise is that it is purple.
Calendar and Notepad links really need added quickly
+1 calendar.
Love everything about it except that I cannot open larger emails anymore. The workaround is to hit reply. Am I the only one with this problem? I use the new firefox, on a Mac. Please help!
@reedremind: Please post your comments to the Yahoo! Mail Suggestions board (http://suggestions.yahoo.com/?prop=mailbeta&viewmode=rating) so it will get looked at by the appropriate folks. If you need support, please check the Yahoo! Mail Help site (http://help.yahoo.com/l/us/yahoo/mail/ymail/). Thanks very much!
Dosent work with Windows 7 or IE 8 or 9.What the heck is it good for then?
How do I download mail beta?
I want yahoo mail beta!
Please go to http://features.mail.yahoo.com/ and click the big yellow “Try It Now” button. Thanks.
@ckc: The Yahoo! Mail Beta works with IE8. For IE9, you’ll get a warning page but you will be allowed to use the beta. Thank you for your interest!
I am still getting "Yahoo! Mail Beta isn't available for you just yet." What gives?
The purple bar at the top of the screen eats up too much real estate, that should be shrunk, in addition to the various tabs, they are way too big. This interface has much more useless, empty space in it than the previous one, on a netbook that means it's impossible to read emails, and even on a large monitor it's annoying. Losing the calendar feed at the bottom of the screen is a big loss too. imo any speed improvements are a wash because of the loss of usable space in the interface.
Hi Christine: Doesn't matter what browser or computer I use, I always get "Yahoo! Mail Beta is coming soon. Yahoo! Mail Beta isn't available for you just yet. We’ll get it to you just as quickly as we can. Return to your original Yahoo! Mail…"
@xlmtc: Yahoo! Mail Beta is not immediately available for Yahoo! Small Business users or users on some older browsers and operating systems. Yahoo! Mail Beta works best with Internet Explorer 8, Firefox 3 and later, Safari 4 and later, and Chrome 5. If you continue to have problems, please use the “Send Feedback” link at the top left of the Beta page. Thanks!
Why is it I can't see the chat box?
The Y! mail Beta is an excellent product, Great Job and thanks … but a couple of addition should be nice:
1- Y! Calender should be integrated into Y! Mail Beta as a tab 2- The color schema should be a changeable option .. i like purple, but my daughter prefers blue
Thanks
Absolutely another vote for calendar integration as soon as possible… I may switch back until calendar is added to the beta.
Also, I think the number indicating how many new emails you have in your inbox / spam / etc. (left side of the page) should be more bold. Sometimes I do not notice I even have new messages because the number is so small and faint.
The dark purple color scheme is a bit much… maybe let people change skins like they do in Gmail and Windows Live? Otherwise, everything looks good!
Still it says "Yahoo! Mail Beta isn't available for you just yet. We’ll get it to you just as quickly as we can", what is that suppose to mean?
I need to get Beta too.
@Sa3eed: Please post your comments to the Yahoo! Mail Suggestions board (http://suggestions.yahoo.com/?prop=mailbeta&viewmode=rating) so it will get looked at by the appropriate folks. If you need support, please check the Yahoo! Mail Help site (http://help.yahoo.com/l/us/yahoo/mail/ymail/). Thanks.
Is it just me, or did you guys get rid of the Options … I have gone through every link and cannot find a place to change any Mail Settings… Did you guys seriously get rid of the OPTIONS from Mail?….. That would be so sad if you didn't remember to include it…
Also, how do I back out of the beta? I can't locate that link either.
Feedback on the Yahoo! Mail Beta have to be provided through the Beta program links and forum. Thank you.
Looks good just added on my new laptop. Though, I didn't see time day of "Yahoo" my incoming emai. l depend on this information. May comment again later.
Compose mail doesn't work (even hotkey "N"), as well as replying, forwarding mails.
I'm using: Firefox 3.6.13 Win XP
The keyboard focus is not placed correctly. Do this: Enter to open message in a new tab, then you cannot usge PageUp and PageDown key to scroll the message. Must click the message area to refocus the keyboard. The original Yahoo Mail placed the keyboard focus exactly where it should be.
I am using Firefox 3.6.13 on Macintosh.
Keyboard shortcut is flaky: In original Yahoo Mail, you can Enter to open the message in a new tab, then press PageUp and PageDown to scroll the message.
Now, in the beta, after opening the message in a new tab, I must tab the Tab key three times to be able to PageUp and PageDown. The keyboard focus is not placed the right location.
I am using Firefox on Mac and PC, 3.6.13.
My biggest problems are 1) lack of stability — the javascript functionality often times just flakes out and doesn't work… page looks like it's loaded, but none of the buttons work (in Safari), and 2) the visual styling between message tabs, inbox, contacts, etc. is too uniform… it's hard to pick out the inbox quickly when you have multiple messages open + the other default tabs. I liked the old message icon in the message tabs and the # of messages in the inbox tab b/c you could quickly find the tab you are looking for… this new format while prettier is a step backward in terms of usability.
Same issues as "rn_9". None of Compose, Reply, Forward. Using Firefox 3.6.14 on Windows XP.
Εξαίρετη δουλειά … ΜΠΡΑΒΟ !!!!!
I don't understand all the raving good comments, unless they all work for yahoo. Some of the simple things were made worse. To mention a couple: if you cut and paste from an Office spreadsheet, and some of your items were bold, they use to paste in very nicely, so it made it easy to send a good looking "list". Now, all that formatting is lost. You use to simply click on "To", or "CC", to drop your email addresses, now you have to click in the field, that pops up a little plus, and then you can click on the plus to drop your addresses. How on earth does anyone think that is more productive?? I programmed all my life, now retired, so I'm more than qualified to comment.
It works properly, big up yahoo.
so nice bravo yahoomail team
I hated the way it is showing the mails. One setting will allow you to view the mail by clicking in the mail list and it will open the mail in a new tab – NOT ALWAYS PREFERABLE. The other setting will allow you to view the mail by clicking on the list, showing the mail beneath the list – but no option to view the mail in full view – WTF!!!
For now I am switching to previous mode :(
The advertisement box blocks part of my messages, and I can not minimize it the way I could on the old version. I will be switching email accounts to gmail if this is not resolved. Hopefully it will be, as I would prefer to stay with Yahoo.
put me back on old yahoo mail New one Us.
why is it that when i upgrade my account to yahoo mail beta it says that "the new Yahoo! Mail isn't available for you just yet".
I am a Yahoo Small Business user and have been using the Yahoo Mail Beta till the version before this one. My interface has suddenly changed to the older vanilla version and I cannot set it back to the previous beta version.
As a business mail user it is extremely inconvenient to use the old version where no tabs are available.
Can I set my Small Business mail to ANY previous beta version? When will the Yahoo Mail Beta be available for Small Business users?
I love it! The only problems I found is that when I want to move an email to another directory from the sent emails, it doens't disappear as it happens when moved from the inbox. Got to close it and open it again to see the changes. Also when forcing the email check-up, the program gets hung. All in all, it's soooo much better than the older version!
The difference in speed is simply unbelievable. The user interface is a pleasure to use, very clean and highly functional. I much prefer yahoo mail's than gmail or other mail providers. Congratulations, the Yahoo staff has now taken its email services to a much higher status. Keep up the good work!