Windows Live Hotmail |
Hotmailユーザであれば、この1、2週間でHotmailの操作がとても「快適」になったことに気がついたはずだ。実はこの数週間、高速化のための技術がHotmailに逐次導入され、現在では世界中のユーザが新しいHotmailを使っている。Microsoftの報告によれば10倍を超える高速化が実現されており、その変化は十分に体感できるレベルだ。
どのような高速化の取り組みが実施されたのかが「Instant email: how we made Hotmail 10x faster」において紹介されている。不要なコンテンツの削除や、ログイン時におけるネットワークラウンドトリップの廃止などに加え、「キャッシュ」「先行ローディング」「非同期オペレーション」が効果的な方法として説明されている。
Hotmailはこれまですべての操作で逐次サーバへリクエストを飛ばしていた。一度開いたメッセージも再度開けば再度サーバにアクセスしていた。もっさり感の原因の一つだ。新しいHotmailではダウンロードしたデータが「キャッシュ」される。再び開けば即座に表示される。更新に関してはサーバからブラウザへ通知が飛ぶ仕組みになっており、常に最新の状態が表示されるようになっている。もちろんセキュリティにも配慮しており、ブラウザを終了するかHotmailからサインアウトするとキャッシュがクリアされるという。
しかしキャッシュだけでは最初の一回はローディングに時間がかかることになるが、この点に関しては「先行ローディング」でカバーしている。Hotmailの操作を分析すると、多くのユーザがHotmailにサインインするとまず新着メールのサブジェクト一覧を表示させ、最初の方から読むのだという。さらに一旦メールを読み出すと、次のメールも読んでいく傾向が強いという。この特性を活かし、最初にいくつかのメールを先行ダウンロードしてキャッシュしておく。メールを読みだしたらさらに次のメールを先行ダウンロードしておくのだという。こうすることで、ユーザはあたかも瞬時にメールが開かれるような感じを受ける。この機能はデフォルトでは有効になっていないため、設定ページで有効にすれば活用できる。
2010年12月Hotmail | 2011年6月Hotmail | |
---|---|---|
メッセージ閲覧 | 3.3秒 | 0.18秒 |
メッセージ削除 | 3.1秒 | 0.14秒 |
メッセージ新規作成 | 4.3秒 | 0.20秒 |
先行ローディングはメールの新規作成にも適用されているという。メールを読んだユーザは次にメールの返信や新規メールの作成を実施する傾向があるため、メール閲覧中にメールの新規作成に必要になるJavaScript、HTML、アドレス帳のデータなどをダウンロードしてキャッシュしておく。こうすることでメールの新規作成画面が一瞬で表示されるようにしている。
「非同期オペレーション」は削除などの操作を非同期に実施するというもの。従来のHotmailでは削除操作が実施されると、実際にサーバにアクセスして削除が実施されるまで処理を待っていた。これがもっさり感を生んでいたわけだが、新しいHotmailではこうした操作は非同期に実施される。ユーザは削除ボタンを押すとすぐに処理が実施されたように見え、サクサクとした操作感を得ることができる。Microsoftは今後もHotmailの高速化に取り組むと説明している。