CINXE.COM

Official Google Cloud Blog: Mapping a better world

<!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: Mapping a better world </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/search/label/Mapping%20a%20better%20world' 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/search/label/Mapping%20a%20better%20world' 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/search/label/Mapping%20a%20better%20world' 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&amp;zx=e76fb540-b24b-49b0-9255-53fe5dfedfeb' media='none' onload='if(media!=&#39;all&#39;)media=&#39;all&#39;' rel='stylesheet'/><noscript><link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=6567687196385815607&amp;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='9154543720177590886' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2016/05/how-Infoxchange-and-Google-Maps-are-empowering-Australias-homeless.html' itemprop='url' title='How Infoxchange and Google Maps are empowering Australia’s homeless'> How Infoxchange and Google Maps are empowering Australia&#8217;s homeless </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, May 9, 2016 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> <span class="byline-author">Posted by Diana Brown, Product Manager at Infoxchange</span> <br /> <br /> <i><b>Editor's note:</b> This is the fifth in a series of &#8220;Mapping a Better World&#8221; posts, highlighting organizations using location data to affect positive local and global change. Today&#8217;s guest post comes from Diana Brown, Product Manager at <a href="https://www.infoxchange.net.au/" target="_blank">Infoxchange</a>, creators of <a href="https://www.infoxchange.net.au/ask-izzy" target="_blank">Ask Izzy</a>, a mobile app for Australia&#8217;s homeless that connects them with shelter, food and other essential services. The company was founded in a Melbourne garage in 1989.</i><br /> <iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/HbuiDexPe00" width="640"></iframe><br /> No one expects to become homeless. For those that do, knowing where to find resources like water, shelter and medical supplies &#8212; resources we can&#8217;t live without but can take for granted when we have a roof over our head &#8212; can be a daily struggle.<br /> <table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody> <tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie6wlm5HyP_F5zMgXQgcvR4tbiLv_RnA-GK_OaUSfknRP7kOCeSh1bC_qYOxuJ17YjajFX5_vAugiCNKWqnG7VpEbsF0gNDr2izEArEfnwqz1HOcSEedwZRO-n-7pvFjKalCNWPwlPQhk/s1600/infoxchange-2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="368" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie6wlm5HyP_F5zMgXQgcvR4tbiLv_RnA-GK_OaUSfknRP7kOCeSh1bC_qYOxuJ17YjajFX5_vAugiCNKWqnG7VpEbsF0gNDr2izEArEfnwqz1HOcSEedwZRO-n-7pvFjKalCNWPwlPQhk/s640/infoxchange-2.png" width="640" /></a></td></tr> <tr><td class="tr-caption" style="text-align: center;">Prime Minister Malcolm Turnbull and his wife Lucy Turnbull speak with a former homeless man who helped consult on Ask Izzy.&nbsp;</td></tr> </tbody></table> <br /> In Australia, 1 in 200 people are homeless, but 80 percent of them have a smartphone. We realized that these smartphones could act as lifeline to basic resources, providing real-time information about nearby services, including services that offer food and shelter. That&#8217;s how we came up with the idea for the Ask Izzy app.<br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ1XCVZkHUmJoi8RJfXePIcnD9E4V3_Faav3KM9asdHxrB7IbEgKSXwm94giAkzVQXVqnQwk-UIkzaLafeKXgsoTgjr91vwH2miDk7LLgPQ1obyujToMX8FRExpd4tI9nyHyU5mXMfmWk/s1600/infoxchange-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="370" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ1XCVZkHUmJoi8RJfXePIcnD9E4V3_Faav3KM9asdHxrB7IbEgKSXwm94giAkzVQXVqnQwk-UIkzaLafeKXgsoTgjr91vwH2miDk7LLgPQ1obyujToMX8FRExpd4tI9nyHyU5mXMfmWk/s640/infoxchange-3.png" width="640" /></a></div> With the help of <a href="https://developers.google.com/maps/" target="_blank">Google Maps APIs</a>, Ask Izzy gives homeless people information about over 350,000 vital nearby services such as shelter, food, needle exchanges, employment resources, technology facilities like Wi-Fi and charging stations, legal and financial advice. The <a href="https://developers.google.com/places/javascript/?utm_source=gfwblog&amp;utm_medium=website&amp;utm_campaign=2016-geo-na-website-gmedia-blogs-us-blogPost&amp;utm_content=AskIzzy" target="_blank">Places API</a> allows us to suggest specific destinations and services based on a user's current location. We can tell a user how far away various services are with the <a href="https://developers.google.com/maps/documentation/distance-matrix/?utm_source=gfwblog&amp;utm_medium=website&amp;utm_campaign=2016-geo-na-website-gmedia-blogs-us-blogPost&amp;utm_content=AskIzzy" target="_blank">Distance Matrix API</a> and provide transit options with the <a href="https://developers.google.com/maps/documentation/directions/?utm_source=gfwblog&amp;utm_medium=website&amp;utm_campaign=2016-geo-na-website-gmedia-blogs-us-blogPost&amp;utm_content=AskIzzy" target="_blank">Directions API</a>.<br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDucsmeh2nyBiJRDY2CEsyAudY5hTyKmW0S3YTP1B8xbAe25PJ20kWlbPRBB_VaaXhQl7EbG5L40My8Tue7leZq9t38_p-oBZm8YcnZZxTlpk0pXk3NYNk4ghpoxXUfqHRR7bc6w3NTIo/s1600/infoxchange-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDucsmeh2nyBiJRDY2CEsyAudY5hTyKmW0S3YTP1B8xbAe25PJ20kWlbPRBB_VaaXhQl7EbG5L40My8Tue7leZq9t38_p-oBZm8YcnZZxTlpk0pXk3NYNk4ghpoxXUfqHRR7bc6w3NTIo/s640/infoxchange-1.png" width="320" /></a></div> We work closely with those who have overcome homelessness to understand the specific needs of the homeless population and provide the best access to resources. We also collaborate with the service providers who help meet these specific needs. <br /> <br /> None of the benefits provided by Ask Izzy would be possible without our partners, whose cutting-edge technology we depend on every day. We&#8217;re thrilled to call Google a partner and we look forward to growing our working relationship and doing more to address the needs of our users.</div> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> <span class="byline-author">Posted by Diana Brown, Product Manager at Infoxchange</span> <br /> <br /> <i><b>Editor's note:</b> This is the fifth in a series of &#8220;Mapping a Better World&#8221; posts, highlighting organizations using location data to affect positive local and global change. Today&#8217;s guest post comes from Diana Brown, Product Manager at <a href="https://www.infoxchange.net.au/" target="_blank">Infoxchange</a>, creators of <a href="https://www.infoxchange.net.au/ask-izzy" target="_blank">Ask Izzy</a>, a mobile app for Australia&#8217;s homeless that connects them with shelter, food and other essential services. The company was founded in a Melbourne garage in 1989.</i><br /> <iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/HbuiDexPe00" width="640"></iframe><br /> No one expects to become homeless. For those that do, knowing where to find resources like water, shelter and medical supplies &#8212; resources we can&#8217;t live without but can take for granted when we have a roof over our head &#8212; can be a daily struggle.<br /> <table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody> <tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie6wlm5HyP_F5zMgXQgcvR4tbiLv_RnA-GK_OaUSfknRP7kOCeSh1bC_qYOxuJ17YjajFX5_vAugiCNKWqnG7VpEbsF0gNDr2izEArEfnwqz1HOcSEedwZRO-n-7pvFjKalCNWPwlPQhk/s1600/infoxchange-2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="368" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie6wlm5HyP_F5zMgXQgcvR4tbiLv_RnA-GK_OaUSfknRP7kOCeSh1bC_qYOxuJ17YjajFX5_vAugiCNKWqnG7VpEbsF0gNDr2izEArEfnwqz1HOcSEedwZRO-n-7pvFjKalCNWPwlPQhk/s640/infoxchange-2.png" width="640" /></a></td></tr> <tr><td class="tr-caption" style="text-align: center;">Prime Minister Malcolm Turnbull and his wife Lucy Turnbull speak with a former homeless man who helped consult on Ask Izzy.&nbsp;</td></tr> </tbody></table> <br /> In Australia, 1 in 200 people are homeless, but 80 percent of them have a smartphone. We realized that these smartphones could act as lifeline to basic resources, providing real-time information about nearby services, including services that offer food and shelter. That&#8217;s how we came up with the idea for the Ask Izzy app.<br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ1XCVZkHUmJoi8RJfXePIcnD9E4V3_Faav3KM9asdHxrB7IbEgKSXwm94giAkzVQXVqnQwk-UIkzaLafeKXgsoTgjr91vwH2miDk7LLgPQ1obyujToMX8FRExpd4tI9nyHyU5mXMfmWk/s1600/infoxchange-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="370" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ1XCVZkHUmJoi8RJfXePIcnD9E4V3_Faav3KM9asdHxrB7IbEgKSXwm94giAkzVQXVqnQwk-UIkzaLafeKXgsoTgjr91vwH2miDk7LLgPQ1obyujToMX8FRExpd4tI9nyHyU5mXMfmWk/s640/infoxchange-3.png" width="640" /></a></div> With the help of <a href="https://developers.google.com/maps/" target="_blank">Google Maps APIs</a>, Ask Izzy gives homeless people information about over 350,000 vital nearby services such as shelter, food, needle exchanges, employment resources, technology facilities like Wi-Fi and charging stations, legal and financial advice. The <a href="https://developers.google.com/places/javascript/?utm_source=gfwblog&amp;utm_medium=website&amp;utm_campaign=2016-geo-na-website-gmedia-blogs-us-blogPost&amp;utm_content=AskIzzy" target="_blank">Places API</a> allows us to suggest specific destinations and services based on a user's current location. We can tell a user how far away various services are with the <a href="https://developers.google.com/maps/documentation/distance-matrix/?utm_source=gfwblog&amp;utm_medium=website&amp;utm_campaign=2016-geo-na-website-gmedia-blogs-us-blogPost&amp;utm_content=AskIzzy" target="_blank">Distance Matrix API</a> and provide transit options with the <a href="https://developers.google.com/maps/documentation/directions/?utm_source=gfwblog&amp;utm_medium=website&amp;utm_campaign=2016-geo-na-website-gmedia-blogs-us-blogPost&amp;utm_content=AskIzzy" target="_blank">Directions API</a>.<br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDucsmeh2nyBiJRDY2CEsyAudY5hTyKmW0S3YTP1B8xbAe25PJ20kWlbPRBB_VaaXhQl7EbG5L40My8Tue7leZq9t38_p-oBZm8YcnZZxTlpk0pXk3NYNk4ghpoxXUfqHRR7bc6w3NTIo/s1600/infoxchange-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDucsmeh2nyBiJRDY2CEsyAudY5hTyKmW0S3YTP1B8xbAe25PJ20kWlbPRBB_VaaXhQl7EbG5L40My8Tue7leZq9t38_p-oBZm8YcnZZxTlpk0pXk3NYNk4ghpoxXUfqHRR7bc6w3NTIo/s640/infoxchange-1.png" width="320" /></a></div> We work closely with those who have overcome homelessness to understand the specific needs of the homeless population and provide the best access to resources. We also collaborate with the service providers who help meet these specific needs. <br /> <br /> None of the benefits provided by Ask Izzy would be possible without our partners, whose cutting-edge technology we depend on every day. We&#8217;re thrilled to call Google a partner and we look forward to growing our working relationship and doing more to address the needs of our users.</div> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2016/05/how-Infoxchange-and-Google-Maps-are-empowering-Australias-homeless.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 Infoxchange and Google Maps are empowering Australia’s homeless&url=https://cloud.googleblog.com/2016/05/how-Infoxchange-and-Google-Maps-are-empowering-Australias-homeless.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/2016/05/how-Infoxchange-and-Google-Maps-are-empowering-Australias-homeless.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'> &#57529; </i> <span class='cmt_count_iframe_holder' data-count='2' data-onclick='' data-post-url='https://cloud.googleblog.com/2016/05/how-Infoxchange-and-Google-Maps-are-empowering-Australias-homeless.html' data-url='https://cloud.googleblog.com/2016/05/how-Infoxchange-and-Google-Maps-are-empowering-Australias-homeless.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2016/05/how-Infoxchange-and-Google-Maps-are-empowering-Australias-homeless.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/customer%20love' rel='tag'> customer love </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Gone%20Google' rel='tag'> Gone Google </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20for%20Work' rel='tag'> Google for Work </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Maps%20APIs' rel='tag'> Google Maps APIs </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Maps%20for%20Work' rel='tag'> Google Maps for Work </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Mapping%20a%20better%20world' rel='tag'> Mapping a better world </a> </span> </div> </div> </div> <div class='post' data-id='8484813562274450521' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2016/04/Charity-water-provides-clean-water-and-reinvents-charity-with-the-help-of-Google-Maps.html' itemprop='url' title='Charity: water provides clean water and reinvents charity with the help of Google Maps'> Charity: water provides clean water and reinvents charity with the help of Google Maps </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Friday, April 22, 2016 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> <span class="byline-author">Posted by Alessandra Mosenifar, Senior Product Designer for charity: water</span> <br /> <br /> <i><b>Editor's note:</b>&nbsp;This is the fourth post in our &#8220;Mapping a Better World&#8221; series, highlighting organizations using location data to affect positive local and global change. Today&#8217;s guest blogger is Alessandra Mosenifar, Senior Product Designer for <a href="https://donate.charitywater.org/donate/home" target="_blank">charity: water</a>. Read how the organization uses Google Maps to share the results of their work providing clean water for millions of people.<br /> </i> <br /> <br /> Charity: water&#8217;s mission is to bring clean drinking water to everyone on the planet. We work towards this mission by funding global partners who understand what&#8217;s needed for their specific communities. Our partners around the world have years of experience working with their state and local governments to build sustainable, community-owned water projects. We ensure this information is transparent and accessible so that donors, stakeholders and interested users can see what has been funded and the realized impact.<br /> <br /> With <a href="https://developers.google.com/maps/?utm_source=gfwblog&amp;utm_medium=website&amp;utm_campaign=2016-geo-na-website-gmedia-blogs-us-blogPost&amp;utm_content=charitywater" target="_blank">Google Maps APIs</a>, we were able to create a new way for donors to view exactly where their dollars go. We also built an easily digestible map packed with details and visuals for the thousands of water projects we've completed. Each project is represented by an icon on the map. When a user clicks the icon the project details appear &#8212; including the project completion date, the number of people benefiting from clean water, the implementation partner and the project's precise GPS coordinates. <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTgp6o9v4REEQB03-Smaw6Lk7bcNDQlhcpPxLQCsWwI50AoD30mFG4DimekssQLJDsA6-Yv7FsZQntkrG2PRVfprN98ECPws6ZvtLoNi5rpGvd3HHkNckY8SD8aci_hje5VUjSqMRkZ3M/s1600/charity-water.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTgp6o9v4REEQB03-Smaw6Lk7bcNDQlhcpPxLQCsWwI50AoD30mFG4DimekssQLJDsA6-Yv7FsZQntkrG2PRVfprN98ECPws6ZvtLoNi5rpGvd3HHkNckY8SD8aci_hje5VUjSqMRkZ3M/s640/charity-water.png" width="640" /></a></div> <br /> <br /> We use <a href="https://developers.google.com/maps/documentation/javascript/?utm_source=gfwblog&amp;utm_medium=website&amp;utm_campaign=2016-geo-na-website-gmedia-blogs-us-blogPost&amp;utm_content=charitywater" target="_blank">Javascript API</a> to display projects on our <a href="http://www.charitywater.org/projects/completed-projects/" target="_blank">completed projects page</a> and on <a href="https://mycw.charitywater.org/p/myprojectsview?project_id=RW.WFP.Q3.14.166.018&amp;campaign_id=53863" target="_blank">project detail pages</a>. We also use the <a href="https://developers.google.com/maps/documentation/geocoding/intro?utm_source=gfwblog&amp;utm_medium=website&amp;utm_campaign=2016-geo-na-website-gmedia-blogs-us-blogPost&amp;utm_content=charitywater" target="_blank">Geocoding API</a> for reverse geocoding of GPS coordinates to determine the district and village names for each project. <br /> <br /> We also recently partnered with Google on a program that allows us to continuously monitor water projects and provide reporting accessible via our website. Using sensors to measure water flow per hour (transmitted weekly), we know if a water point is broken, as well as learn patterns of usage on a daily or yearly basis. Anyone can take a look at project status and details, including the average number of liters of water provided each day.<br /> <br /> To date, we&#8217;ve funded nearly 20,000 water projects in 24 countries, providing clean water to more than 6 million people. Thanks to Google Maps APIs, donors can see exactly where and how their money is spent. Beyond providing clean water for millions of people, we&#8217;re helping transform how charities work by providing the highest degree of transparency about donation impact.<br /> <i><br /> </i> <i>If you're a nonprofit and interested in staying up to date on grants offerings for Google products like Google Maps APIs, apply to join <a href="https://www.google.com/nonprofits/" target="_blank">Google for Nonprofits</a> today.</i><br /> <br /></div> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> <span class="byline-author">Posted by Alessandra Mosenifar, Senior Product Designer for charity: water</span> <br /> <br /> <i><b>Editor's note:</b>&nbsp;This is the fourth post in our &#8220;Mapping a Better World&#8221; series, highlighting organizations using location data to affect positive local and global change. Today&#8217;s guest blogger is Alessandra Mosenifar, Senior Product Designer for <a href="https://donate.charitywater.org/donate/home" target="_blank">charity: water</a>. Read how the organization uses Google Maps to share the results of their work providing clean water for millions of people.<br /> </i> <br /> <br /> Charity: water&#8217;s mission is to bring clean drinking water to everyone on the planet. We work towards this mission by funding global partners who understand what&#8217;s needed for their specific communities. Our partners around the world have years of experience working with their state and local governments to build sustainable, community-owned water projects. We ensure this information is transparent and accessible so that donors, stakeholders and interested users can see what has been funded and the realized impact.<br /> <br /> With <a href="https://developers.google.com/maps/?utm_source=gfwblog&amp;utm_medium=website&amp;utm_campaign=2016-geo-na-website-gmedia-blogs-us-blogPost&amp;utm_content=charitywater" target="_blank">Google Maps APIs</a>, we were able to create a new way for donors to view exactly where their dollars go. We also built an easily digestible map packed with details and visuals for the thousands of water projects we've completed. Each project is represented by an icon on the map. When a user clicks the icon the project details appear &#8212; including the project completion date, the number of people benefiting from clean water, the implementation partner and the project's precise GPS coordinates. <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTgp6o9v4REEQB03-Smaw6Lk7bcNDQlhcpPxLQCsWwI50AoD30mFG4DimekssQLJDsA6-Yv7FsZQntkrG2PRVfprN98ECPws6ZvtLoNi5rpGvd3HHkNckY8SD8aci_hje5VUjSqMRkZ3M/s1600/charity-water.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTgp6o9v4REEQB03-Smaw6Lk7bcNDQlhcpPxLQCsWwI50AoD30mFG4DimekssQLJDsA6-Yv7FsZQntkrG2PRVfprN98ECPws6ZvtLoNi5rpGvd3HHkNckY8SD8aci_hje5VUjSqMRkZ3M/s640/charity-water.png" width="640" /></a></div> <br /> <br /> We use <a href="https://developers.google.com/maps/documentation/javascript/?utm_source=gfwblog&amp;utm_medium=website&amp;utm_campaign=2016-geo-na-website-gmedia-blogs-us-blogPost&amp;utm_content=charitywater" target="_blank">Javascript API</a> to display projects on our <a href="http://www.charitywater.org/projects/completed-projects/" target="_blank">completed projects page</a> and on <a href="https://mycw.charitywater.org/p/myprojectsview?project_id=RW.WFP.Q3.14.166.018&amp;campaign_id=53863" target="_blank">project detail pages</a>. We also use the <a href="https://developers.google.com/maps/documentation/geocoding/intro?utm_source=gfwblog&amp;utm_medium=website&amp;utm_campaign=2016-geo-na-website-gmedia-blogs-us-blogPost&amp;utm_content=charitywater" target="_blank">Geocoding API</a> for reverse geocoding of GPS coordinates to determine the district and village names for each project. <br /> <br /> We also recently partnered with Google on a program that allows us to continuously monitor water projects and provide reporting accessible via our website. Using sensors to measure water flow per hour (transmitted weekly), we know if a water point is broken, as well as learn patterns of usage on a daily or yearly basis. Anyone can take a look at project status and details, including the average number of liters of water provided each day.<br /> <br /> To date, we&#8217;ve funded nearly 20,000 water projects in 24 countries, providing clean water to more than 6 million people. Thanks to Google Maps APIs, donors can see exactly where and how their money is spent. Beyond providing clean water for millions of people, we&#8217;re helping transform how charities work by providing the highest degree of transparency about donation impact.<br /> <i><br /> </i> <i>If you're a nonprofit and interested in staying up to date on grants offerings for Google products like Google Maps APIs, apply to join <a href="https://www.google.com/nonprofits/" target="_blank">Google for Nonprofits</a> today.</i><br /> <br /></div> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2016/04/Charity-water-provides-clean-water-and-reinvents-charity-with-the-help-of-Google-Maps.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:Charity: water provides clean water and reinvents charity with the help of Google Maps&url=https://cloud.googleblog.com/2016/04/Charity-water-provides-clean-water-and-reinvents-charity-with-the-help-of-Google-Maps.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/2016/04/Charity-water-provides-clean-water-and-reinvents-charity-with-the-help-of-Google-Maps.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'> &#57529; </i> <span class='cmt_count_iframe_holder' data-count='3' data-onclick='' data-post-url='https://cloud.googleblog.com/2016/04/Charity-water-provides-clean-water-and-reinvents-charity-with-the-help-of-Google-Maps.html' data-url='https://cloud.googleblog.com/2016/04/Charity-water-provides-clean-water-and-reinvents-charity-with-the-help-of-Google-Maps.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2016/04/Charity-water-provides-clean-water-and-reinvents-charity-with-the-help-of-Google-Maps.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/customer%20love' rel='tag'> customer love </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Gone%20Google' rel='tag'> Gone Google </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20for%20Work' rel='tag'> Google for Work </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Maps%20APIs' rel='tag'> Google Maps APIs </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Maps%20for%20Work' rel='tag'> Google Maps for Work </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Mapping%20a%20better%20world' rel='tag'> Mapping a better world </a> </span> </div> </div> </div> <div class='post' data-id='661266713242124646' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2016/04/BigChange-Apps-improves-mobile-workforce-productivity-using-Google-Maps-APIs.html' itemprop='url' title='BigChange Apps improves mobile workforce productivity using Google Maps APIs'> BigChange Apps improves mobile workforce productivity using Google Maps APIs </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Tuesday, April 19, 2016 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted Martin Port, BigChange Apps CEO</span> <br /> <br /> <i><b>Editor's note:</b> Today we hear from Martin Port, BigChange Apps CEO. Read how BigChange Apps helps its customers improve mobile workforce productivity, efficiency and their bottom line with Google Maps APIs.</i><br /> <i><br /> </i> Many companies that require fleet and workforce tracking waste too much time, money and fuel managing their mobile workforces because they&#8217;re using old technology, manual reporting or paper-based systems. At <a href="http://visitor.bigchangeapps.com/" target="_blank">BigChange Apps</a>, we set out to change that by building a mobile workforce management platform called JobWatch that combines a back-office application, vehicle-tracking and mobile apps for drivers. The platform connects a company&#8217;s back-office processes to their mobile workforce while also allowing their end-customer to place new bookings, check the ETA and status of existing jobs and even view historical information and documents such as invoices. Companies can manage jobs and create reports in real time directly from JobWatch, improving workforce productivity and eliminating manual processes like providing paper project quotes. <br /> <br /> Maps are at the heart of what we do &#8212; they power the mobile apps for drivers and our back-office web app for dispatchers and other staff. When we started, we used a different mapping solution. But it wasn&#8217;t keeping up by adding new features. Pricing was too complex, and we couldn&#8217;t get the help we needed. So we switched to Google, which gave us great tools in <a href="https://developers.google.com/maps/" target="_blank">Google Maps APIs</a> and advice on how to use them to improve JobWatch. And since <a href="https://maps.google.com/" target="_blank">Google Maps</a> sets the standard for the way people interface with maps, we spent less time training our customers how to use JobWatch.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVerXTOBO2rpSynu4-de9arBbrMCoK6rM_Uc_tA-lh22xa-AeujJLvA_qW6myOVfV_zyLaoTLD-OwCDZVQKo1VLCK4AumYvRxG9e-VtMdDtilKwmA0RnZfND-2uOfIu1ER-oCA4DsP7ns/s1600/bigchange-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVerXTOBO2rpSynu4-de9arBbrMCoK6rM_Uc_tA-lh22xa-AeujJLvA_qW6myOVfV_zyLaoTLD-OwCDZVQKo1VLCK4AumYvRxG9e-VtMdDtilKwmA0RnZfND-2uOfIu1ER-oCA4DsP7ns/s400/bigchange-2.png" width="400" /></a></div>The back-office web app uses the <a href="https://developers.google.com/maps/documentation/javascript/" target="_blank">Google Maps Javascript API</a> for its Maps tab, which lets our customers track vehicles in real-time. Dispatchers can see where all their resources are. So if there&#8217;s a problem out in the field, they can immediately send help by dispatching someone nearby. <br /> <br /> On the drivers&#8217; side, the iOS mobile app for drivers is powered by the <a href="https://developers.google.com/maps/documentation/ios-sdk/" target="_blank">Google Maps SDK for iOS</a>, and the Android app uses the <a href="https://developers.google.com/maps/documentation/android-api/" target="_blank">Google Maps Android API</a>.<br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWi4O6UnMselnB4VZ-abUEoCWxD1pS5UqZia6bURk-CUV1oJNEqDOMvyZ0gTWPuiswwDoFu9bUEAnpmE9rxziITTSPfGaetRVSozK1DDzaQLtV78cPQohSC0WleSOKGO8k0ALh7fUk4Ak/s1600/bigchange-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWi4O6UnMselnB4VZ-abUEoCWxD1pS5UqZia6bURk-CUV1oJNEqDOMvyZ0gTWPuiswwDoFu9bUEAnpmE9rxziITTSPfGaetRVSozK1DDzaQLtV78cPQohSC0WleSOKGO8k0ALh7fUk4Ak/s400/bigchange-1.png" width="377" /></a></div>We&#8217;re big fans of the <a href="https://developers.google.com/maps/documentation/distance-matrix/intro" target="_blank">Google Maps Distance Matrix API</a>, the <a href="https://developers.google.com/maps/documentation/directions/" target="_blank">Google Maps Directions API</a> and the <a href="http://googlegeodevelopers.blogspot.com/2015/11/predicting-future-with-google-maps-apis.html" target="_blank">predictive travel time feature</a> because they help our dispatchers more efficiently schedule drivers. When customers call asking when a driver will be arriving, dispatchers can give them an exact time.<br /> <br /> What&#8217;s also great about Google Maps APIs is they integrate so well with other systems, like Customer Relationship Management (CRM) software. We&#8217;ve built a widget that imports contacts, then passes them through the <a href="https://developers.google.com/maps/documentation/geocoding/intro" target="_blank">Google Maps Geocoding API</a>, which translates addresses into geographic coordinates so they can be more accurately mapped.<br /> <br /> JobWatch means big savings for our customers &#8212; in <a href="http://visitor.bigchangeapps.com/silentnight-go-greener-with-a-10-mpg-improvement-thanks-to-bigchange/" target="_blank">two recent</a> customer <a href="http://visitor.bigchangeapps.com/nixon-hire-boosts-mobile-workforce-productivity-20-percent-bigchange-jobwatch/" target="_blank">case studies</a>, our customers have reported a 10 percent reduction in fuel use, 10 hours less of travel time per mobile worker per month, an extra four jobs finished per driver per month and eight hours of office administration time saved per mobile employee. Happy customers translate into growth for us &#8212; our revenue grew from &#163;337,000 in 2013 to &#163;2 million in 2015. By 2020, we forecast having &#163;4 million in recurring annual revenue. For that, we have Google Maps to thank, by providing the tools to help us build a single platform uniting drivers and the back office.<br /> <br /> <br /> <br /> </div> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted Martin Port, BigChange Apps CEO</span> <br /> <br /> <i><b>Editor's note:</b> Today we hear from Martin Port, BigChange Apps CEO. Read how BigChange Apps helps its customers improve mobile workforce productivity, efficiency and their bottom line with Google Maps APIs.</i><br /> <i><br /> </i> Many companies that require fleet and workforce tracking waste too much time, money and fuel managing their mobile workforces because they&#8217;re using old technology, manual reporting or paper-based systems. At <a href="http://visitor.bigchangeapps.com/" target="_blank">BigChange Apps</a>, we set out to change that by building a mobile workforce management platform called JobWatch that combines a back-office application, vehicle-tracking and mobile apps for drivers. The platform connects a company&#8217;s back-office processes to their mobile workforce while also allowing their end-customer to place new bookings, check the ETA and status of existing jobs and even view historical information and documents such as invoices. Companies can manage jobs and create reports in real time directly from JobWatch, improving workforce productivity and eliminating manual processes like providing paper project quotes. <br /> <br /> Maps are at the heart of what we do &#8212; they power the mobile apps for drivers and our back-office web app for dispatchers and other staff. When we started, we used a different mapping solution. But it wasn&#8217;t keeping up by adding new features. Pricing was too complex, and we couldn&#8217;t get the help we needed. So we switched to Google, which gave us great tools in <a href="https://developers.google.com/maps/" target="_blank">Google Maps APIs</a> and advice on how to use them to improve JobWatch. And since <a href="https://maps.google.com/" target="_blank">Google Maps</a> sets the standard for the way people interface with maps, we spent less time training our customers how to use JobWatch.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVerXTOBO2rpSynu4-de9arBbrMCoK6rM_Uc_tA-lh22xa-AeujJLvA_qW6myOVfV_zyLaoTLD-OwCDZVQKo1VLCK4AumYvRxG9e-VtMdDtilKwmA0RnZfND-2uOfIu1ER-oCA4DsP7ns/s1600/bigchange-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVerXTOBO2rpSynu4-de9arBbrMCoK6rM_Uc_tA-lh22xa-AeujJLvA_qW6myOVfV_zyLaoTLD-OwCDZVQKo1VLCK4AumYvRxG9e-VtMdDtilKwmA0RnZfND-2uOfIu1ER-oCA4DsP7ns/s400/bigchange-2.png" width="400" /></a></div>The back-office web app uses the <a href="https://developers.google.com/maps/documentation/javascript/" target="_blank">Google Maps Javascript API</a> for its Maps tab, which lets our customers track vehicles in real-time. Dispatchers can see where all their resources are. So if there&#8217;s a problem out in the field, they can immediately send help by dispatching someone nearby. <br /> <br /> On the drivers&#8217; side, the iOS mobile app for drivers is powered by the <a href="https://developers.google.com/maps/documentation/ios-sdk/" target="_blank">Google Maps SDK for iOS</a>, and the Android app uses the <a href="https://developers.google.com/maps/documentation/android-api/" target="_blank">Google Maps Android API</a>.<br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWi4O6UnMselnB4VZ-abUEoCWxD1pS5UqZia6bURk-CUV1oJNEqDOMvyZ0gTWPuiswwDoFu9bUEAnpmE9rxziITTSPfGaetRVSozK1DDzaQLtV78cPQohSC0WleSOKGO8k0ALh7fUk4Ak/s1600/bigchange-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWi4O6UnMselnB4VZ-abUEoCWxD1pS5UqZia6bURk-CUV1oJNEqDOMvyZ0gTWPuiswwDoFu9bUEAnpmE9rxziITTSPfGaetRVSozK1DDzaQLtV78cPQohSC0WleSOKGO8k0ALh7fUk4Ak/s400/bigchange-1.png" width="377" /></a></div>We&#8217;re big fans of the <a href="https://developers.google.com/maps/documentation/distance-matrix/intro" target="_blank">Google Maps Distance Matrix API</a>, the <a href="https://developers.google.com/maps/documentation/directions/" target="_blank">Google Maps Directions API</a> and the <a href="http://googlegeodevelopers.blogspot.com/2015/11/predicting-future-with-google-maps-apis.html" target="_blank">predictive travel time feature</a> because they help our dispatchers more efficiently schedule drivers. When customers call asking when a driver will be arriving, dispatchers can give them an exact time.<br /> <br /> What&#8217;s also great about Google Maps APIs is they integrate so well with other systems, like Customer Relationship Management (CRM) software. We&#8217;ve built a widget that imports contacts, then passes them through the <a href="https://developers.google.com/maps/documentation/geocoding/intro" target="_blank">Google Maps Geocoding API</a>, which translates addresses into geographic coordinates so they can be more accurately mapped.<br /> <br /> JobWatch means big savings for our customers &#8212; in <a href="http://visitor.bigchangeapps.com/silentnight-go-greener-with-a-10-mpg-improvement-thanks-to-bigchange/" target="_blank">two recent</a> customer <a href="http://visitor.bigchangeapps.com/nixon-hire-boosts-mobile-workforce-productivity-20-percent-bigchange-jobwatch/" target="_blank">case studies</a>, our customers have reported a 10 percent reduction in fuel use, 10 hours less of travel time per mobile worker per month, an extra four jobs finished per driver per month and eight hours of office administration time saved per mobile employee. Happy customers translate into growth for us &#8212; our revenue grew from &#163;337,000 in 2013 to &#163;2 million in 2015. By 2020, we forecast having &#163;4 million in recurring annual revenue. For that, we have Google Maps to thank, by providing the tools to help us build a single platform uniting drivers and the back office.<br /> <br /> <br /> <br /> </div> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2016/04/BigChange-Apps-improves-mobile-workforce-productivity-using-Google-Maps-APIs.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:BigChange Apps improves mobile workforce productivity using Google Maps APIs&url=https://cloud.googleblog.com/2016/04/BigChange-Apps-improves-mobile-workforce-productivity-using-Google-Maps-APIs.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/2016/04/BigChange-Apps-improves-mobile-workforce-productivity-using-Google-Maps-APIs.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'> &#57529; </i> <span class='cmt_count_iframe_holder' data-count='3' data-onclick='' data-post-url='https://cloud.googleblog.com/2016/04/BigChange-Apps-improves-mobile-workforce-productivity-using-Google-Maps-APIs.html' data-url='https://cloud.googleblog.com/2016/04/BigChange-Apps-improves-mobile-workforce-productivity-using-Google-Maps-APIs.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2016/04/BigChange-Apps-improves-mobile-workforce-productivity-using-Google-Maps-APIs.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/customer%20love' rel='tag'> customer love </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Gone%20Google' rel='tag'> Gone Google </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Apps%20for%20Work' rel='tag'> Google Apps for Work </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Maps%20APIs' rel='tag'> Google Maps APIs </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Maps%20for%20Work' rel='tag'> Google Maps for Work </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Mapping%20a%20better%20world' rel='tag'> Mapping a better world </a> </span> </div> </div> </div> <div class='post' data-id='8073577171510566652' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2016/04/Environmental-Defense-Fund-finds-methane-leaks-and-helps-slow-climate-change-using-Google-Maps-APIs.html' itemprop='url' title='Environmental Defense Fund finds methane leaks and helps slow climate change using Google Maps APIs'> Environmental Defense Fund finds methane leaks and helps slow climate change using Google Maps APIs </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, April 14, 2016 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Cassie Ely, Manager in the Office of Chief Scientist for the Environmental Defense Fund</span> <br /> <br /> <i><b>Editor's note:</b> This is the third post in our &#8220;Mapping a Better World&#8221; series, highlighting organizations using location data to affect positive local and global change. Today&#8217;s guest blogger is <a href="https://www.edf.org/people/cassandra-ely" target="_blank">Cassie Ely</a>, Manager in the Office of Chief Scientist for the Environmental Defense Fund. Read how the organization uses Google Maps APIs to help combat climate change by locating methane leaks underneath city streets. <br /> </i> <br /> <br /> The <a href="https://www.edf.org/" target="_blank">Environmental Defense Fund</a> (EDF) works to solve the world&#8217;s biggest environmental problems through innovative public policies, robust science and cross-cutting partnerships with leading voices in the business community. Our partnership with Google reflects all three approaches. <br /> <br /> Most people don&#8217;t realize that a major contributor to global warming is methane, the primary component of natural gas. It&#8217;s an extremely powerful greenhouse gas: <a href="https://www.edf.org/methane-other-important-greenhouse-gas" target="_blank">84 times as impactful as carbon dioxide over a 20-year timeframe</a>. We still need to reduce carbon dioxide emissions, but cutting the amount of methane emitted into the atmosphere has the power to reduce the rate of global warming when time is of the essence.<br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/SnA3LVmpqJs" width="640"></iframe><br /> </span> About 25 percent of the warming we face right now is due to methane. It can be released from biological sources like landfills and cow pastures, but can also come from leaky pipes underneath city streets, delivering the natural gas that heats our homes and provides cooking fuel. We thought that if we could reduce those gas leaks, we could help slow climate change.<br /> <br /> To address this issue, we joined forces with <a href="//www.google.com/earth/outreach/index.html" target="_blank">Google Earth Outreach</a> to put methane analyzers on <a href="https://www.google.com/maps/streetview/understand/" target="_blank">Google Street View</a> cars. While the cars drive to capture 360-degree Street View imagery, the analyzers measure the concentration of the methane gas in the air. <br /> <br /> The team is also working with a scientist and professor at Colorado State University, <a href="http://www.biology.colostate.edu/people/jcvf/" target="_blank">Joe von Fischer</a>, to analyze the spikes in methane levels and detect leaks in the underground pipes. We do multiple drive-passes and combine the readings with methane plume lengths and environmental factors to identify the severity of the leaks. We&#8217;ve conducted this research in 10 cities, where we&#8217;ve mapped <a href="https://www.edf.org/climate/methanemaps" target="_blank">over 4,000 methane leaks</a>.<br /> <table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody> <tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJpsTBEtNvXpcx1k6IXpFaJOrKxkzjLCR-VTkKZgzuK7UwwRVpikM1eMmD9ksPfRoB-xBFj9Ercm3EIOQxIDcFiZT5vQs840TfkR7qhn4iUxBmIAPXl7_ZIsULdvaz0L6vLxhOC4VB4Co/s1600/edf-1.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="408" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJpsTBEtNvXpcx1k6IXpFaJOrKxkzjLCR-VTkKZgzuK7UwwRVpikM1eMmD9ksPfRoB-xBFj9Ercm3EIOQxIDcFiZT5vQs840TfkR7qhn4iUxBmIAPXl7_ZIsULdvaz0L6vLxhOC4VB4Co/s640/edf-1.png" width="640" /></a></td></tr> <tr><td class="tr-caption" style="text-align: center;">Anyone can visit <a href="http://edf.org/methanemaps">edf.org/methanemaps</a> to view leak maps of several U.S. cities, such as Boston, MA.</td></tr> </tbody></table><br /> <br /> <br /> We chose to use <a href="https://developers.google.com/maps/" target="_blank">Google Maps APIs</a> because they have the design features and flexibility we needed to visualize the data in a way that can be easily understood. Google Maps APIs allow us to map the invisible. We use the <a href="https://developers.google.com/maps/documentation/javascript/" target="_blank">Javascript API</a>&nbsp;to build the base layer for our maps and then on top of that, layer the roads where Street View cars drive and the locations where our analyzers detected methane leaks.<br /> <br /> With layered mapping, we've shown that there's an average of one leak per mile (in Boston) to one leak every 200 miles (in Indianapolis), demonstrating the effectiveness of techniques like using plastic piping instead of steel for pipeline construction. We hope utilities can use this data to prioritize the replacement of gas mains and service lines (like New Jersey&#8217;s PSE&amp;G announced last fall). <br /> <br /> Global warming is a huge global threat to all of our ecosystems, our livelihood and our health. It affects everything we do. By making information about methane leaks transparent, we&#8217;re providing a unique way for utilities, regulators and the public to work together and invest in infrastructure improvement and repairs &#8212; helping us reach our ultimate goal of combatting climate change.<br /> <br /> <i>If you are a nonprofit and interested in staying up to date on grants offerings for Google products like Google Maps APIs, apply to join <a href="https://www.google.com/nonprofits/" target="_blank">Google for Nonprofits</a> today.</i><br /> <br /> </div> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Cassie Ely, Manager in the Office of Chief Scientist for the Environmental Defense Fund</span> <br /> <br /> <i><b>Editor's note:</b> This is the third post in our &#8220;Mapping a Better World&#8221; series, highlighting organizations using location data to affect positive local and global change. Today&#8217;s guest blogger is <a href="https://www.edf.org/people/cassandra-ely" target="_blank">Cassie Ely</a>, Manager in the Office of Chief Scientist for the Environmental Defense Fund. Read how the organization uses Google Maps APIs to help combat climate change by locating methane leaks underneath city streets. <br /> </i> <br /> <br /> The <a href="https://www.edf.org/" target="_blank">Environmental Defense Fund</a> (EDF) works to solve the world&#8217;s biggest environmental problems through innovative public policies, robust science and cross-cutting partnerships with leading voices in the business community. Our partnership with Google reflects all three approaches. <br /> <br /> Most people don&#8217;t realize that a major contributor to global warming is methane, the primary component of natural gas. It&#8217;s an extremely powerful greenhouse gas: <a href="https://www.edf.org/methane-other-important-greenhouse-gas" target="_blank">84 times as impactful as carbon dioxide over a 20-year timeframe</a>. We still need to reduce carbon dioxide emissions, but cutting the amount of methane emitted into the atmosphere has the power to reduce the rate of global warming when time is of the essence.<br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/SnA3LVmpqJs" width="640"></iframe><br /> </span> About 25 percent of the warming we face right now is due to methane. It can be released from biological sources like landfills and cow pastures, but can also come from leaky pipes underneath city streets, delivering the natural gas that heats our homes and provides cooking fuel. We thought that if we could reduce those gas leaks, we could help slow climate change.<br /> <br /> To address this issue, we joined forces with <a href="//www.google.com/earth/outreach/index.html" target="_blank">Google Earth Outreach</a> to put methane analyzers on <a href="https://www.google.com/maps/streetview/understand/" target="_blank">Google Street View</a> cars. While the cars drive to capture 360-degree Street View imagery, the analyzers measure the concentration of the methane gas in the air. <br /> <br /> The team is also working with a scientist and professor at Colorado State University, <a href="http://www.biology.colostate.edu/people/jcvf/" target="_blank">Joe von Fischer</a>, to analyze the spikes in methane levels and detect leaks in the underground pipes. We do multiple drive-passes and combine the readings with methane plume lengths and environmental factors to identify the severity of the leaks. We&#8217;ve conducted this research in 10 cities, where we&#8217;ve mapped <a href="https://www.edf.org/climate/methanemaps" target="_blank">over 4,000 methane leaks</a>.<br /> <table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody> <tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJpsTBEtNvXpcx1k6IXpFaJOrKxkzjLCR-VTkKZgzuK7UwwRVpikM1eMmD9ksPfRoB-xBFj9Ercm3EIOQxIDcFiZT5vQs840TfkR7qhn4iUxBmIAPXl7_ZIsULdvaz0L6vLxhOC4VB4Co/s1600/edf-1.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="408" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJpsTBEtNvXpcx1k6IXpFaJOrKxkzjLCR-VTkKZgzuK7UwwRVpikM1eMmD9ksPfRoB-xBFj9Ercm3EIOQxIDcFiZT5vQs840TfkR7qhn4iUxBmIAPXl7_ZIsULdvaz0L6vLxhOC4VB4Co/s640/edf-1.png" width="640" /></a></td></tr> <tr><td class="tr-caption" style="text-align: center;">Anyone can visit <a href="http://edf.org/methanemaps">edf.org/methanemaps</a> to view leak maps of several U.S. cities, such as Boston, MA.</td></tr> </tbody></table><br /> <br /> <br /> We chose to use <a href="https://developers.google.com/maps/" target="_blank">Google Maps APIs</a> because they have the design features and flexibility we needed to visualize the data in a way that can be easily understood. Google Maps APIs allow us to map the invisible. We use the <a href="https://developers.google.com/maps/documentation/javascript/" target="_blank">Javascript API</a>&nbsp;to build the base layer for our maps and then on top of that, layer the roads where Street View cars drive and the locations where our analyzers detected methane leaks.<br /> <br /> With layered mapping, we've shown that there's an average of one leak per mile (in Boston) to one leak every 200 miles (in Indianapolis), demonstrating the effectiveness of techniques like using plastic piping instead of steel for pipeline construction. We hope utilities can use this data to prioritize the replacement of gas mains and service lines (like New Jersey&#8217;s PSE&amp;G announced last fall). <br /> <br /> Global warming is a huge global threat to all of our ecosystems, our livelihood and our health. It affects everything we do. By making information about methane leaks transparent, we&#8217;re providing a unique way for utilities, regulators and the public to work together and invest in infrastructure improvement and repairs &#8212; helping us reach our ultimate goal of combatting climate change.<br /> <br /> <i>If you are a nonprofit and interested in staying up to date on grants offerings for Google products like Google Maps APIs, apply to join <a href="https://www.google.com/nonprofits/" target="_blank">Google for Nonprofits</a> today.</i><br /> <br /> </div> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2016/04/Environmental-Defense-Fund-finds-methane-leaks-and-helps-slow-climate-change-using-Google-Maps-APIs.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:Environmental Defense Fund finds methane leaks and helps slow climate change using Google Maps APIs&url=https://cloud.googleblog.com/2016/04/Environmental-Defense-Fund-finds-methane-leaks-and-helps-slow-climate-change-using-Google-Maps-APIs.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/2016/04/Environmental-Defense-Fund-finds-methane-leaks-and-helps-slow-climate-change-using-Google-Maps-APIs.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'> &#57529; </i> <span class='cmt_count_iframe_holder' data-count='5' data-onclick='' data-post-url='https://cloud.googleblog.com/2016/04/Environmental-Defense-Fund-finds-methane-leaks-and-helps-slow-climate-change-using-Google-Maps-APIs.html' data-url='https://cloud.googleblog.com/2016/04/Environmental-Defense-Fund-finds-methane-leaks-and-helps-slow-climate-change-using-Google-Maps-APIs.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2016/04/Environmental-Defense-Fund-finds-methane-leaks-and-helps-slow-climate-change-using-Google-Maps-APIs.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/customer%20love' rel='tag'> customer love </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Gone%20Google' rel='tag'> Gone Google </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20for%20Work' rel='tag'> Google for Work </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Maps' rel='tag'> Google Maps </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Maps%20APIs' rel='tag'> Google Maps APIs </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Mapping%20a%20better%20world' rel='tag'> Mapping a better world </a> </span> </div> </div> </div> <div class='post' data-id='962365110035829' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2016/04/never-walk-home-alone-again-with-Companion-app-and-Google-Maps.html' itemprop='url' title='Never walk home alone again with Companion app and Google Maps'> Never walk home alone again with Companion app and Google Maps </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, April 6, 2016 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Jake Wayne, Co-founder of Companion</span> <br /> <br /> <i><b>Editor's note:</b> This is the second post in our &#8220;Mapping a Better World&#8221; series, highlighting organizations using location data to affect positive local and global change. Today&#8217;s guest post comes from Jake Wayne, co-founder of <a href="http://www.companionapp.io/" target="_blank">Companion</a>, a safety app created so no one has to walk home alone. The company was founded by five University of Michigan students.<br /> </i> <br /> <i><br /> </i> Making sure friends and family get home safe, especially late at night, is a common concern, but a text message confirmation can be unreliable since people often forget to send the message or check that the other person arrived safely. Some colleges have taken safety precautions by introducing escort systems in which police officers walk students home, but outside of these institutions there wasn't an automated system in place to help people feel safe and connected if they're walking or driving home alone.<br /> <br /> When we learned that fellow University of Michigan students felt unsafe walking or driving home late at night, we decided to create a way for people to let family, friends or the public safety department know they&#8217;re headed home and give them a tool to quickly contact others if they feel unsafe. Younger generations have grown up with mobile phones, so it&#8217;s natural for them to reach for their phones in times of need. That&#8217;s why we created <a href="http://companionapp.io/?_branch_match_id=246270170620912516" target="_blank">Companion</a>, because human safety is an issue beyond college campuses.<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/VVWsX60HQaM" width="640"></iframe><br /> <br /> When we set out to create the app, we knew we wanted to build something that ultimately improves the way we live. In just three months, we created an app that now more than one million people in 184 countries have interacted with &#8212; both as users and companions. We&#8217;re excited to continue making an impact. <br /> <br /> When it comes to safety, everything needs to work seamlessly. We decided to use Google Maps for our app, because consumers and developers alike trust Google Maps technology. Google Maps is easy to use and available internationally. When users open the Companion app and see Google Maps, it gives them peace of mind due to its familiar user interface. <br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdvfuGccFFP0Pxe_a5gXzTO-_3H62fvVJ0bc5b52hAKwYi-MvM5xuGrBKZRIc6ONwf0igHzQNmDLdrf67cG5Dj_BzSLKcSxn1rTVWPFBVNzw8EvzxoKe07emj6rz8o0iLEOsz_5K6KlkE/s1600/CompanionApp1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdvfuGccFFP0Pxe_a5gXzTO-_3H62fvVJ0bc5b52hAKwYi-MvM5xuGrBKZRIc6ONwf0igHzQNmDLdrf67cG5Dj_BzSLKcSxn1rTVWPFBVNzw8EvzxoKe07emj6rz8o0iLEOsz_5K6KlkE/s640/CompanionApp1.png" width="315" /></a></div><br /> <br /> When a user requests a friend to accompany them as a &#8220;companion&#8221; on the walk home, the app tracks the person walking home on a map in the app. Companions don&#8217;t even need to have the app downloaded to make sure the user get home safely. The user can reach out to their companion to let them know they feels nervous with one tap on their phone, prompting the companion to check in. With two taps, the user can dial 911.<br /> <br /> If the app detects a sudden change, like the user running or removing headphones, the app sends a notification to the user asking if they&#8217;re OK. If there&#8217;s no response within 15 seconds, the app notifies the companion, who can instantly contact the police from the app. The app will also make siren noises and go into alert mode, until the user is confirmed safe. <br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3yoMOdPsPU0rZpUm3oMDuwkuicd3HMY7KjoRxhGpCGCBDNXMA_rRaV_2w96lMrVTj0AZ_K9N5D5s6M6FUOb24bkrZRw3C0lQNlyocvQHfmnpgF8dM3hDH-SAIzpqqlnKEyE_6eObsxWY/s1600/CompanionApp3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3yoMOdPsPU0rZpUm3oMDuwkuicd3HMY7KjoRxhGpCGCBDNXMA_rRaV_2w96lMrVTj0AZ_K9N5D5s6M6FUOb24bkrZRw3C0lQNlyocvQHfmnpgF8dM3hDH-SAIzpqqlnKEyE_6eObsxWY/s640/CompanionApp3.png" width="316" /></a></div><br /> <br /> The Google Maps <a href="https://developers.google.com/places/?utm_source=gfwblog&amp;utm_medium=website&amp;utm_campaign=2016-geo-na-website-gmedia-blogs-us-blogPost" target="_blank">Places API</a> makes it incredibly easy for users to input their destinations quickly and accurately. Using the <a href="https://developers.google.com/maps/documentation/directions/?utm_source=gfwblog&amp;utm_medium=website&amp;utm_campaign=2016-geo-na-website-gmedia-blogs-us-blogPost" target="_blank">Directions API</a>, we&#8217;re able to better estimate how long it will take a user to get from Point A to Point B, and communicate this to their companions every step of the way. <br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbcqISyN1_eMdX7wdyzL4lvaRnYhtNa4LxVpAuwhxdeqFRnKenGWNLC35ROLAu2IYDv8baoP_c0C3bGFTxeWAMq0CN9rOzp3dTSgJitrq4Mruz3P9rH2Jz-VktIPRwCPAHhVKdm31aSpw/s1600/CompanionApp2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbcqISyN1_eMdX7wdyzL4lvaRnYhtNa4LxVpAuwhxdeqFRnKenGWNLC35ROLAu2IYDv8baoP_c0C3bGFTxeWAMq0CN9rOzp3dTSgJitrq4Mruz3P9rH2Jz-VktIPRwCPAHhVKdm31aSpw/s640/CompanionApp2.png" width="316" /></a></div><br /> The Companion app also collects anonymous information about locations where users feel nervous. This allows us to analyze the data and share it with the safety officials and universities to help make streets safer. For example, we&#8217;re working with the University of Michigan police department to help determine areas that should be patrolled. <br /> <br /> When you&#8217;re dealing with safety, user trust and confidence is important. Google Maps APIs helps our users feel that Companion can facilitate a safe journey home.<br /> <br /> <br /> </div> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Jake Wayne, Co-founder of Companion</span> <br /> <br /> <i><b>Editor's note:</b> This is the second post in our &#8220;Mapping a Better World&#8221; series, highlighting organizations using location data to affect positive local and global change. Today&#8217;s guest post comes from Jake Wayne, co-founder of <a href="http://www.companionapp.io/" target="_blank">Companion</a>, a safety app created so no one has to walk home alone. The company was founded by five University of Michigan students.<br /> </i> <br /> <i><br /> </i> Making sure friends and family get home safe, especially late at night, is a common concern, but a text message confirmation can be unreliable since people often forget to send the message or check that the other person arrived safely. Some colleges have taken safety precautions by introducing escort systems in which police officers walk students home, but outside of these institutions there wasn't an automated system in place to help people feel safe and connected if they're walking or driving home alone.<br /> <br /> When we learned that fellow University of Michigan students felt unsafe walking or driving home late at night, we decided to create a way for people to let family, friends or the public safety department know they&#8217;re headed home and give them a tool to quickly contact others if they feel unsafe. Younger generations have grown up with mobile phones, so it&#8217;s natural for them to reach for their phones in times of need. That&#8217;s why we created <a href="http://companionapp.io/?_branch_match_id=246270170620912516" target="_blank">Companion</a>, because human safety is an issue beyond college campuses.<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/VVWsX60HQaM" width="640"></iframe><br /> <br /> When we set out to create the app, we knew we wanted to build something that ultimately improves the way we live. In just three months, we created an app that now more than one million people in 184 countries have interacted with &#8212; both as users and companions. We&#8217;re excited to continue making an impact. <br /> <br /> When it comes to safety, everything needs to work seamlessly. We decided to use Google Maps for our app, because consumers and developers alike trust Google Maps technology. Google Maps is easy to use and available internationally. When users open the Companion app and see Google Maps, it gives them peace of mind due to its familiar user interface. <br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdvfuGccFFP0Pxe_a5gXzTO-_3H62fvVJ0bc5b52hAKwYi-MvM5xuGrBKZRIc6ONwf0igHzQNmDLdrf67cG5Dj_BzSLKcSxn1rTVWPFBVNzw8EvzxoKe07emj6rz8o0iLEOsz_5K6KlkE/s1600/CompanionApp1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdvfuGccFFP0Pxe_a5gXzTO-_3H62fvVJ0bc5b52hAKwYi-MvM5xuGrBKZRIc6ONwf0igHzQNmDLdrf67cG5Dj_BzSLKcSxn1rTVWPFBVNzw8EvzxoKe07emj6rz8o0iLEOsz_5K6KlkE/s640/CompanionApp1.png" width="315" /></a></div><br /> <br /> When a user requests a friend to accompany them as a &#8220;companion&#8221; on the walk home, the app tracks the person walking home on a map in the app. Companions don&#8217;t even need to have the app downloaded to make sure the user get home safely. The user can reach out to their companion to let them know they feels nervous with one tap on their phone, prompting the companion to check in. With two taps, the user can dial 911.<br /> <br /> If the app detects a sudden change, like the user running or removing headphones, the app sends a notification to the user asking if they&#8217;re OK. If there&#8217;s no response within 15 seconds, the app notifies the companion, who can instantly contact the police from the app. The app will also make siren noises and go into alert mode, until the user is confirmed safe. <br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3yoMOdPsPU0rZpUm3oMDuwkuicd3HMY7KjoRxhGpCGCBDNXMA_rRaV_2w96lMrVTj0AZ_K9N5D5s6M6FUOb24bkrZRw3C0lQNlyocvQHfmnpgF8dM3hDH-SAIzpqqlnKEyE_6eObsxWY/s1600/CompanionApp3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3yoMOdPsPU0rZpUm3oMDuwkuicd3HMY7KjoRxhGpCGCBDNXMA_rRaV_2w96lMrVTj0AZ_K9N5D5s6M6FUOb24bkrZRw3C0lQNlyocvQHfmnpgF8dM3hDH-SAIzpqqlnKEyE_6eObsxWY/s640/CompanionApp3.png" width="316" /></a></div><br /> <br /> The Google Maps <a href="https://developers.google.com/places/?utm_source=gfwblog&amp;utm_medium=website&amp;utm_campaign=2016-geo-na-website-gmedia-blogs-us-blogPost" target="_blank">Places API</a> makes it incredibly easy for users to input their destinations quickly and accurately. Using the <a href="https://developers.google.com/maps/documentation/directions/?utm_source=gfwblog&amp;utm_medium=website&amp;utm_campaign=2016-geo-na-website-gmedia-blogs-us-blogPost" target="_blank">Directions API</a>, we&#8217;re able to better estimate how long it will take a user to get from Point A to Point B, and communicate this to their companions every step of the way. <br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbcqISyN1_eMdX7wdyzL4lvaRnYhtNa4LxVpAuwhxdeqFRnKenGWNLC35ROLAu2IYDv8baoP_c0C3bGFTxeWAMq0CN9rOzp3dTSgJitrq4Mruz3P9rH2Jz-VktIPRwCPAHhVKdm31aSpw/s1600/CompanionApp2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbcqISyN1_eMdX7wdyzL4lvaRnYhtNa4LxVpAuwhxdeqFRnKenGWNLC35ROLAu2IYDv8baoP_c0C3bGFTxeWAMq0CN9rOzp3dTSgJitrq4Mruz3P9rH2Jz-VktIPRwCPAHhVKdm31aSpw/s640/CompanionApp2.png" width="316" /></a></div><br /> The Companion app also collects anonymous information about locations where users feel nervous. This allows us to analyze the data and share it with the safety officials and universities to help make streets safer. For example, we&#8217;re working with the University of Michigan police department to help determine areas that should be patrolled. <br /> <br /> When you&#8217;re dealing with safety, user trust and confidence is important. Google Maps APIs helps our users feel that Companion can facilitate a safe journey home.<br /> <br /> <br /> </div> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2016/04/never-walk-home-alone-again-with-Companion-app-and-Google-Maps.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:Never walk home alone again with Companion app and Google Maps&url=https://cloud.googleblog.com/2016/04/never-walk-home-alone-again-with-Companion-app-and-Google-Maps.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/2016/04/never-walk-home-alone-again-with-Companion-app-and-Google-Maps.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'> &#57529; </i> <span class='cmt_count_iframe_holder' data-count='1' data-onclick='' data-post-url='https://cloud.googleblog.com/2016/04/never-walk-home-alone-again-with-Companion-app-and-Google-Maps.html' data-url='https://cloud.googleblog.com/2016/04/never-walk-home-alone-again-with-Companion-app-and-Google-Maps.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2016/04/never-walk-home-alone-again-with-Companion-app-and-Google-Maps.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/customer%20love' rel='tag'> customer love </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Gone%20Google' rel='tag'> Gone Google </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20for%20Work' rel='tag'> Google for Work </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Maps%20for%20Work' rel='tag'> Google Maps for Work </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Mapping%20a%20better%20world' rel='tag'> Mapping a better world </a> </span> </div> </div> </div> <div class='post' data-id='6864028832012452378' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2016/03/GRAS-helps-build-sustainable-and-ethical-supply-chains-using-Google-Maps-APIs-and-Google-Cloud-Platform.html' itemprop='url' title='GRAS helps build sustainable and ethical supply chains using Google Maps APIs and Google Cloud Platform'> GRAS helps build sustainable and ethical supply chains using Google Maps APIs and Google Cloud Platform </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, March 23, 2016 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Dr. Norbert Schmitz, Managing Director of Meo Carbon Solutions</span> <br /> <br /> <i><b>Editor's note:</b> This is the first in a series of &#8220;Mapping a better world&#8221; blog posts highlighting ways in which organizations are using location data to affect positive local and global change. Google Maps APIs continues to create opportunities and tools to support our community.</i><br /> <br /> <i>Today we hear from Dr. Norbert Schmitz, managing director of Meo Carbon Solutions. Read how <a href="http://meo-carbon.com/index_eng.html" target="_blank">Meo Carbon Solutions</a> and Google for Work Premier Partner <a href="http://www.wabion.com/en/homepage.html" target="_blank">Wabion</a> used Google Maps APIs and Google Cloud Platform to develop Global Risk Assessment Services (<a href="https://www.gras-system.org/" target="_blank">GRAS</a>). The tool provides reliable information about the ecological and social risks of expanding agriculture into natural habitats.<br /> </i> <br /> <br /> In the European Union, companies that sell biofuels must get certifications to show that producing their fuel &#8212; often made from agricultural crops &#8212; does not cause deforestation, the loss of biodiversity or the loss of carbon stocks. We established <a href="http://gst-prod.gras-system.org/webui/index.html#/worldmap/show" target="_blank">GRAS</a> to provide a single tool to gather and visualize this data required to support a credible certification. <br /> <br /> Through GRAS, we&#8217;ve made this information accessible not only to governments and NGOs, but also to businesses, financial institutions and individuals. For example, a U.S. company buying soybean oil from Brazil can use GRAS to verify the ecological and social risk exposure of the mills and the farmers supplying the mills.<br /> <br /> We decided the most effective way to present this complex set of information was to build a web app that would overlay data from multiple sources on top of a map. Using this tool, auditors can compare before-and-after maps of a certain area, and based on changes to the habitat, either grant or deny certifications. <br /> <br /> To build GRAS, we partnered with IT consultant <a href="http://www.wabion.com/en/homepage.html" target="_blank">Wabion</a>, a Google for Work Premier Partner. After testing several map solutions, we chose Google Maps because of its high performance, ability to easily integrate data from multiple sources, flexible APIs, solid support and large user community. <br /> <iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/0A2l6wGovyg" width="640"></iframe><br /> <br /> The GRAS website combines mapping information with data from dozens of government agencies, nongovernmental organizations (NGOs) and other global databases. It uses the <a href="https://developers.google.com/maps/documentation/javascript/" target="_blank">Google Maps JavaScript API</a> to display the base maps for the site. The API also visualizes layers and more than 100 types of data &#8212; including agriculture, deforestation and social welfare &#8212; on top of the maps. <br /> <br /> Users can upload and visualize their own data sets. The <a href="https://developers.google.com/maps/documentation/geocoding/intro" target="_blank">Google Maps Geocoding API</a> verifies map locations, and the <a href="https://developers.google.com/places/" target="_blank">Google Maps Places API</a> autocomplete makes it easy for site users to choose locations that they want to learn about. <br /> <table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody> <tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI3RwZ-6yZ5Eecl8MesdGmcKij3myEMbSB-N3gv6QkLzfT2YgqoiKRpKUJFN7fveU1Np-LonnP6EXnauyXs5OrgmxFSW7kVnL4kQmNvFCBeYa1WpA7Q4LZSDEdnn9Dt5hlpm5TATIW5OM/s1600/gras.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="326" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI3RwZ-6yZ5Eecl8MesdGmcKij3myEMbSB-N3gv6QkLzfT2YgqoiKRpKUJFN7fveU1Np-LonnP6EXnauyXs5OrgmxFSW7kVnL4kQmNvFCBeYa1WpA7Q4LZSDEdnn9Dt5hlpm5TATIW5OM/s640/gras.png" width="640" /></a></td></tr> <tr><td class="tr-caption" style="text-align: center;">A GRAS visualization of biodiversity risk in Brazil</td></tr> </tbody></table><br /> <br /> <br /> GRAS is powered by the <a href="https://cloud.google.com/" target="_blank">Google Cloud Platform</a> &#8212; specifically, <a href="https://cloud.google.com/appengine/" target="_blank">Google App Engine</a> and <a href="https://cloud.google.com/compute/" target="_blank">Google Compute Engine</a>. Combining these services with the Google Maps APIs lets us handle geodata in a 10-terabyte database, which hosts more than 100 layers, many of them extremely large.<br /> <br /> We&#8217;ve recently expanded GRAS beyond our original mission to provide insights for other industries by expanding the data layered on top of maps. We&#8217;ve included new information on biodiversity, land-use changes, and available carbon stock. We&#8217;ve also been able to incorporate numerous measurements of social health &#8212; ranging from the Global Slavery Index to the Global Hunger Index and the UNICEF index of access to drinking water and sanitation. <br /> <br /> Through GRAS, we&#8217;ve made this information accessible not only to governments and NGOs, but also to businesses, financial institutions and individuals. For example, a U.S. company buying soybean oil from Brazil can use GRAS to verify the ecological and social risk exposure of the mills and the farmers supplying the mills. <br /> <br /> Far exceeding our initial vision, the GRAS website combines transparency with the power of technology to help users in wide-ranging industries, &#8212;from food, to chemicals and energy &#8212; operate environmentally and socially sound supply chains.<br /> <br /> <br /> </div> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Dr. Norbert Schmitz, Managing Director of Meo Carbon Solutions</span> <br /> <br /> <i><b>Editor's note:</b> This is the first in a series of &#8220;Mapping a better world&#8221; blog posts highlighting ways in which organizations are using location data to affect positive local and global change. Google Maps APIs continues to create opportunities and tools to support our community.</i><br /> <br /> <i>Today we hear from Dr. Norbert Schmitz, managing director of Meo Carbon Solutions. Read how <a href="http://meo-carbon.com/index_eng.html" target="_blank">Meo Carbon Solutions</a> and Google for Work Premier Partner <a href="http://www.wabion.com/en/homepage.html" target="_blank">Wabion</a> used Google Maps APIs and Google Cloud Platform to develop Global Risk Assessment Services (<a href="https://www.gras-system.org/" target="_blank">GRAS</a>). The tool provides reliable information about the ecological and social risks of expanding agriculture into natural habitats.<br /> </i> <br /> <br /> In the European Union, companies that sell biofuels must get certifications to show that producing their fuel &#8212; often made from agricultural crops &#8212; does not cause deforestation, the loss of biodiversity or the loss of carbon stocks. We established <a href="http://gst-prod.gras-system.org/webui/index.html#/worldmap/show" target="_blank">GRAS</a> to provide a single tool to gather and visualize this data required to support a credible certification. <br /> <br /> Through GRAS, we&#8217;ve made this information accessible not only to governments and NGOs, but also to businesses, financial institutions and individuals. For example, a U.S. company buying soybean oil from Brazil can use GRAS to verify the ecological and social risk exposure of the mills and the farmers supplying the mills.<br /> <br /> We decided the most effective way to present this complex set of information was to build a web app that would overlay data from multiple sources on top of a map. Using this tool, auditors can compare before-and-after maps of a certain area, and based on changes to the habitat, either grant or deny certifications. <br /> <br /> To build GRAS, we partnered with IT consultant <a href="http://www.wabion.com/en/homepage.html" target="_blank">Wabion</a>, a Google for Work Premier Partner. After testing several map solutions, we chose Google Maps because of its high performance, ability to easily integrate data from multiple sources, flexible APIs, solid support and large user community. <br /> <iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/0A2l6wGovyg" width="640"></iframe><br /> <br /> The GRAS website combines mapping information with data from dozens of government agencies, nongovernmental organizations (NGOs) and other global databases. It uses the <a href="https://developers.google.com/maps/documentation/javascript/" target="_blank">Google Maps JavaScript API</a> to display the base maps for the site. The API also visualizes layers and more than 100 types of data &#8212; including agriculture, deforestation and social welfare &#8212; on top of the maps. <br /> <br /> Users can upload and visualize their own data sets. The <a href="https://developers.google.com/maps/documentation/geocoding/intro" target="_blank">Google Maps Geocoding API</a> verifies map locations, and the <a href="https://developers.google.com/places/" target="_blank">Google Maps Places API</a> autocomplete makes it easy for site users to choose locations that they want to learn about. <br /> <table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody> <tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI3RwZ-6yZ5Eecl8MesdGmcKij3myEMbSB-N3gv6QkLzfT2YgqoiKRpKUJFN7fveU1Np-LonnP6EXnauyXs5OrgmxFSW7kVnL4kQmNvFCBeYa1WpA7Q4LZSDEdnn9Dt5hlpm5TATIW5OM/s1600/gras.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="326" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI3RwZ-6yZ5Eecl8MesdGmcKij3myEMbSB-N3gv6QkLzfT2YgqoiKRpKUJFN7fveU1Np-LonnP6EXnauyXs5OrgmxFSW7kVnL4kQmNvFCBeYa1WpA7Q4LZSDEdnn9Dt5hlpm5TATIW5OM/s640/gras.png" width="640" /></a></td></tr> <tr><td class="tr-caption" style="text-align: center;">A GRAS visualization of biodiversity risk in Brazil</td></tr> </tbody></table><br /> <br /> <br /> GRAS is powered by the <a href="https://cloud.google.com/" target="_blank">Google Cloud Platform</a> &#8212; specifically, <a href="https://cloud.google.com/appengine/" target="_blank">Google App Engine</a> and <a href="https://cloud.google.com/compute/" target="_blank">Google Compute Engine</a>. Combining these services with the Google Maps APIs lets us handle geodata in a 10-terabyte database, which hosts more than 100 layers, many of them extremely large.<br /> <br /> We&#8217;ve recently expanded GRAS beyond our original mission to provide insights for other industries by expanding the data layered on top of maps. We&#8217;ve included new information on biodiversity, land-use changes, and available carbon stock. We&#8217;ve also been able to incorporate numerous measurements of social health &#8212; ranging from the Global Slavery Index to the Global Hunger Index and the UNICEF index of access to drinking water and sanitation. <br /> <br /> Through GRAS, we&#8217;ve made this information accessible not only to governments and NGOs, but also to businesses, financial institutions and individuals. For example, a U.S. company buying soybean oil from Brazil can use GRAS to verify the ecological and social risk exposure of the mills and the farmers supplying the mills. <br /> <br /> Far exceeding our initial vision, the GRAS website combines transparency with the power of technology to help users in wide-ranging industries, &#8212;from food, to chemicals and energy &#8212; operate environmentally and socially sound supply chains.<br /> <br /> <br /> </div> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2016/03/GRAS-helps-build-sustainable-and-ethical-supply-chains-using-Google-Maps-APIs-and-Google-Cloud-Platform.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:GRAS helps build sustainable and ethical supply chains using Google Maps APIs and Google Cloud Platform&url=https://cloud.googleblog.com/2016/03/GRAS-helps-build-sustainable-and-ethical-supply-chains-using-Google-Maps-APIs-and-Google-Cloud-Platform.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/2016/03/GRAS-helps-build-sustainable-and-ethical-supply-chains-using-Google-Maps-APIs-and-Google-Cloud-Platform.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'> &#57529; </i> <span class='cmt_count_iframe_holder' data-count='11' data-onclick='' data-post-url='https://cloud.googleblog.com/2016/03/GRAS-helps-build-sustainable-and-ethical-supply-chains-using-Google-Maps-APIs-and-Google-Cloud-Platform.html' data-url='https://cloud.googleblog.com/2016/03/GRAS-helps-build-sustainable-and-ethical-supply-chains-using-Google-Maps-APIs-and-Google-Cloud-Platform.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2016/03/GRAS-helps-build-sustainable-and-ethical-supply-chains-using-Google-Maps-APIs-and-Google-Cloud-Platform.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/customer%20love' rel='tag'> customer love </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Gone%20Google' rel='tag'> Gone Google </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20App%20Engine' rel='tag'> Google App Engine </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20Platform' rel='tag'> Google Cloud Platform </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20for%20Work' rel='tag'> Google for Work </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Maps%20API' rel='tag'> Google Maps API </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Maps%20for%20Work' rel='tag'> Google Maps for Work </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Mapping%20a%20better%20world' rel='tag'> Mapping a better world </a> </span> </div> </div> </div> <div class='blog-pager' id='blog-pager'> <a class='home-link' href='https://cloud.googleblog.com/'> <i class='material-icons'> &#59530; </i> </a> <i class='material-icons disabled'> &#58820; </i> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='https://cloud.googleblog.com/search/label/Mapping%20a%20better%20world?updated-max=2016-03-23T07:00:00-07:00&max-results=20&start=20&by-date=false' id='Blog1_blog-pager-older-link' title='Older Posts'> <i class='material-icons'> &#58824; </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'> &#58821; </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> <span dir='ltr'> Mapping a better world </span> </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&#39;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&#39;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&#39;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'> &#58055; </i> <h2> Archive </h2> <i class='material-icons arrow'> &#58821; </i> </div> <div class='widget-content'> <div id='ArchiveList'> <div id='BlogArchive1_ArchiveList'> <ul class='hierarchy'> <li class='archivedate expanded'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy toggle-open'> <i class='material-icons'> &#58823; </i> &#160; </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 expanded'> <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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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 collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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 collapsed'> <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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'] = 'AOuZoY5wTG-Jl1bAhegcPkwWoRQlzlJIcw:1732371008192';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d6567687196385815607','//cloud.googleblog.com/search/label/Mapping%20a%20better%20world','6567687196385815607'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '6567687196385815607', 'title': 'Official Google Cloud Blog', 'url': 'https://cloud.googleblog.com/search/label/Mapping%20a%20better%20world', 'canonicalUrl': 'https://cloud.googleblog.com/search/label/Mapping%20a%20better%20world', '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': 'index', 'searchLabel': 'Mapping a better world', 'pageName': 'Mapping a better world', 'pageTitle': 'Official Google Cloud Blog: Mapping a better world'}}, {'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/search/label/Mapping%20a%20better%20world', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': false, 'isArchive': false, 'isSearch': true, 'isLabelSearch': true, 'search': {'label': 'Mapping a better world', 'resultsMessage': 'Showing posts with the label Mapping a better world', 'resultsMessageHtml': 'Showing posts with the label \x3cspan class\x3d\x27search-label\x27\x3eMapping a better world\x3c/span\x3e'}}}]); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'navMessage': 'Showing posts with label \x3cb\x3eMapping a better world\x3c/b\x3e. \x3ca href\x3d\x22https://cloud.googleblog.com/\x22\x3eShow all posts\x3c/a\x3e'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML8', 'sidebar-top', document.getElementById('HTML8'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_LabelView', new _WidgetInfo('Label1', 'sidebar', document.getElementById('Label1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading\x26hellip;'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML6', 'sidebar', document.getElementById('HTML6'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML5', 'sidebar-bottom', document.getElementById('HTML5'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML1', 'sidebar-bottom', document.getElementById('HTML1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML2', 'footer-1', document.getElementById('HTML2'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML3', 'footer-2', document.getElementById('HTML3'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML4', 'footer-3', document.getElementById('HTML4'), {}, 'displayModeFull')); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10