Case Study: Live Search – Moving to and then away from AJAX Eric Schurman Performance Development Lead Live Search Microsoft.

Slides:



Advertisements
Similar presentations
Optimizing Websites with YSlow Tom Lianza Co-Founder Wishlisting.com Tom Lianza Co-Founder Wishlisting.com.
Advertisements

Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft.
High Performance Web Sites Essential Knowledge for Frontend Engineers
CS193H: High Performance Web Sites Lecture 5: Make Fewer HTTP Requests Steve Souders Google
CS193H: High Performance Web Sites Lecture 12: Rule 8 – Make JavaScript and CSS External Steve Souders Google
Performance Related Changes and their User Impact
WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
©2013 AKAMAI | FASTER FORWARD TM It's all about Performance Measured and Perceived Performance on Desktop and Mobile Devices San Mateo Meetup, July 2013.
CHAPTER 15 WEBPAGE OPTIMIZATION. LEARNING OBJECTIVES How to test your web-page performance How browser and server interactions impact performance What.
Extreme User Interfaces for Alfresco Kevin Dorr Sr. Solutions Engineer Americas Channel.
CHAPTER 7 STYLING CONTENT WITH CASCADING STYLE SHEETS.
MIS 425 Lecture 2 – HTML Navigation, Colors, tables and Styles Instructor: Martin Neuhard
A really fairly simple guide to: mobile browser-based application development (part 1) Chris Greenhalgh G54UBI / Chris Greenhalgh
Advanced Web pages and Cascading Style Sheets (CSS)
Microsoft ASP.NET AJAX - AJAX as it has to be Presented by : Rana Vijayasimha Nalla CSCE Grad Student.
An Introduction to Eric Bollens ebollens AT oit.ucla.edu Mobile Web Framework Architect UCLA Office of Information Technology August 4, 2011.
High Performance Websites (Based on Steve Souder’s lecture) By Bhoomi Patel.
Mark Phillip markphillip.com 200s, 304s, Expires Headers, HTTP Compression, And You.
Welcome to Our Website Comments and Suggestions Welcomed! Presented by: Vicky Green.
 jQuery Mobile An Introduction. What is jQuery Mobile  A framework built on top of jQuery, used for creating mobile web applications  Designed to make.
Dobrin / Keller / Weisser : Technical Communication in the Twenty-First Century. © 2008 Pearson Education. Upper Saddle River, NJ, All Rights Reserved.
Client/Server Architectures
Performance, SEO, Accessibility Ivan Zhekov Telerik Corporation
Design Project 3: PattersonPark.com INFM 700, PROJECT # 3 – FALL 2013 (M.RAMAGEM, S.DELUCIA, S.KOLURO) UMD - COLLEGE OF INFORMATION STUDIES.
Apiitfreeware websites is about all free sources such as software, video, wallpaper, games in different categories We use different technologies for.
WHAT IS A WEB APP? Van Kelly Yeshiva University July 6, 2013.
Get more out of 11i with Oracle ADI Richard Byrom Oracle Applications Consultant Appsworld January 2003.
Global NetWatch Copyright © 2003 Global NetWatch, Inc. Factors Affecting Web Performance Getting Maximum Performance Out Of Your Web Server.
Web/App Performance How to keep you out of the News
Building Native Mapping Apps with PhoneGap: Advanced Techniques
Images, Links, and Multimedia. Directories and Pathnames.
The New Elements © Main Menu Structure Media Canvas Form Click on one of the categories below to view information about the new HTML5 elements in.
UNIT 12 SERVER SIDE OF A WEBSITE Cambridge Technicals.
The Web Architecture and ASP.NET. Slide 2 Review of the Web (1) It began with HTTP and HTML, which delivers static Web pages to browsers which would render.
5 Reasons Tables for Layouts are BAD! 1. Complicated & Difficult to maintain 2. Often slow to load 3. Tables can hurt search engine optimization 4. Tables.
Lesson 19: Site Development with FrontPage 2003 – Advanced Features.
Planning your site/organization on the Web Please use speaker notes for additional information!
Using MIT Scratch for Programming and Control Extension work – clock project Year 9 ICT Autumn Term 2007.
audio video object Options: controls autoplay Need to define height and width Options: controls autoplay.
PERFORMANCE ENHANCEMENT IN ASP.NET By Hassan Tariq Session #1.
Putting Performance Best Practices Together to Create the Perfect SPA Chris Love2Dev.com.
An Industry Case Study SES – Chicago: 2006 Web 2.0.
Server Browser Network Complex pages Too many web parts Large payload Too many files Large distance to server Complex pages Busy computer.
LESSON 15 – UNIT 0 ADAPTING YOUR WEB SITE FOR MOBILE DEVICES.
Event Handling & AJAX IT210 Web Systems. Question How do we enable users to dynamically interact with a website? Answer: Use mouse and keyboard to trigger.
JQuery Mobile User Interface Design Chapter 1 1. Architecture 2  Hybrid Apps leverage open web standards  Can Test/debug user interface using desktop.
IE Developer Tools Jonathan Seitel Program Manager.
SHAREPOINT & JQUERY. Hi, my name and I am a product manager at lightning tools. I have been working with SharePoint for 5 years.
Web Cache. What is Cache? Cache is the storing of data temporarily to improve performance. Cache exist in a variety of areas such as your CPU, Hard Disk.
Site Speed: The Ultimate UX Feature… for SEO. A case study on how to increase search engine crawling and online conversion Jonathon Colman In-House SEO.
MICROSOFT AJAX CDN (CONTENT DELIVERY NETWORK) Make Your ASP.NET site faster to retrieve.
Extreme User Interfaces for Alfresco Kevin Dorr Sr. Solutions Engineer Americas Channel.
IF STARBUCKS USED INSTART LOGIC, THEY WOULD HAVE A FASTER RESPONSIVE WEBSITE BY PETER BLUM.
Technology for Mobile Network Operators Business Case: Improve Overall Service Quality and Customer Experience While Dramatically Lowering Carrier Costs.
Setting Up the Enterprise Catalog
Business Case: Improve Overall Service Quality and Customer Experience
The Share Widget Library
Advanced Web pages and Cascading Style Sheets (CSS)
Tutorial 6 Topic: jQuery and jQuery Mobile Li Xu
Haritha Dasari Josue Balandrano Coronel -
The Difference Between STATIC & DYNAMIC Websites
Tips for Website Speed Optimization
Database Driven Websites
Hints and tips for faster web apps
Action Request System Example Education Console
AJAX Impact on Telecom It’s not just for web sites anymore.
SEEM4570 Tutorial 5: jQuery + jQuery Mobile
jQuery Widgets: Tabs Requires core jQuery library + jQuery UI
High Performance Mobile
Yale Digital Conference 2019
Presentation transcript:

Case Study: Live Search – Moving to and then away from AJAX Eric Schurman Performance Development Lead Live Search Microsoft

Rebranding from MSN to Live From simple standalone search results page To part of new Live.com network-would offer: Shared Components Script libraries CSS Graphics UI widgets AJAXy header and footer New look and feel New features

Pre-release Tests Performance Release Criteria Changed to account for new architecture and caching assumptions Most tests looked fine Flighting Initial flights looked OK

Live Search Releases All live site monitoring systems reflect problems Real end user page load times increased by 2 to 5 times Page load failures increased User complaints

Contribution to Page Load Time by Region ~5-10% ~30% ~35% More page below

X-axis is time Row is a connection Squares are requests Area corresponds to size Color coding is file type Green bar is page load Network View header HTML JS CSS JPG/GIF PNG

Too many small GETs Too much data Libraries very large Not expected cache rates Serialized actions Problems header HTML JS CSS JPG/GIF PNG

Stage 1 Use fewer GETs Use fewer bytes Fewer serialized actions Page loads in less than half the time Saw significant improvements in user engagement

Stage 2 Fewer GETs Fewer bytes Eliminated DNS lookup/TCP connect Redesign features Slower but richer than MSN Search

Today Much faster 2 GETs, in parallel HTML, inlined CSS and JS Single image (sprite) After page load, download external CSS and JS for upcoming page views Now faster than old MSN site, with more features

Key Takeaways 1.Fewer GETs! Fewer Bytes! 2.Fewer Serial Actions! 3.Measure the right things! Tests should reflect diversity of users No cache scenario is really important Use network emulators pre-release 4.Focus on what’s most important to the user!