CINXE.COM
Official Google Blog: faster web
<!DOCTYPE html> <html class='v2 list-page' dir='ltr' itemscope='' itemtype='http://schema.org/Blog' lang='en' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'> <head> <link href='https://www.blogger.com/static/v1/widgets/3566091532-css_bundle_v2.css' rel='stylesheet' type='text/css'/> <!-- Google tag (gtag.js) --> <script async='async' src='https://www.googletagmanager.com/gtag/js?id=G-2PXZD4EB4F'></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-2PXZD4EB4F'); </script> <title> Official Google Blog: faster web </title> <meta content='width=device-width, height=device-height, minimum-scale=1.0, initial-scale=1.0, user-scalable=0' name='viewport'/> <meta content='IE=Edge' http-equiv='X-UA-Compatible'/> <meta content='Official Google Blog' property='og:title'/> <meta content='https://2.bp.blogspot.com/-kptChpiuaf0/VeSjz-zMUzI/AAAAAAAAAxE/REIiZ4qVI2s/s1600/150824_GoogleBlog_Share.png' property='og:image'/> <meta content='Insights from Googlers into our products, technology, and the Google culture' property='og:description'/> <meta content='en_US' property='og:locale'/> <meta content='https://googleblog.blogspot.com/search/label/faster%20web' property='og:url'/> <meta content='Official Google Blog' property='og:site_name'/> <!-- Twitter Card properties --> <meta content='Official Google Blog' property='og:title'/> <meta content='Insights from Googlers into our products, technology, and the Google culture' property='twitter:description'/> <meta content='summary' name='twitter:card'/> <meta content='@google' name='twitter:creator'/> <link href='https://fonts.googleapis.com/css?family=Roboto:400italic,400,500,500italic,700,700italic' rel='stylesheet' type='text/css'/> <link href='https://fonts.googleapis.com/icon?family=Material+Icons' rel='stylesheet'/> <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js' type='text/javascript'></script> <!-- End --> <style id='page-skin-1' type='text/css'><!-- /* <Group description="Header Color" selector="header"> <Variable name="header.background.color" description="Header Background" type="color" default="#ffffff"/> </Group> */ .header-outer { border-bottom: 1px solid #e0e0e0; background: #ffffff; } html, .Label h2, #sidebar .rss a, .BlogArchive h2, .FollowByEmail h2.title, .widget .post h2 { font-family: Roboto, sans-serif; } .plusfollowers h2.title, .post h2.title, .widget h2.title { font-family: Roboto, sans-serif; } .widget-item-control { height: 100%; } .widget.Header, #header { position: relative; height: 100%; width: 100%; } } .widget.Header .header-logo1 { float: left; margin-right: 15px; padding-right: 15px; border-right: 1px solid #ddd; } .widget.Header .header-title h2 { font-size: 24px; font-family: Roboto, sans-serif; font-weight: normal; line-height: 32px; margin-bottom: 7px; } .header-inner { background-repeat: no-repeat; background-position: right 0px; } .post-author, .byline-author { font-size: 14px; font-weight: normal; color: #757575; color: rgba(0,0,0,.54); } .post-content .img-border { border: 1px solid rgb(235, 235, 235); padding: 4px; } .header-title a { text-decoration: none !important; } pre { border: 1px solid #bbbbbb; margin-top: 1em 0 0 0; padding: 0.99em; overflow-x: auto; overflow-y: auto; } pre, code { font-size: 9pt; background-color: #fafafa; line-height: 125%; font-family: monospace; } pre, code { color: #060; font: 13px/1.54 "courier new",courier,monospace; } .header-left .header-logo1 { width: 128px !important; } .header-desc { line-height: 20px; margin-bottom: 4px; max-width: 260px; } .fb-custom img, .twitter-custom img, .gplus-share img { cursor: pointer; opacity: 0.54; } .fb-custom img:hover, .twitter-custom img:hover, .gplus-share img:hover { opacity: 0.87; } .fb-like { width: 80px; } .post .share { float: right; } #twitter-share{ border: #CCC solid 1px; border-radius: 3px; background-image: -webkit-linear-gradient(top,#ffffff,#dedede); } .twitter-follow { background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVow5xT-XpfkrhZ9UiGEhjZwj6dJBx5VcUQgpVb0AbTGo4PU2N6E24naS7FE6ihn-p5-2H90fVeYJ_qZDiOw_bs9u_tT_x-_PUo5secViHpshyphenhyphenvg1opdRwIuTPM_hfsOTCunnAuQ/s1600/twitter-bird.png) no-repeat left center; padding-left: 18px; font: normal normal normal 11px/18px 'Helvetica Neue',Arial,sans-serif; font-weight: bold; text-shadow: 0 1px 0 rgba(255,255,255,.5); cursor: pointer; margin-bottom: 10px; } .twitter-fb { padding-top: 2px; } .fb-follow-button { background: -webkit-linear-gradient(#4c69ba, #3b55a0); background: -moz-linear-gradient(#4c69ba, #3b55a0); background: linear-gradient(#4c69ba, #3b55a0); border-radius: 2px; height: 18px; padding: 4px 0 0 3px; width: 57px; border: #4c69ba solid 1px; } .fb-follow-button a { text-decoration: none !important; text-shadow: 0 -1px 0 #354c8c; text-align: center; white-space: nowrap; font-size: 11px; color: white; vertical-align: top; } .fb-follow-button a:visited { color: white; } .fb-follow { padding: 0px 5px 3px 0px; width: 14px; vertical-align: bottom; } .gplus-wrapper { margin-top: 3px; display: inline-block; vertical-align: top; } .twitter-custom, .gplus-share { margin-right: 12px; } .fb-follow-button{ margin: 10px auto; } /** CUSTOM CODE **/ --></style> <style id='template-skin-1' type='text/css'><!-- .header-outer { clear: both; } .header-inner { margin: auto; padding: 0px; } .footer-outer { background: #f5f5f5; clear: both; margin: 0; } .footer-inner { margin: auto; padding: 0px; } .footer-inner-2 { /* Account for right hand column elasticity. */ max-width: calc(100% - 248px); } .google-footer-outer { clear: both; } .cols-wrapper, .google-footer-outer, .footer-inner, .header-inner { max-width: 978px; margin-left: auto; margin-right: auto; } .cols-wrapper { margin: auto; clear: both; margin-top: 60px; margin-bottom: 60px; overflow: hidden; } .col-main-wrapper { float: left; width: 100%; } .col-main { margin-right: 278px; max-width: 660px; } .col-right { float: right; width: 248px; margin-left: -278px; } /* Tweaks for layout mode. */ body#layout .google-footer-outer { display: none; } body#layout .header-outer, body#layout .footer-outer { background: none; } body#layout .header-inner { height: initial; } body#layout .cols-wrapper { margin-top: initial; margin-bottom: initial; } --></style> <!-- start all head --> <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/> <meta content='blogger' name='generator'/> <link href='https://googleblog.blogspot.com/favicon.ico' rel='icon' type='image/x-icon'/> <link href='https://googleblog.blogspot.com/search/label/faster%20web' rel='canonical'/> <link rel="alternate" type="application/atom+xml" title="Official Google Blog - Atom" href="https://googleblog.blogspot.com/feeds/posts/default" /> <link rel="alternate" type="application/rss+xml" title="Official Google Blog - RSS" href="https://googleblog.blogspot.com/feeds/posts/default?alt=rss" /> <link rel="service.post" type="application/atom+xml" title="Official Google Blog - Atom" href="https://www.blogger.com/feeds/10861780/posts/default" /> <!--Can't find substitution for tag [blog.ieCssRetrofitLinks]--> <meta content='Insights from Googlers into our products, technology, and the Google culture' name='description'/> <meta content='https://googleblog.blogspot.com/search/label/faster%20web' property='og:url'/> <meta content='Official Google Blog' property='og:title'/> <meta content='Insights from Googlers into our products, technology, and the Google culture' property='og:description'/> <!-- end all head --> <base target='_self'/> <style> html { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; } body { padding: 0; /* This ensures that the scroll bar is always present, which is needed */ /* because content render happens after page load; otherwise the header */ /* would "bounce" in-between states. */ min-height: 150%; } .butter-bar { background-color: #fce8b2; font-size: 16px; margin-bottom: 0; padding: 15px !important; text-align: center; } h2 { font-size: 16px; } h1, h2, h3, h4, h5 { line-height: 2em; } html, h4, h5, h6 { font-size: 14px; } a, a:visited { color: #4184F3; text-decoration: none; } a:focus, a:hover, a:active { text-decoration: none; } .Header { margin-top: 15px; } .Header h1 { font-size: 32px; font-weight: 300; line-height: 32px; height: 42px; } .header-inner .Header .titlewrapper { padding: 0; margin-top: 30px; } .header-inner .Header .descriptionwrapper { padding: 0; margin: 0; } .cols-wrapper { margin-top: 56px; } .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 60px; } .header-inner { height: 256px; position: relative; } html, .header-inner a { color: #212121; color: rgba(0,0,0,.87); } .header-inner .google-logo { position: absolute; background-size: contain; z-index: 1; } .header-left { position: absolute; left: 330px; top: 92px; } .google-logo { top: 94px; } #google-footer { position: relative; font-size: 13px; list-style: none; text-align: right; } #google-footer a { color: #444; } #google-footer ul { margin: 0; padding: 0; height: 144px; line-height: 144px; } #google-footer ul li { display: inline; } #google-footer ul li:before { color: #999; content: "\00b7"; font-weight: bold; margin: 5px; } #google-footer ul li:first-child:before { content: ''; } #google-footer .google-logo-dark { left: 0; margin-top: -16px; position: absolute; top: 50%; } /** Sitemap links. **/ .footer-inner-2 { font-size: 14px; padding-top: 42px; padding-bottom: 74px; } .footer-inner-2 .HTML h2 { color: #212121; color: rgba(0,0,0,.87); font-size: 14px; font-weight: 500; padding-left: 0; margin: 10px 0; } .footer-inner-2 .HTML ul { font-weight: normal; list-style: none; padding-left: 0; } .footer-inner-2 .HTML li { line-height: 24px; padding: 0; } .footer-inner-2 li a { color: rgba(65,132,243,.87); } /** Archive widget. **/ .BlogArchive { font-size: 13px; font-weight: normal; } .BlogArchive .widget-content { display: none; } .BlogArchive h2, .Label h2 { color: #4184F3; text-decoration: none; } .BlogArchive .hierarchy li { display: inline-block; } /* Specificity needed here to override widget CSS defaults. */ .BlogArchive #ArchiveList ul li, .BlogArchive #ArchiveList ul ul li { margin: 0; padding-left: 0; text-indent: 0; } .BlogArchive .intervalToggle { cursor: pointer; } .BlogArchive .expanded .intervalToggle .new-toggle { -ms-transform: rotate(180deg); transform: rotate(180deg); } .BlogArchive .new-toggle { float: right; padding-top: 3px; opacity: 0.87; } #ArchiveList { text-transform: uppercase; } #ArchiveList .expanded > ul:last-child { margin-bottom: 16px; } #ArchiveList .archivedate { width: 100%; } /* Months */ .BlogArchive .items { max-width: 150px; margin-left: -4px; } .BlogArchive .expanded .items { margin-bottom: 10px; overflow: hidden; } .BlogArchive .items > ul { float: left; height: 32px; } .BlogArchive .items a { padding: 0 4px; } .Label { font-size: 13px; font-weight: normal; } .sidebar-icon { display: inline-block; width: 24px; height: 24px; vertical-align: middle; margin-right: 12px; margin-top: -1px } .Label a { margin-right: 4px; } .Label .widget-content { display: none; } .FollowByEmail { font-size: 13px; font-weight: normal; } .FollowByEmail h2 { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUBJREFUeNrMkSGLAlEUhb+ZB4JFi8mx2cz+ApvhRUGTcUCrNqNJDYIi+DO0GUwmQXDK2DSIoGgZcSaIjDrzwrK4ssvChj1w0733O+fdp+m6PozH4yQSCfb7Pa7r8pOi0SjJZBLP8zgej4gAIMvlMuPxmADIYrHger1+C6lUKmo+NJ/NZojb7SZDWiwWo1qtks1msW2bw+HwZdkwDHq9HvV6nel0SqvVYrvdIh6Ph3Qch+VyqRYLhQJSSjRNw7IsfN9XgGKxSLfbJZfL0e/3aTabrFYr7vc7IujLcOh8PqunrNdr0uk0pVKJVCpFJBJRgEajweVyod1uMxgM2O12BAGUgRbU8DV2JpOhVquRz+cRQii3+XxOp9NRN3jVR5LPOp1OjEYjlSL8hclkgmmabDabt4d+m+S30vkD/R/IU4ABAPTZgnZdmG/PAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-position: 0 50%; text-indent: 30px; } .FollowByEmail .widget-content { display: none; } .searchBox input { border: 1px solid #eee; color: #212121; color: rgba(0,0,0,.87); font-size: 14px; padding: 8px 8px 8px 40px; width: 164px; font-family: Roboto, sans-serif; background: url("https://www.gstatic.com/images/icons/material/system/1x/search_grey600_24dp.png") 8px center no-repeat; } .searchBox ::-webkit-input-placeholder { /* WebKit, Blink, Edge */ color: rgba(0,0,0,.54); } .searchBox :-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #000; opacity: 0.54; } .searchBox ::-moz-placeholder { /* Mozilla Firefox 19+ */ color: #000; opacity: 0.54; } .searchBox :-ms-input-placeholder { /* Internet Explorer 10-11 */ color: #757575; } .widget-item-control { margin-top: 0px; } .section { margin: 0; padding: 0; } #sidebar-top { border: 1px solid #eee; } #sidebar-top > div { margin: 16px 0; } .widget ul { line-height: 1.6; } /*main post*/ .post { margin-bottom:30px; } #main .post .title { margin: 0; } #main .post .title a { color: #212121; color: rgba(0,0,0,.87); font-weight: normal; font-size: 24px; } #main .post .title a:hover { text-decoration:none; color:#4184F3; } .message, #main .post .post-header { margin: 0; padding: 0; } #main .post .post-header .caption, #main .post .post-header .labels-caption, #main .post .post-footer .caption, #main .post .post-footer .labels-caption { color: #444; font-weight: 500; } #main .tr-caption-container td { text-align: left; } #main .post .tr-caption { color: #757575; color: rgba(0,0,0,.54); display: block; max-width: 560px; padding-bottom: 20px; } #main .post .tr-caption-container { line-height: 24px; margin: -1px 0 0 0 !important; padding: 4px 0; text-align: left; } #main .post .post-header .published{ font-size:11px; font-weight:bold; } .post-header .publishdate { font-size: 17px; font-weight:normal; color: #757575; color: rgba(0,0,0,.54); } #main .post .post-footer{ font-size:12px; padding-bottom: 21px; } .label-footer { margin-bottom: 12px; margin-top: 12px; } .comment-img { margin-right: 16px; opacity: 0.54; vertical-align: middle; } #main .post .post-header .published { margin-bottom: 40px; margin-top: -2px; } .post .post-content { color: #212121; color: rgba(0,0,0,.87); font-size: 17px; margin: 25px 0 36px 0; line-height: 32px; word-wrap: break-word; } .post-body .post-content ul, .post-body .post-content ol { margin: 16px 0; padding: 0 48px; } .post-summary { display: none; } /* Another old-style caption. */ .post-content div i, .post-content div + i { font-size: 14px; font-style: normal; color: #757575; color: rgba(0,0,0,.54); display: block; line-height: 24px; margin-bottom: 16px; text-align: left; } /* Another old-style caption (with link) */ .post-content a > i { color: #4184F3 !important; } /* Old-style captions for images. */ .post-content .separator + div:not(.separator) { margin-top: -16px; } /* Capture section headers. */ .post-content br + br + b, .post-content .space + .space + b, .post-content .separator + b { display: inline-block; margin-bottom: 8px; margin-top: 24px; } .post-content li { line-height: 32px; } /* Override all post images/videos to left align. */ .post-content .separator, .post-content > div { text-align: left; } .post-content .separator > a, .post-content .separator > span { margin-left: 0 !important; } .post-content img { max-width: 100%; height: auto; width: auto; } .post-content .tr-caption-container img { margin-bottom: 12px; } .post-content iframe, .post-content embed { max-width: 100%; } .post-content .carousel-container { margin-bottom: 48px; } #main .post-content b { font-weight: 500; } /* These are the main paragraph spacing tweaks. */ #main .post-content br { content: ' '; display: block; padding: 4px; } .post-content .space { display: block; height: 8px; } .post-content iframe + .space, .post-content iframe + br { padding: 0 !important; } #main .post .jump-link { margin-bottom:10px; } .post-content img, .post-content iframe { margin: 30px 0 20px 0; } .post-content > img:first-child, .post-content > iframe:first-child { margin-top: 0; } .col-right .section { padding: 0 16px; } #aside { background:#fff; border:1px solid #eee; border-top: 0; } #aside .widget { margin:0; } #aside .widget h2, #ArchiveList .toggle + a.post-count-link { color: #212121; color: rgba(0,0,0,.87); font-weight: 400 !important; margin: 0; } #ArchiveList .toggle { float: right; } #ArchiveList .toggle .material-icons { padding-top: 4px; } #sidebar .tab { cursor: pointer; } #sidebar .tab .arrow { display: inline-block; float: right; } #sidebar .tab .icon { display: inline-block; vertical-align: top; height: 24px; width: 24px; margin-right: 13px; margin-left: -1px; margin-top: 1px; color: #757575; color: rgba(0,0,0,.54); } #sidebar .widget-content > :first-child { padding-top: 8px; } #sidebar .active .tab .arrow { -ms-transform: rotate(180deg); transform: rotate(180deg); } #sidebar .arrow { color: #757575; color: rgba(0,0,0,.54); } #sidebar .widget h2 { font-size: 14px; line-height: 24px; display: inline-block; } #sidebar .widget .BlogArchive { padding-bottom: 8px; } #sidebar .widget { border-bottom: 1px solid #eee; box-shadow: 0px 1px 0 white; margin-bottom: 0; padding: 14px 0; min-height: 20px; } #sidebar .widget:last-child { border-bottom: none; box-shadow: none; margin-bottom: 0; } #sidebar ul { margin: 0; padding: 0; } #sidebar ul li { list-style:none; padding:0; } #sidebar ul li a { line-height: 32px; } #sidebar .archive { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAYCAYAAADzoH0MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAE1JREFUeNpiNDY23s9AAWBioBCwYBM8c+YMVsUmJibEGYBNMS5DaeMFfDYSZQA2v9I3FrB5AZeriI4FmnrBccCT8mhmGs1MwyAzAQQYAKEWG9zm9QFEAAAAAElFTkSuQmCC"); height: 24px; line-height: 24px; padding-left: 30px; } #sidebar .labels { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUxJREFUeNpiNDY23s9AAMycOfM7UF05kHkZmzwTMkdSUhKrIcXFxZy3bt3qBjIN8RrS09PDsHnzZjCNDr58+cKQlpbGDjSoHcg1w2oIyAUODg5gARCNzUVIBrUCuVYYhjx//pzhwIEDYAEQDeJjA1CDWIAGNQK59jBxRuSABbkAlwHIgIeHh2HWrFn/1NTU2oDcvSgBS4wBSC5iArqoCsj1YGIgEyAZVMoEchqlBjEB/cZAiUHg2AEGznpKDAImxOeM////B4VLKtBvEUCngZ1ILKivr3/u6+ubBzJAGZQ9gC5aQoqLgAY8BhkAZL4BuQQkxgXE34A4BuiiZEIuAhrwEGhAEZD5DpzYoIaA2UAM4kQADUrHZRDUgAIg8wO2XAwzbQXQa5OweQ1owB10AyA6gS7BgX1u3ry5397eHow3bdo0EyjGi00tQIABANPgyAH1q1eaAAAAAElFTkSuQmCC"); height: 20px; line-height: 20px; padding-left: 30px; } #sidebar .rss a { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAX5JREFUeNqsVDGSgkAQHL2rIiIikohIc/EBRkbwAIwuwgfwAXiAD9AHSI7kEkECRCb6AIyINDLx7K0aa6kT7uq0q7YYtnZ7umdnt7darXbr9Zpegeu61DNNc0dvwCcH4/GYJpMJnc9nOhwOVJbl/4hAAokMECZJQtvt9k+kH7qufyEYDAakqqqYxFdRFBqNRmTbNg2HQ0rTlK7XayvR0xqBdDqdkuM4dE/0ULhYLOh4PHYrknG5XGi/31MYhuL/nkwonM1mlGUZ1XXdrsiyLGEDhY7juJEZ1u5tIixDGdYhmYw+B7CAzPP5nDabjdgIAgCksMX1832/3drtdqPT6SQWapomiGEFNkDEdpDMMAzK81ys/7XYy+XyoQgq2WoURSIJ2iIIgp/WZCCTvFm2wgeAU31aI3Q2GhIDMeB53qPYPIcm5VrxXIOIOxsDMStjVawAc1VViRgN22lNBiuQN3GR+SY07hpOoStmFQAKXRRFY93bnpG+fONfedi+BRgAbkS8Fxp7QQIAAAAASUVORK5CYII="); } #sidebar .subscription a { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUBJREFUeNrMkSGLAlEUhb+ZB4JFi8mx2cz+ApvhRUGTcUCrNqNJDYIi+DO0GUwmQXDK2DSIoGgZcSaIjDrzwrK4ssvChj1w0733O+fdp+m6PozH4yQSCfb7Pa7r8pOi0SjJZBLP8zgej4gAIMvlMuPxmADIYrHger1+C6lUKmo+NJ/NZojb7SZDWiwWo1qtks1msW2bw+HwZdkwDHq9HvV6nel0SqvVYrvdIh6Ph3Qch+VyqRYLhQJSSjRNw7IsfN9XgGKxSLfbJZfL0e/3aTabrFYr7vc7IujLcOh8PqunrNdr0uk0pVKJVCpFJBJRgEajweVyod1uMxgM2O12BAGUgRbU8DV2JpOhVquRz+cRQii3+XxOp9NRN3jVR5LPOp1OjEYjlSL8hclkgmmabDabt4d+m+S30vkD/R/IU4ABAPTZgnZdmG/PAAAAAElFTkSuQmCC"); } #sidebar-bottom { background: #f5f5f5; border-top:1px solid #eee; } #sidebar-bottom .widget { border-bottom: 1px solid #e0e0e0; padding: 15px 0; text-align: center; } #sidebar-bottom > div:last-child { border-bottom: 0; } #sidebar-bottom .text { line-height: 20px; } /* Home, forward, and backward pagination. */ .blog-pager { border-top : 1px #e0e0e0 solid; padding-top: 10px; margin-top: 15px; text-align: right !important; } #blog-pager { margin-botom: 0; margin-top: -14px; padding: 16px 0 0 0; } #blog-pager a { display: inline-block; } .blog-pager i.disabled { opacity: 0.2 !important; } .blog-pager i { color: black; margin-left: 16px; opacity: 0.54; } .blog-pager i:hover, .blog-pager i:active { opacity: 0.87; } #blog-pager-older-link, #blog-pager-newer-link { float: none; } .gplus-profile { background-color: #fafafa; border: 1px solid #eee; overflow: hidden; width: 212px; } .gplus-profile-inner { margin-left: -1px; margin-top: -1px; } /* Sidebar follow buttons. */ .followgooglewrapper { padding: 12px 0 0 0; } .loading { visibility: hidden; } .detail-page .post-footer .cmt_iframe_holder { padding-top: 40px !important; } /** Desktop **/ @media (max-width: 900px) { .col-right { display: none; } .col-main { margin-right: 0; min-width: initial; } .footer-outer { display: none; } .cols-wrapper { min-width: initial; } .google-footer-outer { background-color: #f5f5f5; } } /** Tablet **/ @media (max-width: 712px) { .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 40px; } } /* An extra breakpoint to scale down the logo. */ @media (max-width: 600px) { .header-inner .google-logo { top: 32px; margin-top: 0; } .header-inner .google-logo img { height: 56px; width: auto; /* height: auto; width: 188px; */ /* Override any optical adjustments at desktop size. */ top: 0 !important; } .header-left { left: 0; top: inherit; bottom: 24px; } } /** Mobile/small desktop window; also landscape. **/ @media (max-width: 480px), (max-height: 480px) { .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 16px; } .cols-wrapper { margin-top: 0; } .post-header .publishdate, .post .post-content { font-size: 16px; } .post .post-content { line-height: 28px; margin-bottom: 30px; } .post { margin-top: 30px; } .byline-author { display: block; font-size: 12px; line-height: 24px; margin-top: 6px; } #main .post .title a { font-weight: 500; color: #4c4c4c; color: rgba(0,0,0,.70); } #main .post .post-header { padding-bottom: 12px; } #main .post .post-header .published { margin-bottom: -8px; margin-top: 3px; } .post .read-more { display: block; margin-top: 14px; } .post .tr-caption { font-size: 12px; } #main .post .title a { font-size: 20px; line-height: 30px; } .post-content iframe { /* iframe won't keep aspect ratio when scaled down. */ max-height: 240px; } .post-content .separator img, .post-content .tr-caption-container img, .post-content iframe { margin-left: -16px; max-width: inherit; width: calc(100% + 32px); } .post-content table, .post-content td { width: 100%; } #blog-pager { margin: 0; padding: 16px 0; } /** List page tweaks. **/ .list-page .post-original { display: none; } .list-page .post-summary { display: block; } .list-page .comment-container { display: none; } .list-page #blog-pager { padding-top: 0; border: 0; margin-top: -8px; } .list-page .label-footer { display: none; } .list-page #main .post .post-footer { border-bottom: 1px solid #eee; margin: -16px 0 0 0; padding: 0 0 20px 0; } .list-page .post .share { display: none; } /** Detail page tweaks. **/ .detail-page .post-footer .cmt_iframe_holder { padding-top: 32px !important; } .detail-page .label-footer { margin-bottom: 0; } .detail-page #main .post .post-footer { padding-bottom: 0; } .detail-page #comments { display: none; } } [data-about-pullquote], [data-is-preview], [data-about-syndication] { display: none; } </style> <noscript> <style> .loading { visibility: visible }</style> </noscript> <!-- Google tag (gtag.js) --> <script async='true' src='https://www.googletagmanager.com/gtag/js?id=G-2PXZD4EB4F'></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-2PXZD4EB4F'); </script> <link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=10861780&zx=48e51ad2-0651-407a-b13b-e009df814c4a' media='none' onload='if(media!='all')media='all'' rel='stylesheet'/><noscript><link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=10861780&zx=48e51ad2-0651-407a-b13b-e009df814c4a' rel='stylesheet'/></noscript> <meta name='google-adsense-platform-account' content='ca-host-pub-1556223355139109'/> <meta name='google-adsense-platform-domain' content='blogspot.com'/> </head> <body> <script type='text/javascript'> //<![CDATA[ var axel = Math.random() + ""; var a = axel * 10000000000000; document.write('<iframe src="https://2542116.fls.doubleclick.net/activityi;src=2542116;type=gblog;cat=googl0;ord=ord=' + a + '?" width="1" height="1" frameborder="0" style="display:none"></iframe>'); //]]> </script> <noscript> <img alt='' height='1' src='https://ad.doubleclick.net/ddm/activity/src=2542116;type=gblog;cat=googl0;ord=1?' width='1'/> </noscript> <!-- Header --> <div class='butter-bar'> Hey—we've moved. Visit <a href='https://www.blog.google/' target='_blank'>The Keyword</a> for all the latest news and stories from Google </div> <div class='header-outer'> <div class='header-inner'> <a class='google-logo' href='https://googleblog.blogspot.com/'> <img height='96' src='https://www.gstatic.com/images/branding/googlelogo/2x/googlelogo_color_284x96dp.png' width='284'/> </a> <div class='section' id='header'><div class='widget Header' data-version='1' id='Header1'> <div class='header-left'> <div class='header-title'> <a href='/.'> <h2> Official Blog </h2> </a> </div> <div class='header-desc'> Insights from Googlers into our products, technology, and the Google culture </div> </div> </div></div> </div> </div> <!-- all content wrapper start --> <div class='cols-wrapper loading'> <div class='col-main-wrapper'> <div class='col-main'> <div class='section' id='main'><div class='widget Blog' data-version='1' id='Blog1'> <div class='post' data-id='2543019215987893239' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2012/02/google-public-dns-70-billion-requests.html' itemprop='url' title='Google Public DNS: 70 billion requests a day and counting'> Google Public DNS: 70 billion requests a day and counting </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> February 14, 2012 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> We <a href="http://googleblog.blogspot.com/2009/12/introducing-google-public-dns.html">launched</a> <a href="http://code.google.com/speed/public-dns/">Google Public DNS</a> in December 2009 to help make the web faster for everyone. Today, we’re no longer an experimental service. We’re the largest public DNS service in the world, handling an average of more than 70 billion requests<i> a day</i>.<br /> <br /> <a href="http://en.wikipedia.org/wiki/Domain_Name_Service">DNS</a> acts like the phone book of the Internet. If you had to look up hundreds or thousands of phone numbers every day, you’d want a directory that was fast, secure and correct. That’s what Google Public DNS provides for tens of millions of people.<br /> <br /> Google Public DNS has become particularly popular for our users internationally. Today, about 70 percent of its traffic comes from outside the U.S. We’ve maintained our strong presence in North America, South America and Europe, and beefed up our presence in Asia. We've also added entirely new access points to parts of the world where we previously didn't have Google Public DNS servers, including Australia, India, Japan and Nigeria.<br /> <br /> Shortly after launch, we made a technical <a href="http://googlecode.blogspot.com/2010/01/proposal-to-extend-dns-protocol.html">proposal</a> for how public DNS services can work better with some kinds of important web hosts (known as content distribution networks, or CDNs) that have servers all of the world. We came up with a way to pass information to CDNs so they can send users to nearby servers. Our proposal, now called “edns-client-subnet,” continues to be discussed by members of the Internet Engineering Task Force. While we work with the IETF, <a href="http://www.afasterinternet.com/participants.htm">other companies</a> have started experimenting with implementing this proposal.<br /> <br /> We’ve also taken steps to help support <a href="http://en.wikipedia.org/wiki/IPv6">IPv6</a>. On World IPv6 Day, we <a href="https://groups.google.com/group/public-dns-announce/msg/938acdc14aeb96d0">announced</a> our IPv6 addresses: 2001:4860:4860::8888 and 2001:4860:4860::8844 to supplement our original addresses, 8.8.8.8 and 8.8.4.4.<br /> <br /> Google Public DNS’s goal is simple: making the web—really, the whole Internet!—faster for our users. If you’d like to try it yourself, please see our page <a href="http://code.google.com/speed/public-dns/docs/using.html">Using Google Public DNS</a>. For more information, please see our <a href="http://code.google.com/speed/public-dns/docs/intro.html">Introduction to Google Public DNS</a> and <a href="http://code.google.com/speed/public-dns/faq.html">Frequently Asked Questions</a>.<br /> <br /> <span class="byline-author">Posted by Jeremy K. Chen, Ph.D, software engineer, Google Public DNS</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> We <a href="http://googleblog.blogspot.com/2009/12/introducing-google-public-dns.html">launched</a> <a href="http://code.google.com/speed/public-dns/">Google Public DNS</a> in December 2009 to help make the web faster for everyone. Today, we’re no longer an experimental service. We’re the largest public DNS service in the world, handling an average of more than 70 billion requests<i> a day</i>.<br /> <br /> <a href="http://en.wikipedia.org/wiki/Domain_Name_Service">DNS</a> acts like the phone book of the Internet. If you had to look up hundreds or thousands of phone numbers every day, you’d want a directory that was fast, secure and correct. That’s what Google Public DNS provides for tens of millions of people.<br /> <br /> Google Public DNS has become particularly popular for our users internationally. Today, about 70 percent of its traffic comes from outside the U.S. We’ve maintained our strong presence in North America, South America and Europe, and beefed up our presence in Asia. We've also added entirely new access points to parts of the world where we previously didn't have Google Public DNS servers, including Australia, India, Japan and Nigeria.<br /> <br /> Shortly after launch, we made a technical <a href="http://googlecode.blogspot.com/2010/01/proposal-to-extend-dns-protocol.html">proposal</a> for how public DNS services can work better with some kinds of important web hosts (known as content distribution networks, or CDNs) that have servers all of the world. We came up with a way to pass information to CDNs so they can send users to nearby servers. Our proposal, now called “edns-client-subnet,” continues to be discussed by members of the Internet Engineering Task Force. While we work with the IETF, <a href="http://www.afasterinternet.com/participants.htm">other companies</a> have started experimenting with implementing this proposal.<br /> <br /> We’ve also taken steps to help support <a href="http://en.wikipedia.org/wiki/IPv6">IPv6</a>. On World IPv6 Day, we <a href="https://groups.google.com/group/public-dns-announce/msg/938acdc14aeb96d0">announced</a> our IPv6 addresses: 2001:4860:4860::8888 and 2001:4860:4860::8844 to supplement our original addresses, 8.8.8.8 and 8.8.4.4.<br /> <br /> Google Public DNS’s goal is simple: making the web—really, the whole Internet!—faster for our users. If you’d like to try it yourself, please see our page <a href="http://code.google.com/speed/public-dns/docs/using.html">Using Google Public DNS</a>. For more information, please see our <a href="http://code.google.com/speed/public-dns/docs/intro.html">Introduction to Google Public DNS</a> and <a href="http://code.google.com/speed/public-dns/faq.html">Frequently Asked Questions</a>.<br /> <br /> <span class="byline-author">Posted by Jeremy K. Chen, Ph.D, software engineer, Google Public DNS</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2012/02/google-public-dns-70-billion-requests.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Google Public DNS: 70 billion requests a day and counting&url=https://googleblog.blogspot.com/2012/02/google-public-dns-70-billion-requests.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2012/02/google-public-dns-70-billion-requests.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2012/02/google-public-dns-70-billion-requests.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/faster%20web' rel='tag'> faster web </a> </span> </div> </div> </div> <div class='post' data-id='200698292335612218' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2011/06/knocking-down-barriers-to-knowledge.html' itemprop='url' title='Knocking down barriers to knowledge'> Knocking down barriers to knowledge </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> June 14, 2011 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> As much as technology has advanced, there are still many barriers between you and the answers you’re looking for—whether you’re juggling a clunky mobile keyboard or waiting for a website to load. Today we held a <a href="//www.google.com/insidesearch">media event</a> in San Francisco where we talked about some of the latest things we’re doing to tackle these barriers on mobile, announced that we’re bringing our speech recognition and computer vision technology to the desktop, and took the next step for Google Instant—Instant Pages.<br /> <div class="separator" style="clear: both; text-align: -webkit-auto;"><br /> </div>The thirst for knowledge doesn’t stop when you step away from your computer, it continues on your mobile device. In the past two years, mobile search traffic has grown five-fold. Mobile search today is growing at a comparable pace to Google in the early years.<br /> <br /> <div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4MZkc43BkYf3rt0zcCkrnLIRXWhWjGjCK_1sla8_SKS6MI9WwunC5J7vZM4AK6omtqzNuGG-QrKw47QR7dU6BCKDZcnsW_kHlR6vysQACAItiW2LNFAgayV_n5VYYpm0EH1oL/s1600/Mobile+Traffic+Growth+Chart.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4MZkc43BkYf3rt0zcCkrnLIRXWhWjGjCK_1sla8_SKS6MI9WwunC5J7vZM4AK6omtqzNuGG-QrKw47QR7dU6BCKDZcnsW_kHlR6vysQACAItiW2LNFAgayV_n5VYYpm0EH1oL/+Traffic+Growth+Chart.png" width="500" /></a></div><div style="text-align: center;"><i>Here you can see that mobile search traffic growth over the past three years (the red line) is comparable to overall Google search traffic growth over the same duration (the blue line) but earlier in our history.</i></div><br /> One of the technologies driving this growth is speech recognition. With Voice Search, you don’t have to type on a tiny touchscreen. You can just speak your query and the answer is on the way. We’ve invested tremendous energy into improving the quality of our recognition technology—for example, today we teach our English Voice Search system using 230 billion words from real queries so that we can accurately recognize the phrases people are likely to say. As the quality has increased, so has usage: in the past year alone, Voice Search traffic has grown six-fold, and every single day people speak more than two years worth of voice to our system.<br /> <br /> We first offered speech recognition on mobile search, but you should have that power no matter where you are. You should never have to stop and ask yourself, “Can I speak for this?”—it should be ubiquitous and intuitive. So we've added <a href="//www.google.com/insidesearch/voicesearch.html">speech recognition into search on desktop</a> for Chrome users. If you’re using Chrome, you’ll start to see a little microphone in every Google search box. Simply click the microphone, and you can speak your search. This can be particularly useful for hard-to-spell searches like [<a href="//www.google.com/webhp?hl=en#hl=en&sugexp=ldymls&xhr=t&q=bolognese+sauce&cp=15&qe=Ym9sb2duZXNlIHNhdWNl&qesig=ppSVG7t2DpWRpIwgr8JkEg&pkc=AFgZ2tlLgR6tUO0LsT5rjW6QztdJZrwMppRB52OX8P7eV00P8ZUKuarLnfFwy_JDBn2qx3AiPxMWprUEh1CffnQC3Q5xmONStA&pf=p&sclient=psy&site=webhp&source=hp&aq=0&aqi=&aql=&oq=bolognese+sauce&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=2e70ba65e59f7e5c&biw=1400&bih=756">bolognese sauce</a>] or complex searches like [<a href="//www.google.com/webhp?hl=en#sclient=psy&hl=en&site=webhp&source=hp&q=translate+to+spanish+where+can+I+buy+a+hamburger&aq=f&aqi=&aql=&oq=&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=2e70ba65e59f7e5c&biw=1400&bih=756">translate to spanish where can I buy a hamburger</a>]. Voice Search on desktop is rolling out now on google.com in English, but in the meantime you can check it out in our video:<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/MQnZe_Iggx0" width="560"></iframe><br /> <br /> Searching with speech recognition started first on mobile, and so did searching with computer vision. <a href="//www.google.com/mobile/goggles/#text">Google Goggles</a> has enabled you to search by snapping a photo on your mobile phone since 2009, and today we’re introducing <a href="//www.google.com/insidesearch/searchbyimage.html">Search by Image</a> on desktop. Next to the microphone on <a href="http://images.google.com/">images.google.com</a>, you’ll also see a little camera for the new Search by Image feature. If you click the camera, you can upload any picture or plug in an image URL from the web and ask Google to figure out what it is. Try it out when digging through old vacation photos and trying to identify landmarks—the search [<a href="//www.google.com/webhp?hl=en#sclient=psy&hl=en&site=webhp&source=hp&q=mountain+path&aq=f&aqi=g5&aql=&oq=&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=2e70ba65e59f7e5c&biw=1400&bih=756">mountain path</a>] probably isn’t going to tell you where you were, but computer vision may just do the trick. Search by Image is rolling out now globally in 40 languages. We’re also releasing <a href="https://chrome.google.com/webstore/detail/dajedkncpodkggklbegccjpmnglmnflm">Chrome</a> and Firefox extensions that enable you to search any image on the web by right-clicking.<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/t99BfDnBZcI" width="560"></iframe><br /> <br /> Whether you type, speak or upload a photo, once you’ve indicated what you’re looking for the next step in your search is to sift through the results and pick one. To make this faster, last year we introduced <a href="http://googleblog.blogspot.com/2010/09/search-now-faster-than-speed-of-type.html">Google Instant</a>, which gives you search results while you type. We estimated Google Instant saves you between two and five seconds on typical searches. But once you’ve picked a result, you click, and then wait again for the page to load—for an average of about five seconds.<br /> <br /> We want to help you save some of that time as well, so today we took the next step for Google Instant: Instant Pages. Instant Pages can get the top search result ready in the background while you’re choosing which link to click, saving you yet another two to five seconds on typical searches. Let’s say you’re searching for information about the Smithsonian Folklife Festival, so you search for [<a href="//www.google.com/#hl=en&sugexp=ldymls&xhr=t&q=dc+folklife+festival&cp=7&qe=ZGMgZm9saw&qesig=DzkLNa2YTBZ6sYW-fjoOMA&pkc=AFgZ2tldxgVG0Fy9eM6tUV9QmOP9xBlW4AiE89LFdtEHY_7FyjfNSibDwNojJpGF2l2Enq2UpQkFGZtbSll6BENjroV2rKOxKg&pf=p&sclient=psy&site=&source=hp&aq=0p&aqi=&aql=&oq=dc+folk&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=188b68d8e2639a01&biw=1400&bih=811">dc folklife festival</a>]. As you scan the results deciding which one to choose, Google is already prerendering the top search result for you. That way when you click, the page loads instantly.<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/_Jn93FDx9oI" width="560"></iframe><br /> <br /> Instant Pages will prerender results when we’re confident you’re going to click them. The good news is that we’ve been working for years to develop our relevance technology, and we can fairly accurately predict when to prerender. To use Instant Pages, you’ll want to get our next beta release of Chrome, which includes prerendering (for the adventurous, you can try Instant Pages today with the <a href="http://www.chromium.org/getting-involved/dev-channel">developer version</a>). It’s one more step towards an even <a href="http://googleblog.blogspot.com/2009/06/lets-make-web-faster.html">faster web</a>.<br /> <br /> To learn more about today’s news, visit our new Inside Search website at <a href="//www.google.com/insidesearch">www.google.com/insidesearch</a>. There you’ll find a recording of the event (when it’s ready), answers to common questions and links to other blog posts about today’s news on the <a href="http://googlemobile.blogspot.com/2011/06/introducing-new-features-to-mobile_14.html">Mobile blog</a> and <a href="http://insidesearch.blogspot.com/2011/06/search-by-text-voice-or-image.html">Inside Search blog</a>. The Inside Search website is our new one-stop shop for Google search tips, games, features and an under-the-hood look at our technology, so there’s plenty for you to explore.<br /> <br /> We’re far from the dream of truly instantaneous access to knowledge, but we’re on our way to help you realize that dream.<br /> <br /> <i><b>Update</b> 4:38p.m.</i>: Watch the video and see a slideshow of today's event below.<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/p8h4bzn8gxU" width="560"></iframe><br /> <br /> <embed flashvars="host=picasaweb.google.com&hl=en_US&feat=flashalbum&RGB=0x000000&feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F102071890892822133288%2Falbumid%2F5617801772384955809%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US" height="267" pluginspage="http://www.macromedia.com/go/getflashplayer" src="https://picasaweb.google.com/s/c/bin/slideshow.swf" type="application/x-shockwave-flash" width="400"></embed><br /> <br /> <br /> <span class="byline-author">Posted by Amit Singhal, Google Fellow</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> As much as technology has advanced, there are still many barriers between you and the answers you’re looking for—whether you’re juggling a clunky mobile keyboard or waiting for a website to load. Today we held a <a href="//www.google.com/insidesearch">media event</a> in San Francisco where we talked about some of the latest things we’re doing to tackle these barriers on mobile, announced that we’re bringing our speech recognition and computer vision technology to the desktop, and took the next step for Google Instant—Instant Pages.<br /> <div class="separator" style="clear: both; text-align: -webkit-auto;"><br /> </div>The thirst for knowledge doesn’t stop when you step away from your computer, it continues on your mobile device. In the past two years, mobile search traffic has grown five-fold. Mobile search today is growing at a comparable pace to Google in the early years.<br /> <br /> <div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4MZkc43BkYf3rt0zcCkrnLIRXWhWjGjCK_1sla8_SKS6MI9WwunC5J7vZM4AK6omtqzNuGG-QrKw47QR7dU6BCKDZcnsW_kHlR6vysQACAItiW2LNFAgayV_n5VYYpm0EH1oL/s1600/Mobile+Traffic+Growth+Chart.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4MZkc43BkYf3rt0zcCkrnLIRXWhWjGjCK_1sla8_SKS6MI9WwunC5J7vZM4AK6omtqzNuGG-QrKw47QR7dU6BCKDZcnsW_kHlR6vysQACAItiW2LNFAgayV_n5VYYpm0EH1oL/+Traffic+Growth+Chart.png" width="500" /></a></div><div style="text-align: center;"><i>Here you can see that mobile search traffic growth over the past three years (the red line) is comparable to overall Google search traffic growth over the same duration (the blue line) but earlier in our history.</i></div><br /> One of the technologies driving this growth is speech recognition. With Voice Search, you don’t have to type on a tiny touchscreen. You can just speak your query and the answer is on the way. We’ve invested tremendous energy into improving the quality of our recognition technology—for example, today we teach our English Voice Search system using 230 billion words from real queries so that we can accurately recognize the phrases people are likely to say. As the quality has increased, so has usage: in the past year alone, Voice Search traffic has grown six-fold, and every single day people speak more than two years worth of voice to our system.<br /> <br /> We first offered speech recognition on mobile search, but you should have that power no matter where you are. You should never have to stop and ask yourself, “Can I speak for this?”—it should be ubiquitous and intuitive. So we've added <a href="//www.google.com/insidesearch/voicesearch.html">speech recognition into search on desktop</a> for Chrome users. If you’re using Chrome, you’ll start to see a little microphone in every Google search box. Simply click the microphone, and you can speak your search. This can be particularly useful for hard-to-spell searches like [<a href="//www.google.com/webhp?hl=en#hl=en&sugexp=ldymls&xhr=t&q=bolognese+sauce&cp=15&qe=Ym9sb2duZXNlIHNhdWNl&qesig=ppSVG7t2DpWRpIwgr8JkEg&pkc=AFgZ2tlLgR6tUO0LsT5rjW6QztdJZrwMppRB52OX8P7eV00P8ZUKuarLnfFwy_JDBn2qx3AiPxMWprUEh1CffnQC3Q5xmONStA&pf=p&sclient=psy&site=webhp&source=hp&aq=0&aqi=&aql=&oq=bolognese+sauce&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=2e70ba65e59f7e5c&biw=1400&bih=756">bolognese sauce</a>] or complex searches like [<a href="//www.google.com/webhp?hl=en#sclient=psy&hl=en&site=webhp&source=hp&q=translate+to+spanish+where+can+I+buy+a+hamburger&aq=f&aqi=&aql=&oq=&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=2e70ba65e59f7e5c&biw=1400&bih=756">translate to spanish where can I buy a hamburger</a>]. Voice Search on desktop is rolling out now on google.com in English, but in the meantime you can check it out in our video:<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/MQnZe_Iggx0" width="560"></iframe><br /> <br /> Searching with speech recognition started first on mobile, and so did searching with computer vision. <a href="//www.google.com/mobile/goggles/#text">Google Goggles</a> has enabled you to search by snapping a photo on your mobile phone since 2009, and today we’re introducing <a href="//www.google.com/insidesearch/searchbyimage.html">Search by Image</a> on desktop. Next to the microphone on <a href="http://images.google.com/">images.google.com</a>, you’ll also see a little camera for the new Search by Image feature. If you click the camera, you can upload any picture or plug in an image URL from the web and ask Google to figure out what it is. Try it out when digging through old vacation photos and trying to identify landmarks—the search [<a href="//www.google.com/webhp?hl=en#sclient=psy&hl=en&site=webhp&source=hp&q=mountain+path&aq=f&aqi=g5&aql=&oq=&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=2e70ba65e59f7e5c&biw=1400&bih=756">mountain path</a>] probably isn’t going to tell you where you were, but computer vision may just do the trick. Search by Image is rolling out now globally in 40 languages. We’re also releasing <a href="https://chrome.google.com/webstore/detail/dajedkncpodkggklbegccjpmnglmnflm">Chrome</a> and Firefox extensions that enable you to search any image on the web by right-clicking.<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/t99BfDnBZcI" width="560"></iframe><br /> <br /> Whether you type, speak or upload a photo, once you’ve indicated what you’re looking for the next step in your search is to sift through the results and pick one. To make this faster, last year we introduced <a href="http://googleblog.blogspot.com/2010/09/search-now-faster-than-speed-of-type.html">Google Instant</a>, which gives you search results while you type. We estimated Google Instant saves you between two and five seconds on typical searches. But once you’ve picked a result, you click, and then wait again for the page to load—for an average of about five seconds.<br /> <br /> We want to help you save some of that time as well, so today we took the next step for Google Instant: Instant Pages. Instant Pages can get the top search result ready in the background while you’re choosing which link to click, saving you yet another two to five seconds on typical searches. Let’s say you’re searching for information about the Smithsonian Folklife Festival, so you search for [<a href="//www.google.com/#hl=en&sugexp=ldymls&xhr=t&q=dc+folklife+festival&cp=7&qe=ZGMgZm9saw&qesig=DzkLNa2YTBZ6sYW-fjoOMA&pkc=AFgZ2tldxgVG0Fy9eM6tUV9QmOP9xBlW4AiE89LFdtEHY_7FyjfNSibDwNojJpGF2l2Enq2UpQkFGZtbSll6BENjroV2rKOxKg&pf=p&sclient=psy&site=&source=hp&aq=0p&aqi=&aql=&oq=dc+folk&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=188b68d8e2639a01&biw=1400&bih=811">dc folklife festival</a>]. As you scan the results deciding which one to choose, Google is already prerendering the top search result for you. That way when you click, the page loads instantly.<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/_Jn93FDx9oI" width="560"></iframe><br /> <br /> Instant Pages will prerender results when we’re confident you’re going to click them. The good news is that we’ve been working for years to develop our relevance technology, and we can fairly accurately predict when to prerender. To use Instant Pages, you’ll want to get our next beta release of Chrome, which includes prerendering (for the adventurous, you can try Instant Pages today with the <a href="http://www.chromium.org/getting-involved/dev-channel">developer version</a>). It’s one more step towards an even <a href="http://googleblog.blogspot.com/2009/06/lets-make-web-faster.html">faster web</a>.<br /> <br /> To learn more about today’s news, visit our new Inside Search website at <a href="//www.google.com/insidesearch">www.google.com/insidesearch</a>. There you’ll find a recording of the event (when it’s ready), answers to common questions and links to other blog posts about today’s news on the <a href="http://googlemobile.blogspot.com/2011/06/introducing-new-features-to-mobile_14.html">Mobile blog</a> and <a href="http://insidesearch.blogspot.com/2011/06/search-by-text-voice-or-image.html">Inside Search blog</a>. The Inside Search website is our new one-stop shop for Google search tips, games, features and an under-the-hood look at our technology, so there’s plenty for you to explore.<br /> <br /> We’re far from the dream of truly instantaneous access to knowledge, but we’re on our way to help you realize that dream.<br /> <br /> <i><b>Update</b> 4:38p.m.</i>: Watch the video and see a slideshow of today's event below.<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/p8h4bzn8gxU" width="560"></iframe><br /> <br /> <embed flashvars="host=picasaweb.google.com&hl=en_US&feat=flashalbum&RGB=0x000000&feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F102071890892822133288%2Falbumid%2F5617801772384955809%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US" height="267" pluginspage="http://www.macromedia.com/go/getflashplayer" src="https://picasaweb.google.com/s/c/bin/slideshow.swf" type="application/x-shockwave-flash" width="400"></embed><br /> <br /> <br /> <span class="byline-author">Posted by Amit Singhal, Google Fellow</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2011/06/knocking-down-barriers-to-knowledge.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Knocking down barriers to knowledge&url=https://googleblog.blogspot.com/2011/06/knocking-down-barriers-to-knowledge.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2011/06/knocking-down-barriers-to-knowledge.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2011/06/knocking-down-barriers-to-knowledge.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/faster%20web' rel='tag'> faster web </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/search' rel='tag'> search </a> </span> </div> </div> </div> <div class='post' data-id='5761602008816510844' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2009/12/introducing-google-public-dns.html' itemprop='url' title='Introducing Google Public DNS'> Introducing Google Public DNS </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> December 3, 2009 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> When you type <a href="http://www.wikipedia.org/">www.wikipedia.org</a> into your browser's address bar, you expect nothing less than to be taken to Wikipedia. Chances are you're not giving much thought to the work being done in the background by the <a href="http://en.wikipedia.org/wiki/Domain_Name_System">Domain Name System</a>, or DNS.<br /><br />Today, as part of our <a href="http://code.google.com/speed/">ongoing effort to make the web faster</a>, we're launching our own public DNS resolver called <a href="http://code.google.com/speed/public-dns">Google Public DNS</a>, and we invite you to try it out.<br /><br />Most of us aren't familiar with DNS because it's often handled automatically by our Internet Service Provider (ISP), but it provides an essential function for the web. You could think of it as the switchboard of the Internet, converting easy-to-remember domain names — e.g., <a href="//www.google.com/">www.google.com</a> — into the unique Internet Protocol (IP) numbers — e.g., 74.125.45.100 — that computers use to communicate with one another.<br /><br />The average Internet user ends up performing hundreds of DNS lookups each day, and some complex pages require multiple DNS lookups before they start loading. This can slow down the browsing experience. Our research has shown that <a href="http://googleresearch.blogspot.com/2009/06/speed-matters.html">speed matters</a> to Internet users, so over the past several months our engineers have been working to make improvements to our public DNS resolver to make users' web-surfing experiences faster, safer and more reliable. You can read about the specific technical improvements we've made in our product documentation and get installation instructions from our <a href="http://code.google.com/speed/public-dns">product website</a>.<br /><br />If you're web-savvy and comfortable with changing your network settings, check out the <a href="http://googlecode.blogspot.com/2009/12/introducing-google-public-dns-new-dns.html">Google Code Blog</a> for detailed instructions and more information on how to set up Google Public DNS on your computer or router. <br /><br />As people begin to use Google Public DNS, we plan to share what we learn with the broader web community and other DNS providers, to improve the browsing experience for Internet users globally. The goal of Google Public DNS is to benefit users worldwide while also helping the tens of thousands of DNS resolvers improve their services, ultimately making the web faster for everyone.<br /><br /><span class="byline-author">Posted by Prem Ramaswami, Product Manager</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> When you type <a href="http://www.wikipedia.org/">www.wikipedia.org</a> into your browser's address bar, you expect nothing less than to be taken to Wikipedia. Chances are you're not giving much thought to the work being done in the background by the <a href="http://en.wikipedia.org/wiki/Domain_Name_System">Domain Name System</a>, or DNS.<br /><br />Today, as part of our <a href="http://code.google.com/speed/">ongoing effort to make the web faster</a>, we're launching our own public DNS resolver called <a href="http://code.google.com/speed/public-dns">Google Public DNS</a>, and we invite you to try it out.<br /><br />Most of us aren't familiar with DNS because it's often handled automatically by our Internet Service Provider (ISP), but it provides an essential function for the web. You could think of it as the switchboard of the Internet, converting easy-to-remember domain names — e.g., <a href="//www.google.com/">www.google.com</a> — into the unique Internet Protocol (IP) numbers — e.g., 74.125.45.100 — that computers use to communicate with one another.<br /><br />The average Internet user ends up performing hundreds of DNS lookups each day, and some complex pages require multiple DNS lookups before they start loading. This can slow down the browsing experience. Our research has shown that <a href="http://googleresearch.blogspot.com/2009/06/speed-matters.html">speed matters</a> to Internet users, so over the past several months our engineers have been working to make improvements to our public DNS resolver to make users' web-surfing experiences faster, safer and more reliable. You can read about the specific technical improvements we've made in our product documentation and get installation instructions from our <a href="http://code.google.com/speed/public-dns">product website</a>.<br /><br />If you're web-savvy and comfortable with changing your network settings, check out the <a href="http://googlecode.blogspot.com/2009/12/introducing-google-public-dns-new-dns.html">Google Code Blog</a> for detailed instructions and more information on how to set up Google Public DNS on your computer or router. <br /><br />As people begin to use Google Public DNS, we plan to share what we learn with the broader web community and other DNS providers, to improve the browsing experience for Internet users globally. The goal of Google Public DNS is to benefit users worldwide while also helping the tens of thousands of DNS resolvers improve their services, ultimately making the web faster for everyone.<br /><br /><span class="byline-author">Posted by Prem Ramaswami, Product Manager</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2009/12/introducing-google-public-dns.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Introducing Google Public DNS&url=https://googleblog.blogspot.com/2009/12/introducing-google-public-dns.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2009/12/introducing-google-public-dns.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2009/12/introducing-google-public-dns.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/faster%20web' rel='tag'> faster web </a> </span> </div> </div> </div> <div class='post' data-id='3066481501367929416' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2009/08/new-tools-for-google-services-for.html' itemprop='url' title='New tools for Google Services for Websites'> New tools for Google Services for Websites </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> August 10, 2009 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <a href="http://googleblog.blogspot.com/2009/03/google-at-your-service.html">Earlier this year</a>, we launched <a href="//www.google.com/webmasters/provider/index.html">Google Services for Websites</a>, a program that helps partners, e.g., web hoster and access providers, offer useful and powerful tools to their customers. By making services, such as Webmaster Tools, Custom Search, Site Search and AdSense, easily accessible via the hoster control panel, hosters can easily enable these services for their webmasters. The tools help website owners understand search performance, improve user retention and monetize their content — in other words, run more effective websites.<br /><br />Since we launched the program, <a href="//www.google.com/webmasters/provider/success.html">several hosting platforms</a> have enhanced their offerings by integrating with the appropriate APIs. Webmasters can configure accounts, submit Sitemaps with Webmaster Tools, create Custom Search Boxes for their sites and monetize their content with AdSense, all with a few clicks at their hoster control panel. More partners are in the process of implementing these enhancements.<br /><br />We've just added new tools to the suite:<br /><ul><li><a href="//www.google.com/webelements/">Web Elements</a> allows your customers to enhance their websites with the ease of cut-and-paste. Webmasters can provide maps, real-time news, calendars, presentations, spreadsheets and YouTube videos on their sites. With the Conversation Element, websites can create more engagement with their communities. The Custom Search Element provides inline search over your own site (or others you specify) without having to write any code and various options to <a href="http://googlecustomsearch.blogspot.com/2009/08/custom-search-with-custom-style-peanut.html">customize further</a>. </li><li><a href="http://code.google.com/speed/page-speed/">Page Speed</a> allows webmasters to measure the performance of their websites. Snappier websites help users find things faster; the recommendations from these latency tools allow hosters and webmasters to optimize website speed. These techniques can help hosters reduce resource use and optimize network bandwidth.</li><li>The <a href="//www.google.com/webmasters/provider/tips.html">Tips for Hosters page</a> offers a set of tips for hosters for creating a richer website hosting platform. Hosters can improve the convenience and accessibility of tools, while at the same time saving platform costs and earning referral fees. Tips include the use of analytics tools such as Google Analytics to help webmasters understand their traffic and linguistic tools such as <a href="http://translate.google.com/translate_tools?hl=en">Google Translate</a> to help websites reach a broader audience.</li></ul>If you're a hoster and would like to participate in the Google Services for Websites program, please <a href="http://services.google.com/feedback/webmaster_provider_signup">apply here</a>. You'll have to integrate with the service APIs before these services can be made available to your customers, so the earlier you start that process, the better.<br /><br />As always, we'd love to get <a href="//www.google.com/support/forum/p/Webmasters?hl=en">feedback</a> on how the program is working for you, and what improvements you'd like to see.<br /><br /><span class="byline-author">Posted by Rajat Mukherjee, Group Product Manager</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <a href="http://googleblog.blogspot.com/2009/03/google-at-your-service.html">Earlier this year</a>, we launched <a href="//www.google.com/webmasters/provider/index.html">Google Services for Websites</a>, a program that helps partners, e.g., web hoster and access providers, offer useful and powerful tools to their customers. By making services, such as Webmaster Tools, Custom Search, Site Search and AdSense, easily accessible via the hoster control panel, hosters can easily enable these services for their webmasters. The tools help website owners understand search performance, improve user retention and monetize their content — in other words, run more effective websites.<br /><br />Since we launched the program, <a href="//www.google.com/webmasters/provider/success.html">several hosting platforms</a> have enhanced their offerings by integrating with the appropriate APIs. Webmasters can configure accounts, submit Sitemaps with Webmaster Tools, create Custom Search Boxes for their sites and monetize their content with AdSense, all with a few clicks at their hoster control panel. More partners are in the process of implementing these enhancements.<br /><br />We've just added new tools to the suite:<br /><ul><li><a href="//www.google.com/webelements/">Web Elements</a> allows your customers to enhance their websites with the ease of cut-and-paste. Webmasters can provide maps, real-time news, calendars, presentations, spreadsheets and YouTube videos on their sites. With the Conversation Element, websites can create more engagement with their communities. The Custom Search Element provides inline search over your own site (or others you specify) without having to write any code and various options to <a href="http://googlecustomsearch.blogspot.com/2009/08/custom-search-with-custom-style-peanut.html">customize further</a>. </li><li><a href="http://code.google.com/speed/page-speed/">Page Speed</a> allows webmasters to measure the performance of their websites. Snappier websites help users find things faster; the recommendations from these latency tools allow hosters and webmasters to optimize website speed. These techniques can help hosters reduce resource use and optimize network bandwidth.</li><li>The <a href="//www.google.com/webmasters/provider/tips.html">Tips for Hosters page</a> offers a set of tips for hosters for creating a richer website hosting platform. Hosters can improve the convenience and accessibility of tools, while at the same time saving platform costs and earning referral fees. Tips include the use of analytics tools such as Google Analytics to help webmasters understand their traffic and linguistic tools such as <a href="http://translate.google.com/translate_tools?hl=en">Google Translate</a> to help websites reach a broader audience.</li></ul>If you're a hoster and would like to participate in the Google Services for Websites program, please <a href="http://services.google.com/feedback/webmaster_provider_signup">apply here</a>. You'll have to integrate with the service APIs before these services can be made available to your customers, so the earlier you start that process, the better.<br /><br />As always, we'd love to get <a href="//www.google.com/support/forum/p/Webmasters?hl=en">feedback</a> on how the program is working for you, and what improvements you'd like to see.<br /><br /><span class="byline-author">Posted by Rajat Mukherjee, Group Product Manager</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2009/08/new-tools-for-google-services-for.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:New tools for Google Services for Websites&url=https://googleblog.blogspot.com/2009/08/new-tools-for-google-services-for.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2009/08/new-tools-for-google-services-for.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2009/08/new-tools-for-google-services-for.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/faster%20web' rel='tag'> faster web </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/measurement' rel='tag'> measurement </a> </span> </div> </div> </div> <div class='post' data-id='783336923703277044' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2009/06/lets-make-web-faster.html' itemprop='url' title='Let's make the web faster'> Let's make the web faster </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> June 23, 2009 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> From building data centers in different parts of the world to designing highly efficient user interfaces, we at Google always strive to make our services faster. We focus on speed as a key requirement in product and infrastructure development, because our <a href="http://googleresearch.blogspot.com/2009/06/speed-matters.html">research</a> indicates that people prefer faster, more responsive apps. Over the years, through continuous experimentation, we've identified some performance best practices that we'd like to share with the web community on <a href="http://code.google.com/speed">code.google.com/speed</a>, a new site for web developers, with tutorials, tips and performance tools.<br /><br />We are excited to <a href="http://groups.google.com/group/make-the-web-faster">discuss</a> what we've learned about web performance with the Internet community. However, to optimize the speed of web applications and make browsing the web as fast as turning the pages of a magazine, we need to work together as a community, to tackle some larger challenges that keep the web slow and prevent it from delivering its full potential:<br /><ul><li>Many protocols that power the Internet and the web were developed when broadband and rich interactive web apps were in their infancy. Networks have become much faster in the past 20 years, and by collaborating to update protocols such as HTML and TCP/IP we can create a better web experience for everyone. A great example of the community working together is <a href="http://en.wikipedia.org/wiki/HTML_5">HTML5</a>. With HTML5 features such as AppCache, developers are now able to write JavaScript-heavy web apps that run instantly and work and feel like desktop applications.</li></ul><ul><li>In the last decade, we have seen close to a <a href="http://www.webmonkey.com/print/blog/Google_Throws_Its_Weight_Behind_HTML_5">100x improvement</a> in JavaScript speed. Browser developers and the communities around them need to maintain this recent focus on performance improvement in order for the browser to become the platform of choice for more feature-rich and computationally-complex applications.</li></ul><ul><li>Many websites can become faster with little effort, and collective attention to performance can speed up the entire web. Tools such as Yahoo!'s <a href="http://developer.yahoo.com/yslow/">YSlow</a> and our own recently launched <a href="http://code.google.com/speed/page-speed/">Page Speed</a> help web developers create faster, more responsive web apps. As a community, we need to invest further in developing a new generation of tools for performance measurement, diagnostics, and optimization that work at the click of a button.</li></ul><ul><li>While there are now more than 400 million broadband subscribers worldwide, broadband penetration is still relatively low in many areas of the world. Steps have been taken to bring the benefits of broadband to more people, such as the <a href="http://googlepublicpolicy.blogspot.com/2008/11/vote-for-broadband-in-white-spaces.html">FCC's decision</a> to open up the white spaces spectrum, for which the Internet community, including Google, was a strong champion. Bringing the benefits of cheap reliable broadband access around the world should be one of the primary goals of our industry. </li></ul>To find out what Googlers think about making the web faster, see the video below. If you have ideas on how to speed up the web, please <a href="http://moderator.appspot.com/#15/e=79951&t=79d39">share</a> them with the rest of the community. Let's all work together to make the web faster!<br /><br /><object height="340" width="560"><param name="movie" value="//www.youtube.com/v/IWWBnJEsUtU&hl=en&fs=1&rel=0"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="//www.youtube.com/v/IWWBnJEsUtU&hl=en&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="340" width="560"></embed></object><br /><br /><span class="byline-author">Posted by Urs Hoelzle, SVP, Operations and Bill Coughran, SVP, Engineering</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> From building data centers in different parts of the world to designing highly efficient user interfaces, we at Google always strive to make our services faster. We focus on speed as a key requirement in product and infrastructure development, because our <a href="http://googleresearch.blogspot.com/2009/06/speed-matters.html">research</a> indicates that people prefer faster, more responsive apps. Over the years, through continuous experimentation, we've identified some performance best practices that we'd like to share with the web community on <a href="http://code.google.com/speed">code.google.com/speed</a>, a new site for web developers, with tutorials, tips and performance tools.<br /><br />We are excited to <a href="http://groups.google.com/group/make-the-web-faster">discuss</a> what we've learned about web performance with the Internet community. However, to optimize the speed of web applications and make browsing the web as fast as turning the pages of a magazine, we need to work together as a community, to tackle some larger challenges that keep the web slow and prevent it from delivering its full potential:<br /><ul><li>Many protocols that power the Internet and the web were developed when broadband and rich interactive web apps were in their infancy. Networks have become much faster in the past 20 years, and by collaborating to update protocols such as HTML and TCP/IP we can create a better web experience for everyone. A great example of the community working together is <a href="http://en.wikipedia.org/wiki/HTML_5">HTML5</a>. With HTML5 features such as AppCache, developers are now able to write JavaScript-heavy web apps that run instantly and work and feel like desktop applications.</li></ul><ul><li>In the last decade, we have seen close to a <a href="http://www.webmonkey.com/print/blog/Google_Throws_Its_Weight_Behind_HTML_5">100x improvement</a> in JavaScript speed. Browser developers and the communities around them need to maintain this recent focus on performance improvement in order for the browser to become the platform of choice for more feature-rich and computationally-complex applications.</li></ul><ul><li>Many websites can become faster with little effort, and collective attention to performance can speed up the entire web. Tools such as Yahoo!'s <a href="http://developer.yahoo.com/yslow/">YSlow</a> and our own recently launched <a href="http://code.google.com/speed/page-speed/">Page Speed</a> help web developers create faster, more responsive web apps. As a community, we need to invest further in developing a new generation of tools for performance measurement, diagnostics, and optimization that work at the click of a button.</li></ul><ul><li>While there are now more than 400 million broadband subscribers worldwide, broadband penetration is still relatively low in many areas of the world. Steps have been taken to bring the benefits of broadband to more people, such as the <a href="http://googlepublicpolicy.blogspot.com/2008/11/vote-for-broadband-in-white-spaces.html">FCC's decision</a> to open up the white spaces spectrum, for which the Internet community, including Google, was a strong champion. Bringing the benefits of cheap reliable broadband access around the world should be one of the primary goals of our industry. </li></ul>To find out what Googlers think about making the web faster, see the video below. If you have ideas on how to speed up the web, please <a href="http://moderator.appspot.com/#15/e=79951&t=79d39">share</a> them with the rest of the community. Let's all work together to make the web faster!<br /><br /><object height="340" width="560"><param name="movie" value="//www.youtube.com/v/IWWBnJEsUtU&hl=en&fs=1&rel=0"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="//www.youtube.com/v/IWWBnJEsUtU&hl=en&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="340" width="560"></embed></object><br /><br /><span class="byline-author">Posted by Urs Hoelzle, SVP, Operations and Bill Coughran, SVP, Engineering</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2009/06/lets-make-web-faster.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Let's make the web faster&url=https://googleblog.blogspot.com/2009/06/lets-make-web-faster.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2009/06/lets-make-web-faster.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2009/06/lets-make-web-faster.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/faster%20web' rel='tag'> faster web </a> </span> </div> </div> </div> <div class='post' data-id='7694505292818981977' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2009/06/snack-time-with-new-igoogle-for-android.html' itemprop='url' title='Snack time with the new iGoogle for Android and iPhone'> Snack time with the new iGoogle for Android and iPhone </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> June 11, 2009 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7AcPNPx25ZY4PUSzNthIMd5Sym8uy7AuhVL3RmPxbLm1GHgxpJ88oNCJImnHOkBwCU05d9LFHKYsERI6wGUNCKFKCDQya2uRYJvlXSY-pFQT4DotYj81doMKpkYH95A5K5U60HA/s1600-h/igoogle.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5346285525123312402" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7AcPNPx25ZY4PUSzNthIMd5Sym8uy7AuhVL3RmPxbLm1GHgxpJ88oNCJImnHOkBwCU05d9LFHKYsERI6wGUNCKFKCDQya2uRYJvlXSY-pFQT4DotYj81doMKpkYH95A5K5U60HA/s400/igoogle.jpg" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 272px; height: 331px;" /></a><span class="Apple-style-span" style="font-size:small;"><span class="Apple-style-span" style="font-style: italic;">(cross-posted with the <a href="http://googlemobile.blogspot.com/2009/06/snack-time-with-new-igoogle-for-android.html">Google Mobile Blog</a>)<br /></span></span><br />We like iGoogle because it lets us "snack" on interesting information all day long. We can read a little bit of news here and there, glance at finance portfolios, take a look at the weather forecast, and then do a Google search. It doesn't require a big commitment of time and energy — it's simply there for us whenever we need it. This kind of availability is even more important on a phone, where it can take a long time to surf. That's why iGoogle is so convenient on mobile devices. When you're waiting in line, you can check iGoogle on your phone for a quick "info snack" — even in areas with mediocre network coverage.<br /><br />But speed isn't everything. Many of you have told us that you wanted to use more of your iGoogle gadgets on your phone. You wanted to see your tabs, too. We read your blog comments and forum posts and put your requests at the top of our to-do list.<br /><br />Today, we're excited to roll out an improved beta version of iGoogle for the iPhone and Android-powered devices. This new version is faster and easier to use. It supports tabs as well as more of your favorite gadgets, including those built by third-party developers. Note that not all gadgets — like those with Flash — will work in mobile browsers.<br /><br />One of our favorite new features is the in-line display of articles for feed-based gadgets. That means you can read article summaries without leaving the page. You can also rearrange gadget order or keep your favorite gadgets open for your next visit. None of these changes will mess up the layout of gadgets on your desktop computer, so feel free to play around and tune your mobile experience. <br /><br /><object height="295" width="480"><param name="movie" value="//www.youtube.com/v/B_ICorRs6J8&hl=en&fs=1&"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="//www.youtube.com/v/B_ICorRs6J8&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object><br /><br />The new version of iGoogle for mobile is available in 38 languages. To try it out, go to igoogle.com in your mobile browser and tap "Try the new Mobile iGoogle". Bookmark the page or make it your home page so you can return to it quickly. Finally, please fill out our survey by clicking on the "Tell us what you think" link at the top of the new home page. We'll continue to use your feedback to make iGoogle even better.<div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;"><span class="Apple-style-span" style="font-style: italic;">Update</span></span> on 6/12 @ 8:50 AM: Video added. Check it out!</div><div><br /><div><span class="byline-author">Posted by Dan Zivkovic and Zhen Wang, Software Engineers, Google mobile team</span></div></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7AcPNPx25ZY4PUSzNthIMd5Sym8uy7AuhVL3RmPxbLm1GHgxpJ88oNCJImnHOkBwCU05d9LFHKYsERI6wGUNCKFKCDQya2uRYJvlXSY-pFQT4DotYj81doMKpkYH95A5K5U60HA/s1600-h/igoogle.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5346285525123312402" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7AcPNPx25ZY4PUSzNthIMd5Sym8uy7AuhVL3RmPxbLm1GHgxpJ88oNCJImnHOkBwCU05d9LFHKYsERI6wGUNCKFKCDQya2uRYJvlXSY-pFQT4DotYj81doMKpkYH95A5K5U60HA/s400/igoogle.jpg" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 272px; height: 331px;" /></a><span class="Apple-style-span" style="font-size:small;"><span class="Apple-style-span" style="font-style: italic;">(cross-posted with the <a href="http://googlemobile.blogspot.com/2009/06/snack-time-with-new-igoogle-for-android.html">Google Mobile Blog</a>)<br /></span></span><br />We like iGoogle because it lets us "snack" on interesting information all day long. We can read a little bit of news here and there, glance at finance portfolios, take a look at the weather forecast, and then do a Google search. It doesn't require a big commitment of time and energy — it's simply there for us whenever we need it. This kind of availability is even more important on a phone, where it can take a long time to surf. That's why iGoogle is so convenient on mobile devices. When you're waiting in line, you can check iGoogle on your phone for a quick "info snack" — even in areas with mediocre network coverage.<br /><br />But speed isn't everything. Many of you have told us that you wanted to use more of your iGoogle gadgets on your phone. You wanted to see your tabs, too. We read your blog comments and forum posts and put your requests at the top of our to-do list.<br /><br />Today, we're excited to roll out an improved beta version of iGoogle for the iPhone and Android-powered devices. This new version is faster and easier to use. It supports tabs as well as more of your favorite gadgets, including those built by third-party developers. Note that not all gadgets — like those with Flash — will work in mobile browsers.<br /><br />One of our favorite new features is the in-line display of articles for feed-based gadgets. That means you can read article summaries without leaving the page. You can also rearrange gadget order or keep your favorite gadgets open for your next visit. None of these changes will mess up the layout of gadgets on your desktop computer, so feel free to play around and tune your mobile experience. <br /><br /><object height="295" width="480"><param name="movie" value="//www.youtube.com/v/B_ICorRs6J8&hl=en&fs=1&"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="//www.youtube.com/v/B_ICorRs6J8&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object><br /><br />The new version of iGoogle for mobile is available in 38 languages. To try it out, go to igoogle.com in your mobile browser and tap "Try the new Mobile iGoogle". Bookmark the page or make it your home page so you can return to it quickly. Finally, please fill out our survey by clicking on the "Tell us what you think" link at the top of the new home page. We'll continue to use your feedback to make iGoogle even better.<div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;"><span class="Apple-style-span" style="font-style: italic;">Update</span></span> on 6/12 @ 8:50 AM: Video added. Check it out!</div><div><br /><div><span class="byline-author">Posted by Dan Zivkovic and Zhen Wang, Software Engineers, Google mobile team</span></div></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2009/06/snack-time-with-new-igoogle-for-android.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Snack time with the new iGoogle for Android and iPhone&url=https://googleblog.blogspot.com/2009/06/snack-time-with-new-igoogle-for-android.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2009/06/snack-time-with-new-igoogle-for-android.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2009/06/snack-time-with-new-igoogle-for-android.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/faster%20web' rel='tag'> faster web </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/mobile' rel='tag'> mobile </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/personalization' rel='tag'> personalization </a> </span> </div> </div> </div> <div class='post' data-id='4316502927965472029' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2009/06/picasa-web-albums-stays-big-gets-faster.html' itemprop='url' title='Picasa Web Albums stays big, gets faster'> Picasa Web Albums stays big, gets faster </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> June 4, 2009 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> I use <a href="http://picasa.google.com/">Picasa</a> to manage the photos on my computer in part because it's the fastest way to manage all of the pictures I take. When I started working on <a href="//picasaweb.google.com/">Picasa Web Albums</a>, the speed and responsiveness of the desktop program were a tough act to follow. Typically, when you move your photos from the desktop to the web, you have to choose between viewing high resolution photos that take forever to download, and tiny photos that lack any detail. For Picasa Web Albums, we thought we could do better.<br /><br />We chose to show large images, the very biggest we can fit into your browser window. If you open up a slideshow or full-screen view, we can fill your entire monitor. But it wasn't snappy enough for us, so we had a choice to make: either use smaller images, make the Internet faster, or make our code smarter. We think large images are important, because seeing a photo's little details can make a big difference, and as much as we wanted to, making the whole Internet faster was a little impractical in the short term. So we went deep into the code and gave it a thorough tune-up.<br /><br />The results, I hope, speak for themselves. Take a look at any album or slideshow on Picasa Web (<a href="//picasaweb.google.com/startled/MesaVerdeNationalPark#5343594568426354866">here's one of mine</a>) and you should notice that browsing photos is significantly faster. Give <a href="//picasaweb.google.com/startled/MesaVerdeNationalPark#slideshow/5343594568426354866">full-screen</a> mode a try to see even bigger photos. If you've got a reasonable connection to the Internet, you should be able to hold down one of the arrow keys and zip through the entire album at a pretty good clip, flip-book style. Of course, while you <span class="Apple-style-span" style="font-style: italic;">could</span> zoom past entire albums at ludicrous speed, we hope you'll enjoying spending your time looking at the photos themselves, rather than navigating between them.<br /><br /><span class="byline-author">Posted by Shawn Brenneman, Software Engineer</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> I use <a href="http://picasa.google.com/">Picasa</a> to manage the photos on my computer in part because it's the fastest way to manage all of the pictures I take. When I started working on <a href="//picasaweb.google.com/">Picasa Web Albums</a>, the speed and responsiveness of the desktop program were a tough act to follow. Typically, when you move your photos from the desktop to the web, you have to choose between viewing high resolution photos that take forever to download, and tiny photos that lack any detail. For Picasa Web Albums, we thought we could do better.<br /><br />We chose to show large images, the very biggest we can fit into your browser window. If you open up a slideshow or full-screen view, we can fill your entire monitor. But it wasn't snappy enough for us, so we had a choice to make: either use smaller images, make the Internet faster, or make our code smarter. We think large images are important, because seeing a photo's little details can make a big difference, and as much as we wanted to, making the whole Internet faster was a little impractical in the short term. So we went deep into the code and gave it a thorough tune-up.<br /><br />The results, I hope, speak for themselves. Take a look at any album or slideshow on Picasa Web (<a href="//picasaweb.google.com/startled/MesaVerdeNationalPark#5343594568426354866">here's one of mine</a>) and you should notice that browsing photos is significantly faster. Give <a href="//picasaweb.google.com/startled/MesaVerdeNationalPark#slideshow/5343594568426354866">full-screen</a> mode a try to see even bigger photos. If you've got a reasonable connection to the Internet, you should be able to hold down one of the arrow keys and zip through the entire album at a pretty good clip, flip-book style. Of course, while you <span class="Apple-style-span" style="font-style: italic;">could</span> zoom past entire albums at ludicrous speed, we hope you'll enjoying spending your time looking at the photos themselves, rather than navigating between them.<br /><br /><span class="byline-author">Posted by Shawn Brenneman, Software Engineer</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2009/06/picasa-web-albums-stays-big-gets-faster.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Picasa Web Albums stays big, gets faster&url=https://googleblog.blogspot.com/2009/06/picasa-web-albums-stays-big-gets-faster.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2009/06/picasa-web-albums-stays-big-gets-faster.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2009/06/picasa-web-albums-stays-big-gets-faster.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/apps' rel='tag'> apps </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/faster%20web' rel='tag'> faster web </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/photos' rel='tag'> photos </a> </span> </div> </div> </div> <div class='post' data-id='3339412961323552937' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2009/05/put-pedal-to-metal-with-faster-google.html' itemprop='url' title='Put the pedal to the metal with a faster Google Chrome'> Put the pedal to the metal with a faster Google Chrome </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> May 21, 2009 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> We <a href="http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html">introduced Google Chrome</a> back in September, and it's received a great response so far. Since launching, we've been working hard on adding the <a href="//www.google.com/support/forum/p/Chrome/label?lid=4b62763ab25c3274&hl=en&sort=popularity">top requested features</a> and making Google Chrome even faster.<br /><br />Today, we are updating to a new version of Google Chrome that is faster than ever. JavaScript-heavy web pages will now run about 30% faster. See the chart below or <a href="http://v8.googlecode.com/svn/data/benchmarks/v4/run.html">compare scores yourself</a>.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg85dPSTsXmtoGYrkdPxXa9MpJZ3gNDgUSw1ShNFcRc_Dr5uY_TcZIw3QV20Bd5ESELP0ctg98uxPBVSrTrT7jICWEL09F_zZ2N1C7c9Ho1ZiiSOeXk3kbLvE2sbM0sABNwehfMJQ/s1600-h/V8.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5338308324481850370" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg85dPSTsXmtoGYrkdPxXa9MpJZ3gNDgUSw1ShNFcRc_Dr5uY_TcZIw3QV20Bd5ESELP0ctg98uxPBVSrTrT7jICWEL09F_zZ2N1C7c9Ho1ZiiSOeXk3kbLvE2sbM0sABNwehfMJQ/s400/V8.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 230px;" /></a>Additionally, we've added some useful features like <a href="//www.google.com/support/chrome/bin/answer.py?hl=en&answer=142464">form autofill</a>, full screen mode, and the ability to remove thumbnails from the <a href="//www.google.com/support/chrome/bin/answer.py?hl=en&answer=95451">New Tab page</a>. Here's a short video demonstrating some of this new functionality:<br /><br /><object height="295" width="480"><param name="movie" value="//www.youtube.com/v/rubd9bqjS64&hl=en&fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="//www.youtube.com/v/rubd9bqjS64&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="295" width="480"></embed></object><br /><br />If you're already using Google Chrome, you'll be automatically updated with these new features soon. If you haven't downloaded Google Chrome, get the latest version at <a href="//google.com/chrome">google.com/chrome</a>.<br /><br />To read more about this update, visit the <a href="http://chrome.blogspot.com/2009/05/speedier-google-chrome-for-all-users.html">Google Chrome blog</a>.<br /><br /><span class="byline-author">Posted by Darin Fisher, Google Chrome Team<br /></span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> We <a href="http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html">introduced Google Chrome</a> back in September, and it's received a great response so far. Since launching, we've been working hard on adding the <a href="//www.google.com/support/forum/p/Chrome/label?lid=4b62763ab25c3274&hl=en&sort=popularity">top requested features</a> and making Google Chrome even faster.<br /><br />Today, we are updating to a new version of Google Chrome that is faster than ever. JavaScript-heavy web pages will now run about 30% faster. See the chart below or <a href="http://v8.googlecode.com/svn/data/benchmarks/v4/run.html">compare scores yourself</a>.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg85dPSTsXmtoGYrkdPxXa9MpJZ3gNDgUSw1ShNFcRc_Dr5uY_TcZIw3QV20Bd5ESELP0ctg98uxPBVSrTrT7jICWEL09F_zZ2N1C7c9Ho1ZiiSOeXk3kbLvE2sbM0sABNwehfMJQ/s1600-h/V8.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5338308324481850370" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg85dPSTsXmtoGYrkdPxXa9MpJZ3gNDgUSw1ShNFcRc_Dr5uY_TcZIw3QV20Bd5ESELP0ctg98uxPBVSrTrT7jICWEL09F_zZ2N1C7c9Ho1ZiiSOeXk3kbLvE2sbM0sABNwehfMJQ/s400/V8.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 230px;" /></a>Additionally, we've added some useful features like <a href="//www.google.com/support/chrome/bin/answer.py?hl=en&answer=142464">form autofill</a>, full screen mode, and the ability to remove thumbnails from the <a href="//www.google.com/support/chrome/bin/answer.py?hl=en&answer=95451">New Tab page</a>. Here's a short video demonstrating some of this new functionality:<br /><br /><object height="295" width="480"><param name="movie" value="//www.youtube.com/v/rubd9bqjS64&hl=en&fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="//www.youtube.com/v/rubd9bqjS64&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="295" width="480"></embed></object><br /><br />If you're already using Google Chrome, you'll be automatically updated with these new features soon. If you haven't downloaded Google Chrome, get the latest version at <a href="//google.com/chrome">google.com/chrome</a>.<br /><br />To read more about this update, visit the <a href="http://chrome.blogspot.com/2009/05/speedier-google-chrome-for-all-users.html">Google Chrome blog</a>.<br /><br /><span class="byline-author">Posted by Darin Fisher, Google Chrome Team<br /></span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2009/05/put-pedal-to-metal-with-faster-google.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Put the pedal to the metal with a faster Google Chrome&url=https://googleblog.blogspot.com/2009/05/put-pedal-to-metal-with-faster-google.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2009/05/put-pedal-to-metal-with-faster-google.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2009/05/put-pedal-to-metal-with-faster-google.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/chrome' rel='tag'> chrome </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/faster%20web' rel='tag'> faster web </a> </span> </div> </div> </div> <div class='post' data-id='6797038447406758969' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2009/05/faster-is-better-on-google-suggest.html' itemprop='url' title='Faster is better on Google Suggest'> Faster is better on Google Suggest </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> May 20, 2009 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> As we prepared to write this post, we discovered a common childhood passion for fast things: high-speed trains, roller coasters, firetrucks, and more. That may be a key part of why we're so excited to be working on Google Suggest, since it saves time by giving suggestions as we're typing our searches.<br /><br />Today, we're introducing more features to Google Suggest to help you make your searches even faster. These features are rolling out gradually, so you should be able to see them soon.<br /><br /><span class="Apple-style-span" style="font-weight: bold;">Suggestions on the results page</span><br />Previously, we only showed suggestions based on your original search input. Now, when you make a search from a results page, we provide suggestions that relate to the current results page. As you can see in the example below, if your previous search was for roller coasters, when you begin a new query the first few suggestions are still related to roller coasters — helping you refine your search queries to quickly find what you want.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnvldldWIYuPRO7FbT3nhij4WQMUeQnlV_7xJqORl-ZayJSl9H0CIPeCsUUGZTWBf79snOypfOhYFLpOJoIPr4J5baHP_E_iNosd2Gn-ZpFK0vuFV5R5k2TbgHByVOoqJ1Ww7CZA/s1600-h/suggest-on-results-page.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5338059248373177266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnvldldWIYuPRO7FbT3nhij4WQMUeQnlV_7xJqORl-ZayJSl9H0CIPeCsUUGZTWBf79snOypfOhYFLpOJoIPr4J5baHP_E_iNosd2Gn-ZpFK0vuFV5R5k2TbgHByVOoqJ1Ww7CZA/s400/suggest-on-results-page.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 262px;" /></a><br /><span class="Apple-style-span" style="font-weight: bold;">Personalized suggestions</span><br />Trying to remember that query which gave you the best results? You're not alone! We estimate that about a quarter of all signed-in searches are repeats from the past month. Now, if you're signed in with your Google account and have Web History enabled, we may show some of your relevant past searches as you type. Personalized suggestions will make it easier and faster for you to repeat searches that have worked before. Or, if you need to step away in the middle of a search task, this will help you continue your search tasks at a later time.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9sskDOjxurHyHdNcsUcGFC4l7hAJ5Nh4bo6pxxRrEoY2lqeaL2SSl9hzftConhTTgO6xkoEWjazQxEo0nJo8cCdmxUBGHs5fFCmNuaXQ6QkpHotmvGQuWdVajgYk-JMnY_aFErA/s1600-h/personalized-suggest.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5338059250590159762" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9sskDOjxurHyHdNcsUcGFC4l7hAJ5Nh4bo6pxxRrEoY2lqeaL2SSl9hzftConhTTgO6xkoEWjazQxEo0nJo8cCdmxUBGHs5fFCmNuaXQ6QkpHotmvGQuWdVajgYk-JMnY_aFErA/s400/personalized-suggest.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 280px;" /></a><div><br />You can remove a personalized suggestion that you do not like by clicking "Remove", which will remove the search from your Web History. You can also remove searches from your <a href="https://www.google.com/accounts/ServiceLogin?hl=en&continue=http://www.google.com/history/&nui=1&service=hist&srr=1">Web History</a> directly, manage Query Suggestions on the <a href="//www.google.com/preferences">preferences page</a>, or sign out of your Google account entirely to stop seeing personalized suggestions.<br /><br /><span class="Apple-style-span" style="font-weight: bold;">Navigational suggestions </span><br />If your first keystrokes indicate that you may be looking to navigate directly to a specific site, we'll list it and send you straight there if you click on it.</div><div><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTnXuqh9hz1vjgGuToYcdN8TrCtkvvGQTU_goxX42ADkCsYRL38Qn6z6FYUV-TmGxbOe64N2cvss3QpBifQA_MbLv6zz7vh4VROOaf6q4Z6B6ZtVYpMcaM7EYMuR-RtMnVMJ0x5w/s1600-h/navigational-suggestion.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5338059250547696194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTnXuqh9hz1vjgGuToYcdN8TrCtkvvGQTU_goxX42ADkCsYRL38Qn6z6FYUV-TmGxbOe64N2cvss3QpBifQA_MbLv6zz7vh4VROOaf6q4Z6B6ZtVYpMcaM7EYMuR-RtMnVMJ0x5w/s400/navigational-suggestion.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 306px;" /></a><br /><span class="Apple-style-span" style="font-weight: bold;">Sponsored links in suggestions</span><br />Similar to the navigational suggestions above, sometimes we detect that the most relevant completion for what you're typing is an ad. When an ad is shown, we mark it with the text "Sponsored Link" and a colored background, as on the results page.</div><div><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJZzSilv5WYL1xLrBD3bSVks-tIX8SyE1aMai9MwzzHAixj3Wtmts08VkJ9voDFG2lw7L2UQyPgSIVhVdgK1FQ8VokX9kn60YEf6elyCC4m9O95Y0Tr3l-UN2BCMOEKLA8blEmOw/s1600-h/sponsored-link-in-suggest.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5338059258200701266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJZzSilv5WYL1xLrBD3bSVks-tIX8SyE1aMai9MwzzHAixj3Wtmts08VkJ9voDFG2lw7L2UQyPgSIVhVdgK1FQ8VokX9kn60YEf6elyCC4m9O95Y0Tr3l-UN2BCMOEKLA8blEmOw/s400/sponsored-link-in-suggest.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 320px;" /></a><br />We are also introducing a couple more changes to Suggest: we will no longer show the result count for items in the suggest box (we've gotten feedback that the numbers were not helpful in comparing the relevance of the queries) and we now bold the text of suggestions to help you more quickly scan the list. To learn more about Google Suggest, check out the <a href="//www.google.com/support/websearch/bin/answer.py?hl=en&answer=106230">help center</a>.<br /><br />We hope these new features save you time, so that you can get back to roller coasters, high-speed web surfing, action movies and each other that much faster.<br /><br /><span class="byline-author">Posted by Jonathan Effrat, David Kadouch and Matt Kulick, Product Managers</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> As we prepared to write this post, we discovered a common childhood passion for fast things: high-speed trains, roller coasters, firetrucks, and more. That may be a key part of why we're so excited to be working on Google Suggest, since it saves time by giving suggestions as we're typing our searches.<br /><br />Today, we're introducing more features to Google Suggest to help you make your searches even faster. These features are rolling out gradually, so you should be able to see them soon.<br /><br /><span class="Apple-style-span" style="font-weight: bold;">Suggestions on the results page</span><br />Previously, we only showed suggestions based on your original search input. Now, when you make a search from a results page, we provide suggestions that relate to the current results page. As you can see in the example below, if your previous search was for roller coasters, when you begin a new query the first few suggestions are still related to roller coasters — helping you refine your search queries to quickly find what you want.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnvldldWIYuPRO7FbT3nhij4WQMUeQnlV_7xJqORl-ZayJSl9H0CIPeCsUUGZTWBf79snOypfOhYFLpOJoIPr4J5baHP_E_iNosd2Gn-ZpFK0vuFV5R5k2TbgHByVOoqJ1Ww7CZA/s1600-h/suggest-on-results-page.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5338059248373177266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnvldldWIYuPRO7FbT3nhij4WQMUeQnlV_7xJqORl-ZayJSl9H0CIPeCsUUGZTWBf79snOypfOhYFLpOJoIPr4J5baHP_E_iNosd2Gn-ZpFK0vuFV5R5k2TbgHByVOoqJ1Ww7CZA/s400/suggest-on-results-page.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 262px;" /></a><br /><span class="Apple-style-span" style="font-weight: bold;">Personalized suggestions</span><br />Trying to remember that query which gave you the best results? You're not alone! We estimate that about a quarter of all signed-in searches are repeats from the past month. Now, if you're signed in with your Google account and have Web History enabled, we may show some of your relevant past searches as you type. Personalized suggestions will make it easier and faster for you to repeat searches that have worked before. Or, if you need to step away in the middle of a search task, this will help you continue your search tasks at a later time.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9sskDOjxurHyHdNcsUcGFC4l7hAJ5Nh4bo6pxxRrEoY2lqeaL2SSl9hzftConhTTgO6xkoEWjazQxEo0nJo8cCdmxUBGHs5fFCmNuaXQ6QkpHotmvGQuWdVajgYk-JMnY_aFErA/s1600-h/personalized-suggest.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5338059250590159762" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9sskDOjxurHyHdNcsUcGFC4l7hAJ5Nh4bo6pxxRrEoY2lqeaL2SSl9hzftConhTTgO6xkoEWjazQxEo0nJo8cCdmxUBGHs5fFCmNuaXQ6QkpHotmvGQuWdVajgYk-JMnY_aFErA/s400/personalized-suggest.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 280px;" /></a><div><br />You can remove a personalized suggestion that you do not like by clicking "Remove", which will remove the search from your Web History. You can also remove searches from your <a href="https://www.google.com/accounts/ServiceLogin?hl=en&continue=http://www.google.com/history/&nui=1&service=hist&srr=1">Web History</a> directly, manage Query Suggestions on the <a href="//www.google.com/preferences">preferences page</a>, or sign out of your Google account entirely to stop seeing personalized suggestions.<br /><br /><span class="Apple-style-span" style="font-weight: bold;">Navigational suggestions </span><br />If your first keystrokes indicate that you may be looking to navigate directly to a specific site, we'll list it and send you straight there if you click on it.</div><div><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTnXuqh9hz1vjgGuToYcdN8TrCtkvvGQTU_goxX42ADkCsYRL38Qn6z6FYUV-TmGxbOe64N2cvss3QpBifQA_MbLv6zz7vh4VROOaf6q4Z6B6ZtVYpMcaM7EYMuR-RtMnVMJ0x5w/s1600-h/navigational-suggestion.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5338059250547696194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTnXuqh9hz1vjgGuToYcdN8TrCtkvvGQTU_goxX42ADkCsYRL38Qn6z6FYUV-TmGxbOe64N2cvss3QpBifQA_MbLv6zz7vh4VROOaf6q4Z6B6ZtVYpMcaM7EYMuR-RtMnVMJ0x5w/s400/navigational-suggestion.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 306px;" /></a><br /><span class="Apple-style-span" style="font-weight: bold;">Sponsored links in suggestions</span><br />Similar to the navigational suggestions above, sometimes we detect that the most relevant completion for what you're typing is an ad. When an ad is shown, we mark it with the text "Sponsored Link" and a colored background, as on the results page.</div><div><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJZzSilv5WYL1xLrBD3bSVks-tIX8SyE1aMai9MwzzHAixj3Wtmts08VkJ9voDFG2lw7L2UQyPgSIVhVdgK1FQ8VokX9kn60YEf6elyCC4m9O95Y0Tr3l-UN2BCMOEKLA8blEmOw/s1600-h/sponsored-link-in-suggest.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5338059258200701266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJZzSilv5WYL1xLrBD3bSVks-tIX8SyE1aMai9MwzzHAixj3Wtmts08VkJ9voDFG2lw7L2UQyPgSIVhVdgK1FQ8VokX9kn60YEf6elyCC4m9O95Y0Tr3l-UN2BCMOEKLA8blEmOw/s400/sponsored-link-in-suggest.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 320px;" /></a><br />We are also introducing a couple more changes to Suggest: we will no longer show the result count for items in the suggest box (we've gotten feedback that the numbers were not helpful in comparing the relevance of the queries) and we now bold the text of suggestions to help you more quickly scan the list. To learn more about Google Suggest, check out the <a href="//www.google.com/support/websearch/bin/answer.py?hl=en&answer=106230">help center</a>.<br /><br />We hope these new features save you time, so that you can get back to roller coasters, high-speed web surfing, action movies and each other that much faster.<br /><br /><span class="byline-author">Posted by Jonathan Effrat, David Kadouch and Matt Kulick, Product Managers</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2009/05/faster-is-better-on-google-suggest.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Faster is better on Google Suggest&url=https://googleblog.blogspot.com/2009/05/faster-is-better-on-google-suggest.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2009/05/faster-is-better-on-google-suggest.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2009/05/faster-is-better-on-google-suggest.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/faster%20web' rel='tag'> faster web </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/search' rel='tag'> search </a> </span> </div> </div> </div> <div class='post' data-id='6345067131279967207' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2008/12/google-chrome-beta.html' itemprop='url' title='Google Chrome <S>(BETA)</S>'> Google Chrome <S>(BETA)</S> </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> December 11, 2008 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> Since we <a href="http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html">first released Google Chrome</a>, the development team has been hard at work improving the stability and overall performance of the browser. In just 100 days, we have reached more than 10 million active users around the world (on all seven continents, no less) and released 14 updates to the product. We're excited to announce that with today's fifteenth release we are taking off the "beta" label!<br /><br />Google Chrome is a better browser today thanks to the many users who sent their feedback and the many more who enabled automatic crash reports, helping us rapidly diagnose and fix issues. Some of the areas where we've made great progress include:<br /><br /><span style="font-weight: bold;">Better stability and performance of plug-ins (particularly video). </span>Video and audio glitches were among the <a href="http://blog.chromium.org/2008/10/beta-and-plugin-improvements-in-google.html">most common bugs fixed</a> during the beta period. If you had problems watching videos with Google Chrome in the past, you should be pleasantly surprised with the performance now.<br /><br /><span style="font-weight: bold;">Even more speed.</span> Google Chrome starts up fast, loads pages quickly, and just keeps getting faster. Since the first beta, the V8 JavaScript engine runs 1.4 times faster on the <a href="http://www2.webkit.org/perf/sunspider-0.9/sunspider.html">SunSpider benchmark</a> and 1.5 times faster on the <a href="http://code.google.com/apis/v8/run.html">V8 benchmark</a> — and there is more speed to come.<br /><br /><span style="font-weight: bold;">Bookmark manager and privacy controls.</span> We heard you! <a href="//www.google.com/support/chrome/bin/answer.py?hl=en&answer=95714">Better bookmark features</a> were a top request from our users. It's now easier to switch between another browser and Google Chrome with the bookmark import and export features, and we added a new simple way to manage large numbers of bookmarks, too. We also wanted to make it even easier for you to control your browsing data, so all of the features in Google Chrome which affect user privacy are now grouped in one place with <a href="//www.google.com/support/chrome/bin/answer.py?answer=114836">detailed explanations for each one</a>.<br /><br />We've taken security very seriously from the beginning and we will continue to look for ways to make Google Chrome and all browsers even more secure. Google Chrome's <a href="http://blog.chromium.org/2008/09/security-architecture.html">unique sandbox technology</a> creates an additional layer of defense against harmful software, while the <a href="http://blog.chromium.org/2008/11/understanding-phishing-and-malware.html">Safe Browsing</a> feature provides protection against phishing and malware attacks for many browser users.<br /><br />We have removed the beta label as our goals for stability and performance have been met but our work is far from done. We are working to add some common browser features such as form autofill and RSS support in the near future. We are also developing an <a href="http://dev.chromium.org/developers/design-documents/extensions">extensions platform</a> along with support for Mac and Linux. If you are already using Google Chrome, the update system ensures that you get the latest bug fixes and security patches, so you will get the newest version automatically in the next few days. If you haven't used Google Chrome for a while, now might be a good time to give it another spin.<br /><br /><a href="//www.google.com/chrome/?utm_campaign=en&utm_source=en-blog-ogb&utm_medium=blog&brand=CHMP">Download Google Chrome</a> and try it out. <a href="//www.google.com/support/forum/p/Chrome">Let us know what you think</a>.<br /><br /><span class="byline-author">Posted by By Sundar Pichai, VP, Product Management, and Linus Upson, Engineering Director</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> Since we <a href="http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html">first released Google Chrome</a>, the development team has been hard at work improving the stability and overall performance of the browser. In just 100 days, we have reached more than 10 million active users around the world (on all seven continents, no less) and released 14 updates to the product. We're excited to announce that with today's fifteenth release we are taking off the "beta" label!<br /><br />Google Chrome is a better browser today thanks to the many users who sent their feedback and the many more who enabled automatic crash reports, helping us rapidly diagnose and fix issues. Some of the areas where we've made great progress include:<br /><br /><span style="font-weight: bold;">Better stability and performance of plug-ins (particularly video). </span>Video and audio glitches were among the <a href="http://blog.chromium.org/2008/10/beta-and-plugin-improvements-in-google.html">most common bugs fixed</a> during the beta period. If you had problems watching videos with Google Chrome in the past, you should be pleasantly surprised with the performance now.<br /><br /><span style="font-weight: bold;">Even more speed.</span> Google Chrome starts up fast, loads pages quickly, and just keeps getting faster. Since the first beta, the V8 JavaScript engine runs 1.4 times faster on the <a href="http://www2.webkit.org/perf/sunspider-0.9/sunspider.html">SunSpider benchmark</a> and 1.5 times faster on the <a href="http://code.google.com/apis/v8/run.html">V8 benchmark</a> — and there is more speed to come.<br /><br /><span style="font-weight: bold;">Bookmark manager and privacy controls.</span> We heard you! <a href="//www.google.com/support/chrome/bin/answer.py?hl=en&answer=95714">Better bookmark features</a> were a top request from our users. It's now easier to switch between another browser and Google Chrome with the bookmark import and export features, and we added a new simple way to manage large numbers of bookmarks, too. We also wanted to make it even easier for you to control your browsing data, so all of the features in Google Chrome which affect user privacy are now grouped in one place with <a href="//www.google.com/support/chrome/bin/answer.py?answer=114836">detailed explanations for each one</a>.<br /><br />We've taken security very seriously from the beginning and we will continue to look for ways to make Google Chrome and all browsers even more secure. Google Chrome's <a href="http://blog.chromium.org/2008/09/security-architecture.html">unique sandbox technology</a> creates an additional layer of defense against harmful software, while the <a href="http://blog.chromium.org/2008/11/understanding-phishing-and-malware.html">Safe Browsing</a> feature provides protection against phishing and malware attacks for many browser users.<br /><br />We have removed the beta label as our goals for stability and performance have been met but our work is far from done. We are working to add some common browser features such as form autofill and RSS support in the near future. We are also developing an <a href="http://dev.chromium.org/developers/design-documents/extensions">extensions platform</a> along with support for Mac and Linux. If you are already using Google Chrome, the update system ensures that you get the latest bug fixes and security patches, so you will get the newest version automatically in the next few days. If you haven't used Google Chrome for a while, now might be a good time to give it another spin.<br /><br /><a href="//www.google.com/chrome/?utm_campaign=en&utm_source=en-blog-ogb&utm_medium=blog&brand=CHMP">Download Google Chrome</a> and try it out. <a href="//www.google.com/support/forum/p/Chrome">Let us know what you think</a>.<br /><br /><span class="byline-author">Posted by By Sundar Pichai, VP, Product Management, and Linus Upson, Engineering Director</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2008/12/google-chrome-beta.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Google Chrome <S>(BETA)</S>&url=https://googleblog.blogspot.com/2008/12/google-chrome-beta.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2008/12/google-chrome-beta.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2008/12/google-chrome-beta.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/chrome' rel='tag'> chrome </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/faster%20web' rel='tag'> faster web </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/privacy' rel='tag'> privacy </a> </span> </div> </div> </div> <div class='post' data-id='1263695245830950493' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2008/11/vote-for-broadband-in-white-spaces.html' itemprop='url' title='A vote for broadband in the "white spaces"'> A vote for broadband in the "white spaces" </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> November 4, 2008 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJnaaIa9WmocXWrJdyy2FjEAXOyIL9lzZZTiFtTbENHMJYLq9VKftAzLWkwvngm83xU1zHXwZbHhOq0O6XDH7PKmKgZJ8FMFZYj1xzK9uSG92Y8I37Y-MoCcLspH20H4Kux92LsQ/s1600-h/ftagraphic.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5264939156036152146" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJnaaIa9WmocXWrJdyy2FjEAXOyIL9lzZZTiFtTbENHMJYLq9VKftAzLWkwvngm83xU1zHXwZbHhOq0O6XDH7PKmKgZJ8FMFZYj1xzK9uSG92Y8I37Y-MoCcLspH20H4Kux92LsQ/s320/ftagraphic.jpg" style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 144px; height: 145px;" /></a>All eyes are on the presidential election today, but another important vote just took place at the Federal Communications Commission. By a vote of 5-0, the FCC formally agreed to open up the "<a href="http://googlepublicpolicy.blogspot.com/search/label/White%20Spaces">white spaces</a>" spectrum -- the unused airwaves between broadcast TV channels -- for wireless broadband service for the public. This is a clear victory for Internet users and anyone who wants good wireless communications.<br /><br />The FCC has been looking at this issue carefully for the last six years. Google has worked hard on this matter <a href="http://www.wirelessinnovationalliance.org/?gclid=CIO2uKLD25YCFQYcHgodIx7K2g">with other tech companies and public interest groups</a> because we think that this spectrum will help put better and faster Internet connections in the hands of the public. We also look forward to working with the FCC to finalize the method used to compute power levels of empty channels adjacent to TV channels (we have a number of <a title="public filings" href="http://fjallfoss.fcc.gov/prod/ecfs/retrieve.cgi?native_or_pdf=pdf&id_document=6520183501" id="ofa0">public filings</a> before the commission in this area and it is a vital issue in urban areas).<br /><br />I've always thought that there are a lot of really incredible things that engineers and entrepreneurs can do with this spectrum. We will soon have "<a href="http://googlepublicpolicy.blogspot.com/2008/05/larry-page-talks-about-googles-vision.html">Wi-Fi on steroids</a>," since these spectrum signals have much longer range than today's Wi-Fi technology and broadband access can be spread using fewer base stations resulting in better coverage at lower cost. And it is wonderful that the FCC has adopted the same successful unlicensed model used for Wi-Fi, which has resulted in a projected 1 billion Wi-Fi chips being produced this year. Now that the FCC has set the rules, I'm sure that we'll see similar growth in products to take advantage of this spectrum.<br /><br />As an engineer, I was also really gratified to see that the FCC decided to put science over politics. For years the broadcasting lobby and others have tried to spread fear and confusion about this technology, rather than allow the FCC's engineers to simply do their work.<br /><br />Finally, I want to applaud and thank FCC Chairman Kevin Martin, the other commissioners, and the FCC <a href="http://www.fcc.gov/oet/">Office of Engineering and Technology</a> for their leadership in advancing this important issue. And, thanks to the more than 20,000 of you who took a stand on this issue through our <a href="http://freetheairwaves.com/">Free the Airwaves</a> campaign, the FCC heard a clear message from consumers: these airwaves can bring wireless Internet to everyone everywhere.<br /><br /><span class="byline-author">Posted by Larry Page, Co-Founder and President of Products</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJnaaIa9WmocXWrJdyy2FjEAXOyIL9lzZZTiFtTbENHMJYLq9VKftAzLWkwvngm83xU1zHXwZbHhOq0O6XDH7PKmKgZJ8FMFZYj1xzK9uSG92Y8I37Y-MoCcLspH20H4Kux92LsQ/s1600-h/ftagraphic.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5264939156036152146" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJnaaIa9WmocXWrJdyy2FjEAXOyIL9lzZZTiFtTbENHMJYLq9VKftAzLWkwvngm83xU1zHXwZbHhOq0O6XDH7PKmKgZJ8FMFZYj1xzK9uSG92Y8I37Y-MoCcLspH20H4Kux92LsQ/s320/ftagraphic.jpg" style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 144px; height: 145px;" /></a>All eyes are on the presidential election today, but another important vote just took place at the Federal Communications Commission. By a vote of 5-0, the FCC formally agreed to open up the "<a href="http://googlepublicpolicy.blogspot.com/search/label/White%20Spaces">white spaces</a>" spectrum -- the unused airwaves between broadcast TV channels -- for wireless broadband service for the public. This is a clear victory for Internet users and anyone who wants good wireless communications.<br /><br />The FCC has been looking at this issue carefully for the last six years. Google has worked hard on this matter <a href="http://www.wirelessinnovationalliance.org/?gclid=CIO2uKLD25YCFQYcHgodIx7K2g">with other tech companies and public interest groups</a> because we think that this spectrum will help put better and faster Internet connections in the hands of the public. We also look forward to working with the FCC to finalize the method used to compute power levels of empty channels adjacent to TV channels (we have a number of <a title="public filings" href="http://fjallfoss.fcc.gov/prod/ecfs/retrieve.cgi?native_or_pdf=pdf&id_document=6520183501" id="ofa0">public filings</a> before the commission in this area and it is a vital issue in urban areas).<br /><br />I've always thought that there are a lot of really incredible things that engineers and entrepreneurs can do with this spectrum. We will soon have "<a href="http://googlepublicpolicy.blogspot.com/2008/05/larry-page-talks-about-googles-vision.html">Wi-Fi on steroids</a>," since these spectrum signals have much longer range than today's Wi-Fi technology and broadband access can be spread using fewer base stations resulting in better coverage at lower cost. And it is wonderful that the FCC has adopted the same successful unlicensed model used for Wi-Fi, which has resulted in a projected 1 billion Wi-Fi chips being produced this year. Now that the FCC has set the rules, I'm sure that we'll see similar growth in products to take advantage of this spectrum.<br /><br />As an engineer, I was also really gratified to see that the FCC decided to put science over politics. For years the broadcasting lobby and others have tried to spread fear and confusion about this technology, rather than allow the FCC's engineers to simply do their work.<br /><br />Finally, I want to applaud and thank FCC Chairman Kevin Martin, the other commissioners, and the FCC <a href="http://www.fcc.gov/oet/">Office of Engineering and Technology</a> for their leadership in advancing this important issue. And, thanks to the more than 20,000 of you who took a stand on this issue through our <a href="http://freetheairwaves.com/">Free the Airwaves</a> campaign, the FCC heard a clear message from consumers: these airwaves can bring wireless Internet to everyone everywhere.<br /><br /><span class="byline-author">Posted by Larry Page, Co-Founder and President of Products</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2008/11/vote-for-broadband-in-white-spaces.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:A vote for broadband in the "white spaces"&url=https://googleblog.blogspot.com/2008/11/vote-for-broadband-in-white-spaces.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2008/11/vote-for-broadband-in-white-spaces.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2008/11/vote-for-broadband-in-white-spaces.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/faster%20web' rel='tag'> faster web </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/policy%20and%20issues' rel='tag'> policy and issues </a> </span> </div> </div> </div> <div class='post' data-id='7453786847871937085' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2008/10/introducing-gmail-for-mobile-20.html' itemprop='url' title='Introducing Gmail for mobile 2.0'> Introducing Gmail for mobile 2.0 </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> October 23, 2008 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> Whether you've lost signal on the subway or turned your phone's wireless connection off on an airplane, you no longer have to wait to read and compose your Gmail or Google Apps email on your phone. Today, we're happy to introduce Gmail for mobile 2.0, designed to be faster and more reliable in low signal areas and to even support basic offline access on phones like the Nokia N95, Sony Ericsson W910i, and BlackBerry Curve. Our latest version of Gmail for mobile also allows you to access multiple Gmail or Google Apps email accounts from the same application.<br /><br />To find out more about Gmail for mobile 2.0, <a href="http://googlemobile.blogspot.com/2008/10/introducing-gmail-for-mobile-20.html">check out this post</a> on the Google Mobile blog and watch this demo video:<br /><br /><object height="344" width="425"><param name="movie" value="//www.youtube.com/v/ykbMU58W08k&hl=en&fs=1"><param name="allowFullScreen" value="true"><embed src="//www.youtube.com/v/ykbMU58W08k&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object><br /><br /><span class="byline-author">Posted by Lawrence Chang, Product Marketing Manager, Google Mobile Team</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> Whether you've lost signal on the subway or turned your phone's wireless connection off on an airplane, you no longer have to wait to read and compose your Gmail or Google Apps email on your phone. Today, we're happy to introduce Gmail for mobile 2.0, designed to be faster and more reliable in low signal areas and to even support basic offline access on phones like the Nokia N95, Sony Ericsson W910i, and BlackBerry Curve. Our latest version of Gmail for mobile also allows you to access multiple Gmail or Google Apps email accounts from the same application.<br /><br />To find out more about Gmail for mobile 2.0, <a href="http://googlemobile.blogspot.com/2008/10/introducing-gmail-for-mobile-20.html">check out this post</a> on the Google Mobile blog and watch this demo video:<br /><br /><object height="344" width="425"><param name="movie" value="//www.youtube.com/v/ykbMU58W08k&hl=en&fs=1"><param name="allowFullScreen" value="true"><embed src="//www.youtube.com/v/ykbMU58W08k&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object><br /><br /><span class="byline-author">Posted by Lawrence Chang, Product Marketing Manager, Google Mobile Team</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2008/10/introducing-gmail-for-mobile-20.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Introducing Gmail for mobile 2.0&url=https://googleblog.blogspot.com/2008/10/introducing-gmail-for-mobile-20.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2008/10/introducing-gmail-for-mobile-20.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2008/10/introducing-gmail-for-mobile-20.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/faster%20web' rel='tag'> faster web </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/mobile' rel='tag'> mobile </a> </span> </div> </div> </div> <div class='post' data-id='7883894291984565217' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2008/08/search-quality-continued.html' itemprop='url' title='Search quality, continued'> Search quality, continued </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> August 1, 2008 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> A few weeks back Udi Manber <a href="http://googleblog.blogspot.com/2008/05/introduction-to-google-search-quality.html" id="vd4j" title="introduced the search quality grou">introduced the search quality group</a>, and the <a href="http://googleblog.blogspot.com/2008/07/introduction-to-google-ranking.html" id="e1kr" title="previous">previous</a> <a href="http://googleblog.blogspot.com/2008/07/technologies-behind-google-ranking.html" id="qbn7" title="posts">posts</a> in this series talked about the ranking of documents. While the ranking of web documents forms the core of what makes search at Google work so well, your search experience consists of much more than that. In this post, I'll describe the principles that guide our development of the overall search experience and how they are applied to the key aspects of search. I will also describe how we make sure we are on the right track through rigorous experimentation. And the next post in this series will describe some of the experiments currently underway.<br /> <br />Let me introduce myself. I'm Ben Gomes, and I've been working on search at Google since 1999, mostly on search quality. I've had the good fortune to contribute to most aspects of the search engine, from crawling the web to ranking. More recently, I've been responsible for the engineering of the interface for search and search features.<br /> <br />A common reaction from friends when I say that I now work on Google's search user interface is "What do you do? It never changes." Then they look at me suspiciously and tell me not to mess with a good thing. Google is fine just the way it is -- a plain, fast, simple web page. That's great, but how hard can that be?"<br /> <br />To help answer that question, let me start with our main goal in web search: to get you to the web pages you want as quickly as possible. Search is not an end in itself; it is merely a conduit. This goal may seem obvious, but it makes a search engine radically different from most other sites on the web, which measure their success by how long their users stay. We measure our web search success partly by how quickly you leave (happily, we hope!). There are several principles we use in getting you to the information you need as quickly as possible:</span><br /><ul id="e3ld" style="background-color: rgb(255, 255, 255);"><li id="e3ld0"> <b id="e4fw">A small page. </b> A small page is quick to download and generally faster for your browser to display. This results in a minimalist design aesthetic; extra fanciness in the interface slows down the page without giving you much benefit. <br /> </li><li id="vs1t2"> <b id="e4fw0">Complex algorithms with a simple presentation. </b> Many search features require a great deal of algorithmic complexity and a vast amount of data analysis to make them work well. The trick is to hide all that complexity behind a clean, intuitive user interface. Spelling correction, snippets, sitelinks and query refinements are examples of features that require sophisticated algorithms and are constantly improving. From the user's point of view search, almost invisibly, just works better. </li><li id="xrq1"> <b id="xrq10">Features that work everywhere</b>. Features must be designed such that the algorithms and presentation can be adapted to work in all languages and countries. Consider the problem of spell correction in Chinese, where user queries are often not broken up into words or Hebrew/Arabic, where text is written right to left (interestingly, this is believed to be an example of first-mover disadvantage -- when chiseling on stone, it is easier to hold the hammer in your right hand!).<br /> </li><li id="suk2"> <b id="t3c9">Data driven decisions - experiment, experiment, experiment</b>. We try to verify that we've done the right thing by running experiments. Designs that may seem promising may end up testing poorly.</li></ul><span id="f7-n7" style="background-color: rgb(255, 255, 255);">There are inherent tensions here. For instance, showing you more text (or images) for every result may enable you to better pick out the best result. But a result page that has too much information takes longer to download and longer to visually process. So every piece of information that we add to the result page has to be carefully considered to ensure that the benefit to the user outweighs the cost of dealing with that additional information. This is true of every part of the search experience, from typing in a query, to scanning results, to further exploration.<br /><br /></span>The start of your search is typing in a query. A common cause of frustration is if you don't know the correct spelling of a word! Spell correction -- which seems like a simple and obvious feature -- hides many technical challenges. No common English dictionaries would ever include the correct spelling of Britney Spears, for instance (who, probably completely unbeknownst<span id="f7-n9" style="background-color: rgb(255, 255, 255);"> to her, has become the poster child example for </span><a href="//www.google.com/jobs/britney.html" id="hr2o" style="background-color: rgb(255, 255, 255);" title="this feature">this feature</a><span id="f7-n10" style="background-color: rgb(255, 255, 255);">). We do a huge amount of <span id="c.j9" style="background-color: rgb(255, 255, 255);">analysis</span> of the billions of pages on the web and our query logs to determine what are "real words" on the web, and what are likely to be misspellings. The system that gives you the spell correction has to, in a fraction of a second, consider a huge number of possible words you </span><i id="xrq12" style="background-color: rgb(255, 255, 255);">might</i><span id="f7-n11" style="background-color: rgb(255, 255, 255);"> have meant (vastly greater than any dictionary ever manually constructed) and determine if there is a more likely query you meant to type. When we are confident that you actually meant to type something else, we take a rare liberty with our search results: we <span id="w-__" style="background-color: rgb(255, 255, 255);">try to</span> distract you from looking at the top result on the page. The spelling correction is in your line of sight and colored a bright must-see red. Furthermore, we now make sure that </span><i id="jq5y" style="background-color: rgb(255, 255, 255);">nothing else on the page is red</i><span id="f7-n12" style="background-color: rgb(255, 255, 255);">, unless it is as important to you as spelling! (so far, nothing is). The algorithms involved in spell correction are constantly getting better. They now work in a large number of languages and are even better at detecting when you have made a spelling mistake. Getting the spelling of your query right is so important that we are considering showing you the results of the spell-corrected query in the middle of the page (just in case you missed our bright red text at the top and bottom!</span>). <span id="f7-n13" style="background-color: rgb(255, 255, 255);"><br /><br />Having formulated your query correctly, the next task is to pick a page from the result list. For each result, we present the title and </span>url<span id="f7-n14" style="background-color: rgb(255, 255, 255);">, and a brief two line snippet</span><span id="id_10" style="background-color: rgb(255, 255, 255);">. Pages that don't have a proper title are often ignored by users. One of the bigger recent changes has been to extract titles for pages that don't specify an HTML title -- yet a title on the page is clearly right there, staring at you. To "see" that title that the author of the page intended, we analyze the HTML of the page to determine the title that <span id="jthu0" style="background-color: rgb(255, 255, 255);">the author</span> probably meant. This makes it far more likely that you will not ignore a page for want of a good title. Below the title comes the snippet, and a key early innovation was in what Google showed for the snippet. At the time, search engines showed you the first two lines of the web page; Google, instead, showed you parts of the page where your actual search keywords showed up (information retrieval experts call this "keywords-in-context"). Showing keywords-in-context is visually simple and virtually indistinguishable from the simpler style of snippets, but vastly more useful in helping you decide which page to visit. This simplicity belies underlying complexity: when we create a snippet we have to go through the actual text from each result to find the most relevant part (which contain your keywords) rather than just giving you the <span id="ptc5" style="background-color: rgb(255, 255, 255);">first few lines. </span></span> <span id="f7-n15" style="background-color: rgb(255, 255, 255);"><span id="ptc50" style="background-color: rgb(255, 255, 255);"><br /><br />We have been making improvements to our snippets over time with algorithms for determining the relevance of portions of the page. The changes range from the subtle </span><span id="w5lq" style="background-color: rgb(255, 255, 255);">--</span><span id="ptc51" style="background-color: rgb(255, 255, 255);"> we highlight synonyms of your query terms in the results </span><span id="d8jt" style="background-color: rgb(255, 255, 255);">--</span><span id="ptc52" style="background-color: rgb(255, 255, 255);"> to more obvious. Here'</span>s an example screenshot where the user searched for "arod" and you can see that Alex and Rodriguez are </span>bolded<span id="f7-n16" style="background-color: rgb(255, 255, 255);"> in the search result snippet, based on our analysis that you might plausibly be referring to him:<br /><br /></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ76AVEfQV6YaChPxL2wFueycUOA2OXsrxNlpx-nEGB-vUjgxdIlPdffG47R4F4WiNrHy8efPr0x_tdYtJmGm9dO1k2YTTaeQXG5oDOX54770KMKUXrv0KYcHiO41nAJekxmyfaA/s1600-h/search_Aug1_ex1.gif"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5229534971213884514" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ76AVEfQV6YaChPxL2wFueycUOA2OXsrxNlpx-nEGB-vUjgxdIlPdffG47R4F4WiNrHy8efPr0x_tdYtJmGm9dO1k2YTTaeQXG5oDOX54770KMKUXrv0KYcHiO41nAJekxmyfaA/s320/search_Aug1_ex1.gif" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" /></a>As a more obvious example, we now extract and show you the byline date from pages that have one. These byline dates are expressed in a myriad formats which we extract and present uniformly, so that you can scan them easily:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidIHOCibAYcraCyojUtA_ifQJTGf1KMZrbBxp4gnewYRYL6SG-qN5aGx2jeIcTiIGpbjmSDQ86gToia6YZYCZp0WoDXsyEeAE8r-gYSmuUoOpzeezWBu9xVqtc07IGVEHUPOwWtg/s1600-h/search_Aug1_ex2.gif"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5229535610787666098" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidIHOCibAYcraCyojUtA_ifQJTGf1KMZrbBxp4gnewYRYL6SG-qN5aGx2jeIcTiIGpbjmSDQ86gToia6YZYCZp0WoDXsyEeAE8r-gYSmuUoOpzeezWBu9xVqtc07IGVEHUPOwWtg/s320/search_Aug1_ex2.gif" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" /></a>For one of the most common types of user needs, navigational queries -- where you type in the name of a web site you know -- we have introduced shortcuts (we refer to them as sitelinks). These sitelinks allow you to get to the key parts of the site and illustrate many of the same principles alluded to above; they are a simple addition to the top search result that adds a small amount of extra text to the page.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeDNDKDppP_NoMGbMQgFVRBZgE3IFjt2aFVpuoE2ZTJJPXNjCcxeYUx8c7bEeADmdS074v7lyh2crqsnpnsCpcEDCUalqOdVXELVx2OPt-kQkVwy2QdsnBfsG3b3WL01XavyyxpA/s1600-h/search_aug1_ex3.gif"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5229535892770837234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeDNDKDppP_NoMGbMQgFVRBZgE3IFjt2aFVpuoE2ZTJJPXNjCcxeYUx8c7bEeADmdS074v7lyh2crqsnpnsCpcEDCUalqOdVXELVx2OPt-kQkVwy2QdsnBfsG3b3WL01XavyyxpA/s320/search_aug1_ex3.gif" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" /></a>For instance, the home page of Hewlett-Packard has almost 60 links, in a two-level menu system. Our algorithms, using a combination of different signals, pick the top ones among these that we think you are most likely to want to visit.<br /><br />What if you did not find what you were looking for among the top results? In that case, you probably need to try another query. We help you in this process by providing a set of query refinements at the bottom of the results page -- even if they don't give you the query that you need, they provide hints for different (likely more successful) directions in which you could refine your query. By placing the query refinements at the bottom of the page, the refinements don't distract users, but are there to help if the rest of the search results didn't serve a user's information need.<br /><br />I've described several key aspects of the search experience, including where we have made many changes over time -- some subtle, some more obvious. In making these changes to the search experience, how do we know we've succeeded, that we've not messed it up? We constantly evaluate our changes by sharing them with you! We launch proposed changes to a tiny fraction of our users and evaluate whether it seems to be helping or hurting their search experience. There are many metrics we use to determine if we've succeeded or failed. The process of measuring these improvements is a science in itself, with many potential pitfalls. Our experimental methodology allows us to explore a range of possibilities and launch the ones that work the best. For every feature that we launch, we have frequently run a large number of experiments that did not see the light of day.<br /><br />So let me answer the question I started with: We're actually constantly changing Google's result page and have been doing so for a long time. And no, we won't mess with a good thing. You won't let us.<br /><br />In the next post in this series, I'll talk about some of the experiments we are running, and what we hope to learn from them.<br /><br /><span class="byline-author">Posted by Ben Gomes, Distinguished Engineer</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> A few weeks back Udi Manber <a href="http://googleblog.blogspot.com/2008/05/introduction-to-google-search-quality.html" id="vd4j" title="introduced the search quality grou">introduced the search quality group</a>, and the <a href="http://googleblog.blogspot.com/2008/07/introduction-to-google-ranking.html" id="e1kr" title="previous">previous</a> <a href="http://googleblog.blogspot.com/2008/07/technologies-behind-google-ranking.html" id="qbn7" title="posts">posts</a> in this series talked about the ranking of documents. While the ranking of web documents forms the core of what makes search at Google work so well, your search experience consists of much more than that. In this post, I'll describe the principles that guide our development of the overall search experience and how they are applied to the key aspects of search. I will also describe how we make sure we are on the right track through rigorous experimentation. And the next post in this series will describe some of the experiments currently underway.<br /> <br />Let me introduce myself. I'm Ben Gomes, and I've been working on search at Google since 1999, mostly on search quality. I've had the good fortune to contribute to most aspects of the search engine, from crawling the web to ranking. More recently, I've been responsible for the engineering of the interface for search and search features.<br /> <br />A common reaction from friends when I say that I now work on Google's search user interface is "What do you do? It never changes." Then they look at me suspiciously and tell me not to mess with a good thing. Google is fine just the way it is -- a plain, fast, simple web page. That's great, but how hard can that be?"<br /> <br />To help answer that question, let me start with our main goal in web search: to get you to the web pages you want as quickly as possible. Search is not an end in itself; it is merely a conduit. This goal may seem obvious, but it makes a search engine radically different from most other sites on the web, which measure their success by how long their users stay. We measure our web search success partly by how quickly you leave (happily, we hope!). There are several principles we use in getting you to the information you need as quickly as possible:</span><br /><ul id="e3ld" style="background-color: rgb(255, 255, 255);"><li id="e3ld0"> <b id="e4fw">A small page. </b> A small page is quick to download and generally faster for your browser to display. This results in a minimalist design aesthetic; extra fanciness in the interface slows down the page without giving you much benefit. <br /> </li><li id="vs1t2"> <b id="e4fw0">Complex algorithms with a simple presentation. </b> Many search features require a great deal of algorithmic complexity and a vast amount of data analysis to make them work well. The trick is to hide all that complexity behind a clean, intuitive user interface. Spelling correction, snippets, sitelinks and query refinements are examples of features that require sophisticated algorithms and are constantly improving. From the user's point of view search, almost invisibly, just works better. </li><li id="xrq1"> <b id="xrq10">Features that work everywhere</b>. Features must be designed such that the algorithms and presentation can be adapted to work in all languages and countries. Consider the problem of spell correction in Chinese, where user queries are often not broken up into words or Hebrew/Arabic, where text is written right to left (interestingly, this is believed to be an example of first-mover disadvantage -- when chiseling on stone, it is easier to hold the hammer in your right hand!).<br /> </li><li id="suk2"> <b id="t3c9">Data driven decisions - experiment, experiment, experiment</b>. We try to verify that we've done the right thing by running experiments. Designs that may seem promising may end up testing poorly.</li></ul><span id="f7-n7" style="background-color: rgb(255, 255, 255);">There are inherent tensions here. For instance, showing you more text (or images) for every result may enable you to better pick out the best result. But a result page that has too much information takes longer to download and longer to visually process. So every piece of information that we add to the result page has to be carefully considered to ensure that the benefit to the user outweighs the cost of dealing with that additional information. This is true of every part of the search experience, from typing in a query, to scanning results, to further exploration.<br /><br /></span>The start of your search is typing in a query. A common cause of frustration is if you don't know the correct spelling of a word! Spell correction -- which seems like a simple and obvious feature -- hides many technical challenges. No common English dictionaries would ever include the correct spelling of Britney Spears, for instance (who, probably completely unbeknownst<span id="f7-n9" style="background-color: rgb(255, 255, 255);"> to her, has become the poster child example for </span><a href="//www.google.com/jobs/britney.html" id="hr2o" style="background-color: rgb(255, 255, 255);" title="this feature">this feature</a><span id="f7-n10" style="background-color: rgb(255, 255, 255);">). We do a huge amount of <span id="c.j9" style="background-color: rgb(255, 255, 255);">analysis</span> of the billions of pages on the web and our query logs to determine what are "real words" on the web, and what are likely to be misspellings. The system that gives you the spell correction has to, in a fraction of a second, consider a huge number of possible words you </span><i id="xrq12" style="background-color: rgb(255, 255, 255);">might</i><span id="f7-n11" style="background-color: rgb(255, 255, 255);"> have meant (vastly greater than any dictionary ever manually constructed) and determine if there is a more likely query you meant to type. When we are confident that you actually meant to type something else, we take a rare liberty with our search results: we <span id="w-__" style="background-color: rgb(255, 255, 255);">try to</span> distract you from looking at the top result on the page. The spelling correction is in your line of sight and colored a bright must-see red. Furthermore, we now make sure that </span><i id="jq5y" style="background-color: rgb(255, 255, 255);">nothing else on the page is red</i><span id="f7-n12" style="background-color: rgb(255, 255, 255);">, unless it is as important to you as spelling! (so far, nothing is). The algorithms involved in spell correction are constantly getting better. They now work in a large number of languages and are even better at detecting when you have made a spelling mistake. Getting the spelling of your query right is so important that we are considering showing you the results of the spell-corrected query in the middle of the page (just in case you missed our bright red text at the top and bottom!</span>). <span id="f7-n13" style="background-color: rgb(255, 255, 255);"><br /><br />Having formulated your query correctly, the next task is to pick a page from the result list. For each result, we present the title and </span>url<span id="f7-n14" style="background-color: rgb(255, 255, 255);">, and a brief two line snippet</span><span id="id_10" style="background-color: rgb(255, 255, 255);">. Pages that don't have a proper title are often ignored by users. One of the bigger recent changes has been to extract titles for pages that don't specify an HTML title -- yet a title on the page is clearly right there, staring at you. To "see" that title that the author of the page intended, we analyze the HTML of the page to determine the title that <span id="jthu0" style="background-color: rgb(255, 255, 255);">the author</span> probably meant. This makes it far more likely that you will not ignore a page for want of a good title. Below the title comes the snippet, and a key early innovation was in what Google showed for the snippet. At the time, search engines showed you the first two lines of the web page; Google, instead, showed you parts of the page where your actual search keywords showed up (information retrieval experts call this "keywords-in-context"). Showing keywords-in-context is visually simple and virtually indistinguishable from the simpler style of snippets, but vastly more useful in helping you decide which page to visit. This simplicity belies underlying complexity: when we create a snippet we have to go through the actual text from each result to find the most relevant part (which contain your keywords) rather than just giving you the <span id="ptc5" style="background-color: rgb(255, 255, 255);">first few lines. </span></span> <span id="f7-n15" style="background-color: rgb(255, 255, 255);"><span id="ptc50" style="background-color: rgb(255, 255, 255);"><br /><br />We have been making improvements to our snippets over time with algorithms for determining the relevance of portions of the page. The changes range from the subtle </span><span id="w5lq" style="background-color: rgb(255, 255, 255);">--</span><span id="ptc51" style="background-color: rgb(255, 255, 255);"> we highlight synonyms of your query terms in the results </span><span id="d8jt" style="background-color: rgb(255, 255, 255);">--</span><span id="ptc52" style="background-color: rgb(255, 255, 255);"> to more obvious. Here'</span>s an example screenshot where the user searched for "arod" and you can see that Alex and Rodriguez are </span>bolded<span id="f7-n16" style="background-color: rgb(255, 255, 255);"> in the search result snippet, based on our analysis that you might plausibly be referring to him:<br /><br /></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ76AVEfQV6YaChPxL2wFueycUOA2OXsrxNlpx-nEGB-vUjgxdIlPdffG47R4F4WiNrHy8efPr0x_tdYtJmGm9dO1k2YTTaeQXG5oDOX54770KMKUXrv0KYcHiO41nAJekxmyfaA/s1600-h/search_Aug1_ex1.gif"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5229534971213884514" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ76AVEfQV6YaChPxL2wFueycUOA2OXsrxNlpx-nEGB-vUjgxdIlPdffG47R4F4WiNrHy8efPr0x_tdYtJmGm9dO1k2YTTaeQXG5oDOX54770KMKUXrv0KYcHiO41nAJekxmyfaA/s320/search_Aug1_ex1.gif" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" /></a>As a more obvious example, we now extract and show you the byline date from pages that have one. These byline dates are expressed in a myriad formats which we extract and present uniformly, so that you can scan them easily:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidIHOCibAYcraCyojUtA_ifQJTGf1KMZrbBxp4gnewYRYL6SG-qN5aGx2jeIcTiIGpbjmSDQ86gToia6YZYCZp0WoDXsyEeAE8r-gYSmuUoOpzeezWBu9xVqtc07IGVEHUPOwWtg/s1600-h/search_Aug1_ex2.gif"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5229535610787666098" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidIHOCibAYcraCyojUtA_ifQJTGf1KMZrbBxp4gnewYRYL6SG-qN5aGx2jeIcTiIGpbjmSDQ86gToia6YZYCZp0WoDXsyEeAE8r-gYSmuUoOpzeezWBu9xVqtc07IGVEHUPOwWtg/s320/search_Aug1_ex2.gif" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" /></a>For one of the most common types of user needs, navigational queries -- where you type in the name of a web site you know -- we have introduced shortcuts (we refer to them as sitelinks). These sitelinks allow you to get to the key parts of the site and illustrate many of the same principles alluded to above; they are a simple addition to the top search result that adds a small amount of extra text to the page.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeDNDKDppP_NoMGbMQgFVRBZgE3IFjt2aFVpuoE2ZTJJPXNjCcxeYUx8c7bEeADmdS074v7lyh2crqsnpnsCpcEDCUalqOdVXELVx2OPt-kQkVwy2QdsnBfsG3b3WL01XavyyxpA/s1600-h/search_aug1_ex3.gif"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5229535892770837234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeDNDKDppP_NoMGbMQgFVRBZgE3IFjt2aFVpuoE2ZTJJPXNjCcxeYUx8c7bEeADmdS074v7lyh2crqsnpnsCpcEDCUalqOdVXELVx2OPt-kQkVwy2QdsnBfsG3b3WL01XavyyxpA/s320/search_aug1_ex3.gif" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" /></a>For instance, the home page of Hewlett-Packard has almost 60 links, in a two-level menu system. Our algorithms, using a combination of different signals, pick the top ones among these that we think you are most likely to want to visit.<br /><br />What if you did not find what you were looking for among the top results? In that case, you probably need to try another query. We help you in this process by providing a set of query refinements at the bottom of the results page -- even if they don't give you the query that you need, they provide hints for different (likely more successful) directions in which you could refine your query. By placing the query refinements at the bottom of the page, the refinements don't distract users, but are there to help if the rest of the search results didn't serve a user's information need.<br /><br />I've described several key aspects of the search experience, including where we have made many changes over time -- some subtle, some more obvious. In making these changes to the search experience, how do we know we've succeeded, that we've not messed it up? We constantly evaluate our changes by sharing them with you! We launch proposed changes to a tiny fraction of our users and evaluate whether it seems to be helping or hurting their search experience. There are many metrics we use to determine if we've succeeded or failed. The process of measuring these improvements is a science in itself, with many potential pitfalls. Our experimental methodology allows us to explore a range of possibilities and launch the ones that work the best. For every feature that we launch, we have frequently run a large number of experiments that did not see the light of day.<br /><br />So let me answer the question I started with: We're actually constantly changing Google's result page and have been doing so for a long time. And no, we won't mess with a good thing. You won't let us.<br /><br />In the next post in this series, I'll talk about some of the experiments we are running, and what we hope to learn from them.<br /><br /><span class="byline-author">Posted by Ben Gomes, Distinguished Engineer</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2008/08/search-quality-continued.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Search quality, continued&url=https://googleblog.blogspot.com/2008/08/search-quality-continued.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2008/08/search-quality-continued.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2008/08/search-quality-continued.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/faster%20web' rel='tag'> faster web </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/search' rel='tag'> search </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/search%20quality' rel='tag'> search quality </a> </span> </div> </div> </div> <div class='post' data-id='3764506002370826539' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2008/07/google-mobile-app-faster-easier-search.html' itemprop='url' title='Google Mobile App: faster, easier search on iPhone & iPod Touch'> Google Mobile App: faster, easier search on iPhone & iPod Touch </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> July 10, 2008 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <span class="byline-author">Posted by Robert Hamilton and David Singleton, Google Mobile Team</span><br /><br />Our first downloadable iPhone application is here. It's free, and it makes searching faster and easier. It's never as easy to type on a mobile phone as on a full keyboard and the mobile network is rarely as fast as a desktop connection. So Google Mobile App starts working as soon as you type. Smart features mean you'll get what you're looking for in fewer key presses than before. For instance, we've added the power of suggest (type "lost in" and one touch completes "lost in translation") and My Location (type "coffee" and one touch shows cafes right where you are on a map) to help you search.<br /><br />We've also brought Google search to your iPhone's address book to make it easy to contact the people you call or text most often. To learn more and see a video showing the App in action, check out <a title="this post" href="http://googlemobile.blogspot.com/2008/07/searching-on-iphone-can-be-fun.html" id="jmud">this post</a> on the Google Mobile Blog.<br /><br />U.S. users can get Google Mobile App right now. Tap the App Store icon on your iPhone, or open iTunes, and search for 'Google Mobile App'. (You need to have the latest iPhone software update to see it.) <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <span class="byline-author">Posted by Robert Hamilton and David Singleton, Google Mobile Team</span><br /><br />Our first downloadable iPhone application is here. It's free, and it makes searching faster and easier. It's never as easy to type on a mobile phone as on a full keyboard and the mobile network is rarely as fast as a desktop connection. So Google Mobile App starts working as soon as you type. Smart features mean you'll get what you're looking for in fewer key presses than before. For instance, we've added the power of suggest (type "lost in" and one touch completes "lost in translation") and My Location (type "coffee" and one touch shows cafes right where you are on a map) to help you search.<br /><br />We've also brought Google search to your iPhone's address book to make it easy to contact the people you call or text most often. To learn more and see a video showing the App in action, check out <a title="this post" href="http://googlemobile.blogspot.com/2008/07/searching-on-iphone-can-be-fun.html" id="jmud">this post</a> on the Google Mobile Blog.<br /><br />U.S. users can get Google Mobile App right now. Tap the App Store icon on your iPhone, or open iTunes, and search for 'Google Mobile App'. (You need to have the latest iPhone software update to see it.) <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2008/07/google-mobile-app-faster-easier-search.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Google Mobile App: faster, easier search on iPhone & iPod Touch&url=https://googleblog.blogspot.com/2008/07/google-mobile-app-faster-easier-search.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2008/07/google-mobile-app-faster-easier-search.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2008/07/google-mobile-app-faster-easier-search.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/faster%20web' rel='tag'> faster web </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/mobile' rel='tag'> mobile </a> </span> </div> </div> </div> <div class='post' data-id='2936025871843991805' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2008/04/whole-new-world-to-explore.html' itemprop='url' title='A whole new world to explore'> A whole new world to explore </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> April 16, 2008 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <span class="byline-author">Posted by Peter Birch, Product Manager, Google Earth</span><br /><br />On the Google Earth team, we're big fans of Earth Day, so much so that we couldn't hold out until it arrives next week to release our latest labor of love: <a href="http://earth.google.com/" id="v0rt" title="Google Earth 4.3">Google Earth 4.3</a>. With this version, we have completely rethought how you might interact with the 3D world. We've redesigned the navigation to make it much easier to fly from the heavens down to the streets of your town. And with all of the great user-created buildings in the <a href="http://sketchup.google.com/3dwarehouse/cldetails?mid=bd89a6376cd5d61bc8513927f8b58de3&ct=hpr1" id="ge4z" title="3d Warehouse">3D Warehouse</a>, we wanted to make it easy for you to get right up close to see the rich detail.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtURgdmPwxjhUmbSigmTP4jH5XfnjTIJaQ71bnj-eXq3zKz-iSgP3d-qOw10cDMjsc-SwkLU6RybxPExomr1r12d2ZtdvFmsKhKDb6i8qdB-pF4uWJIigEmEkxbqXWsHmmCbiVUg/s1600-h/4.3image.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5189706304386602210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtURgdmPwxjhUmbSigmTP4jH5XfnjTIJaQ71bnj-eXq3zKz-iSgP3d-qOw10cDMjsc-SwkLU6RybxPExomr1r12d2ZtdvFmsKhKDb6i8qdB-pF4uWJIigEmEkxbqXWsHmmCbiVUg/s320/4.3image.JPG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" /></a><br /><br />Here's a sample of what you'll find in this release:<br /><ul><li><span class="byline-author">New navigation - We've improved the zoom control so you can swoop down from outer space to street level in a single seamless motion. And with the addition of the "look" joystick, you can look up at buildings or across a mountain range. </span></li></ul><span class="byline-author"></span><ul><li><span class="byline-author">More, faster 3D buildings - It's more fun to navigate through a lot of new 3D content. Besides adding thousands of buildings contributed by people around the world, we've added dozens of photo-textured cities and towns in the U.S. and elsewhere. </span></li></ul><ul><li><span class="byline-author">Street View - The popular Google Maps feature makes its Google Earth debut.</span></li></ul><ul><li><span class="byline-author">Sunlight feature - Never seen the sunrise over the Alps? Now you can.</span></li></ul><ul><li><span class="byline-author">New languages - There are 12 new languages, including Danish, English (UK), Spanish (Latin American), Finnish, Hebrew, Indonesian, Norwegian, Portuguese (PT), Romanian, Swedish, Thai, and Turkish.</span></li></ul><span class="byline-author">Check out the <a href="http://google-latlong.blogspot.com/2008/04/introducing-google-earth-43.html">Lat Long blog</a> for all the details, or head over to our website at <a href="http://earth.google.com/">earth.google.com</a>. And stay tuned for more details about <a href="http://ww2.earthday.net/">Earth Day</a> coming soon.<br /></span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <span class="byline-author">Posted by Peter Birch, Product Manager, Google Earth</span><br /><br />On the Google Earth team, we're big fans of Earth Day, so much so that we couldn't hold out until it arrives next week to release our latest labor of love: <a href="http://earth.google.com/" id="v0rt" title="Google Earth 4.3">Google Earth 4.3</a>. With this version, we have completely rethought how you might interact with the 3D world. We've redesigned the navigation to make it much easier to fly from the heavens down to the streets of your town. And with all of the great user-created buildings in the <a href="http://sketchup.google.com/3dwarehouse/cldetails?mid=bd89a6376cd5d61bc8513927f8b58de3&ct=hpr1" id="ge4z" title="3d Warehouse">3D Warehouse</a>, we wanted to make it easy for you to get right up close to see the rich detail.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtURgdmPwxjhUmbSigmTP4jH5XfnjTIJaQ71bnj-eXq3zKz-iSgP3d-qOw10cDMjsc-SwkLU6RybxPExomr1r12d2ZtdvFmsKhKDb6i8qdB-pF4uWJIigEmEkxbqXWsHmmCbiVUg/s1600-h/4.3image.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5189706304386602210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtURgdmPwxjhUmbSigmTP4jH5XfnjTIJaQ71bnj-eXq3zKz-iSgP3d-qOw10cDMjsc-SwkLU6RybxPExomr1r12d2ZtdvFmsKhKDb6i8qdB-pF4uWJIigEmEkxbqXWsHmmCbiVUg/s320/4.3image.JPG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" /></a><br /><br />Here's a sample of what you'll find in this release:<br /><ul><li><span class="byline-author">New navigation - We've improved the zoom control so you can swoop down from outer space to street level in a single seamless motion. And with the addition of the "look" joystick, you can look up at buildings or across a mountain range. </span></li></ul><span class="byline-author"></span><ul><li><span class="byline-author">More, faster 3D buildings - It's more fun to navigate through a lot of new 3D content. Besides adding thousands of buildings contributed by people around the world, we've added dozens of photo-textured cities and towns in the U.S. and elsewhere. </span></li></ul><ul><li><span class="byline-author">Street View - The popular Google Maps feature makes its Google Earth debut.</span></li></ul><ul><li><span class="byline-author">Sunlight feature - Never seen the sunrise over the Alps? Now you can.</span></li></ul><ul><li><span class="byline-author">New languages - There are 12 new languages, including Danish, English (UK), Spanish (Latin American), Finnish, Hebrew, Indonesian, Norwegian, Portuguese (PT), Romanian, Swedish, Thai, and Turkish.</span></li></ul><span class="byline-author">Check out the <a href="http://google-latlong.blogspot.com/2008/04/introducing-google-earth-43.html">Lat Long blog</a> for all the details, or head over to our website at <a href="http://earth.google.com/">earth.google.com</a>. And stay tuned for more details about <a href="http://ww2.earthday.net/">Earth Day</a> coming soon.<br /></span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2008/04/whole-new-world-to-explore.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:A whole new world to explore&url=https://googleblog.blogspot.com/2008/04/whole-new-world-to-explore.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2008/04/whole-new-world-to-explore.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2008/04/whole-new-world-to-explore.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/faster%20web' rel='tag'> faster web </a> </span> </div> </div> </div> <div class='post' data-id='3294927040828811113' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2007/11/road-to-better-path-finding.html' itemprop='url' title='The road to better path-finding'> The road to better path-finding </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> November 6, 2007 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <span class="byline-author">Posted by Barry Brumitt, Software Engineer</span><br /><br />Way back at the end of 2005, Google Maps' driving directions were on par with other sites, providing basic driving directions in a few seconds. But the nature of the existing system made it nigh impossible to make it faster, add new features, or improve the quality of the routes. And better directions can yield tangible real-world benefits by saving people time and fuel, alleviating frustration, and making travel more pleasant. For all these reasons, it made sense to take a fresh look at the problem and to try to reinvent things such that we could provide a service markedly superior to the status quo.<br /><br />It's important to us to solve big problems. <a href="http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" id="mnbi" title="automatically finding good routes">Automatically finding routes</a> quickly is a hard problem -- especially at a global scale (there are<i> several hundred million</i> road segments worldwide). Even if a routing program is needed to only look at 10% of the map and only examine each segment for a microsecond, it would take tens of seconds to compute a path. Route-finding has to be done automatically because it would be impossibly time-consuming to compute the best routes between all pairs of locations by hand.<br /><br />Fortunately, we have the tools, technologies, and expertise that make it easier to tackle such hard problems and to build systems for searching large data sets quickly. A small group of engineers (of which I was a part) created the Google Maps route-finding project in <a href="//maps.google.com/maps?f=q&hl=en&geocode&time&date&ttype&q=kirkland,+WA&ie=UTF8&z=13&iwloc=addr&om=1" id="y:4i" title="Kirkland, WA">Kirkland, WA</a> with the hope of building a world-class system for route-finding. This is the first project I've worked on at Google, and it has given me the opportunity to learn all about the infrastructure we have to build and launch products and features.<br /><br />We started with the geographic data sets already in use by other groups at Google. Then we designed, built, tested, and deployed a complete route-finding solution in under 12 months. Commutes across the <a href="//maps.google.com/maps?f=q&hl=en&geocode&time&date&ttype&q=from:+23rd+%26+Union,+Seattle,+WA+to:+720+4th+Ave,+Kirkland,+WA&sll=47.678334,-122.195177&sspn=0.025225,0.042572&ie=UTF8&z=13&om=1">520 Bridge from Seattle</a> became a favorite test query. As someone with a background in path planning and robotics, it's been great to work on a problem with such substantial theoretical and practical aspects. It took 10 months of hard work, thousands of <a href="http://research.google.com/archive/mapreduce.html">MapReduce</a> passes, and an uncountable number of lattes to complete.<br /><br />And 'complete' doesn't really capture it. Our new route-finding system is hundreds of times faster: it can find and describe a <a href="//maps.google.com/maps?f=d&hl=en&geocode=15854922615829077343,54.943430,-162.533090&time&date&ttype&saddr=Alaska+Marine+Hwy/Cold+Bay-False+Pass+Fry+@54.943430,+-162.533090&daddr=24.546967,-81.802654&mra=dme&mrcr=0&mrsp=1&sz=14&sll=24.545093,-81.798363&sspn=0.065661,0.085144&ie=UTF8&ll=48.341646,-122.871094&spn=96.207841,174.375&z=3&om=1">cross-continental shortest path</a> in well under a second. Shorter paths can be found proportionately faster.<br /><br />As evidenced by our '<a href="http://google-latlong.blogspot.com/2007/06/its-click-drag-situation.html">draggable directions</a>' launch earlier this year, this kind of performance fundamentally changes your Maps experience. It's now possible for you to change your route by simply dragging it or its endpoints. (<a href="//maps.google.com/maps?f=d&hl=en&geocode=9791209313822906849,47.589300,-122.257610&time&date&ttype&saddr=47.613223,-122.302208&daddr=I-90+E+@47.589300,+-122.257610+to:720+4th+Ave,+Kirkland,+WA&mra=dme&mrcr=0&mrsp=0&sz=13&sll=47.603732,-122.250538&sspn=0.101044,0.170288&ie=UTF8&z=13&om=1">Here's an example</a> of the above route adjusted to use I-90 instead of WA-520.) No other planning service provides this feature, and it would have been impossible to ship without the massive speedup provided by the system we created.<br /><br />In the last few months, we've also added other features, like '<a href="//maps.google.com/maps?f=d&hl=en&geocode=1755982661155317002,47.612970,-122.302710&time&date&ttype&saddr=23rd+Ave+@47.612970,+-122.302710&daddr=720+4th+Ave,+Kirkland,+WA&mra=cc&dirflg=h&sll=47.603732,-122.250538&sspn=0.101044,0.170288&ie=UTF8&ll=47.675097,-122.24556&spn=0.201812,0.340576&z=12&om=1">avoid highways</a>' and '<a href="http://google-latlong.blogspot.com/2007/08/how-long-will-it-take-at-rush-hour.html">estimated time-in-traffic</a>.' Plus, we now cover about 50 countries worldwide. We've raised the bar for what a route-finding system can and should provide. We're pleased with what we've built, and you can expect further improvements in the coming months.<br /><br />Just recently, the Google Maps route-finding team moved to our new <a href="//maps.google.com/maps?f=q&hl=en&geocode&time&date&ttype&q=fremont,+wa&ie=UTF8&ll=47.657815,-122.351689&spn=0.02431,0.042572&t=h&z=15&iwloc=addr&om=1">Fremont</a> Engineering office. I'm happy to report we don't have to <a href="//maps.google.com/maps?f=d&hl=en&geocode=1755982661155317002,47.612970,-122.302710;16925305443141195884,47.649580,-122.349740&time&date&ttype&saddr=23rd+Ave+@47.612970,+-122.302710&daddr=47.648954,-122.350488&mra=dme&mrcr=0&mrsp=1&sz=17&dirflg=h&sll=47.648361,-122.350552&sspn=0.00631,0.010643&ie=UTF8&ll=47.634627,-122.325211&spn=0.050492,0.085144&z=14&om=1">commute</a> across Lake Washington at all anymore. In fact, nearly half the team cycles in every day! And <a href="//www.google.com/support/jobs/bin/static.py?page=why-wa.html">we're always looking</a> for great people, so if any of this sounds like the kind of challenge you'd be up for, we'd love to hear from you. <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <span class="byline-author">Posted by Barry Brumitt, Software Engineer</span><br /><br />Way back at the end of 2005, Google Maps' driving directions were on par with other sites, providing basic driving directions in a few seconds. But the nature of the existing system made it nigh impossible to make it faster, add new features, or improve the quality of the routes. And better directions can yield tangible real-world benefits by saving people time and fuel, alleviating frustration, and making travel more pleasant. For all these reasons, it made sense to take a fresh look at the problem and to try to reinvent things such that we could provide a service markedly superior to the status quo.<br /><br />It's important to us to solve big problems. <a href="http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" id="mnbi" title="automatically finding good routes">Automatically finding routes</a> quickly is a hard problem -- especially at a global scale (there are<i> several hundred million</i> road segments worldwide). Even if a routing program is needed to only look at 10% of the map and only examine each segment for a microsecond, it would take tens of seconds to compute a path. Route-finding has to be done automatically because it would be impossibly time-consuming to compute the best routes between all pairs of locations by hand.<br /><br />Fortunately, we have the tools, technologies, and expertise that make it easier to tackle such hard problems and to build systems for searching large data sets quickly. A small group of engineers (of which I was a part) created the Google Maps route-finding project in <a href="//maps.google.com/maps?f=q&hl=en&geocode&time&date&ttype&q=kirkland,+WA&ie=UTF8&z=13&iwloc=addr&om=1" id="y:4i" title="Kirkland, WA">Kirkland, WA</a> with the hope of building a world-class system for route-finding. This is the first project I've worked on at Google, and it has given me the opportunity to learn all about the infrastructure we have to build and launch products and features.<br /><br />We started with the geographic data sets already in use by other groups at Google. Then we designed, built, tested, and deployed a complete route-finding solution in under 12 months. Commutes across the <a href="//maps.google.com/maps?f=q&hl=en&geocode&time&date&ttype&q=from:+23rd+%26+Union,+Seattle,+WA+to:+720+4th+Ave,+Kirkland,+WA&sll=47.678334,-122.195177&sspn=0.025225,0.042572&ie=UTF8&z=13&om=1">520 Bridge from Seattle</a> became a favorite test query. As someone with a background in path planning and robotics, it's been great to work on a problem with such substantial theoretical and practical aspects. It took 10 months of hard work, thousands of <a href="http://research.google.com/archive/mapreduce.html">MapReduce</a> passes, and an uncountable number of lattes to complete.<br /><br />And 'complete' doesn't really capture it. Our new route-finding system is hundreds of times faster: it can find and describe a <a href="//maps.google.com/maps?f=d&hl=en&geocode=15854922615829077343,54.943430,-162.533090&time&date&ttype&saddr=Alaska+Marine+Hwy/Cold+Bay-False+Pass+Fry+@54.943430,+-162.533090&daddr=24.546967,-81.802654&mra=dme&mrcr=0&mrsp=1&sz=14&sll=24.545093,-81.798363&sspn=0.065661,0.085144&ie=UTF8&ll=48.341646,-122.871094&spn=96.207841,174.375&z=3&om=1">cross-continental shortest path</a> in well under a second. Shorter paths can be found proportionately faster.<br /><br />As evidenced by our '<a href="http://google-latlong.blogspot.com/2007/06/its-click-drag-situation.html">draggable directions</a>' launch earlier this year, this kind of performance fundamentally changes your Maps experience. It's now possible for you to change your route by simply dragging it or its endpoints. (<a href="//maps.google.com/maps?f=d&hl=en&geocode=9791209313822906849,47.589300,-122.257610&time&date&ttype&saddr=47.613223,-122.302208&daddr=I-90+E+@47.589300,+-122.257610+to:720+4th+Ave,+Kirkland,+WA&mra=dme&mrcr=0&mrsp=0&sz=13&sll=47.603732,-122.250538&sspn=0.101044,0.170288&ie=UTF8&z=13&om=1">Here's an example</a> of the above route adjusted to use I-90 instead of WA-520.) No other planning service provides this feature, and it would have been impossible to ship without the massive speedup provided by the system we created.<br /><br />In the last few months, we've also added other features, like '<a href="//maps.google.com/maps?f=d&hl=en&geocode=1755982661155317002,47.612970,-122.302710&time&date&ttype&saddr=23rd+Ave+@47.612970,+-122.302710&daddr=720+4th+Ave,+Kirkland,+WA&mra=cc&dirflg=h&sll=47.603732,-122.250538&sspn=0.101044,0.170288&ie=UTF8&ll=47.675097,-122.24556&spn=0.201812,0.340576&z=12&om=1">avoid highways</a>' and '<a href="http://google-latlong.blogspot.com/2007/08/how-long-will-it-take-at-rush-hour.html">estimated time-in-traffic</a>.' Plus, we now cover about 50 countries worldwide. We've raised the bar for what a route-finding system can and should provide. We're pleased with what we've built, and you can expect further improvements in the coming months.<br /><br />Just recently, the Google Maps route-finding team moved to our new <a href="//maps.google.com/maps?f=q&hl=en&geocode&time&date&ttype&q=fremont,+wa&ie=UTF8&ll=47.657815,-122.351689&spn=0.02431,0.042572&t=h&z=15&iwloc=addr&om=1">Fremont</a> Engineering office. I'm happy to report we don't have to <a href="//maps.google.com/maps?f=d&hl=en&geocode=1755982661155317002,47.612970,-122.302710;16925305443141195884,47.649580,-122.349740&time&date&ttype&saddr=23rd+Ave+@47.612970,+-122.302710&daddr=47.648954,-122.350488&mra=dme&mrcr=0&mrsp=1&sz=17&dirflg=h&sll=47.648361,-122.350552&sspn=0.00631,0.010643&ie=UTF8&ll=47.634627,-122.325211&spn=0.050492,0.085144&z=14&om=1">commute</a> across Lake Washington at all anymore. In fact, nearly half the team cycles in every day! And <a href="//www.google.com/support/jobs/bin/static.py?page=why-wa.html">we're always looking</a> for great people, so if any of this sounds like the kind of challenge you'd be up for, we'd love to hear from you. <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2007/11/road-to-better-path-finding.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:The road to better path-finding&url=https://googleblog.blogspot.com/2007/11/road-to-better-path-finding.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2007/11/road-to-better-path-finding.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2007/11/road-to-better-path-finding.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/faster%20web' rel='tag'> faster web </a> </span> </div> </div> </div> <div class='blog-pager' id='blog-pager'> <a class='home-link' href='https://googleblog.blogspot.com/'> <i class='material-icons'>  </i> </a> <i class='material-icons disabled'>  </i> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='https://googleblog.blogspot.com/search/label/faster%20web?updated-max=2007-11-06T15:47:00-08:00&max-results=20&start=20&by-date=false' id='Blog1_blog-pager-older-link' title='Older Posts'> <i class='material-icons'>  </i> </a> </span> </div> <div class='clear'></div> </div></div> </div> </div> <div class='col-right'> <div class='section' id='sidebar-top'><div class='widget HTML' data-version='1' id='HTML8'> <div class='widget-content'> <div class='searchBox'><input type='text' title='Search This Blog' placeholder='Search blog ...' /></div> </div> <div class='clear'></div> </div></div> <div id='aside'> <div class='section' id='sidebar'><div class='widget Label' data-version='1' id='Label1'> <div class='tab'> <img class='sidebar-icon' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYpJREFUeNrs2aFuwzAQBmAvKRkMKRjZA4QMDJaWFgyMjuzFRg37DIUlA3uFkoGQSaWzJU+tpri5O9+l/zSfdFJlpe59yTmyVedq1PjfcZMZ70NuQnaF8w8htyE/rABtpviXkLcK88c5HhLkMBfgVan43zfFBNGMjHVGT/s55KP2pAvidbGHd+nzKt1RKSLG3rKF1iPFv6UWiPke8i7kEqGdGsI1O+LYVdqJAjgirwkKYD0ytkJBUNbAMvX8V3q9PhUsYvU1sWD8SO/sQvx2ahxOiNoJCSBCoAHYCEQAC4EKICOQASQEOmAS8RcAFxFN5hiIiugpgC3wk9hQAHH/70EBHXUN7IER5EWMiBgo2+nzOKQv9SCAeEM/OQAkhE/ncccFICB87qzQMia5FsJfOui0zMnmRvipU1ormHQuxGTxUsAcCFLxJQBLBLn4UoAFglW8BkATwS5eC6CBEBWvCShBiIvXBkgQRcVbADiI4uKtABSESvGWgB9EzHt3+tNwyO0qa9SoIYtvAQYAqDJhaWWeMecAAAAASUVORK5CYII='/> <h2> Labels </h2> <i class='material-icons arrow'>  </i> </div> <div class='widget-content list-label-widget-content'> <ul> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/accessibility'> accessibility </a> <span dir='ltr'> 41 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/acquisition'> acquisition </a> <span dir='ltr'> 26 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/ads'> ads </a> <span dir='ltr'> 131 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/Africa'> Africa </a> <span dir='ltr'> 19 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/Android'> Android </a> <span dir='ltr'> 58 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/apps'> apps </a> <span dir='ltr'> 419 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/April%201'> April 1 </a> <span dir='ltr'> 4 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/Asia'> Asia </a> <span dir='ltr'> 39 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/books%20%2B%20book%20search'> books + book search </a> <span dir='ltr'> 48 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/commerce'> commerce </a> <span dir='ltr'> 12 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/computing%20history'> computing history </a> <span dir='ltr'> 7 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/crisis%20response'> crisis response </a> <span dir='ltr'> 33 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/culture'> culture </a> <span dir='ltr'> 12 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/developers'> developers </a> <span dir='ltr'> 120 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/diversity'> diversity </a> <span dir='ltr'> 35 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/doodles'> doodles </a> <span dir='ltr'> 68 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/education%20and%20research'> education and research </a> <span dir='ltr'> 144 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/entrepreneurs%20at%20Google'> entrepreneurs at Google </a> <span dir='ltr'> 14 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/Europe'> Europe </a> <span dir='ltr'> 46 </span> </li> <li> <span dir='ltr'> faster web </span> <span dir='ltr'> 16 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/free%20expression'> free expression </a> <span dir='ltr'> 61 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/google.org'> google.org </a> <span dir='ltr'> 73 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/googleplus'> googleplus </a> <span dir='ltr'> 50 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/googlers%20and%20culture'> googlers and culture </a> <span dir='ltr'> 202 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/green'> green </a> <span dir='ltr'> 102 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/Latin%20America'> Latin America </a> <span dir='ltr'> 18 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/maps%20and%20earth'> maps and earth </a> <span dir='ltr'> 194 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/mobile'> mobile </a> <span dir='ltr'> 124 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/online%20safety'> online safety </a> <span dir='ltr'> 19 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/open%20source'> open source </a> <span dir='ltr'> 19 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/photos'> photos </a> <span dir='ltr'> 39 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/policy%20and%20issues'> policy and issues </a> <span dir='ltr'> 139 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/politics'> politics </a> <span dir='ltr'> 71 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/privacy'> privacy </a> <span dir='ltr'> 66 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/recruiting%20and%20hiring'> recruiting and hiring </a> <span dir='ltr'> 32 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/scholarships'> scholarships </a> <span dir='ltr'> 31 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/search'> search </a> <span dir='ltr'> 505 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/search%20quality'> search quality </a> <span dir='ltr'> 24 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/search%20trends'> search trends </a> <span dir='ltr'> 118 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/security'> security </a> <span dir='ltr'> 36 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/small%20business'> small business </a> <span dir='ltr'> 31 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/user%20experience%20and%20usability'> user experience and usability </a> <span dir='ltr'> 41 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/youtube%20and%20video'> youtube and video </a> <span dir='ltr'> 140 </span> </li> </ul> <div class='clear'></div> </div> </div><div class='widget BlogArchive' data-version='1' id='BlogArchive1'> <div class='tab'> <i class='material-icons icon'>  </i> <h2> Archive </h2> <i class='material-icons arrow'>  </i> </div> <div class='widget-content'> <div id='ArchiveList'> <div id='BlogArchive1_ArchiveList'> <ul class='hierarchy'> <li class='archivedate expanded'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy toggle-open'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/'> 2016 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate expanded'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/'> 2015 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/'> 2014 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/'> 2013 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/'> 2012 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/'> 2011 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/'> 2010 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/'> 2009 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/'> 2008 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/'> 2007 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/'> 2006 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/'> 2005 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/'> 2004 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> </div> </div> <div class='clear'></div> </div> </div><div class='widget HTML' data-version='1' id='HTML6'> <div class='widget-content'> <a href="http://googleblog.blogspot.com/atom.xml"> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAihJREFUeNrsWa9Pw0AU7viRMDFRBAkzJDMIBIhJJhCzk7NILIqMv4AEhdz+BCY3OYssAlGBoAJREpZwAlHEBO8lr8nSvNeVbu1dyX3JlzTrXfa+u/e9d7c5joWFhYVO1Fa8PwH2gK6m+BRwAvSlAdsrgr8E1jUuMH73GTAEzrkBWymTewZlihhLmgDXIAFuHgGVQOUF7OSYM1p6PgTuA1vAZlUEvAnPdapcMY0VICECekQ0XRfYrqoHsAGNgXfAoMomRiFDEhOZkkL3S88hMaB2LwXp0bj+ps2edpToZpjfoIDQtBeU+xjoDzP2G/gCPKZ5f8WsCAFJoJgOCcFdWSTeL9YQMSvTA1h9BkI5jaiXhLpSCL/8mVZY0UpyJ9ZdOkniu1dmJ96BpzQu9w6s28gcOq9j6pwLdR8/36NK5CQKwJSMrb2MhhSglBpt4UjsrdsnNu0B3J0HCozbCc4TjyY2srEgos/4RQljCzNxl4ireQD8FOq+T+W0mTB2g7njhlR+Sy2jsXFvU658U8YTbeaGpdIu7mWkEAq5ZtIjIhFZdtfX7QHckSvB2B6zC3VdAkZk0kAQwaXTk/CzTXK3wjIExCs6ZJpTnE4uY1KV+KzFzA3KTiFPENHJkOPcsfpLhwe4btoSuvUqAR+6TOxlCE6ZfKUsJLgsqGW8OpqAGx2X+sLxrwUog+JUeQRMDBIwyXOcnlPtPnL0/UsT/8LnOxYWFhZG4leAAQAAQHEaYuzHbAAAAABJRU5ErkJggg==" class="sidebar-icon" /> <h2>Feed</h2> </a> </div> <div class='clear'></div> </div></div> <div class='section' id='sidebar-bottom'><div class='widget HTML' data-version='1' id='HTML5'> <div class='widget-content'> <div class="followgooglewrapper"> <a href="https://plus.google.com/+google" rel="publisher" style="text-decoration:none;display:inline-block;color:#333;text-align:center; font:13px/16px arial,sans-serif;white-space:nowrap;"> <span style="display:inline-block;font-weight:bold;vertical-align:top;margin-right:5px; margin-top:0px;">Google</span><span style="display:inline-block;vertical-align:top;margin-right:13px; margin-top:0px;">on</span> <img src="//ssl.gstatic.com/images/icons/gplus-16.png" alt="Google+" style="border:0;width:16px;height:16px;"/></a> </div> <div class='followgooglewrapper'> <script src="https://apis.google.com/js/plusone.js"></script> <div class="g-ytsubscribe" data-channel="Google" data-layout="default"></div> </div> <div class="share followgooglewrapper"> <button data-href="https://twitter.com/intent/follow?original_referer=http://googleblog.blogspot.com/&screen_name=google" onclick='sharingPopup(this);' id='twitter-share'><span class="twitter-follow">Follow @google</span></button> <script> function sharingPopup (button) { var url = button.getAttribute("data-href"); window.open( url,'popUpWindow','height=500,width=500,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'); } </script> </div> <!-- Facebook --> <div class="fb-follow-button"> <a href="https://www.facebook.com/google" target="_blank"><img class="fb-follow" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoPDgpnJSLm_h0QB9lJTCDnBDrjiGzSZbejjj1WyplhO34Rk92e2Q8JPubqxhTADvPVxcjSLhgJPENyAWZ2ju2MoTO7kXkCsKLCMUJ67g1KWG3T83KsTG_MVGY1L6ANk5v2Bn3Xw/s1600/facebook-logo.png" />Follow</a> </div> <!-- Instagram --> <style>.ig-b- { display: inline-block; } .ig-b- img { visibility: hidden; } .ig-b-:hover { background-position: 0 -60px; } .ig-b-:active { background-position: 0 -120px; } .ig-b-v-24 { width: 137px; height: 24px; background: url(//badges.instagram.com/static/images/ig-badge-view-sprite-24.png) no-repeat 0 0; } @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) { .ig-b-v-24 { background-image: url(//badges.instagram.com/static/images/ig-badge-view-sprite-24@2x.png); background-size: 160px 178px; } }</style> <div class="followgooglewrapper"> <a href="http://instagram.com/google?ref=badge" class="ig-b- ig-b-v-24" target="_blank"><img src="//badges.instagram.com/static/images/ig-badge-view-24.png" alt="Instagram" /></a> </div> </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML1'> <div class='widget-content'> <div class="text"> Give us feedback in our <br /> <a href="http://support.google.com/bin/static.py?hl=en&page=portal_groups.cs">Product Forums</a>. </div> </div> <div class='clear'></div> </div></div> </div> </div> <div style='clear:both;'></div> </div> <!-- Footer --> <div class='footer-outer loading'> <div class='footer-inner'> <div class='footer-inner-2'> <div style='width:33%;float:left;'> <div class='section' id='footer-1'><div class='widget HTML' data-version='1' id='HTML2'> <h2 class='title'> Company-wide </h2> <div class='widget-content'> <ul> <li> <a href="//googlepublicpolicy.blogspot.com/" title="Public Policy">Public Policy Blog</a> </li> <li> <a href="//googleresearch.blogspot.com/" title="Research">Research Blog</a> </li> <li> <a href="//googleforstudents.blogspot.com/" title="Student">Student Blog</a> </li> </ul> </div> <div class='clear'></div> </div></div> </div> <div style='width:33%;float:left;'> <div class='section' id='footer-2'><div class='widget HTML' data-version='1' id='HTML3'> <h2 class='title'> Products </h2> <div class='widget-content'> <ul> <li> <a href="//officialandroid.blogspot.com/" title="Android">Official Android Blog</a> </li> <li> <a href="//chrome.blogspot.com/" title="Chrome">Chrome Blog</a> </li> <li> <a href="//google-latlong.blogspot.com/" title="Lat Long">Lat Long Blog</a> </li> </ul> </div> <div class='clear'></div> </div></div> </div> <div style='width:33%;float:left;'> <div class='section' id='footer-3'><div class='widget HTML' data-version='1' id='HTML4'> <h2 class='title'> Developers </h2> <div class='widget-content'> <ul> <li> <a href="//googledevelopers.blogspot.com/" title="Developers">Developers Blog</a> </li> <li> <a href="//googleadsdeveloper.blogspot.com/" title="Ads Developer">Ads Developer Blog</a> </li> <li> <a href="//android-developers.blogspot.com/" title="Android">Android Developers Blog</a> </li> </ul> </div> <div class='clear'></div> </div></div> </div> <div style='clear:both;'></div> </div> </div> </div> <div class='google-footer-outer loading'> <div id='google-footer'> <a href='//www.google.com/'> <img class='google-logo-dark' height='36' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAABICAYAAABFoT/eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAACLVJREFUeNrsXd+L20YQ3vOprdLqiMXFXE2qB7dcwEcTSB7ykIc+9A/PQx/yEMq1TWhNuYIpJriNr7XpmZ5IxFEvmW2EKs3Ornb1w50PxIFP0kiz387OzM6uhGAwGAxGP3Ho+f7x7ri1O7LdccPqZjSNA4dEHsLfaHcEFedJom93x9Xu2OyOFTcBo6sED3fHZHeMEELrkAHJF0B8Rr+gDFsZ5n0luLTQ95AXs4W06D/tjpR50xtM4CjD0y48YGB4rnyZxNOzyA7zBHr+nLnDaJLg0mo/ALekCasg3Z4XbM0ZdTEgnDPeHY8bIne+Qz2GvwyGNwsuyT218KWvIIBMcwGpLiipcolecjMxfBDchNyS1EvxLiOSIecp31q6IJ/C3yrIrMqMm4jhg+AxkdwbIO3aUO4KjqqMjCT3uaazMBhWBJfuxH3CtRfiXf66DhSRZWbmlMnNaILgZxrXJQO/eO3wORZwvwm4JUxuhheCjzVBYAbW1ces45YDSoZrFNOEE835M8FT6oyeEnws8Fz3QnBxFKPHBMem4GU+m6fPGb0leCTwWcM5B36MPgeZI01gudyDdw3hPeXfo8L/rmCUWnuMMdqUL2WqWeRbhf+twfVsO7YagZGNC79fw7OthEVtkiJ4jJzTd3KPwf3CRqhhiTu23AP5sl0/0xiwISQXpNwLIJK87mHF+U8ddzzdmgKlGzlPYjyxGJQouIhNT4k9AqWEFkqfguIvagTWbcq3KW1WE3xS3m8NtA9WS451xofwjKT5kkDoK/b6mDk5FfXr1lWDL4BofZEv2/SRsK/EHGlGdBdu8QNRb8HMCFwt7Yy3DDI/QP7fx5z3VLhdlJEIs4rKNuXXJXdxZPdB7kfCzWqwCO4V1LHgLjInX3tQ1KzCR52Cz+vDj1dydeRuS74rcvs2Pi6fT5H8OaaUQPQPYcWwRSGXyhhscn5dpAnEFMkuEZetbfkTAnlSuH4DxisE+aMGeJAQ3lFl7C4LJE6QWCaCd583ORQ1jYAwjFctal7nOs2ZZvicwvlZx+RHGrcoAwKUVX8uwcc/9TT65INeDOr5shL9LDRB6QTeIy3zwfdh3WOi6axLCEhSjXU7F3h6LqggUtvyJxpynwu8tDkD98fXApOxRj8zoZ9MnGveYVIVZKaGrkBXCY65BCYNN9NkjpKOyQ81Q79JgdxS+Jn3SDTEXRI7SWzaiSTB32oI3nU3BvMfM0urhOVYgwKhuiAfc4tM07wXwm1ZRoQYSl2NUwiu01fEAHVcpixd745FvVz4dzUUc0o8rwoLy8ZSwU6CyFx1RP5II9+1bFPEFs9HWbNLiimDXE+vCm7u1CS47cofzD3aEhVY57mxRo5zlqdt+RFC1JUH2S7bcVXg4liTMakaBZZVxiTICRoivcn1sEUBlk24JmaC6kxUbYmWoqvyfck2xZGGnDFYa9MMzkYQ1ijkCX6qidybrgePiQ0QIQqoi6qRLeqQfIoRsEHaQJLBdHOnLGetSdm/IPcymJuS1PAnbQPH0MOw/39C1vL11DiLOqIsbDI8QcHvGiLnySi2qUXBicaqUSxN5LEB0g7Jt3ENXJLPJ5S1tnaZBoWbpRqrmjRE7qHmpSmNHdQcYrEUadoh+TbBnc9ri7iycI1kzPeNcLDIvbiqXpez9Tmdq6zGREPuzECBoxrPMiI2WtvyNwhJba2wy3JZ6ky5dD1lSvmZS3e4SPA1wcf1VTFHKX+cGwZzdUYcqpvUtvwrD/InDttVlyZeAKlNN5MKbAiurHhKIPlUuJvlTCCiDjSKSCsUmCFWbGLZwCESfK07JB8LvMYWVtw0D00JEHV8Mq2HkqPbE0oHLvvK2g0o8ETg+4cfwTlZDT9JDoWygu4uQQE/ivIvtcnfPkaCqhiupz7jWOAzqL/vjtcdkv9G4MVMt+EaylfuImiPAXEUjRF3pjjaHiPPZ6If9TGGAO4ZY0am6jOCb+DQ+ZCqLkIpOIPrdNfIjnFPY6nyFut7TS/fanrziOBOKMupKw94WaLMtuVnSFt9CPrWWdJE6PeltCX432DEBoh+5Dv8RRhdis8YAv9uyq4/JAwtlEApgBe9Cw9xDD3tdk4Jn0MDfiHwPHcRPxBePCMER3GuIx7kGlv9fkZ4V9lolx2Uv4X7hEj7qJ3LDoAMGbTRMRibu4L2xQ8bgt8AyU+Q+x7nYrvDnH4iuO5LxKsYwPVbkPMvKF9Zky9wXzRfVWizi62r9X5VHf55h+WHhDjGBZ4WRhyTr6z5SlCoLMxLSpBZFsQ9F80uQFbF/6aFWi+Ev51vzzsuX+msyzuQXXjUz8zEBy+zpq9yweXAoxJW4JbYrDS6gYDqGHxPl+TKeiBfxj9/EBIElPYeOA4y8/qRQfknjvSzgRgtq0Pw/M1eQeMdOSb2Bnrhr6Led+1vcp2x7oTFHMnedFW+Ivlty062BUt74oHgSj+vHepnhunn0JJAMtBZgDI/qmGtMujRv8DDpo47zBJ8UtPOuAR/7rKn8t9AJ0tBdmBAmJ/Fu71yxp4I3qh+DhyRqbi5Y1ShVPlSb8X7bRNcfgZFl+WRGYo7uecrWq1r8X5bhmzP5OdlDwsGRm1suSxkg5rYm7ConyGQ3Zl+DgSD8V/kPwrWBMG9YcBtyShBnTLdTiHgttw7qAW7cqh/ZnmPKr/6ignOaKsdyxbsToT5UkPsW00bJjijDXficcX/JsLs6w2BwGtherdckH3w/kNXRPVI0OqJQoHX42/66IMfMj/2huRjxIidgKV/W0JS+bsstDoTeAHcrI8E5zTh/sDkqxL5rZup55/3USlswfcHf4IrQplVDgW9XFlOqnwr6pVPMMEZTuC60EttvdzbLbaZ4PsFVa3nohhO+vW+yn/ZB2fUhpysmQrzBcTSai9EszuZMcEZ1lCFVrp9zGXhm69iLyY4oxFIa178lPe12I/P2DAYDAaDwWAwGAwGg8FgMBgMBoPBYDD2Cf8IMADDRGoQTe+E9AAAAABJRU5ErkJggg==' style='margin-top: -16px;' width='92'/> </a> <ul> <li> <a href='//www.google.com/'> Google </a> </li> <li> <a href='//www.google.com/policies/privacy/'> Privacy </a> </li> <li> <a href='//www.google.com/policies/terms/'> Terms </a> </li> </ul> </div> </div> <script type='text/javascript'> //<![CDATA[ // Social sharing popups. var postEl = document.getElementsByClassName('social-wrapper'); var postCount = postEl.length; for(i=0; i<postCount;i++){ postEl[i].addEventListener("click", function(event){ var postUrl = this.getAttribute("data-href"); window.open( postUrl,'popUpWindow','height=500,width=500,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'); });} //]]> </script> <script type='text/javascript'> //<![CDATA[ var BreakpointHandler = function() { this.initted = false; this.isHomePage = false; this.isMobile = false; }; BreakpointHandler.prototype.finalizeSummary = function(summaryHtml, lastNode) { // Use $.trim for IE8 compatibility summaryHtml = $.trim(summaryHtml).replace(/(<br>|\s)+$/,''); if (lastNode.nodeType == 3) { var lastChar = summaryHtml.slice(-1); if (!lastChar.match(/[.”"?]/)) { if (!lastChar.match(/[A-Za-z]/)) { summaryHtml = summaryHtml.slice(0, -1); } summaryHtml += ' ...'; } } else if (lastNode.nodeType == 1 && (lastNode.nodeName == 'I' || lastNode.nodeName == 'A')) { summaryHtml += ' ...'; } return summaryHtml; }; BreakpointHandler.prototype.generateSummaryFromContent = function(content, numWords) { var seenWords = 0; var summaryHtml = ''; for (var i=0; i < content.childNodes.length; i++) { var node = content.childNodes[i]; var nodeText; if (node.nodeType == 1) { if (node.hasAttribute('data-about-pullquote')) { continue; } nodeText = node.textContent; if (nodeText === undefined) { // innerText for IE8 nodeText = node.innerText; } if (node.nodeName == 'DIV' || node.nodeName == 'B') { // Don't end early if we haven't seen enough words. if (seenWords < 10) { continue; } if (i > 0) { summaryHtml = this.finalizeSummary(summaryHtml, content.childNodes[i-1]); } break; } summaryHtml += node.outerHTML; } else if (node.nodeType == 3) { nodeText = node.nodeValue; summaryHtml += nodeText + ' '; } var words = nodeText.match(/\S+\s*/g); if (!words) { continue; } var remain = numWords - seenWords; if (words.length >= remain) { summaryHtml = this.finalizeSummary(summaryHtml, node); break; } seenWords += words.length; } return summaryHtml; }; BreakpointHandler.prototype.detect = function() { var match, pl = /\+/g, search = /([^&=]+)=?([^&]*)/g, decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); }, query = window.location.search.substring(1); var urlParams = {}; while (match = search.exec(query)) urlParams[decode(match[1])] = decode(match[2]); this.isListPage = $('html').hasClass('list-page'); this.isMobile = urlParams['m'] === '1'; this.isHomePage = window.location.pathname == '/'; }; BreakpointHandler.prototype.initContent = function() { var self = this; $('.post').each(function(index) { var body = $(this).children('.post-body')[0]; var content = $(body).children('.post-content')[0]; $(content).addClass('post-original'); var data = $(content).children('script').html(); data = self.rewriteForSSL(data); // If exists, extract specified editor's preview. var match = data.match(/([\s\S]+?)<div data-is-preview.+?>([\s\S]+)<\/div>/m); if (match) { data = match[1]; } // Prevent big images from loading when they aren't needed. // This must be done as a pre-injection step, since image loading can't be // canceled once embedded into the DOM. if (self.isListPage && self.isMobile) { data = data.replace(/<(img|iframe) .+?>/g, ''); } // Insert template to be rendered as nodes. content.innerHTML = data; if (self.isListPage) { var summary = document.createElement('div'); $(summary).addClass('post-content'); $(summary).addClass('post-summary'); body.insertBefore(summary, content); if (match) { // Use provided summary. summary.innerHTML = match[2]; } else { // Generate a summary. // Summary generation relies on DOM, so it must occur after content is // inserted into the page. summary.innerHTML = self.generateSummaryFromContent(content, 30); } // Add read more link to summary. var titleAnchor = $(this).find('.title a')[0]; var link = titleAnchor.cloneNode(true); link.innerHTML = 'Read More'; $(link).addClass('read-more'); summary.appendChild(link); } }); // Firefox does not allow for proper styling of BR. if (navigator.userAgent.indexOf('Firefox') > -1) { $('.post-content br').replaceWith('<span class="space"></span>'); } $('.loading').removeClass('loading'); }; BreakpointHandler.prototype.process = function() { if (!this.initted) { var makeInsecureImageRegex = function(hosts) { var whitelist = hosts.join('|').replace(/\./g,'\\.'); // Normal image tags, plus input images (yes, this is possible!) return new RegExp('(<(img|input)[^>]+?src=("|\'))http:\/\/(' + whitelist +')', 'g'); }; this.sslImageRegex = makeInsecureImageRegex(BreakpointHandler.KNOWN_HTTPS_HOSTS); this.sslImageCurrentDomainRegex = makeInsecureImageRegex([window.location.hostname]); this.detect(); this.initContent(); this.initted = true; } }; BreakpointHandler.KNOWN_HTTPS_HOSTS = [ "www.google.org", "www.google.com", "services.google.com", "blogger.com", "draft.blogger.com", "www.blogger.com", "photos1.blogger.com", "photos2.blogger.com", "photos3.blogger.com", "blogblog.com", "img1.blogblog.com", "img2.blogblog.com", "www.blogblog.com", "www1.blogblog.com", "www2.blogblog.com", "0.bp.blogspot.com", "1.bp.blogspot.com", "2.bp.blogspot.com", "3.bp.blogspot.com", "4.bp.blogspot.com", "lh3.googleusercontent.com", "lh4.googleusercontent.com", "lh5.googleusercontent.com", "lh6.googleusercontent.com", "themes.googleusercontent.com", ]; BreakpointHandler.prototype.rewriteForSSL = function(html) { // Handle HTTP -> HTTPS source replacement of images, movies, and other embedded content. return html.replace(this.sslImageRegex, '$1https://$4') .replace(this.sslImageCurrentDomainRegex, '$1//$4') .replace(/(<(embed|iframe)[^>]+?src=("|'))http:\/\/([^"']*?(youtube|picasaweb\.google)\.com)/g, '$1https://$4') // Slideshow SWF takes a image host, so we need to rewrite that parameter. .replace(/(<embed[^>]+?feed=http(?=[^s]))/g, '$1s'); }; $(document).ready(function() { var handler = new BreakpointHandler(); handler.process(); // Top-level navigation. $(".BlogArchive .tab").click(function(ev) { ev.preventDefault(); $(this).parent().toggleClass('active'); $(this).siblings().slideToggle(300); }); $(".Label .tab").click(function(ev) { ev.preventDefault(); $(this).parent().toggleClass('active'); $(this).siblings().slideToggle(300); }); // Blog archive year expansion. $('.BlogArchive .intervalToggle').click(function(ev) { ev.preventDefault(); if ($(this).parent().hasClass('collapsed')) { $(this).parent().removeClass('collapsed'); $(this).parent().addClass('expanded'); } else { $(this).parent().removeClass('expanded'); $(this).parent().addClass('collapsed'); } }); // Reverse order of months. $('.BlogArchive .intervalToggle + div').each(function(_, items) { var year = $(this); year.children().each(function(_, month) { year.prepend(month); }); }); // Set anchors to open in new tab. $('.post-content img').parent().each(function(_, node) { if (node.nodeName == 'A') { $(this).attr('target', '_blank'); } }); // Process search requests. $('.searchBox input').on("keypress", function(ev) { if (ev.which == 13) { window.location.href = 'https://www.google.com/search?q=site%3A' + window.location.hostname + '%20' + encodeURIComponent ($(this).val()); } }); }); //]]> </script> <script> //<![CDATA[ function DeviceMotionSender(){if(!this.isIOS_()){return}window.addEventListener("devicemotion",this.onDeviceMotion_.bind(this),false);this.iframes=document.querySelectorAll("iframe.vrview")}DeviceMotionSender.prototype.onDeviceMotion_=function(e){var message={type:"DeviceMotion",deviceMotionEvent:this.cloneDeviceMotionEvent_(e)};for(var i=0;i<this.iframes.length;i++){var iframe=this.iframes[i];var iframeWindow=iframe.contentWindow;if(this.isCrossDomainIframe_(iframe)){iframeWindow.postMessage(message,"*")}}};DeviceMotionSender.prototype.cloneDeviceMotionEvent_=function(e){return{acceleration:{x:e.acceleration.x,y:e.acceleration.y,z:e.acceleration.z},accelerationIncludingGravity:{x:e.accelerationIncludingGravity.x,y:e.accelerationIncludingGravity.y,z:e.accelerationIncludingGravity.z},rotationRate:{alpha:e.rotationRate.alpha,beta:e.rotationRate.beta,gamma:e.rotationRate.gamma},interval:e.interval}};DeviceMotionSender.prototype.isIOS_=function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream};DeviceMotionSender.prototype.isCrossDomainIframe_=function(iframe){var html=null;try{var doc=iframe.contentDocument||iframe.contentWindow.document;html=doc.body.innerHTML}catch(err){}return html===null};var dms=new DeviceMotionSender; //]]> </script> <script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/984859869-widgets.js"></script> <script type='text/javascript'> window['__wavt'] = 'AOuZoY5B_IUNcIcdgfKnd4WzUigqiTrnAg:1732440210247';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d10861780','//googleblog.blogspot.com/search/label/faster%20web','10861780'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '10861780', 'title': 'Official Google Blog', 'url': 'https://googleblog.blogspot.com/search/label/faster%20web', 'canonicalUrl': 'https://googleblog.blogspot.com/search/label/faster%20web', 'homepageUrl': 'https://googleblog.blogspot.com/', 'searchUrl': 'https://googleblog.blogspot.com/search', 'canonicalHomepageUrl': 'https://googleblog.blogspot.com/', 'blogspotFaviconUrl': 'https://googleblog.blogspot.com/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': false, 'httpsEnabled': true, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': 'G-2PXZD4EB4F', 'analytics4': true, 'encoding': 'UTF-8', 'locale': 'en', 'localeUnderscoreDelimited': 'en', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'isDynamicViewsAvailable': true, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Official Google Blog - Atom\x22 href\x3d\x22https://googleblog.blogspot.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22Official Google Blog - RSS\x22 href\x3d\x22https://googleblog.blogspot.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Official Google Blog - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/10861780/posts/default\x22 /\x3e\n', 'meTag': '', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': false, 'adsenseAutoAds': false, 'boqCommentIframeForm': true, 'loginRedirectParam': '', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/d78375fb222d99b3', 'plusOneApiSrc': 'https://apis.google.com/js/platform.js', 'disableGComments': true, 'interstitialAccepted': false, 'sharing': {'platforms': [{'name': 'Get link', 'key': 'link', 'shareMessage': 'Get link', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Share to Facebook', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'X', 'key': 'twitter', 'shareMessage': 'Share to X', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Share to Pinterest', 'target': 'pinterest'}, {'name': 'Email', 'key': 'email', 'shareMessage': 'Email', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 0, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27en\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': true, 'jumpLinkMessage': 'Read more', 'pageType': 'index', 'searchLabel': 'faster web', 'pageName': 'faster web', 'pageTitle': 'Official Google Blog: faster web', 'metaDescription': 'Insights from Googlers into our products, technology, and the Google culture'}}, {'name': 'features', 'data': {}}, {'name': 'messages', 'data': {'edit': 'Edit', 'linkCopiedToClipboard': 'Link copied to clipboard!', 'ok': 'Ok', 'postLink': 'Post Link'}}, {'name': 'template', 'data': {'name': 'custom', 'localizedName': 'Custom', 'isResponsive': false, 'isAlternateRendering': false, 'isCustom': true}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': 'Official Google Blog', 'description': 'Insights from Googlers into our products, technology, and the Google culture', 'url': 'https://googleblog.blogspot.com/search/label/faster%20web', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': false, 'isArchive': false, 'isSearch': true, 'isLabelSearch': true, 'search': {'label': 'faster web', 'resultsMessage': 'Showing posts with the label faster web', 'resultsMessageHtml': 'Showing posts with the label \x3cspan class\x3d\x27search-label\x27\x3efaster web\x3c/span\x3e'}}}]); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'navMessage': 'Showing posts with label \x3cb\x3efaster web\x3c/b\x3e. \x3ca href\x3d\x22https://googleblog.blogspot.com/\x22\x3eShow all posts\x3c/a\x3e'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML8', 'sidebar-top', document.getElementById('HTML8'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_LabelView', new _WidgetInfo('Label1', 'sidebar', document.getElementById('Label1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading\x26hellip;'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML6', 'sidebar', document.getElementById('HTML6'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML5', 'sidebar-bottom', document.getElementById('HTML5'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML1', 'sidebar-bottom', document.getElementById('HTML1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML2', 'footer-1', document.getElementById('HTML2'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML3', 'footer-2', document.getElementById('HTML3'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML4', 'footer-3', document.getElementById('HTML4'), {}, 'displayModeFull')); </script> </body> </html>