CINXE.COM
Official Google Cloud Blog: December 2007
<!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'/> <title> Official Google Cloud Blog: December 2007 </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 Cloud Blog' property='og:title'/> <meta content='en_US' property='og:locale'/> <meta content='https://cloud.googleblog.com/2007/12/' property='og:url'/> <meta content='Official Google Cloud Blog' property='og:site_name'/> <!-- Twitter Card properties --> <meta content='Official Google Cloud Blog' property='og:title'/> <meta content='summary' name='twitter:card'/> <meta content='@gsuite' 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; } .header-title h2 { color: rgba(0,0,0,.54); display: inline-block; font-size: 40px; font-family: Roboto, sans-serif; font-weight: normal; line-height: 56px; vertical-align: top; margin-left:5px; } .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-top: 8px; } .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(//4.bp.blogspot.com/-8O7VcmcY32o/VSYkC2vUj7I/AAAAAAAAHeU/7mzo-JFgTgk/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://cloud.googleblog.com/favicon.ico' rel='icon' type='image/x-icon'/> <link href='https://cloud.googleblog.com/2007/12/' rel='canonical'/> <link rel="alternate" type="application/atom+xml" title="Official Google Cloud Blog - Atom" href="https://cloud.googleblog.com/feeds/posts/default" /> <link rel="alternate" type="application/rss+xml" title="Official Google Cloud Blog - RSS" href="https://cloud.googleblog.com/feeds/posts/default?alt=rss" /> <link rel="service.post" type="application/atom+xml" title="Official Google Cloud Blog - Atom" href="https://www.blogger.com/feeds/6567687196385815607/posts/default" /> <!--Can't find substitution for tag [blog.ieCssRetrofitLinks]--> <meta content='https://cloud.googleblog.com/2007/12/' property='og:url'/> <meta content='Official Google Cloud Blog' property='og:title'/> <meta content='Built in the cloud. Engineered for your enterprise.' 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%; } 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 { display: inline-block; background-size: contain; z-index: 1; height: 50px; overflow: hidden; margin-top: 4px; } .header-left { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); margin-top: 12px; width: 100%; } .google-logo { margin-left: -4px; } #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; } .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 accommodating for long blog titles. */ @media (max-width: 600px) { .header-left { height: 100%; top: inherit; margin-top: 0; -webkit-transform: initial; transform: initial; } .header-title { margin-top: 18px; } .header-inner .google-logo { height: 40px; margin-top: 3px; } .header-inner .google-logo img { height: 35px; } .header-title h2 { font-size: 32px; line-height: 36px; } .header-desc { bottom: 24px; position: absolute; } } /** 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> <script type='text/javascript'> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-18038-3', 'auto', 'blogger'); ga('blogger.send', 'pageview'); </script> <link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=6567687196385815607&zx=e76fb540-b24b-49b0-9255-53fe5dfedfeb' media='none' onload='if(media!='all')media='all'' rel='stylesheet'/><noscript><link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=6567687196385815607&zx=e76fb540-b24b-49b0-9255-53fe5dfedfeb' 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='header-outer'> <div class='header-inner'> <div class='section' id='header'><div class='widget Header' data-version='1' id='Header1'> <div class='header-left'> <div class='header-title'> <a class='google-logo' href='https://cloud.googleblog.com/'> <img height="50" src="//3.bp.blogspot.com/-a3v4BOp6LoU/V-y9lFzsb_I/AAAAAAAATGY/aD_EUNu9X4MHVu3ScQH38S2yvyNAVON9ACK4B/s1600/logo_lockup_cloud_color.png"> </a> <a href='/.'> <h2> Official Blog </h2> </a> </div> <div class='header-desc'> Built in the cloud. Engineered for your enterprise. </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='6868351325492253576' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2007/12/advanced-search-reporting-launched-on.html' itemprop='url' title='Advanced Search Reporting Launched on Google Enterprise labs'> Advanced Search Reporting Launched on Google Enterprise labs </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Friday, December 21, 2007 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <span class="byline-author">Posted by Cyrus Mistry, Enterprise Product Manager</span><br /><br />So you have your shiny blue or yellow box up and running and life is good. As the searches keep coming, you begin to wonder.... How many of my users are clicking on the first search result? How many refine their search? How many use the Advanced search capabilities? How many click on a KeyMatch? How many have to click the Next page link? How many aren't finding what they want?<br /><br />Now you can answer these and hundreds of other questions with the introduction of Advanced Search Reporting for your Google Mini or Google Search Appliance. Through a detailed analysis of what your users are clicking, you can now extract volumes of rich behavior detail that you can use to improve your search quality and their search experience.<br /><br />For example, you might learn:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpGqksJdkefdz4lIPLGW12u3ywHYQPTD7VXMoh8tadIGrWJLQVmtI7JyA5qrx9iw0teiiuSBW1vrMWlaV6xDsDOl9mSoXUWrPNQO0a817pMOIhYDZLWWaZn67eMq7fiEqPp4V6ZK7Dv1k/s1600-h/adv_search_rprt.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5146581044590321106" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpGqksJdkefdz4lIPLGW12u3ywHYQPTD7VXMoh8tadIGrWJLQVmtI7JyA5qrx9iw0teiiuSBW1vrMWlaV6xDsDOl9mSoXUWrPNQO0a817pMOIhYDZLWWaZn67eMq7fiEqPp4V6ZK7Dv1k/s400/adv_search_rprt.jpg" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" /></a><br />Owners of a Google Mini or Google Search Appliance can visit <a href="//google.com/enterprise/labs">Google Enterprise Labs</a> to <a href="http://code.google.com/p/search-reporting">download this feature</a> today! </script> <noscript> <span class="byline-author">Posted by Cyrus Mistry, Enterprise Product Manager</span><br /><br />So you have your shiny blue or yellow box up and running and life is good. As the searches keep coming, you begin to wonder.... How many of my users are clicking on the first search result? How many refine their search? How many use the Advanced search capabilities? How many click on a KeyMatch? How many have to click the Next page link? How many aren't finding what they want?<br /><br />Now you can answer these and hundreds of other questions with the introduction of Advanced Search Reporting for your Google Mini or Google Search Appliance. Through a detailed analysis of what your users are clicking, you can now extract volumes of rich behavior detail that you can use to improve your search quality and their search experience.<br /><br />For example, you might learn:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpGqksJdkefdz4lIPLGW12u3ywHYQPTD7VXMoh8tadIGrWJLQVmtI7JyA5qrx9iw0teiiuSBW1vrMWlaV6xDsDOl9mSoXUWrPNQO0a817pMOIhYDZLWWaZn67eMq7fiEqPp4V6ZK7Dv1k/s1600-h/adv_search_rprt.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5146581044590321106" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpGqksJdkefdz4lIPLGW12u3ywHYQPTD7VXMoh8tadIGrWJLQVmtI7JyA5qrx9iw0teiiuSBW1vrMWlaV6xDsDOl9mSoXUWrPNQO0a817pMOIhYDZLWWaZn67eMq7fiEqPp4V6ZK7Dv1k/s400/adv_search_rprt.jpg" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" /></a><br />Owners of a Google Mini or Google Search Appliance can visit <a href="//google.com/enterprise/labs">Google Enterprise Labs</a> to <a href="http://code.google.com/p/search-reporting">download this feature</a> today! </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2007/12/advanced-search-reporting-launched-on.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 Cloud Blog:Advanced Search Reporting Launched on Google Enterprise labs&url=https://cloud.googleblog.com/2007/12/advanced-search-reporting-launched-on.html&via=gsuite'> <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://cloud.googleblog.com/2007/12/advanced-search-reporting-launched-on.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='comment-container'> <i class='comment-img material-icons'>  </i> <span class='cmt_count_iframe_holder' data-count='1' data-onclick='' data-post-url='https://cloud.googleblog.com/2007/12/advanced-search-reporting-launched-on.html' data-url='https://cloud.googleblog.com/2007/12/advanced-search-reporting-launched-on.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2007/12/advanced-search-reporting-launched-on.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> </div> </div> </div> <div class='post' data-id='8913862303894725770' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2007/12/google-maps-and-public-safety.html' itemprop='url' title='Google Maps and Public Safety'> Google Maps and Public Safety </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, December 19, 2007 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <span class="byline-author">Posted by Dan Israel, Google Enterprise, Government Products</span><br /><br />I recently reviewed an interesting case study about <a href="http://crimereports.com/" target="_blank">CrimeReports.com</a>, a website that makes crime data from local law enforcement agencies available on the internet using <a href="//www.google.com/enterprise/maps/index.html" target="_blank"> Google Maps</a>. CrimeReports.com is a partnership between a company called <a href="http://publicengines.com/index.htm" target="_blank">Public Engines</a> and local police departments across the country -- from San Jose, CA to Washington, DC. These police departments wanted to make information about neighborhood safety directly available to the public, but did not have the resources to set this up themselves. Enter Public Engines, who built a service using the Google Maps API they are making available at a low cost to any interested police department.<br /><br />In the past, local crime information could be difficult for citizens to find -- they could read police blotters in local newspapers or watch the evening news -- but it wasn't easy to see historical data or understand trends. By providing the data in a rich, visual interface, plus letting citizens get alerts if something new happens in their neighborhood -- CrimeReports.com makes information accessible to citizens in a much more useful way. If want to learn more, read <a href="//www.google.com/enterprise/pdf/google_maps_customer_success_story_crime_reports.pdf">the full case study.</a><br /><br />The advent of new Internet technologies like blogs, wikis, & RSS makes it easier than ever for government to share information directly with the citizens they serve, without the need for any intermediaries. This sort of direct communication can be extremely valuable in letting citizens know what government officials are doing in their community. We're always on the look-out for other good examples of this; if you know of any, please share.<br /><span style="color: rgb(136, 136, 136);"><br /></span> </script> <noscript> <span class="byline-author">Posted by Dan Israel, Google Enterprise, Government Products</span><br /><br />I recently reviewed an interesting case study about <a href="http://crimereports.com/" target="_blank">CrimeReports.com</a>, a website that makes crime data from local law enforcement agencies available on the internet using <a href="//www.google.com/enterprise/maps/index.html" target="_blank"> Google Maps</a>. CrimeReports.com is a partnership between a company called <a href="http://publicengines.com/index.htm" target="_blank">Public Engines</a> and local police departments across the country -- from San Jose, CA to Washington, DC. These police departments wanted to make information about neighborhood safety directly available to the public, but did not have the resources to set this up themselves. Enter Public Engines, who built a service using the Google Maps API they are making available at a low cost to any interested police department.<br /><br />In the past, local crime information could be difficult for citizens to find -- they could read police blotters in local newspapers or watch the evening news -- but it wasn't easy to see historical data or understand trends. By providing the data in a rich, visual interface, plus letting citizens get alerts if something new happens in their neighborhood -- CrimeReports.com makes information accessible to citizens in a much more useful way. If want to learn more, read <a href="//www.google.com/enterprise/pdf/google_maps_customer_success_story_crime_reports.pdf">the full case study.</a><br /><br />The advent of new Internet technologies like blogs, wikis, & RSS makes it easier than ever for government to share information directly with the citizens they serve, without the need for any intermediaries. This sort of direct communication can be extremely valuable in letting citizens know what government officials are doing in their community. We're always on the look-out for other good examples of this; if you know of any, please share.<br /><span style="color: rgb(136, 136, 136);"><br /></span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2007/12/google-maps-and-public-safety.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 Cloud Blog:Google Maps and Public Safety&url=https://cloud.googleblog.com/2007/12/google-maps-and-public-safety.html&via=gsuite'> <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://cloud.googleblog.com/2007/12/google-maps-and-public-safety.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='comment-container'> <i class='comment-img material-icons'>  </i> <span class='cmt_count_iframe_holder' data-count='4' data-onclick='' data-post-url='https://cloud.googleblog.com/2007/12/google-maps-and-public-safety.html' data-url='https://cloud.googleblog.com/2007/12/google-maps-and-public-safety.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2007/12/google-maps-and-public-safety.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://cloud.googleblog.com/search/label/mashups' rel='tag'> mashups </a> </span> </div> </div> </div> <div class='post' data-id='9001692190681872637' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2007/12/access-from-anywhere.html' itemprop='url' title='Access from anywhere'> Access from anywhere </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, December 13, 2007 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <font class="byline-author">Posted by Jeremy Milo, Google Apps Marketing Manager, from my mobile phone</font><br /><br />Being focused on helping people access, create, and share information, I shouldn't still be surprised by the stats about how people get online, but I am. For example, the count of personal computers worldwide is about to cross the 1 billion mark. That's a big number, but did you know that around 3 billion people have mobile phones? Nearly half the world's population already can, or may soon be able to, have the world's information in their pocket. Let that sink in for a moment....<br /><br />And lots of people who go online with their phones aren't doing it that way for lack of a computer. Even with its small screen and squashed keyboard, my phone has become my web-connected device of choice in lots of situations. Like when I'm visiting a new city and need directions, when I want to send a quick email from a ski lift, or when it's just easier to reach into my pocket than fire up my MacBook.<br /><br />These are some of the reasons why Google is committed to improving the mobile experience. The latest example, launched today, is <a href="http://googlemobile.blogspot.com/2007/12/no-more-excuses-for-being-late.html">Google Sync for mobile</a>. This application for BlackBerry® smartphones keeps your Google Calendar in sync with your BlackBerry® calendar. So whether you update your schedule from your mobile device or from your computer, your agenda will be up to date however you decide to access your information later on.<br /><br />You can download Google Sync for mobile by going to http://m.google.com/sync on your BlackBerry® browser. And for more about the other ways Google Apps users – including those without smartphones – can access their information on the go, check out the <a href="//www.google.com/a/help/intl/en/users/mobile.html">Google Apps mobile access overview</a>.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="//4.bp.blogspot.com/_Yd-gahI53qE/R2DUT67qQkI/AAAAAAAAAAo/dSDpKWKI84E/s1600-h/sync.gif"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5143344213159199298" src="//4.bp.blogspot.com/_Yd-gahI53qE/R2DUT67qQkI/AAAAAAAAAAo/dSDpKWKI84E/s320/sync.gif" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"></a> </script> <noscript> <font class="byline-author">Posted by Jeremy Milo, Google Apps Marketing Manager, from my mobile phone</font><br /><br />Being focused on helping people access, create, and share information, I shouldn't still be surprised by the stats about how people get online, but I am. For example, the count of personal computers worldwide is about to cross the 1 billion mark. That's a big number, but did you know that around 3 billion people have mobile phones? Nearly half the world's population already can, or may soon be able to, have the world's information in their pocket. Let that sink in for a moment....<br /><br />And lots of people who go online with their phones aren't doing it that way for lack of a computer. Even with its small screen and squashed keyboard, my phone has become my web-connected device of choice in lots of situations. Like when I'm visiting a new city and need directions, when I want to send a quick email from a ski lift, or when it's just easier to reach into my pocket than fire up my MacBook.<br /><br />These are some of the reasons why Google is committed to improving the mobile experience. The latest example, launched today, is <a href="http://googlemobile.blogspot.com/2007/12/no-more-excuses-for-being-late.html">Google Sync for mobile</a>. This application for BlackBerry® smartphones keeps your Google Calendar in sync with your BlackBerry® calendar. So whether you update your schedule from your mobile device or from your computer, your agenda will be up to date however you decide to access your information later on.<br /><br />You can download Google Sync for mobile by going to http://m.google.com/sync on your BlackBerry® browser. And for more about the other ways Google Apps users – including those without smartphones – can access their information on the go, check out the <a href="//www.google.com/a/help/intl/en/users/mobile.html">Google Apps mobile access overview</a>.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="//4.bp.blogspot.com/_Yd-gahI53qE/R2DUT67qQkI/AAAAAAAAAAo/dSDpKWKI84E/s1600-h/sync.gif"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5143344213159199298" src="//4.bp.blogspot.com/_Yd-gahI53qE/R2DUT67qQkI/AAAAAAAAAAo/dSDpKWKI84E/s320/sync.gif" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"></a> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2007/12/access-from-anywhere.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 Cloud Blog:Access from anywhere&url=https://cloud.googleblog.com/2007/12/access-from-anywhere.html&via=gsuite'> <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://cloud.googleblog.com/2007/12/access-from-anywhere.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='comment-container'> <i class='comment-img material-icons'>  </i> <span class='cmt_count_iframe_holder' data-count='4' data-onclick='' data-post-url='https://cloud.googleblog.com/2007/12/access-from-anywhere.html' data-url='https://cloud.googleblog.com/2007/12/access-from-anywhere.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2007/12/access-from-anywhere.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> </div> </div> </div> <div class='post' data-id='3732726772261420841' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2007/12/1-billion-messages-not-served.html' itemprop='url' title='1 Billion Messages Not Served'> 1 Billion Messages Not Served </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, December 13, 2007 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <span class="byline-author">Posted by Adam Swidler, Product Marketing Manager, Postini</span><br /><br />Postini is a recent addition to Google that offers solutions that help enterprises make their existing email infrastructure more secure, compliant and productive. We process email for more than 35,000 businesses and 12 million end users, and block about 1 billion messages per day, which is a good sample size to report on global spam trends for businesses. In 2007, Postini data centers recorded the highest levels of spam and virus attacks in history. Much of this was fueled by an increase in the number of botnet computers being used to send spam. Botnets are networks of infected PCs, usually with broadband Internet connections that are co-opted by hackers and used to send spam and virus attacks. Often they are compromised without their owner's knowledge. We started to see these botnets kick in back in September of 2006. Since that time, spam volumes are up more than 163 percent. We saw a peak of activity in October 2007 where volume was a 263 percent increase from September 2006 and Postini blocked 47 billion spam messages, more than 320 Terabytes of spam (now that's a lot of spam). The average unprotected e-mail user would have received 32,000 spam messages in their in-boxes so far this year. Talk about lost productivity. In fact, <a id="k36y" title="Nucleus research" href="http://www.nucleusresearch.com/research/h22.pdf">Nucleus research</a> estimates unchecked spam can cost a company up to $742 per user.<br /><br />But what's really different this year is the innovation with which spammers attempted to evade detection by spam filters. In the early part of 2007, image spam was used heavily, with the spam content (such as "pharmaceuticals for sale," "hot stocks," etc) contained in an image attached to the message. Over the course of the year image spam declined and was replaced by PDF spam, document and spreadsheet spam and even multimedia spam. That's right - an audio file promoting a particular stock. We saw examples of compressed and password protected emails as well. All this effort to deliver spam content in email attachments had a significant impact on the size of spam overall. Taking 7.5 Kb as an average spam message size, an organization with 100 employees (that didn't use a hosted solution to block spam outside the firewall) would have wasted 22Gb of storage and bandwidth. Who wants that sitting on their servers?<br /><br />The chart below shows the trend of the volume of spam rising throughout the year (blue line) and the peaks in the size of spam (orange line):</span><br /><span class="byline-author"><br /></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsAK8-Q7W_euZ8SB5CaDmKnkkIbNEZvxLh3UD3rAOferyB2gpQeYfv81q1E7HS35cPixmTaatnc2gMc41xBkfOus95CuZUYjgrS4SjzjrHihfYHxC_WoC6ufoEWD0rIJFPD1OXpyyNR_A/s1600-h/Postini+Enterprise+1a.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5143521105992598658" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsAK8-Q7W_euZ8SB5CaDmKnkkIbNEZvxLh3UD3rAOferyB2gpQeYfv81q1E7HS35cPixmTaatnc2gMc41xBkfOus95CuZUYjgrS4SjzjrHihfYHxC_WoC6ufoEWD0rIJFPD1OXpyyNR_A/s320/Postini+Enterprise+1a.jpg" style="cursor: pointer; width: 396px; height: 331px;" /></a><br /><span class="byline-author"><br />In Europe, spam volume was also up in 2007 and the percentage of email that is spam increased from 70% to 90% as shown below:<br /><br /><br /></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC_LrNKEp-cA9JcJFiVuAu1uFuoGiyDhu6dhzmCC9NxruvGGGTh3U6daKKkCDzil0c8rLoiSkmjuw7Re7diiqCC88pY5fkAwHGGTAwWLBOlxoNyOa7zpzFEhsJ6XI0pHS_gQY3CqDHR_Q/s1600-h/Postini+Enterprise+blog+2.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5143517257701901394" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC_LrNKEp-cA9JcJFiVuAu1uFuoGiyDhu6dhzmCC9NxruvGGGTh3U6daKKkCDzil0c8rLoiSkmjuw7Re7diiqCC88pY5fkAwHGGTAwWLBOlxoNyOa7zpzFEhsJ6XI0pHS_gQY3CqDHR_Q/s320/Postini+Enterprise+blog+2.png" style="cursor: pointer; width: 371px; height: 253px;" /></a><br /><span class="byline-author"><br />Virus attacks in 2007 were also at record levels and showed similar techniques to what we observed for spam email. In January 2007, the high profile "Storm" botnet got its start with an email that was spammed out with an executable file attached. In April and May, we saw virus emails with password protected executables attached and the password contained in the body of the email. In the late summer, we saw a huge spike of Storm virus attacks that used a blended threat - an email message with a URL that took the user to an infected website that then downloaded the Storm malware to the PC. The linkage between spam and viruses continued in 2007, with messages being spammed out from botnets with virus attacks intended to add more computers to the botnet. The chart below shows the Storm virus activity for 2007:<br /><br /></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOZq9ovnIEA0NjLwblmfmuK_5ovDHE5kjDmlyGOH4wFtFCaVowx4bNx5Js_fVTGzHFIOjKTUj_mKTZsT4uG3a7wUL6VudkZcPz6vzhi75CHtVonzCQFNsNeNzMgjJ5N0zYN7Rdw6Sx3mo/s1600-h/Postini+Enterprise+blog+4.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5143520483222340722" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOZq9ovnIEA0NjLwblmfmuK_5ovDHE5kjDmlyGOH4wFtFCaVowx4bNx5Js_fVTGzHFIOjKTUj_mKTZsT4uG3a7wUL6VudkZcPz6vzhi75CHtVonzCQFNsNeNzMgjJ5N0zYN7Rdw6Sx3mo/s320/Postini+Enterprise+blog+4.jpg" style="cursor: pointer; width: 359px; height: 265px;" /></a><br /><br /><span class="byline-author">For 2008, this game of chess will continue, and the stakes may become even higher. While the number of threats may not increase, the complexity will. Businesses will be challenged to identify more types of malicious content and protect sensitive information against new methods of social engineering. So what does the forecast for next year looks like? Here are some of the trends we expect to see coming to a business near you in 2008:<br /></span><ul><li><span class="byline-author">Spam volume will stabilize and could actually decrease in 2008 as spam attacks become more targeted and less of a pure volume game. As more and more spam content will be contained in attachments, we do expect that the overall size of spam will continue to increase.</span></li></ul><ul><li><span class="byline-author">Virus attacks will continue to blend with spam and will focus more on identity theft. They will utilize increasingly sophisticated social engineering techniques that will be related to specific current events such as the Olympics, the Super Bowl, natural disasters etc. Virus attacks will become more targeted toward executives at specific companies and will appear to come from legitimate business agencies. Their goal will increasingly be to steal corporate and government data. We expect to see several of these types of attacks, leading to data breaches from commercial enterprises and government agencies. This may force some companies to modify their email practices, such as financial institutions not including any links in their email communications to customers.</span></li></ul><ul><li><span class="byline-author">More businesses and organizations will implement specific policies that address outbound content in email and will deploy systems to monitor and enforce those policies to prevent sensitive or confidential data leaks.</span></li></ul><ul><li><span class="byline-author">The growing need for managing consumer data privacy and retention policies globally will drive growth of encryption and archiving and hosted solutions will play a major role in reducing the cost and complexity.</span></li></ul><ul><li><span class="byline-author">Identity theft attacks will increasingly be launched through web sites, especially those that enable user created content such as social networking sites, blogs and auction sites.</span></li></ul><span class="byline-author">If you’d like to know more about Postini’s spam and virus trends, you can read our weekly summaries on the <a href="http://community.postini.com/postini">Postini Community Forum</a> in the Threat Advisory board.</span> </script> <noscript> <span class="byline-author">Posted by Adam Swidler, Product Marketing Manager, Postini</span><br /><br />Postini is a recent addition to Google that offers solutions that help enterprises make their existing email infrastructure more secure, compliant and productive. We process email for more than 35,000 businesses and 12 million end users, and block about 1 billion messages per day, which is a good sample size to report on global spam trends for businesses. In 2007, Postini data centers recorded the highest levels of spam and virus attacks in history. Much of this was fueled by an increase in the number of botnet computers being used to send spam. Botnets are networks of infected PCs, usually with broadband Internet connections that are co-opted by hackers and used to send spam and virus attacks. Often they are compromised without their owner's knowledge. We started to see these botnets kick in back in September of 2006. Since that time, spam volumes are up more than 163 percent. We saw a peak of activity in October 2007 where volume was a 263 percent increase from September 2006 and Postini blocked 47 billion spam messages, more than 320 Terabytes of spam (now that's a lot of spam). The average unprotected e-mail user would have received 32,000 spam messages in their in-boxes so far this year. Talk about lost productivity. In fact, <a id="k36y" title="Nucleus research" href="http://www.nucleusresearch.com/research/h22.pdf">Nucleus research</a> estimates unchecked spam can cost a company up to $742 per user.<br /><br />But what's really different this year is the innovation with which spammers attempted to evade detection by spam filters. In the early part of 2007, image spam was used heavily, with the spam content (such as "pharmaceuticals for sale," "hot stocks," etc) contained in an image attached to the message. Over the course of the year image spam declined and was replaced by PDF spam, document and spreadsheet spam and even multimedia spam. That's right - an audio file promoting a particular stock. We saw examples of compressed and password protected emails as well. All this effort to deliver spam content in email attachments had a significant impact on the size of spam overall. Taking 7.5 Kb as an average spam message size, an organization with 100 employees (that didn't use a hosted solution to block spam outside the firewall) would have wasted 22Gb of storage and bandwidth. Who wants that sitting on their servers?<br /><br />The chart below shows the trend of the volume of spam rising throughout the year (blue line) and the peaks in the size of spam (orange line):</span><br /><span class="byline-author"><br /></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsAK8-Q7W_euZ8SB5CaDmKnkkIbNEZvxLh3UD3rAOferyB2gpQeYfv81q1E7HS35cPixmTaatnc2gMc41xBkfOus95CuZUYjgrS4SjzjrHihfYHxC_WoC6ufoEWD0rIJFPD1OXpyyNR_A/s1600-h/Postini+Enterprise+1a.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5143521105992598658" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsAK8-Q7W_euZ8SB5CaDmKnkkIbNEZvxLh3UD3rAOferyB2gpQeYfv81q1E7HS35cPixmTaatnc2gMc41xBkfOus95CuZUYjgrS4SjzjrHihfYHxC_WoC6ufoEWD0rIJFPD1OXpyyNR_A/s320/Postini+Enterprise+1a.jpg" style="cursor: pointer; width: 396px; height: 331px;" /></a><br /><span class="byline-author"><br />In Europe, spam volume was also up in 2007 and the percentage of email that is spam increased from 70% to 90% as shown below:<br /><br /><br /></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC_LrNKEp-cA9JcJFiVuAu1uFuoGiyDhu6dhzmCC9NxruvGGGTh3U6daKKkCDzil0c8rLoiSkmjuw7Re7diiqCC88pY5fkAwHGGTAwWLBOlxoNyOa7zpzFEhsJ6XI0pHS_gQY3CqDHR_Q/s1600-h/Postini+Enterprise+blog+2.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5143517257701901394" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC_LrNKEp-cA9JcJFiVuAu1uFuoGiyDhu6dhzmCC9NxruvGGGTh3U6daKKkCDzil0c8rLoiSkmjuw7Re7diiqCC88pY5fkAwHGGTAwWLBOlxoNyOa7zpzFEhsJ6XI0pHS_gQY3CqDHR_Q/s320/Postini+Enterprise+blog+2.png" style="cursor: pointer; width: 371px; height: 253px;" /></a><br /><span class="byline-author"><br />Virus attacks in 2007 were also at record levels and showed similar techniques to what we observed for spam email. In January 2007, the high profile "Storm" botnet got its start with an email that was spammed out with an executable file attached. In April and May, we saw virus emails with password protected executables attached and the password contained in the body of the email. In the late summer, we saw a huge spike of Storm virus attacks that used a blended threat - an email message with a URL that took the user to an infected website that then downloaded the Storm malware to the PC. The linkage between spam and viruses continued in 2007, with messages being spammed out from botnets with virus attacks intended to add more computers to the botnet. The chart below shows the Storm virus activity for 2007:<br /><br /></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOZq9ovnIEA0NjLwblmfmuK_5ovDHE5kjDmlyGOH4wFtFCaVowx4bNx5Js_fVTGzHFIOjKTUj_mKTZsT4uG3a7wUL6VudkZcPz6vzhi75CHtVonzCQFNsNeNzMgjJ5N0zYN7Rdw6Sx3mo/s1600-h/Postini+Enterprise+blog+4.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5143520483222340722" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOZq9ovnIEA0NjLwblmfmuK_5ovDHE5kjDmlyGOH4wFtFCaVowx4bNx5Js_fVTGzHFIOjKTUj_mKTZsT4uG3a7wUL6VudkZcPz6vzhi75CHtVonzCQFNsNeNzMgjJ5N0zYN7Rdw6Sx3mo/s320/Postini+Enterprise+blog+4.jpg" style="cursor: pointer; width: 359px; height: 265px;" /></a><br /><br /><span class="byline-author">For 2008, this game of chess will continue, and the stakes may become even higher. While the number of threats may not increase, the complexity will. Businesses will be challenged to identify more types of malicious content and protect sensitive information against new methods of social engineering. So what does the forecast for next year looks like? Here are some of the trends we expect to see coming to a business near you in 2008:<br /></span><ul><li><span class="byline-author">Spam volume will stabilize and could actually decrease in 2008 as spam attacks become more targeted and less of a pure volume game. As more and more spam content will be contained in attachments, we do expect that the overall size of spam will continue to increase.</span></li></ul><ul><li><span class="byline-author">Virus attacks will continue to blend with spam and will focus more on identity theft. They will utilize increasingly sophisticated social engineering techniques that will be related to specific current events such as the Olympics, the Super Bowl, natural disasters etc. Virus attacks will become more targeted toward executives at specific companies and will appear to come from legitimate business agencies. Their goal will increasingly be to steal corporate and government data. We expect to see several of these types of attacks, leading to data breaches from commercial enterprises and government agencies. This may force some companies to modify their email practices, such as financial institutions not including any links in their email communications to customers.</span></li></ul><ul><li><span class="byline-author">More businesses and organizations will implement specific policies that address outbound content in email and will deploy systems to monitor and enforce those policies to prevent sensitive or confidential data leaks.</span></li></ul><ul><li><span class="byline-author">The growing need for managing consumer data privacy and retention policies globally will drive growth of encryption and archiving and hosted solutions will play a major role in reducing the cost and complexity.</span></li></ul><ul><li><span class="byline-author">Identity theft attacks will increasingly be launched through web sites, especially those that enable user created content such as social networking sites, blogs and auction sites.</span></li></ul><span class="byline-author">If you’d like to know more about Postini’s spam and virus trends, you can read our weekly summaries on the <a href="http://community.postini.com/postini">Postini Community Forum</a> in the Threat Advisory board.</span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2007/12/1-billion-messages-not-served.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 Cloud Blog:1 Billion Messages Not Served&url=https://cloud.googleblog.com/2007/12/1-billion-messages-not-served.html&via=gsuite'> <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://cloud.googleblog.com/2007/12/1-billion-messages-not-served.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='comment-container'> <i class='comment-img material-icons'>  </i> <span class='cmt_count_iframe_holder' data-count='3' data-onclick='' data-post-url='https://cloud.googleblog.com/2007/12/1-billion-messages-not-served.html' data-url='https://cloud.googleblog.com/2007/12/1-billion-messages-not-served.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2007/12/1-billion-messages-not-served.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> </div> </div> </div> <div class='post' data-id='6472386148732110827' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2007/12/gsa-to-gsa-onebox-launched-on-google.html' itemprop='url' title='GSA-to-GSA OneBox Launched on Google Enterprise Labs'> GSA-to-GSA OneBox Launched on Google Enterprise Labs </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, December 5, 2007 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <span class="byline-author">Posted by Cyrus Mistry, Enterprise Product Manager</span><br /><br />Do you have multiple Google Minis or Google Search Appliances? Many customers have several yellow and blue boxes spread across different departments, regions or even continents. Wouldn't it be great if you could easily see if there were other relevant search results from another Mini or GSA half way around the world? <p>Now, in just a few simple steps, you can create a OneBox that will call out to another Mini or GSA and bring back results in fractions of a second! For example:</p><p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy9AoeEGHrmxJCjOrkG6HoxFi0XvpfWcp832_iiUYvZ_WR8OX29gABGo_QCVttxbmB3CfI8sCVaFbxvXF3GP7x6mmdWahvmj1mNGtcP-JYjHjx2ElWtdBPxzSiDquI0Q30cB-EYEeYq_s/s1600-h/gsa_to_gsa.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5140643337724229858" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy9AoeEGHrmxJCjOrkG6HoxFi0XvpfWcp832_iiUYvZ_WR8OX29gABGo_QCVttxbmB3CfI8sCVaFbxvXF3GP7x6mmdWahvmj1mNGtcP-JYjHjx2ElWtdBPxzSiDquI0Q30cB-EYEeYq_s/s400/gsa_to_gsa.jpg" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" /></a></p> <p>Owners of a Google Mini or Google Search Appliance can visit <a href="//google.com/enterprise/labs">Google Enterprise Labs</a> to <a href="http://code.google.com/p/gsa2gsa1box">download this feature</a> today!</p> </script> <noscript> <span class="byline-author">Posted by Cyrus Mistry, Enterprise Product Manager</span><br /><br />Do you have multiple Google Minis or Google Search Appliances? Many customers have several yellow and blue boxes spread across different departments, regions or even continents. Wouldn't it be great if you could easily see if there were other relevant search results from another Mini or GSA half way around the world? <p>Now, in just a few simple steps, you can create a OneBox that will call out to another Mini or GSA and bring back results in fractions of a second! For example:</p><p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy9AoeEGHrmxJCjOrkG6HoxFi0XvpfWcp832_iiUYvZ_WR8OX29gABGo_QCVttxbmB3CfI8sCVaFbxvXF3GP7x6mmdWahvmj1mNGtcP-JYjHjx2ElWtdBPxzSiDquI0Q30cB-EYEeYq_s/s1600-h/gsa_to_gsa.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5140643337724229858" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy9AoeEGHrmxJCjOrkG6HoxFi0XvpfWcp832_iiUYvZ_WR8OX29gABGo_QCVttxbmB3CfI8sCVaFbxvXF3GP7x6mmdWahvmj1mNGtcP-JYjHjx2ElWtdBPxzSiDquI0Q30cB-EYEeYq_s/s400/gsa_to_gsa.jpg" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" /></a></p> <p>Owners of a Google Mini or Google Search Appliance can visit <a href="//google.com/enterprise/labs">Google Enterprise Labs</a> to <a href="http://code.google.com/p/gsa2gsa1box">download this feature</a> today!</p> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2007/12/gsa-to-gsa-onebox-launched-on-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 Cloud Blog:GSA-to-GSA OneBox Launched on Google Enterprise Labs&url=https://cloud.googleblog.com/2007/12/gsa-to-gsa-onebox-launched-on-google.html&via=gsuite'> <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://cloud.googleblog.com/2007/12/gsa-to-gsa-onebox-launched-on-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='comment-container'> <i class='comment-img material-icons'>  </i> <span class='cmt_count_iframe_holder' data-count='1' data-onclick='' data-post-url='https://cloud.googleblog.com/2007/12/gsa-to-gsa-onebox-launched-on-google.html' data-url='https://cloud.googleblog.com/2007/12/gsa-to-gsa-onebox-launched-on-google.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2007/12/gsa-to-gsa-onebox-launched-on-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'> </div> </div> </div> <div class='post' data-id='5810001230126106320' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2007/12/how-monarch-airlines-uses-custom-search.html' itemprop='url' title='How Monarch Airlines uses Custom Search Business Edition'> How Monarch Airlines uses Custom Search Business Edition </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Tuesday, December 4, 2007 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <span class="byline-author">Posted by Ryan Pollock, Product Marketing</span><br /><br />Silicon.com recently published this <a href="http://networks.silicon.com/webwatch/0,39024667,39169352,00.htm?r=1">case study about how Monarch Airlines set up Google Custom Search Business Edition</a> on <a href="http://www.flymonarch.com/">www.flymonarch.com</a> to enable better customer self-service and reduce the number of customer support inquiries. As a result of deploying the search engine – which only costs $100 per year - Monarch saw a 30% decrease in the number of customer support inquiries. The case study cites a number of the great benefits of deploying Custom Search: speed, relevance, and customizability. Monarch also uses <a href="//www.google.com/analytics/#utm_source=enterprise_blog">Google Analytics</a> to understand how their site's visitors navigate.<br /><br />If your website's search isn't yet powered by Google, <a href="//www.google.com/enterprise/csbe/#utm_source=enterprise_blog">learn more about CSBE</a>. </script> <noscript> <span class="byline-author">Posted by Ryan Pollock, Product Marketing</span><br /><br />Silicon.com recently published this <a href="http://networks.silicon.com/webwatch/0,39024667,39169352,00.htm?r=1">case study about how Monarch Airlines set up Google Custom Search Business Edition</a> on <a href="http://www.flymonarch.com/">www.flymonarch.com</a> to enable better customer self-service and reduce the number of customer support inquiries. As a result of deploying the search engine – which only costs $100 per year - Monarch saw a 30% decrease in the number of customer support inquiries. The case study cites a number of the great benefits of deploying Custom Search: speed, relevance, and customizability. Monarch also uses <a href="//www.google.com/analytics/#utm_source=enterprise_blog">Google Analytics</a> to understand how their site's visitors navigate.<br /><br />If your website's search isn't yet powered by Google, <a href="//www.google.com/enterprise/csbe/#utm_source=enterprise_blog">learn more about CSBE</a>. </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2007/12/how-monarch-airlines-uses-custom-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 Cloud Blog:How Monarch Airlines uses Custom Search Business Edition&url=https://cloud.googleblog.com/2007/12/how-monarch-airlines-uses-custom-search.html&via=gsuite'> <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://cloud.googleblog.com/2007/12/how-monarch-airlines-uses-custom-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='comment-container'> <i class='comment-img material-icons'>  </i> <span class='cmt_count_iframe_holder' data-count='3' data-onclick='' data-post-url='https://cloud.googleblog.com/2007/12/how-monarch-airlines-uses-custom-search.html' data-url='https://cloud.googleblog.com/2007/12/how-monarch-airlines-uses-custom-search.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2007/12/how-monarch-airlines-uses-custom-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'> </div> </div> </div> <div class='blog-pager' id='blog-pager'> <a class='home-link' href='https://cloud.googleblog.com/'> <i class='material-icons'>  </i> </a> <span id='blog-pager-newer-link'> <a class='blog-pager-newer-link' href='https://cloud.googleblog.com/search?updated-max=2008-02-26T20:02:00-08:00&max-results=7&reverse-paginate=true' id='Blog1_blog-pager-newer-link' title='Newer Posts'> <i class='material-icons'>  </i> </a> </span> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='https://cloud.googleblog.com/search?updated-max=2007-12-04T14:30:00-08:00&max-results=7' 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://cloud.googleblog.com/search/label/%23innovationupgrade'> #innovationupgrade </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23InspireGirls'> #InspireGirls </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23moregoogleapps'> #moregoogleapps </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23SysAdminDay'> #SysAdminDay </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23tbt'> #tbt </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23throwbackthursday'> #throwbackthursday </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23top10trust'> #top10trust </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/100%25%20web'> 100% web </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/50states'> 50states </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/ad%20contest'> ad contest </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/add-ons'> add-ons </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/admin'> admin </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Admin%20console'> Admin console </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/admin%20sdk'> admin sdk </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/AirPlay'> AirPlay </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android'> Android </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20for%20Work'> Android for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20for%20Work%20Live'> Android for Work Live </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20Marshmellow'> Android Marshmellow </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20Nougat'> Android Nougat </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20security'> Android security </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20security%20tips'> Android security tips </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Apps%20Adventures'> Apps Adventures </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/apps%20script'> apps script </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/apptuesday'> apptuesday </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Armed%20Forces%20Day'> Armed Forces Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Asia%20Pacific'> Asia Pacific </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Atmosphere%20Live'> Atmosphere Live </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Audi'> Audi </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Audi%20Connect'> Audi Connect </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/audit'> audit </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Australia'> Australia </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/big%20data'> big data </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Big%20Query'> Big Query </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/bigquery'> bigquery </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Boston'> Boston </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/browser'> browser </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chomebox%20for%20Meetings'> Chomebox for Meetings </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome'> Chrome </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20Device%20Management'> Chrome Device Management </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20digital%20signage'> Chrome digital signage </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20for%20Business'> Chrome for Business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20for%20Work'> Chrome for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20Frame'> Chrome Frame </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20OS'> Chrome OS </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebit'> Chromebit </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebooks'> Chromebooks </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebooks%20for%20Business'> Chromebooks for Business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebooks%20for%20Education'> Chromebooks for Education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebooks%20for%20Work'> Chromebooks for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebox%20for%20digital%20signage'> Chromebox for digital signage </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebox%20for%20meetings'> Chromebox for meetings </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebox%20for%20signage'> Chromebox for signage </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromeboxes'> Chromeboxes </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromecast'> Chromecast </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/City%2024%2F7'> City 24/7 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Classroom'> Classroom </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Clearing%20Kosovo'> Clearing Kosovo </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Cloud'> Cloud </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20computing'> cloud computing </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20computing%20gonegoogle'> cloud computing gonegoogle </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20computing%20gonegoogle%20Google%20Apps'> cloud computing gonegoogle Google Apps </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20computing%20gonegoogle%20Google%20Apps%20google%20docs%20small%20business%20success%20story'> cloud computing gonegoogle Google Apps google docs small business success story </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20computing%20gonegoogle%20Google%20Apps%20google%20docs%20small%20business%20success%20story%20switch'> cloud computing gonegoogle Google Apps google docs small business success story switch </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20datastore'> cloud datastore </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20platform'> cloud platform </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Cloud%20Platform%20Live'> Cloud Platform Live </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20print'> cloud print </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20series'> cloud series </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20services'> cloud services </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20sql'> cloud sql </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/collaboration'> collaboration </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Colorado'> Colorado </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Connectors'> Connectors </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/contacts'> contacts </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Control%20Panel'> Control Panel </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/customer'> customer </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/customer%20love'> customer love </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Customer%20story'> Customer story </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Customer%20support'> Customer support </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Customer%20testimonial'> Customer testimonial </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/data%20centers'> data centers </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/data%20processing%20amendment'> data processing amendment </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/data%20protection'> data protection </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Developer'> Developer </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/developers'> developers </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Digital%20Learning%20Day'> Digital Learning Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Docs'> Docs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/documents'> documents </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/DPA'> DPA </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Drawings'> Drawings </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Drive%20for%20Education'> Drive for Education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/drive%20sharing'> drive sharing </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Earth'> Earth </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/earth%20and%20maps'> earth and maps </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/EC'> EC </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/education'> education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Education%20on%20Air'> Education on Air </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/EMC'> EMC </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/EMM'> EMM </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Energy'> Energy </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/enterprise'> enterprise </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/EU'> EU </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/events'> events </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/FedEx'> FedEx </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Fedex.com'> Fedex.com </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Finance'> Finance </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Firebase'> Firebase </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Forms'> Forms </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/franchises'> franchises </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/GAFE'> GAFE </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Gartner'> Gartner </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/GE'> GE </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/geo'> geo </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Global%20Partner%20Summit'> Global Partner Summit </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/gmail'> gmail </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Gone%20Google'> Gone Google </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/gonegoogle'> gonegoogle </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20AdWords'> Google AdWords </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20App%20Engine'> Google App Engine </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps'> Google Apps </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20Blog'> Google Apps Blog </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20for%20Business'> Google Apps for Business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20for%20Education'> Google Apps for Education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20for%20Government'> Google Apps for Government </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20for%20Work'> Google Apps for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20Marketplace'> Google Apps Marketplace </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20Reseller'> Google Apps Reseller </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20Script'> Google Apps Script </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20Vault'> Google Apps Vault </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20BigQuery'> Google BigQuery </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Calendar'> Google Calendar </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Calendar%20app'> Google Calendar app </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Certified%20Teachers'> Google Certified Teachers </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Chrome'> Google Chrome </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Chromebases'> Google Chromebases </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Classroom'> Google Classroom </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20Datastore'> Google Cloud Datastore </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20DNS'> Google Cloud DNS </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20Platform'> Google Cloud Platform </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20cloud%20storage'> google cloud storage </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20Vision%20API'> Google Cloud Vision API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20commerce%20search'> google commerce search </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Compute%20Engine'> Google Compute Engine </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Doc'> Google Doc </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Docs'> Google Docs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Domains'> Google Domains </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Draw'> Google Draw </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Drive'> Google Drive </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Drive%20for%20Work'> Google Drive for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Earth'> Google Earth </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Earth%20Engine'> Google Earth Engine </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Earth%20Enterprise'> Google Earth Enterprise </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Earth%20Images'> Google Earth Images </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Earth%20Pro'> Google Earth Pro </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Email%20Security%20and%20Archiving'> Google Email Security and Archiving </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Enterprise'> Google Enterprise </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Enterprise%20Search'> Google Enterprise Search </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Expeditions'> Google Expeditions </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Education'> Google for Education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Education%20Partner%20Program'> Google for Education Partner Program </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Education%20Training%20Center'> Google for Education Training Center </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Entrepreneurs'> Google for Entrepreneurs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Work'> Google for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Work%20and%20Google%20for%20Education%20Partner%20Program'> Google for Work and Google for Education Partner Program </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Work%20partner%20program'> Google for Work partner program </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Forms'> Google Forms </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Green'> Google Green </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20groups'> google groups </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Hangout'> Google Hangout </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Hangouts'> Google Hangouts </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20I%2FO'> Google I/O </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Keep'> Google Keep </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps'> Google Maps </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20API'> Google Maps API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20APIs'> Google Maps APIs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Coordinate'> Google Maps Coordinate </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Engine'> Google Maps Engine </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Engine%20Pro'> Google Maps Engine Pro </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Engine%20public%20data%20program'> Google Maps Engine public data program </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20for%20Business'> Google Maps for Business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20for%20Work'> Google Maps for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Gallery'> Google Maps Gallery </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Tracks%20API'> Google Maps Tracks API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Message%20Continuity'> Google Message Continuity </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20message%20security'> google message security </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Mobile%20Device%20Management'> Google Mobile Device Management </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20My%20Maps'> Google My Maps </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20My%20Maps%20Pro'> Google My Maps Pro </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Places%20API'> Google Places API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Play'> Google Play </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20play%20for%20education'> google play for education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Prediction%20API'> Google Prediction API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Research%20tool'> Google Research tool </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Science%20Fair'> Google Science Fair </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Search%20Appliance'> Google Search Appliance </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Security%20Key'> Google Security Key </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Sheets'> Google Sheets </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Site%20Search'> Google Site Search </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20sites'> google sites </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Slides%20API'> Google Slides API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Smart%20Lock'> Google Smart Lock </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20spreadsheets'> Google spreadsheets </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Springboard'> Google Springboard </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20storage'> google storage </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Storage%20for%20Developers'> Google Storage for Developers </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Translate'> Google Translate </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Vault'> Google Vault </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Video'> Google Video </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Wave'> Google Wave </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%2B'> google+ </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%2B%20api'> Google+ api </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%2B%20Communities'> Google+ Communities </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/googlenew'> googlenew </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/government'> government </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/GSA'> GSA </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/GSA%207.0'> GSA 7.0 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/GSA%20for%20Commerce'> GSA for Commerce </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/guest%20post'> guest post </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/HALO%20Trust'> HALO Trust </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Hangout%20on%20Air'> Hangout on Air </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Hangouts%20on%20Air'> Hangouts on Air </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/HEAT'> HEAT </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/hints%20and%20tips'> hints and tips </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/HIPAA'> HIPAA </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Inbox'> Inbox </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Inbox%20by%20Gmail'> Inbox by Gmail </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/innovation'> innovation </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/international%20trade'> international trade </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Internet%20Explorer'> Internet Explorer </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/intranet'> intranet </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/io2011'> io2011 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/iOS'> iOS </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/iPad'> iPad </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/IT'> IT </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/K-12'> K-12 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Kubernetes'> Kubernetes </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/large%20business'> large business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/MAM'> MAM </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/manufacturing'> manufacturing </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Mapping%20a%20better%20world'> Mapping a better world </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/marketplace'> marketplace </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/marketplace%20highlights'> marketplace highlights </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/mashups'> mashups </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/MCCs'> MCCs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/MDM'> MDM </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/medium%20business'> medium business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/migration'> migration </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/mobile'> mobile </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/mobile%20management'> mobile management </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/model%20contract%20clauses'> model contract clauses </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/moms'> moms </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Mother%27s%20Day'> Mother's Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/mpstaffpick'> mpstaffpick </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/MyHEAT'> MyHEAT </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/NAVMAN'> NAVMAN </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/new%20features'> new features </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/news'> news </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Niagara%20International%20Transportation%20Technology%20Coalition'> Niagara International Transportation Technology Coalition </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/non-profit'> non-profit </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/noteworthy'> noteworthy </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/offline'> offline </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/OpenID%20Connect'> OpenID Connect </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Parters'> Parters </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/partner'> partner </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Partner%20Showcase'> Partner Showcase </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/partners'> partners </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Place%20Summaries'> Place Summaries </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Postini'> Postini </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/privacy'> privacy </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/product%20ideas'> product ideas </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/productivity'> productivity </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Quickoffice'> Quickoffice </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Receptionist%27s%20Day'> Receptionist's Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/reports'> reports </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Reseller'> Reseller </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/retail'> retail </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/RSA'> RSA </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Safer%20Internet%20Day'> Safer Internet Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/SBW2013'> SBW2013 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/SBW2014'> SBW2014 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/sbweek'> sbweek </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/SCCs'> SCCs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Search'> Search </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Security'> Security </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Security%20Key'> Security Key </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/small%20business'> small business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Small%20Business%20Week'> Small Business Week </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Small%20businesses'> Small businesses </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/SMB'> SMB </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/spam%20and%20security%20trends'> spam and security trends </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Startups'> Startups </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/success%20story'> success story </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/support'> support </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/switch'> switch </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/System%20Admin'> System Admin </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/T%20Dispatch'> T Dispatch </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Teamwork%202015'> Teamwork 2015 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Thanksgiving'> Thanksgiving </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Transport%20and%20Logistics'> Transport and Logistics </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Trust'> Trust </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/UK'> UK </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/university'> university </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/University%20of%20Calgary'> University of Calgary </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Updates'> Updates </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/utilities'> utilities </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Veteran%20Owned%20Businesses'> Veteran Owned Businesses </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Veterans%20Day'> Veterans Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Veterans%20Day%202013'> Veterans Day 2013 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Veterans%20Day%202014'> Veterans Day 2014 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/viewpoint'> viewpoint </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/VNX'> VNX </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/wallet'> wallet </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/webinar'> webinar </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/webmaster'> webmaster </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Winter'> Winter </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/women%20in%20tech'> women in tech </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Women%27s%20History%20Month'> Women's History Month </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Work%20Resolutions'> Work Resolutions </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/World%20Bank'> World Bank </a> </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 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://cloud.googleblog.com/2016/'> 2016 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.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://cloud.googleblog.com/2016/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/01/'> January </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://cloud.googleblog.com/2015/'> 2015 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.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://cloud.googleblog.com/2015/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/01/'> January </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://cloud.googleblog.com/2014/'> 2014 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.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://cloud.googleblog.com/2014/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/01/'> January </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://cloud.googleblog.com/2013/'> 2013 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.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://cloud.googleblog.com/2013/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/01/'> January </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://cloud.googleblog.com/2012/'> 2012 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.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://cloud.googleblog.com/2012/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/01/'> January </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://cloud.googleblog.com/2011/'> 2011 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.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://cloud.googleblog.com/2011/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/01/'> January </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://cloud.googleblog.com/2010/'> 2010 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.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://cloud.googleblog.com/2010/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/01/'> January </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://cloud.googleblog.com/2009/'> 2009 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.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://cloud.googleblog.com/2009/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/01/'> January </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://cloud.googleblog.com/2008/'> 2008 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.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://cloud.googleblog.com/2008/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/01/'> January </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <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://cloud.googleblog.com/2007/'> 2007 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate expanded'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.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://cloud.googleblog.com/2007/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/01/'> January </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://cloud.googleblog.com/2006/'> 2006 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.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://cloud.googleblog.com/2006/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/01/'> January </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://cloud.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="http://plus.google.com/+googlecloud" 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="GoogleApps" data-layout="full"></div> </div> <!--Twitter--> <div class="share followgooglewrapper"> <button data-href="https://twitter.com/gsuite" onclick='sharingPopup(this);' id='twitter-share'><span class="twitter-follow">Follow @gsuite</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> </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML1'> <h2 class='title'> Useful Links </h2> <div class='widget-content'> <a href="https://gsuite.google.com/together/">G Suite</a><br /><a href="https://apps.google.com/products/gmail/?utm_medium=et&utm_source=appsblog&utm_campaign=en&utm_content=gmail">Gmail</a><br /><a href="https://apps.google.com/products/hangouts/?utm_medium=et&utm_source=appsblog&utm_campaign=en&utm_content=hangouts">Hangouts</a><br /><a href="https://apps.google.com/products/calendar/?utm_medium=et&utm_source=appsblog&utm_campaign=en&utm_content=calendar">Calendar</a><br /><a href="https://apps.google.com/products/googleplus/?utm_medium=et&utm_source=appsblog&utm_campaign=en&utm_content=gplus">Google+</a><br /><a href="https://apps.google.com/products/drive/?utm_medium=et&utm_source=appsblog&utm_campaign=en&utm_content=drive">Google Drive</a><br /><a href="https://www.google.com/work/mapsearth/">Google Maps</a><br /><a href="https://cloud.google.com/">Google Cloud Platform</a> </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="//googleblog.blogspot.com/" title="Official Google">Official Google Blog</a> </li> <li> <a href="//googlepublicpolicy.blogspot.com/" title="Public Policy">Public Policy 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">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 type="text/javascript" src="https://www.blogger.com/static/v1/widgets/984859869-widgets.js"></script> <script type='text/javascript'> window['__wavt'] = 'AOuZoY62LyUU9iDE4hW4RJkAVOAFj9x-_g:1732384352516';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d6567687196385815607','//cloud.googleblog.com/2007/12/','6567687196385815607'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '6567687196385815607', 'title': 'Official Google Cloud Blog', 'url': 'https://cloud.googleblog.com/2007/12/', 'canonicalUrl': 'https://cloud.googleblog.com/2007/12/', 'homepageUrl': 'https://cloud.googleblog.com/', 'searchUrl': 'https://cloud.googleblog.com/search', 'canonicalHomepageUrl': 'https://cloud.googleblog.com/', 'blogspotFaviconUrl': 'https://cloud.googleblog.com/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': true, 'httpsEnabled': true, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': 'UA-18038-3', '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 Cloud Blog - Atom\x22 href\x3d\x22https://cloud.googleblog.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22Official Google Cloud Blog - RSS\x22 href\x3d\x22https://cloud.googleblog.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 Cloud Blog - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/6567687196385815607/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': false, 'jumpLinkMessage': 'Read more', 'pageType': 'archive', 'pageName': 'December 2007', 'pageTitle': 'Official Google Cloud Blog: December 2007'}}, {'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 Cloud Blog', 'description': 'Built in the cloud. Engineered for your enterprise.', 'url': 'https://cloud.googleblog.com/2007/12/', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': false, 'isArchive': true, 'isLabelSearch': false, 'archive': {'year': 2007, 'month': 12, 'rangeMessage': 'Showing posts from December, 2007'}}}]); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false}, '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>