CINXE.COM
Official Google Blog: developers
<!DOCTYPE html> <html class='v2 list-page' dir='ltr' itemscope='' itemtype='http://schema.org/Blog' lang='en' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'> <head> <link href='https://www.blogger.com/static/v1/widgets/3566091532-css_bundle_v2.css' rel='stylesheet' type='text/css'/> <!-- Google tag (gtag.js) --> <script async='async' src='https://www.googletagmanager.com/gtag/js?id=G-2PXZD4EB4F'></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-2PXZD4EB4F'); </script> <title> Official Google Blog: developers </title> <meta content='width=device-width, height=device-height, minimum-scale=1.0, initial-scale=1.0, user-scalable=0' name='viewport'/> <meta content='IE=Edge' http-equiv='X-UA-Compatible'/> <meta content='Official Google Blog' property='og:title'/> <meta content='https://2.bp.blogspot.com/-kptChpiuaf0/VeSjz-zMUzI/AAAAAAAAAxE/REIiZ4qVI2s/s1600/150824_GoogleBlog_Share.png' property='og:image'/> <meta content='Insights from Googlers into our products, technology, and the Google culture' property='og:description'/> <meta content='en_US' property='og:locale'/> <meta content='https://googleblog.blogspot.com/search/label/developers' property='og:url'/> <meta content='Official Google Blog' property='og:site_name'/> <!-- Twitter Card properties --> <meta content='Official Google Blog' property='og:title'/> <meta content='Insights from Googlers into our products, technology, and the Google culture' property='twitter:description'/> <meta content='summary' name='twitter:card'/> <meta content='@google' name='twitter:creator'/> <link href='https://fonts.googleapis.com/css?family=Roboto:400italic,400,500,500italic,700,700italic' rel='stylesheet' type='text/css'/> <link href='https://fonts.googleapis.com/icon?family=Material+Icons' rel='stylesheet'/> <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js' type='text/javascript'></script> <!-- End --> <style id='page-skin-1' type='text/css'><!-- /* <Group description="Header Color" selector="header"> <Variable name="header.background.color" description="Header Background" type="color" default="#ffffff"/> </Group> */ .header-outer { border-bottom: 1px solid #e0e0e0; background: #ffffff; } html, .Label h2, #sidebar .rss a, .BlogArchive h2, .FollowByEmail h2.title, .widget .post h2 { font-family: Roboto, sans-serif; } .plusfollowers h2.title, .post h2.title, .widget h2.title { font-family: Roboto, sans-serif; } .widget-item-control { height: 100%; } .widget.Header, #header { position: relative; height: 100%; width: 100%; } } .widget.Header .header-logo1 { float: left; margin-right: 15px; padding-right: 15px; border-right: 1px solid #ddd; } .widget.Header .header-title h2 { font-size: 24px; font-family: Roboto, sans-serif; font-weight: normal; line-height: 32px; margin-bottom: 7px; } .header-inner { background-repeat: no-repeat; background-position: right 0px; } .post-author, .byline-author { font-size: 14px; font-weight: normal; color: #757575; color: rgba(0,0,0,.54); } .post-content .img-border { border: 1px solid rgb(235, 235, 235); padding: 4px; } .header-title a { text-decoration: none !important; } pre { border: 1px solid #bbbbbb; margin-top: 1em 0 0 0; padding: 0.99em; overflow-x: auto; overflow-y: auto; } pre, code { font-size: 9pt; background-color: #fafafa; line-height: 125%; font-family: monospace; } pre, code { color: #060; font: 13px/1.54 "courier new",courier,monospace; } .header-left .header-logo1 { width: 128px !important; } .header-desc { line-height: 20px; margin-bottom: 4px; max-width: 260px; } .fb-custom img, .twitter-custom img, .gplus-share img { cursor: pointer; opacity: 0.54; } .fb-custom img:hover, .twitter-custom img:hover, .gplus-share img:hover { opacity: 0.87; } .fb-like { width: 80px; } .post .share { float: right; } #twitter-share{ border: #CCC solid 1px; border-radius: 3px; background-image: -webkit-linear-gradient(top,#ffffff,#dedede); } .twitter-follow { background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVow5xT-XpfkrhZ9UiGEhjZwj6dJBx5VcUQgpVb0AbTGo4PU2N6E24naS7FE6ihn-p5-2H90fVeYJ_qZDiOw_bs9u_tT_x-_PUo5secViHpshyphenhyphenvg1opdRwIuTPM_hfsOTCunnAuQ/s1600/twitter-bird.png) no-repeat left center; padding-left: 18px; font: normal normal normal 11px/18px 'Helvetica Neue',Arial,sans-serif; font-weight: bold; text-shadow: 0 1px 0 rgba(255,255,255,.5); cursor: pointer; margin-bottom: 10px; } .twitter-fb { padding-top: 2px; } .fb-follow-button { background: -webkit-linear-gradient(#4c69ba, #3b55a0); background: -moz-linear-gradient(#4c69ba, #3b55a0); background: linear-gradient(#4c69ba, #3b55a0); border-radius: 2px; height: 18px; padding: 4px 0 0 3px; width: 57px; border: #4c69ba solid 1px; } .fb-follow-button a { text-decoration: none !important; text-shadow: 0 -1px 0 #354c8c; text-align: center; white-space: nowrap; font-size: 11px; color: white; vertical-align: top; } .fb-follow-button a:visited { color: white; } .fb-follow { padding: 0px 5px 3px 0px; width: 14px; vertical-align: bottom; } .gplus-wrapper { margin-top: 3px; display: inline-block; vertical-align: top; } .twitter-custom, .gplus-share { margin-right: 12px; } .fb-follow-button{ margin: 10px auto; } /** CUSTOM CODE **/ --></style> <style id='template-skin-1' type='text/css'><!-- .header-outer { clear: both; } .header-inner { margin: auto; padding: 0px; } .footer-outer { background: #f5f5f5; clear: both; margin: 0; } .footer-inner { margin: auto; padding: 0px; } .footer-inner-2 { /* Account for right hand column elasticity. */ max-width: calc(100% - 248px); } .google-footer-outer { clear: both; } .cols-wrapper, .google-footer-outer, .footer-inner, .header-inner { max-width: 978px; margin-left: auto; margin-right: auto; } .cols-wrapper { margin: auto; clear: both; margin-top: 60px; margin-bottom: 60px; overflow: hidden; } .col-main-wrapper { float: left; width: 100%; } .col-main { margin-right: 278px; max-width: 660px; } .col-right { float: right; width: 248px; margin-left: -278px; } /* Tweaks for layout mode. */ body#layout .google-footer-outer { display: none; } body#layout .header-outer, body#layout .footer-outer { background: none; } body#layout .header-inner { height: initial; } body#layout .cols-wrapper { margin-top: initial; margin-bottom: initial; } --></style> <!-- start all head --> <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/> <meta content='blogger' name='generator'/> <link href='https://googleblog.blogspot.com/favicon.ico' rel='icon' type='image/x-icon'/> <link href='https://googleblog.blogspot.com/search/label/developers' rel='canonical'/> <link rel="alternate" type="application/atom+xml" title="Official Google Blog - Atom" href="https://googleblog.blogspot.com/feeds/posts/default" /> <link rel="alternate" type="application/rss+xml" title="Official Google Blog - RSS" href="https://googleblog.blogspot.com/feeds/posts/default?alt=rss" /> <link rel="service.post" type="application/atom+xml" title="Official Google Blog - Atom" href="https://www.blogger.com/feeds/10861780/posts/default" /> <!--Can't find substitution for tag [blog.ieCssRetrofitLinks]--> <meta content='Insights from Googlers into our products, technology, and the Google culture' name='description'/> <meta content='https://googleblog.blogspot.com/search/label/developers' property='og:url'/> <meta content='Official Google Blog' property='og:title'/> <meta content='Insights from Googlers into our products, technology, and the Google culture' property='og:description'/> <!-- end all head --> <base target='_self'/> <style> html { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; } body { padding: 0; /* This ensures that the scroll bar is always present, which is needed */ /* because content render happens after page load; otherwise the header */ /* would "bounce" in-between states. */ min-height: 150%; } .butter-bar { background-color: #fce8b2; font-size: 16px; margin-bottom: 0; padding: 15px !important; text-align: center; } h2 { font-size: 16px; } h1, h2, h3, h4, h5 { line-height: 2em; } html, h4, h5, h6 { font-size: 14px; } a, a:visited { color: #4184F3; text-decoration: none; } a:focus, a:hover, a:active { text-decoration: none; } .Header { margin-top: 15px; } .Header h1 { font-size: 32px; font-weight: 300; line-height: 32px; height: 42px; } .header-inner .Header .titlewrapper { padding: 0; margin-top: 30px; } .header-inner .Header .descriptionwrapper { padding: 0; margin: 0; } .cols-wrapper { margin-top: 56px; } .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 60px; } .header-inner { height: 256px; position: relative; } html, .header-inner a { color: #212121; color: rgba(0,0,0,.87); } .header-inner .google-logo { position: absolute; background-size: contain; z-index: 1; } .header-left { position: absolute; left: 330px; top: 92px; } .google-logo { top: 94px; } #google-footer { position: relative; font-size: 13px; list-style: none; text-align: right; } #google-footer a { color: #444; } #google-footer ul { margin: 0; padding: 0; height: 144px; line-height: 144px; } #google-footer ul li { display: inline; } #google-footer ul li:before { color: #999; content: "\00b7"; font-weight: bold; margin: 5px; } #google-footer ul li:first-child:before { content: ''; } #google-footer .google-logo-dark { left: 0; margin-top: -16px; position: absolute; top: 50%; } /** Sitemap links. **/ .footer-inner-2 { font-size: 14px; padding-top: 42px; padding-bottom: 74px; } .footer-inner-2 .HTML h2 { color: #212121; color: rgba(0,0,0,.87); font-size: 14px; font-weight: 500; padding-left: 0; margin: 10px 0; } .footer-inner-2 .HTML ul { font-weight: normal; list-style: none; padding-left: 0; } .footer-inner-2 .HTML li { line-height: 24px; padding: 0; } .footer-inner-2 li a { color: rgba(65,132,243,.87); } /** Archive widget. **/ .BlogArchive { font-size: 13px; font-weight: normal; } .BlogArchive .widget-content { display: none; } .BlogArchive h2, .Label h2 { color: #4184F3; text-decoration: none; } .BlogArchive .hierarchy li { display: inline-block; } /* Specificity needed here to override widget CSS defaults. */ .BlogArchive #ArchiveList ul li, .BlogArchive #ArchiveList ul ul li { margin: 0; padding-left: 0; text-indent: 0; } .BlogArchive .intervalToggle { cursor: pointer; } .BlogArchive .expanded .intervalToggle .new-toggle { -ms-transform: rotate(180deg); transform: rotate(180deg); } .BlogArchive .new-toggle { float: right; padding-top: 3px; opacity: 0.87; } #ArchiveList { text-transform: uppercase; } #ArchiveList .expanded > ul:last-child { margin-bottom: 16px; } #ArchiveList .archivedate { width: 100%; } /* Months */ .BlogArchive .items { max-width: 150px; margin-left: -4px; } .BlogArchive .expanded .items { margin-bottom: 10px; overflow: hidden; } .BlogArchive .items > ul { float: left; height: 32px; } .BlogArchive .items a { padding: 0 4px; } .Label { font-size: 13px; font-weight: normal; } .sidebar-icon { display: inline-block; width: 24px; height: 24px; vertical-align: middle; margin-right: 12px; margin-top: -1px } .Label a { margin-right: 4px; } .Label .widget-content { display: none; } .FollowByEmail { font-size: 13px; font-weight: normal; } .FollowByEmail h2 { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUBJREFUeNrMkSGLAlEUhb+ZB4JFi8mx2cz+ApvhRUGTcUCrNqNJDYIi+DO0GUwmQXDK2DSIoGgZcSaIjDrzwrK4ssvChj1w0733O+fdp+m6PozH4yQSCfb7Pa7r8pOi0SjJZBLP8zgej4gAIMvlMuPxmADIYrHger1+C6lUKmo+NJ/NZojb7SZDWiwWo1qtks1msW2bw+HwZdkwDHq9HvV6nel0SqvVYrvdIh6Ph3Qch+VyqRYLhQJSSjRNw7IsfN9XgGKxSLfbJZfL0e/3aTabrFYr7vc7IujLcOh8PqunrNdr0uk0pVKJVCpFJBJRgEajweVyod1uMxgM2O12BAGUgRbU8DV2JpOhVquRz+cRQii3+XxOp9NRN3jVR5LPOp1OjEYjlSL8hclkgmmabDabt4d+m+S30vkD/R/IU4ABAPTZgnZdmG/PAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-position: 0 50%; text-indent: 30px; } .FollowByEmail .widget-content { display: none; } .searchBox input { border: 1px solid #eee; color: #212121; color: rgba(0,0,0,.87); font-size: 14px; padding: 8px 8px 8px 40px; width: 164px; font-family: Roboto, sans-serif; background: url("https://www.gstatic.com/images/icons/material/system/1x/search_grey600_24dp.png") 8px center no-repeat; } .searchBox ::-webkit-input-placeholder { /* WebKit, Blink, Edge */ color: rgba(0,0,0,.54); } .searchBox :-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #000; opacity: 0.54; } .searchBox ::-moz-placeholder { /* Mozilla Firefox 19+ */ color: #000; opacity: 0.54; } .searchBox :-ms-input-placeholder { /* Internet Explorer 10-11 */ color: #757575; } .widget-item-control { margin-top: 0px; } .section { margin: 0; padding: 0; } #sidebar-top { border: 1px solid #eee; } #sidebar-top > div { margin: 16px 0; } .widget ul { line-height: 1.6; } /*main post*/ .post { margin-bottom:30px; } #main .post .title { margin: 0; } #main .post .title a { color: #212121; color: rgba(0,0,0,.87); font-weight: normal; font-size: 24px; } #main .post .title a:hover { text-decoration:none; color:#4184F3; } .message, #main .post .post-header { margin: 0; padding: 0; } #main .post .post-header .caption, #main .post .post-header .labels-caption, #main .post .post-footer .caption, #main .post .post-footer .labels-caption { color: #444; font-weight: 500; } #main .tr-caption-container td { text-align: left; } #main .post .tr-caption { color: #757575; color: rgba(0,0,0,.54); display: block; max-width: 560px; padding-bottom: 20px; } #main .post .tr-caption-container { line-height: 24px; margin: -1px 0 0 0 !important; padding: 4px 0; text-align: left; } #main .post .post-header .published{ font-size:11px; font-weight:bold; } .post-header .publishdate { font-size: 17px; font-weight:normal; color: #757575; color: rgba(0,0,0,.54); } #main .post .post-footer{ font-size:12px; padding-bottom: 21px; } .label-footer { margin-bottom: 12px; margin-top: 12px; } .comment-img { margin-right: 16px; opacity: 0.54; vertical-align: middle; } #main .post .post-header .published { margin-bottom: 40px; margin-top: -2px; } .post .post-content { color: #212121; color: rgba(0,0,0,.87); font-size: 17px; margin: 25px 0 36px 0; line-height: 32px; word-wrap: break-word; } .post-body .post-content ul, .post-body .post-content ol { margin: 16px 0; padding: 0 48px; } .post-summary { display: none; } /* Another old-style caption. */ .post-content div i, .post-content div + i { font-size: 14px; font-style: normal; color: #757575; color: rgba(0,0,0,.54); display: block; line-height: 24px; margin-bottom: 16px; text-align: left; } /* Another old-style caption (with link) */ .post-content a > i { color: #4184F3 !important; } /* Old-style captions for images. */ .post-content .separator + div:not(.separator) { margin-top: -16px; } /* Capture section headers. */ .post-content br + br + b, .post-content .space + .space + b, .post-content .separator + b { display: inline-block; margin-bottom: 8px; margin-top: 24px; } .post-content li { line-height: 32px; } /* Override all post images/videos to left align. */ .post-content .separator, .post-content > div { text-align: left; } .post-content .separator > a, .post-content .separator > span { margin-left: 0 !important; } .post-content img { max-width: 100%; height: auto; width: auto; } .post-content .tr-caption-container img { margin-bottom: 12px; } .post-content iframe, .post-content embed { max-width: 100%; } .post-content .carousel-container { margin-bottom: 48px; } #main .post-content b { font-weight: 500; } /* These are the main paragraph spacing tweaks. */ #main .post-content br { content: ' '; display: block; padding: 4px; } .post-content .space { display: block; height: 8px; } .post-content iframe + .space, .post-content iframe + br { padding: 0 !important; } #main .post .jump-link { margin-bottom:10px; } .post-content img, .post-content iframe { margin: 30px 0 20px 0; } .post-content > img:first-child, .post-content > iframe:first-child { margin-top: 0; } .col-right .section { padding: 0 16px; } #aside { background:#fff; border:1px solid #eee; border-top: 0; } #aside .widget { margin:0; } #aside .widget h2, #ArchiveList .toggle + a.post-count-link { color: #212121; color: rgba(0,0,0,.87); font-weight: 400 !important; margin: 0; } #ArchiveList .toggle { float: right; } #ArchiveList .toggle .material-icons { padding-top: 4px; } #sidebar .tab { cursor: pointer; } #sidebar .tab .arrow { display: inline-block; float: right; } #sidebar .tab .icon { display: inline-block; vertical-align: top; height: 24px; width: 24px; margin-right: 13px; margin-left: -1px; margin-top: 1px; color: #757575; color: rgba(0,0,0,.54); } #sidebar .widget-content > :first-child { padding-top: 8px; } #sidebar .active .tab .arrow { -ms-transform: rotate(180deg); transform: rotate(180deg); } #sidebar .arrow { color: #757575; color: rgba(0,0,0,.54); } #sidebar .widget h2 { font-size: 14px; line-height: 24px; display: inline-block; } #sidebar .widget .BlogArchive { padding-bottom: 8px; } #sidebar .widget { border-bottom: 1px solid #eee; box-shadow: 0px 1px 0 white; margin-bottom: 0; padding: 14px 0; min-height: 20px; } #sidebar .widget:last-child { border-bottom: none; box-shadow: none; margin-bottom: 0; } #sidebar ul { margin: 0; padding: 0; } #sidebar ul li { list-style:none; padding:0; } #sidebar ul li a { line-height: 32px; } #sidebar .archive { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAYCAYAAADzoH0MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAE1JREFUeNpiNDY23s9AAWBioBCwYBM8c+YMVsUmJibEGYBNMS5DaeMFfDYSZQA2v9I3FrB5AZeriI4FmnrBccCT8mhmGs1MwyAzAQQYAKEWG9zm9QFEAAAAAElFTkSuQmCC"); height: 24px; line-height: 24px; padding-left: 30px; } #sidebar .labels { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUxJREFUeNpiNDY23s9AAMycOfM7UF05kHkZmzwTMkdSUhKrIcXFxZy3bt3qBjIN8RrS09PDsHnzZjCNDr58+cKQlpbGDjSoHcg1w2oIyAUODg5gARCNzUVIBrUCuVYYhjx//pzhwIEDYAEQDeJjA1CDWIAGNQK59jBxRuSABbkAlwHIgIeHh2HWrFn/1NTU2oDcvSgBS4wBSC5iArqoCsj1YGIgEyAZVMoEchqlBjEB/cZAiUHg2AEGznpKDAImxOeM////B4VLKtBvEUCngZ1ILKivr3/u6+ubBzJAGZQ9gC5aQoqLgAY8BhkAZL4BuQQkxgXE34A4BuiiZEIuAhrwEGhAEZD5DpzYoIaA2UAM4kQADUrHZRDUgAIg8wO2XAwzbQXQa5OweQ1owB10AyA6gS7BgX1u3ry5397eHow3bdo0EyjGi00tQIABANPgyAH1q1eaAAAAAElFTkSuQmCC"); height: 20px; line-height: 20px; padding-left: 30px; } #sidebar .rss a { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAX5JREFUeNqsVDGSgkAQHL2rIiIikohIc/EBRkbwAIwuwgfwAXiAD9AHSI7kEkECRCb6AIyINDLx7K0aa6kT7uq0q7YYtnZ7umdnt7darXbr9Zpegeu61DNNc0dvwCcH4/GYJpMJnc9nOhwOVJbl/4hAAokMECZJQtvt9k+kH7qufyEYDAakqqqYxFdRFBqNRmTbNg2HQ0rTlK7XayvR0xqBdDqdkuM4dE/0ULhYLOh4PHYrknG5XGi/31MYhuL/nkwonM1mlGUZ1XXdrsiyLGEDhY7juJEZ1u5tIixDGdYhmYw+B7CAzPP5nDabjdgIAgCksMX1832/3drtdqPT6SQWapomiGEFNkDEdpDMMAzK81ys/7XYy+XyoQgq2WoURSIJ2iIIgp/WZCCTvFm2wgeAU31aI3Q2GhIDMeB53qPYPIcm5VrxXIOIOxsDMStjVawAc1VViRgN22lNBiuQN3GR+SY07hpOoStmFQAKXRRFY93bnpG+fONfedi+BRgAbkS8Fxp7QQIAAAAASUVORK5CYII="); } #sidebar .subscription a { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUBJREFUeNrMkSGLAlEUhb+ZB4JFi8mx2cz+ApvhRUGTcUCrNqNJDYIi+DO0GUwmQXDK2DSIoGgZcSaIjDrzwrK4ssvChj1w0733O+fdp+m6PozH4yQSCfb7Pa7r8pOi0SjJZBLP8zgej4gAIMvlMuPxmADIYrHger1+C6lUKmo+NJ/NZojb7SZDWiwWo1qtks1msW2bw+HwZdkwDHq9HvV6nel0SqvVYrvdIh6Ph3Qch+VyqRYLhQJSSjRNw7IsfN9XgGKxSLfbJZfL0e/3aTabrFYr7vc7IujLcOh8PqunrNdr0uk0pVKJVCpFJBJRgEajweVyod1uMxgM2O12BAGUgRbU8DV2JpOhVquRz+cRQii3+XxOp9NRN3jVR5LPOp1OjEYjlSL8hclkgmmabDabt4d+m+S30vkD/R/IU4ABAPTZgnZdmG/PAAAAAElFTkSuQmCC"); } #sidebar-bottom { background: #f5f5f5; border-top:1px solid #eee; } #sidebar-bottom .widget { border-bottom: 1px solid #e0e0e0; padding: 15px 0; text-align: center; } #sidebar-bottom > div:last-child { border-bottom: 0; } #sidebar-bottom .text { line-height: 20px; } /* Home, forward, and backward pagination. */ .blog-pager { border-top : 1px #e0e0e0 solid; padding-top: 10px; margin-top: 15px; text-align: right !important; } #blog-pager { margin-botom: 0; margin-top: -14px; padding: 16px 0 0 0; } #blog-pager a { display: inline-block; } .blog-pager i.disabled { opacity: 0.2 !important; } .blog-pager i { color: black; margin-left: 16px; opacity: 0.54; } .blog-pager i:hover, .blog-pager i:active { opacity: 0.87; } #blog-pager-older-link, #blog-pager-newer-link { float: none; } .gplus-profile { background-color: #fafafa; border: 1px solid #eee; overflow: hidden; width: 212px; } .gplus-profile-inner { margin-left: -1px; margin-top: -1px; } /* Sidebar follow buttons. */ .followgooglewrapper { padding: 12px 0 0 0; } .loading { visibility: hidden; } .detail-page .post-footer .cmt_iframe_holder { padding-top: 40px !important; } /** Desktop **/ @media (max-width: 900px) { .col-right { display: none; } .col-main { margin-right: 0; min-width: initial; } .footer-outer { display: none; } .cols-wrapper { min-width: initial; } .google-footer-outer { background-color: #f5f5f5; } } /** Tablet **/ @media (max-width: 712px) { .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 40px; } } /* An extra breakpoint to scale down the logo. */ @media (max-width: 600px) { .header-inner .google-logo { top: 32px; margin-top: 0; } .header-inner .google-logo img { height: 56px; width: auto; /* height: auto; width: 188px; */ /* Override any optical adjustments at desktop size. */ top: 0 !important; } .header-left { left: 0; top: inherit; bottom: 24px; } } /** Mobile/small desktop window; also landscape. **/ @media (max-width: 480px), (max-height: 480px) { .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 16px; } .cols-wrapper { margin-top: 0; } .post-header .publishdate, .post .post-content { font-size: 16px; } .post .post-content { line-height: 28px; margin-bottom: 30px; } .post { margin-top: 30px; } .byline-author { display: block; font-size: 12px; line-height: 24px; margin-top: 6px; } #main .post .title a { font-weight: 500; color: #4c4c4c; color: rgba(0,0,0,.70); } #main .post .post-header { padding-bottom: 12px; } #main .post .post-header .published { margin-bottom: -8px; margin-top: 3px; } .post .read-more { display: block; margin-top: 14px; } .post .tr-caption { font-size: 12px; } #main .post .title a { font-size: 20px; line-height: 30px; } .post-content iframe { /* iframe won't keep aspect ratio when scaled down. */ max-height: 240px; } .post-content .separator img, .post-content .tr-caption-container img, .post-content iframe { margin-left: -16px; max-width: inherit; width: calc(100% + 32px); } .post-content table, .post-content td { width: 100%; } #blog-pager { margin: 0; padding: 16px 0; } /** List page tweaks. **/ .list-page .post-original { display: none; } .list-page .post-summary { display: block; } .list-page .comment-container { display: none; } .list-page #blog-pager { padding-top: 0; border: 0; margin-top: -8px; } .list-page .label-footer { display: none; } .list-page #main .post .post-footer { border-bottom: 1px solid #eee; margin: -16px 0 0 0; padding: 0 0 20px 0; } .list-page .post .share { display: none; } /** Detail page tweaks. **/ .detail-page .post-footer .cmt_iframe_holder { padding-top: 32px !important; } .detail-page .label-footer { margin-bottom: 0; } .detail-page #main .post .post-footer { padding-bottom: 0; } .detail-page #comments { display: none; } } [data-about-pullquote], [data-is-preview], [data-about-syndication] { display: none; } </style> <noscript> <style> .loading { visibility: visible }</style> </noscript> <!-- Google tag (gtag.js) --> <script async='true' src='https://www.googletagmanager.com/gtag/js?id=G-2PXZD4EB4F'></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-2PXZD4EB4F'); </script> <link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=10861780&zx=48e51ad2-0651-407a-b13b-e009df814c4a' media='none' onload='if(media!='all')media='all'' rel='stylesheet'/><noscript><link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=10861780&zx=48e51ad2-0651-407a-b13b-e009df814c4a' rel='stylesheet'/></noscript> <meta name='google-adsense-platform-account' content='ca-host-pub-1556223355139109'/> <meta name='google-adsense-platform-domain' content='blogspot.com'/> </head> <body> <script type='text/javascript'> //<![CDATA[ var axel = Math.random() + ""; var a = axel * 10000000000000; document.write('<iframe src="https://2542116.fls.doubleclick.net/activityi;src=2542116;type=gblog;cat=googl0;ord=ord=' + a + '?" width="1" height="1" frameborder="0" style="display:none"></iframe>'); //]]> </script> <noscript> <img alt='' height='1' src='https://ad.doubleclick.net/ddm/activity/src=2542116;type=gblog;cat=googl0;ord=1?' width='1'/> </noscript> <!-- Header --> <div class='butter-bar'> Hey—we've moved. Visit <a href='https://www.blog.google/' target='_blank'>The Keyword</a> for all the latest news and stories from Google </div> <div class='header-outer'> <div class='header-inner'> <a class='google-logo' href='https://googleblog.blogspot.com/'> <img height='96' src='https://www.gstatic.com/images/branding/googlelogo/2x/googlelogo_color_284x96dp.png' width='284'/> </a> <div class='section' id='header'><div class='widget Header' data-version='1' id='Header1'> <div class='header-left'> <div class='header-title'> <a href='/.'> <h2> Official Blog </h2> </a> </div> <div class='header-desc'> Insights from Googlers into our products, technology, and the Google culture </div> </div> </div></div> </div> </div> <!-- all content wrapper start --> <div class='cols-wrapper loading'> <div class='col-main-wrapper'> <div class='col-main'> <div class='section' id='main'><div class='widget Blog' data-version='1' id='Blog1'> <div class='post' data-id='1044185722465169263' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2014/03/get-with-program-open-source-coding.html' itemprop='url' title='Get with the program: open source coding with Google Summer of Code'> Get with the program: open source coding with Google Summer of Code </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> March 10, 2014 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <a href="http://www.gnome.org/news/2012/07/interview-with-incoming-gnome-foundation-board-member-tobias-mueller/">Tobi Mueller</a> started coding when his grandfather, who works in IT, gave him access to a spare PC. It was a sweet <a href="https://www.google.com/search?q=286+computer&tbm=isch%20">286 machine</a> which Tobi learned to program with the then-popular teaching language <a href="https://en.wikipedia.org/wiki/Pascal_(programming_language)">Pascal</a>. He eventually became interested in free and open source software, but it was <a href="https://developers.google.com/open-source/soc/">Google Summer of Code</a> (GSoC) that helped transform Tobi into the free software contributor he is today.<br /> <br /> Tobi was a GSoC student in 2007 for <a href="http://www.gnome.org/">GNOME</a>, a free software desktop environment. He’s been a regular contributor to the GNOME community ever since—and in 2012, Tobi was elected to the GNOME Foundation <a href="https://wiki.gnome.org/FoundationBoard">board of directors</a>. <br /> <br /> Tobi is one of more than 7,500 students who have participated in Google Summer of Code program over the past nine years. Every summer, GSoC participants work with various organizations in the open source community, building important technical skills and gaining workplace experience. Students aren’t the only ones who benefit; their projects also give back to the open source community. <a href="http://en.wikipedia.org/wiki/Karen_Sandler">Karen Sandler</a>, GNOME’s executive director, told us how Google Summer of Code “encourages and empowers” new contributors and helps “invigorate projects.”<br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUKY6V56Qrc4sPVgJRZBCqpRLLcLhVLSNrO_WEAGY1Ms9wjVaNrUKYO37N70nIZqjBapGvMxa4SKAZEsmHFTPy5MqabnwFZ0iZgMKHJV3BOsHCmKsPphVOVRMUvnU9Y5A2hm-l/s1600/1Sw-aeBuDWGAulsD2r1dwBedOqgXK0yamfB4XXQ.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUKY6V56Qrc4sPVgJRZBCqpRLLcLhVLSNrO_WEAGY1Ms9wjVaNrUKYO37N70nIZqjBapGvMxa4SKAZEsmHFTPy5MqabnwFZ0iZgMKHJV3BOsHCmKsPphVOVRMUvnU9Y5A2hm-l/s1600/1Sw-aeBuDWGAulsD2r1dwBedOqgXK0yamfB4XXQ.jpeg" width="320" /></a></div> So if you’re a university student looking to earn real-world experience this summer, we hope you’ll consider coding for a cool open source project with <a href="https://developers.google.com/open-source/soc/">Google Summer of Code</a>. We’re celebrating the <a href="http://googleblog.blogspot.com/2013/10/50-million-lines-of-code-and-counting.html">10th year</a> of the program in 2014, and we’d love to see more student applicants than ever before. In 2013 we accepted almost 1,200 students and we’re planning to accept 10 percent more this year.<br /> <br /> You can submit proposals on our <a href="http://google-melange.com/">website</a> starting now through Friday, March 21 at 12:00pm PDT. Get started by reviewing the ideas pages of the <a href="http://www.google-melange.com/gsoc/accepted_orgs/google/gsoc2014">190 open source projects</a> in this year’s program, and decide which projects you’re interested in. There are a limited number of spots, and writing a great project proposal is essential to being selected to the program—so be sure to check out the <a href="http://en.flossmanuals.net/GSoCStudentGuide/">Student Manual</a> for advice. For ongoing information throughout the application period and beyond, see the <a href="http://google-opensource.blogspot.com/">Google Open Source blog</a>.<br /> <br /> Good luck to all the open source coders out there, and remember to submit your proposals early—you only have until March 21 to apply!<br /> <br /> <span class="byline-author">Posted by Carol Smith, Google Open Source team</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <a href="http://www.gnome.org/news/2012/07/interview-with-incoming-gnome-foundation-board-member-tobias-mueller/">Tobi Mueller</a> started coding when his grandfather, who works in IT, gave him access to a spare PC. It was a sweet <a href="https://www.google.com/search?q=286+computer&tbm=isch%20">286 machine</a> which Tobi learned to program with the then-popular teaching language <a href="https://en.wikipedia.org/wiki/Pascal_(programming_language)">Pascal</a>. He eventually became interested in free and open source software, but it was <a href="https://developers.google.com/open-source/soc/">Google Summer of Code</a> (GSoC) that helped transform Tobi into the free software contributor he is today.<br /> <br /> Tobi was a GSoC student in 2007 for <a href="http://www.gnome.org/">GNOME</a>, a free software desktop environment. He’s been a regular contributor to the GNOME community ever since—and in 2012, Tobi was elected to the GNOME Foundation <a href="https://wiki.gnome.org/FoundationBoard">board of directors</a>. <br /> <br /> Tobi is one of more than 7,500 students who have participated in Google Summer of Code program over the past nine years. Every summer, GSoC participants work with various organizations in the open source community, building important technical skills and gaining workplace experience. Students aren’t the only ones who benefit; their projects also give back to the open source community. <a href="http://en.wikipedia.org/wiki/Karen_Sandler">Karen Sandler</a>, GNOME’s executive director, told us how Google Summer of Code “encourages and empowers” new contributors and helps “invigorate projects.”<br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUKY6V56Qrc4sPVgJRZBCqpRLLcLhVLSNrO_WEAGY1Ms9wjVaNrUKYO37N70nIZqjBapGvMxa4SKAZEsmHFTPy5MqabnwFZ0iZgMKHJV3BOsHCmKsPphVOVRMUvnU9Y5A2hm-l/s1600/1Sw-aeBuDWGAulsD2r1dwBedOqgXK0yamfB4XXQ.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUKY6V56Qrc4sPVgJRZBCqpRLLcLhVLSNrO_WEAGY1Ms9wjVaNrUKYO37N70nIZqjBapGvMxa4SKAZEsmHFTPy5MqabnwFZ0iZgMKHJV3BOsHCmKsPphVOVRMUvnU9Y5A2hm-l/s1600/1Sw-aeBuDWGAulsD2r1dwBedOqgXK0yamfB4XXQ.jpeg" width="320" /></a></div> So if you’re a university student looking to earn real-world experience this summer, we hope you’ll consider coding for a cool open source project with <a href="https://developers.google.com/open-source/soc/">Google Summer of Code</a>. We’re celebrating the <a href="http://googleblog.blogspot.com/2013/10/50-million-lines-of-code-and-counting.html">10th year</a> of the program in 2014, and we’d love to see more student applicants than ever before. In 2013 we accepted almost 1,200 students and we’re planning to accept 10 percent more this year.<br /> <br /> You can submit proposals on our <a href="http://google-melange.com/">website</a> starting now through Friday, March 21 at 12:00pm PDT. Get started by reviewing the ideas pages of the <a href="http://www.google-melange.com/gsoc/accepted_orgs/google/gsoc2014">190 open source projects</a> in this year’s program, and decide which projects you’re interested in. There are a limited number of spots, and writing a great project proposal is essential to being selected to the program—so be sure to check out the <a href="http://en.flossmanuals.net/GSoCStudentGuide/">Student Manual</a> for advice. For ongoing information throughout the application period and beyond, see the <a href="http://google-opensource.blogspot.com/">Google Open Source blog</a>.<br /> <br /> Good luck to all the open source coders out there, and remember to submit your proposals early—you only have until March 21 to apply!<br /> <br /> <span class="byline-author">Posted by Carol Smith, Google Open Source team</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2014/03/get-with-program-open-source-coding.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Get with the program: open source coding with Google Summer of Code&url=https://googleblog.blogspot.com/2014/03/get-with-program-open-source-coding.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2014/03/get-with-program-open-source-coding.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2014/03/get-with-program-open-source-coding.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/open%20source' rel='tag'> open source </a> </span> </div> </div> </div> <div class='post' data-id='2500308496424725115' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2013/08/tenth-annual-code-jam-competition-wraps.html' itemprop='url' title='Tenth annual Code Jam competition wraps in London'> Tenth annual Code Jam competition wraps in London </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> August 23, 2013 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <i>Scientists at Google Labs have discovered it's not easy to be a great rock drummer. <a href="https://code.google.com/codejam/contest/2437491/dashboard#s=p1">Your task</a> is to devise an algorithm to audition drummers based on the imperfections of their rhythms. </i><br /> <br /> This is the type of challenge that was posed to the finalists of our 10th annual Code Jam last week. Twenty-four of the world’s best coders were flown to London to compete for the title of Code Jam Champion 2013 and the accompanying $15,000.<br /> <br /> Belarus's Ivan Miatselski, a.k.a. “mystic,” was crowned Champion, besting more than 45,000 other registrants and making it through four online qualifying rounds before winning the in-person finals. The final round was a four-hour, <a href="https://code.google.com/codejam/contest/2437491/dashboard#s=p0">five-problem</a> tour de code. Throughout Code Jam, contestants are allowed to use <a href="http://www.go-hero.net/jam/13/round/0">any programming language</a> and any development environment they like, ranging from C++ to <a href="http://esolangs.org/wiki/Taxi">Taxi</a>. And while the finalists are among the among the most talented, we’ve yet to see anyone earn a perfect score during the final round.<br /> <br /> Successfully solving the problems involves more than just writing code: contestants in this year's finals needed mastery of computational geometry, dynamic programming, numerical algorithms and more. Though the competition is fierce, Code Jam is also a growing community of skilled problem-solvers, engineers and friends from all over the world. Code Jam will be back in 2014—join our <a href="https://plus.sandbox.google.com/communities/108868943712030139628">community</a> on Google+ and look for more news to come.<br /> <iframe allowfullscreen="" frameborder="0" height="480" src="//www.youtube.com/embed/v9QfQEzJzh0" width="640"></iframe><br /> <br /> <span class="byline-author">Posted by Onufry Wojtaszczyk, Software Engineer, Google Code Jam</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <i>Scientists at Google Labs have discovered it's not easy to be a great rock drummer. <a href="https://code.google.com/codejam/contest/2437491/dashboard#s=p1">Your task</a> is to devise an algorithm to audition drummers based on the imperfections of their rhythms. </i><br /> <br /> This is the type of challenge that was posed to the finalists of our 10th annual Code Jam last week. Twenty-four of the world’s best coders were flown to London to compete for the title of Code Jam Champion 2013 and the accompanying $15,000.<br /> <br /> Belarus's Ivan Miatselski, a.k.a. “mystic,” was crowned Champion, besting more than 45,000 other registrants and making it through four online qualifying rounds before winning the in-person finals. The final round was a four-hour, <a href="https://code.google.com/codejam/contest/2437491/dashboard#s=p0">five-problem</a> tour de code. Throughout Code Jam, contestants are allowed to use <a href="http://www.go-hero.net/jam/13/round/0">any programming language</a> and any development environment they like, ranging from C++ to <a href="http://esolangs.org/wiki/Taxi">Taxi</a>. And while the finalists are among the among the most talented, we’ve yet to see anyone earn a perfect score during the final round.<br /> <br /> Successfully solving the problems involves more than just writing code: contestants in this year's finals needed mastery of computational geometry, dynamic programming, numerical algorithms and more. Though the competition is fierce, Code Jam is also a growing community of skilled problem-solvers, engineers and friends from all over the world. Code Jam will be back in 2014—join our <a href="https://plus.sandbox.google.com/communities/108868943712030139628">community</a> on Google+ and look for more news to come.<br /> <iframe allowfullscreen="" frameborder="0" height="480" src="//www.youtube.com/embed/v9QfQEzJzh0" width="640"></iframe><br /> <br /> <span class="byline-author">Posted by Onufry Wojtaszczyk, Software Engineer, Google Code Jam</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2013/08/tenth-annual-code-jam-competition-wraps.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Tenth annual Code Jam competition wraps in London&url=https://googleblog.blogspot.com/2013/08/tenth-annual-code-jam-competition-wraps.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2013/08/tenth-annual-code-jam-competition-wraps.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2013/08/tenth-annual-code-jam-competition-wraps.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> </span> </div> </div> </div> <div class='post' data-id='7895638972703453885' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2013/05/live-from-google-io-mo-screens-mo.html' itemprop='url' title='Live from Google I/O: Mo’ screens, mo’ goodness'> Live from Google I/O: Mo’ screens, mo’ goodness </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> May 15, 2013 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> This morning, we kicked off the 6th annual <a href="http://developers.google.com/io">Google I/O</a> developer conference with over 6,000 developers at Moscone Center in San Francisco, 460 <a href="https://developers.google.com/events/io/io-extended">I/O Extended sites</a> in 90 countries, and millions of you around the world who tuned in via our <a href="http://developers.google.com/io">livestream</a>. Over the next three days, we’ll be hosting technical sessions, hands-on code labs, and demonstrations of Google's products and partners' technology.<br /> <br /> We believe computing is going through one of the most exciting moments in its history: people are increasingly adopting phones, tablets and newer type of devices. And this spread of technology has the potential to make a positive impact in the lives of people around the world—whether it's simply helping you in your daily commute, or connecting you to information that was previously inaccessible.<br /> <br /> This is why we focus so much on our two open platforms: Android and Chrome. They enable developers to innovate and reach as many people as possible with their apps and services across multiple devices. Android started as a simple idea to advance open standards on mobile; today it is the world’s leading mobile platform and growing rapidly. Similarly, Chrome launched less than five years ago from an open source project; today it’s the world’s most popular browser. <br /> <br /> In line with that vision, we made several announcements today designed to give developers even more tools to build great apps on Android and Chrome. We also shared new innovations from across Google meant to help make life just a little easier for you, including improvements in search, communications, photos, and maps. <br /> <br /> Here’s a quick look at some of the announcements we made at I/O:<br /> <br /> <ul> <li><b><a href="http://officialandroid.blogspot.com/2013/05/androidio-just-press-play.html">Android & Google Play</a>:</b> In addition to new developer tools, we unveiled Google Play Music All Access, a monthly music subscription service with access to millions of songs that joins our music store and locker; and the Google Play game services with real-time multiplayer and leaderboards. Also, coming next month to Google Play is a special Samsung Galaxy S4, which brings together cutting edge hardware from Samsung with Google’s latest software and services—including the user experience that ships with our popular Nexus devices.</li> <li><b><a href="https://plus.google.com/+chrome">Chrome</a>:</b> With over 750 million active users on Chrome, we’re now focused on bringing to mobile the speed, simplicity and security improvements that we’ve seen on the desktop. To that end, today we previewed next-generation video codec <a href="http://blog.webmproject.org/2013/05/vp9-codec-nears-completion.html">VP9</a> for faster video-streaming performance; the <a href="http://www.chromium.org/developers/using-requestautocomplete">requestAutocomplete API</a> for faster payments; and Chrome Experiments such as "<a href="http://www.thehobbit.com/middle-earth">A Journey Through Middle Earth</a>" and <a href="//g.co/racer">Racer</a> to demonstrate the ability to create immersive mobile experiences not possible in years past.</li> <li><b><a href="http://googleplusproject.blogspot.com/2013/05/new-google-stream-hangouts-and-photos.html">Google+</a>: </b>We unveiled the newly designed Google+, which helps you easily explore content as well dramatically improve your online photo experience to give you crisp, beautiful photos—without the work! We also upgraded Google+ Hangouts—our popular group video application—to help bring all of your real-life conversations online, across any device or platform, and with groups of up to 10 friends.</li> <li><b><a href="http://insidesearch.blogspot.com/2013/05/a-multi-screen-and-conversational.html">Search</a>:</b> Search has evolved considerably in recent years: it can now have a real conversation with you, and even make your day a bit smoother by predicting information you might need. Today we added the ability to set reminders by voice and we previewed “spoken answers” on laptops and desktops in Chrome—meaning you can ask Google a question and it will speak the answer back to you.</li> <li><b><a href="http://google-latlong.blogspot.com/2013/05/meet-new-google-maps-map-for-every.html">Maps</a>:</b> Today we previewed the next generation of Google Maps, which gets rid of any clutter in order to put your individual experience and exploration front and center. Each time you click or search, our technology draws you a tailored map that highlights the information you need. From design to directions, the new Google Maps is smarter and more useful.</li> </ul> <br /> Technology can have a profound, positive impact on the daily lives of billions of people. But we can’t do this alone—developers play a crucial role. I/O is our chance to come together and thank you for everything you do.<br /> <br /> <span class="byline-author">Posted by Sundar Pichai, SVP, Android, Chrome & Apps</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> This morning, we kicked off the 6th annual <a href="http://developers.google.com/io">Google I/O</a> developer conference with over 6,000 developers at Moscone Center in San Francisco, 460 <a href="https://developers.google.com/events/io/io-extended">I/O Extended sites</a> in 90 countries, and millions of you around the world who tuned in via our <a href="http://developers.google.com/io">livestream</a>. Over the next three days, we’ll be hosting technical sessions, hands-on code labs, and demonstrations of Google's products and partners' technology.<br /> <br /> We believe computing is going through one of the most exciting moments in its history: people are increasingly adopting phones, tablets and newer type of devices. And this spread of technology has the potential to make a positive impact in the lives of people around the world—whether it's simply helping you in your daily commute, or connecting you to information that was previously inaccessible.<br /> <br /> This is why we focus so much on our two open platforms: Android and Chrome. They enable developers to innovate and reach as many people as possible with their apps and services across multiple devices. Android started as a simple idea to advance open standards on mobile; today it is the world’s leading mobile platform and growing rapidly. Similarly, Chrome launched less than five years ago from an open source project; today it’s the world’s most popular browser. <br /> <br /> In line with that vision, we made several announcements today designed to give developers even more tools to build great apps on Android and Chrome. We also shared new innovations from across Google meant to help make life just a little easier for you, including improvements in search, communications, photos, and maps. <br /> <br /> Here’s a quick look at some of the announcements we made at I/O:<br /> <br /> <ul> <li><b><a href="http://officialandroid.blogspot.com/2013/05/androidio-just-press-play.html">Android & Google Play</a>:</b> In addition to new developer tools, we unveiled Google Play Music All Access, a monthly music subscription service with access to millions of songs that joins our music store and locker; and the Google Play game services with real-time multiplayer and leaderboards. Also, coming next month to Google Play is a special Samsung Galaxy S4, which brings together cutting edge hardware from Samsung with Google’s latest software and services—including the user experience that ships with our popular Nexus devices.</li> <li><b><a href="https://plus.google.com/+chrome">Chrome</a>:</b> With over 750 million active users on Chrome, we’re now focused on bringing to mobile the speed, simplicity and security improvements that we’ve seen on the desktop. To that end, today we previewed next-generation video codec <a href="http://blog.webmproject.org/2013/05/vp9-codec-nears-completion.html">VP9</a> for faster video-streaming performance; the <a href="http://www.chromium.org/developers/using-requestautocomplete">requestAutocomplete API</a> for faster payments; and Chrome Experiments such as "<a href="http://www.thehobbit.com/middle-earth">A Journey Through Middle Earth</a>" and <a href="//g.co/racer">Racer</a> to demonstrate the ability to create immersive mobile experiences not possible in years past.</li> <li><b><a href="http://googleplusproject.blogspot.com/2013/05/new-google-stream-hangouts-and-photos.html">Google+</a>: </b>We unveiled the newly designed Google+, which helps you easily explore content as well dramatically improve your online photo experience to give you crisp, beautiful photos—without the work! We also upgraded Google+ Hangouts—our popular group video application—to help bring all of your real-life conversations online, across any device or platform, and with groups of up to 10 friends.</li> <li><b><a href="http://insidesearch.blogspot.com/2013/05/a-multi-screen-and-conversational.html">Search</a>:</b> Search has evolved considerably in recent years: it can now have a real conversation with you, and even make your day a bit smoother by predicting information you might need. Today we added the ability to set reminders by voice and we previewed “spoken answers” on laptops and desktops in Chrome—meaning you can ask Google a question and it will speak the answer back to you.</li> <li><b><a href="http://google-latlong.blogspot.com/2013/05/meet-new-google-maps-map-for-every.html">Maps</a>:</b> Today we previewed the next generation of Google Maps, which gets rid of any clutter in order to put your individual experience and exploration front and center. Each time you click or search, our technology draws you a tailored map that highlights the information you need. From design to directions, the new Google Maps is smarter and more useful.</li> </ul> <br /> Technology can have a profound, positive impact on the daily lives of billions of people. But we can’t do this alone—developers play a crucial role. I/O is our chance to come together and thank you for everything you do.<br /> <br /> <span class="byline-author">Posted by Sundar Pichai, SVP, Android, Chrome & Apps</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2013/05/live-from-google-io-mo-screens-mo.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Live from Google I/O: Mo’ screens, mo’ goodness&url=https://googleblog.blogspot.com/2013/05/live-from-google-io-mo-screens-mo.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2013/05/live-from-google-io-mo-screens-mo.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2013/05/live-from-google-io-mo-screens-mo.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/Android' rel='tag'> Android </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/chrome' rel='tag'> chrome </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/events' rel='tag'> events </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/maps%20and%20earth' rel='tag'> maps and earth </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/search' rel='tag'> search </a> </span> </div> </div> </div> <div class='post' data-id='8238963784097018735' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2013/05/were-going-live-from-google-io.html' itemprop='url' title='We’re going live from Google I/O'> We’re going live from Google I/O </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> May 8, 2013 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> Developers today have the power to introduce powerful, breakthrough technologies to the world through their code. That’s why we look forward to bringing Google developers together year after year at <a href="http://developers.google.com/io">Google I/O</a>, our annual developer conference. In one week, we’ll welcome more than 6,000 developers to I/O through the doors of Moscone West Convention Center in San Francisco, Calif.—and many more via our event’s live streams. If you’re looking for inspiration and want to learn more about the future of our products, we hope you’ll tune in to our live keynote and technical sessions.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBkLAVhkANVNeoXjCT6IYvseeNiGfVp91wkfoh0gyy1EPfcaAVfugZUyEmHYGR5TKiE9iQHrg4CYCMTDX8oRmd4aV0C8zhYlfTMTkIqS05vCWZX4goCgmgy_QkSIAXfkm5d1YB/s1600/GDL.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBkLAVhkANVNeoXjCT6IYvseeNiGfVp91wkfoh0gyy1EPfcaAVfugZUyEmHYGR5TKiE9iQHrg4CYCMTDX8oRmd4aV0C8zhYlfTMTkIqS05vCWZX4goCgmgy_QkSIAXfkm5d1YB/s1600/GDL.png" /></a></div> <br /> Starting on May 15 at 9 a.m. PT (16:00 UTC), join us as <a href="http://developers.google.com/live">Google Developers Live</a> (GDL) powers multiple channels of live streamed content from Google I/O on <a href="http://developers.google.com/io">developers.google.com/io</a>. On this page, you can:<br /> <br /> <ul> <li><b>Stream the keynote on your computer, tablet or phone. </b>Get in on the action, and listen to product and technology announcements straight from our teams. Live streaming will run on <a href="http://developers.google.com/io">developers.google.com/io</a> from 9 a.m. PT (16:00 UTC) to 7 p.m. PT (2:00 UTC) on May 15 and 16.</li> <li><b>Watch exclusive interviews with the Googlers behind the latest product announcements. </b>This year, <a href="http://developers.google.com/live">GDL</a> will broadcast one-on-one product deep dives, executive interviews and Developer Sandbox walkthroughs from our onsite stage.</li> <li><b>Get the latest news in real time. </b>We’ll post official announcements during I/O. You’ll be able to see the feed on the <a href="http://developers.google.com/io">Google I/O homepage</a>, in the I/O mobile app (coming soon), and on <a class="g-profile" href="http://plus.google.com/111395306401981598462" target="_blank">+Google Developers</a>.</li> <li><b>Never miss a session. </b>The keynote and all sessions will be recorded and made rapidly available on GDL and the <a href="//www.youtube.com/user/GoogleDevelopers">Google Developers YouTube channel</a>.</li> </ul> <br /> Whether you’re joining us from the comfort of home for <a href="https://developers.google.com/events/io/io-live">Google Developers Live at I/O</a> or at an <a href="https://developers.google.com/events/io/io-extended">I/O Extended</a> event, tune into <a href="http://developers.google.com/io">developers.google.com/io</a> at 9 a.m. PT (16:00 UTC) on May 15 for the latest from Google product teams. Add <a class="g-profile" href="http://plus.google.com/111395306401981598462" target="_blank">+Google Developers</a> to your circles and follow <a href="https://plus.google.com/s/%23io13">#io13</a> to stay updated on official conference announcements and connect with the community.<br /> <br /> <span class="byline-author">Posted by Mike Winton, Director of Developer Relations</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> Developers today have the power to introduce powerful, breakthrough technologies to the world through their code. That’s why we look forward to bringing Google developers together year after year at <a href="http://developers.google.com/io">Google I/O</a>, our annual developer conference. In one week, we’ll welcome more than 6,000 developers to I/O through the doors of Moscone West Convention Center in San Francisco, Calif.—and many more via our event’s live streams. If you’re looking for inspiration and want to learn more about the future of our products, we hope you’ll tune in to our live keynote and technical sessions.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBkLAVhkANVNeoXjCT6IYvseeNiGfVp91wkfoh0gyy1EPfcaAVfugZUyEmHYGR5TKiE9iQHrg4CYCMTDX8oRmd4aV0C8zhYlfTMTkIqS05vCWZX4goCgmgy_QkSIAXfkm5d1YB/s1600/GDL.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBkLAVhkANVNeoXjCT6IYvseeNiGfVp91wkfoh0gyy1EPfcaAVfugZUyEmHYGR5TKiE9iQHrg4CYCMTDX8oRmd4aV0C8zhYlfTMTkIqS05vCWZX4goCgmgy_QkSIAXfkm5d1YB/s1600/GDL.png" /></a></div> <br /> Starting on May 15 at 9 a.m. PT (16:00 UTC), join us as <a href="http://developers.google.com/live">Google Developers Live</a> (GDL) powers multiple channels of live streamed content from Google I/O on <a href="http://developers.google.com/io">developers.google.com/io</a>. On this page, you can:<br /> <br /> <ul> <li><b>Stream the keynote on your computer, tablet or phone. </b>Get in on the action, and listen to product and technology announcements straight from our teams. Live streaming will run on <a href="http://developers.google.com/io">developers.google.com/io</a> from 9 a.m. PT (16:00 UTC) to 7 p.m. PT (2:00 UTC) on May 15 and 16.</li> <li><b>Watch exclusive interviews with the Googlers behind the latest product announcements. </b>This year, <a href="http://developers.google.com/live">GDL</a> will broadcast one-on-one product deep dives, executive interviews and Developer Sandbox walkthroughs from our onsite stage.</li> <li><b>Get the latest news in real time. </b>We’ll post official announcements during I/O. You’ll be able to see the feed on the <a href="http://developers.google.com/io">Google I/O homepage</a>, in the I/O mobile app (coming soon), and on <a class="g-profile" href="http://plus.google.com/111395306401981598462" target="_blank">+Google Developers</a>.</li> <li><b>Never miss a session. </b>The keynote and all sessions will be recorded and made rapidly available on GDL and the <a href="//www.youtube.com/user/GoogleDevelopers">Google Developers YouTube channel</a>.</li> </ul> <br /> Whether you’re joining us from the comfort of home for <a href="https://developers.google.com/events/io/io-live">Google Developers Live at I/O</a> or at an <a href="https://developers.google.com/events/io/io-extended">I/O Extended</a> event, tune into <a href="http://developers.google.com/io">developers.google.com/io</a> at 9 a.m. PT (16:00 UTC) on May 15 for the latest from Google product teams. Add <a class="g-profile" href="http://plus.google.com/111395306401981598462" target="_blank">+Google Developers</a> to your circles and follow <a href="https://plus.google.com/s/%23io13">#io13</a> to stay updated on official conference announcements and connect with the community.<br /> <br /> <span class="byline-author">Posted by Mike Winton, Director of Developer Relations</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2013/05/were-going-live-from-google-io.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:We’re going live from Google I/O&url=https://googleblog.blogspot.com/2013/05/were-going-live-from-google-io.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2013/05/were-going-live-from-google-io.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2013/05/were-going-live-from-google-io.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/events' rel='tag'> events </a> </span> </div> </div> </div> <div class='post' data-id='5512155808368307288' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2013/04/a-new-kind-of-summer-job-open-source.html' itemprop='url' title='A new kind of summer job: open source coding with Google Summer of Code'> A new kind of summer job: open source coding with Google Summer of Code </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> April 22, 2013 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> If you’re a university student with CS chops looking to earn real-world experience this summer, consider writing code for a cool open source project with the <a href="https://developers.google.com/open-source/soc/">Google Summer of Code</a> program.<br /> <br /> <div style="text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvD1FekPnT0Qs6D171N0qOHuakxkV0dMw8k7jeNqwxGue5-mgxooj9ljpxV3Cp-IV0ODIeQvNv4GnqxB10LjZI13l6zr34SOqar291vLk4ARMRVIzDRgtULJUnBtpovEWIHGHH/s1600/summer+of+code.jpeg" imageanchor="1"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvD1FekPnT0Qs6D171N0qOHuakxkV0dMw8k7jeNqwxGue5-mgxooj9ljpxV3Cp-IV0ODIeQvNv4GnqxB10LjZI13l6zr34SOqar291vLk4ARMRVIzDRgtULJUnBtpovEWIHGHH/s320/summer+of+code.jpeg" /></a></div> <br /> Over the past eight years more than 6,000 students have “graduated” from this global program, working with almost 400 different open source projects. Students who are accepted into the program will put the skills they have learned in university to good use by working on an actual software project over the summer. Students are paired with mentors to help address technical questions and concerns throughout the course of the project. With the knowledge and hands-on experience students gain during the summer they strengthen their future employment opportunities in fields related to their academic pursuits. Best of all, more source code is created and released for the use and benefit of all.<br /> <br /> Interested students can submit proposals on the <a href="http://google-melange.com/">website</a> starting now through Friday, May 3 at 12:00pm PDT. Get started by reviewing the ideas pages of the <a href="http://www.google-melange.com/gsoc/accepted_orgs/google/gsoc2013">177 open source projects</a> in this year’s program, and decide which projects you’re interested in. Because Google Summer of Code has a limited number of spots for students, writing a great project proposal is essential to being selected to the program—be sure to check out the <a href="http://www.booki.cc/gsocstudentguide/">Student Manual</a> for advice.<br /> <br /> For ongoing information throughout the application period and beyond, see the <a href="http://google-opensource.blogspot.com/">Google Open Source blog</a>, join our Summer of Code <a href="http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2013/help_page#1._What_are_the_program_mailing_lists">mailing lists</a> or join us on Internet relay chat at #gsoc on <a href="http://freenode.net/">Freenode</a>.<br /> <br /> Good luck to all the open source coders out there, and remember to submit your proposals early—you only have until May 3 to apply!<br /> <br /> <span class="byline-author">Posted by Stephanie Taylor, Open Source team</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> If you’re a university student with CS chops looking to earn real-world experience this summer, consider writing code for a cool open source project with the <a href="https://developers.google.com/open-source/soc/">Google Summer of Code</a> program.<br /> <br /> <div style="text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvD1FekPnT0Qs6D171N0qOHuakxkV0dMw8k7jeNqwxGue5-mgxooj9ljpxV3Cp-IV0ODIeQvNv4GnqxB10LjZI13l6zr34SOqar291vLk4ARMRVIzDRgtULJUnBtpovEWIHGHH/s1600/summer+of+code.jpeg" imageanchor="1"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvD1FekPnT0Qs6D171N0qOHuakxkV0dMw8k7jeNqwxGue5-mgxooj9ljpxV3Cp-IV0ODIeQvNv4GnqxB10LjZI13l6zr34SOqar291vLk4ARMRVIzDRgtULJUnBtpovEWIHGHH/s320/summer+of+code.jpeg" /></a></div> <br /> Over the past eight years more than 6,000 students have “graduated” from this global program, working with almost 400 different open source projects. Students who are accepted into the program will put the skills they have learned in university to good use by working on an actual software project over the summer. Students are paired with mentors to help address technical questions and concerns throughout the course of the project. With the knowledge and hands-on experience students gain during the summer they strengthen their future employment opportunities in fields related to their academic pursuits. Best of all, more source code is created and released for the use and benefit of all.<br /> <br /> Interested students can submit proposals on the <a href="http://google-melange.com/">website</a> starting now through Friday, May 3 at 12:00pm PDT. Get started by reviewing the ideas pages of the <a href="http://www.google-melange.com/gsoc/accepted_orgs/google/gsoc2013">177 open source projects</a> in this year’s program, and decide which projects you’re interested in. Because Google Summer of Code has a limited number of spots for students, writing a great project proposal is essential to being selected to the program—be sure to check out the <a href="http://www.booki.cc/gsocstudentguide/">Student Manual</a> for advice.<br /> <br /> For ongoing information throughout the application period and beyond, see the <a href="http://google-opensource.blogspot.com/">Google Open Source blog</a>, join our Summer of Code <a href="http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2013/help_page#1._What_are_the_program_mailing_lists">mailing lists</a> or join us on Internet relay chat at #gsoc on <a href="http://freenode.net/">Freenode</a>.<br /> <br /> Good luck to all the open source coders out there, and remember to submit your proposals early—you only have until May 3 to apply!<br /> <br /> <span class="byline-author">Posted by Stephanie Taylor, Open Source team</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2013/04/a-new-kind-of-summer-job-open-source.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:A new kind of summer job: open source coding with Google Summer of Code&url=https://googleblog.blogspot.com/2013/04/a-new-kind-of-summer-job-open-source.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2013/04/a-new-kind-of-summer-job-open-source.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2013/04/a-new-kind-of-summer-job-open-source.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/education%20and%20research' rel='tag'> education and research </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/open%20source' rel='tag'> open source </a> </span> </div> </div> </div> <div class='post' data-id='1700822085371634100' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2012/12/cloud-computing-enabling.html' itemprop='url' title='Cloud computing enabling entrepreneurship in Africa'> Cloud computing enabling entrepreneurship in Africa </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> December 20, 2012 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> In 2007, 33-year-old Vuyile moved to Cape Town from rural South Africa in search of work. Unable to complete high school, he worked as a night shift security guard earning $500/month to support his family. During the rush hour commute from his home in Khayelitsha, Vuyile realized that he could earn extra income by selling prepaid mobile airtime vouchers to other commuters on the train. <br /> <br /> In rural areas, it’s common to use prepaid vouchers to pay for basic services such as electricity, insurance and airtime for mobile phones. But it’s often difficult to distribute physical vouchers because of the risk of theft and fraud. <br /> <br /> <a href="http://www.nomanini.com/">Nomanini</a>, a startup based in South Africa, built a device that enables local entrepreneurs like Vuyile to sell prepaid mobile services in their communities. The Lula (which means “easy” in colloquial Zulu), is a portable voucher sales terminal that is used on-the-go by people ranging from taxi drivers to street vendors. It generates and prints codes which people purchase to add minutes to their mobile phones. <br /> <br /> Today, Vuyile sells vouchers on the train for cash payment, and earns a commission weekly. Since he started using the Lula, he’s seen his monthly income increase by 20 percent.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7zHIfEeZelfTOrRJFOjlgkudDznuDCvmworRwJiGxm_AONXnRrDwCyHl-d0R1apWjKQlVUBJ0TRshQk5Z2zfEY0IGXvuZrPDYhDllE6tMOi0g7DlmOPTOGQq06bYKb-9Wa-LU/s1600/vuyile+(1).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7zHIfEeZelfTOrRJFOjlgkudDznuDCvmworRwJiGxm_AONXnRrDwCyHl-d0R1apWjKQlVUBJ0TRshQk5Z2zfEY0IGXvuZrPDYhDllE6tMOi0g7DlmOPTOGQq06bYKb-9Wa-LU/s400/vuyile+(1).jpg" width="300" /></a></div> <div style="text-align: center;"> <i>Vuyile prints a voucher from his Lula</i></div> <br /> Nomanini founders Vahid and Ali Monadjem wanted to make mobile services widely available in areas where they had been inaccessible, or where—in a region where the average person makes less than $200/month—people simply couldn’t afford them. By creating a low-cost and easy-to-use product, Nomanini could enable entrepreneurs in Africa to go to deep rural areas and create businesses for themselves. <br /> <br /> In order to build a scalable and reliable backend system to keep the Lula running, Nomanini chose to run on <a href="https://cloud.google.com/products/?utm_source=ogb&utm_medium=blog&utm_campaign=nomanini">Google App Engine</a>. Their development team doesn’t have to spend time setting up their own servers and can instead run on the same infrastructure that powers Google’s own applications. They can focus on building their backend systems and easily deploy code to Google’s data centers. When Vuyile makes a sale, he presses a few buttons, App Engine processes the request, and the voucher prints in seconds. <br /> <br /> Last month, 40,000 people bought airtime through the Lula, and Nomanini hopes to grow this number to 1 million per month next year. While platforms like App Engine are typically used to build web or smartphone apps, entrepreneurs like Vahid and Ali are finding innovative ways to leverage this technology by building their own devices and connecting them to App Engine. Vahid tells us: “We’re a uniquely born and bred African solution, and we have great potential to take this to the rest of Africa and wider emerging markets. We could not easily scale this fast without running on Google App Engine.” <br /> <br /> To learn more about the technical implementation used by Nomanini, read their guest post on the <a href="http://googleappengine.blogspot.com/2012/12/developer-insights-mobile-voucher-sales.html">Google App Engine blog</a>.<br /> <br /> <span class="byline-author">Posted by Zafir Khan, Google App Engine</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> In 2007, 33-year-old Vuyile moved to Cape Town from rural South Africa in search of work. Unable to complete high school, he worked as a night shift security guard earning $500/month to support his family. During the rush hour commute from his home in Khayelitsha, Vuyile realized that he could earn extra income by selling prepaid mobile airtime vouchers to other commuters on the train. <br /> <br /> In rural areas, it’s common to use prepaid vouchers to pay for basic services such as electricity, insurance and airtime for mobile phones. But it’s often difficult to distribute physical vouchers because of the risk of theft and fraud. <br /> <br /> <a href="http://www.nomanini.com/">Nomanini</a>, a startup based in South Africa, built a device that enables local entrepreneurs like Vuyile to sell prepaid mobile services in their communities. The Lula (which means “easy” in colloquial Zulu), is a portable voucher sales terminal that is used on-the-go by people ranging from taxi drivers to street vendors. It generates and prints codes which people purchase to add minutes to their mobile phones. <br /> <br /> Today, Vuyile sells vouchers on the train for cash payment, and earns a commission weekly. Since he started using the Lula, he’s seen his monthly income increase by 20 percent.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7zHIfEeZelfTOrRJFOjlgkudDznuDCvmworRwJiGxm_AONXnRrDwCyHl-d0R1apWjKQlVUBJ0TRshQk5Z2zfEY0IGXvuZrPDYhDllE6tMOi0g7DlmOPTOGQq06bYKb-9Wa-LU/s1600/vuyile+(1).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7zHIfEeZelfTOrRJFOjlgkudDznuDCvmworRwJiGxm_AONXnRrDwCyHl-d0R1apWjKQlVUBJ0TRshQk5Z2zfEY0IGXvuZrPDYhDllE6tMOi0g7DlmOPTOGQq06bYKb-9Wa-LU/s400/vuyile+(1).jpg" width="300" /></a></div> <div style="text-align: center;"> <i>Vuyile prints a voucher from his Lula</i></div> <br /> Nomanini founders Vahid and Ali Monadjem wanted to make mobile services widely available in areas where they had been inaccessible, or where—in a region where the average person makes less than $200/month—people simply couldn’t afford them. By creating a low-cost and easy-to-use product, Nomanini could enable entrepreneurs in Africa to go to deep rural areas and create businesses for themselves. <br /> <br /> In order to build a scalable and reliable backend system to keep the Lula running, Nomanini chose to run on <a href="https://cloud.google.com/products/?utm_source=ogb&utm_medium=blog&utm_campaign=nomanini">Google App Engine</a>. Their development team doesn’t have to spend time setting up their own servers and can instead run on the same infrastructure that powers Google’s own applications. They can focus on building their backend systems and easily deploy code to Google’s data centers. When Vuyile makes a sale, he presses a few buttons, App Engine processes the request, and the voucher prints in seconds. <br /> <br /> Last month, 40,000 people bought airtime through the Lula, and Nomanini hopes to grow this number to 1 million per month next year. While platforms like App Engine are typically used to build web or smartphone apps, entrepreneurs like Vahid and Ali are finding innovative ways to leverage this technology by building their own devices and connecting them to App Engine. Vahid tells us: “We’re a uniquely born and bred African solution, and we have great potential to take this to the rest of Africa and wider emerging markets. We could not easily scale this fast without running on Google App Engine.” <br /> <br /> To learn more about the technical implementation used by Nomanini, read their guest post on the <a href="http://googleappengine.blogspot.com/2012/12/developer-insights-mobile-voucher-sales.html">Google App Engine blog</a>.<br /> <br /> <span class="byline-author">Posted by Zafir Khan, Google App Engine</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2012/12/cloud-computing-enabling.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Cloud computing enabling entrepreneurship in Africa&url=https://googleblog.blogspot.com/2012/12/cloud-computing-enabling.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2012/12/cloud-computing-enabling.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2012/12/cloud-computing-enabling.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/Africa' rel='tag'> Africa </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> </span> </div> </div> </div> <div class='post' data-id='5937719477400843528' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2012/11/discover-world-of-open-source-with.html' itemprop='url' title='Discover the world of open source with Google Code-in 2012'> Discover the world of open source with Google Code-in 2012 </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> November 20, 2012 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> Every time you send a text, check a webpage or post a status update, you’re using open source software. The Internet is made of open source. But have you ever created any yourself? With the <a href="http://code.google.com/gci">Google Code-in</a> contest, pre-university students (13-17 years old) can learn more and create open source software that people all over the world can use—and win cool prizes along the way. <br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6KgD7RBuPQMed0INP2kP8uubSGdZ5QFEra6UM-8bEQMy2yCVTsRrdcCeSB1QIvoLNkacL5L9TeTxGZY4h9bBSq7HlMKR3Qfbfl6C8FwTWCbLOQ6aeBajgPIYJABsA0jDdWZti/s1600/code+in.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="154" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6KgD7RBuPQMed0INP2kP8uubSGdZ5QFEra6UM-8bEQMy2yCVTsRrdcCeSB1QIvoLNkacL5L9TeTxGZY4h9bBSq7HlMKR3Qfbfl6C8FwTWCbLOQ6aeBajgPIYJABsA0jDdWZti/s320/code+in.png" width="320" /></a></div><br /> Starting Monday, November 26 and for the following 50 days, contest participants will work on fun online tasks for <a href="http://google-opensource.blogspot.com/2012/11/mentoring-organizations-for-google-code.html">10 different open source organizations</a>. Possible challenges include documentation, marketing outreach, software coding, user experience research and more. <br /> <br /> Participants earn points for each task they successfully complete and can earn prizes like T-shirts and certificates of completion. This year we’re doubling the number of grand prize winners to 20 talented students, who will win a trip to Google’s headquarters in Mountain View, Calif. They’ll spend a day getting a tour of the “Googleplex,” meeting and talking with Google engineers, plus enjoy another full day exploring San Francisco and other surprises.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyakJLF4OLllolQhvcinq9QngdpRrHz9cVuPGeT8eWvNZ5SytcjkA8NQKoO9pnTLHj50q_CNu78Xwpd49NjIje-5rELetTP3LU30Y34d-iXz26sdWl324q3zpyf79t7cQlYMNr/s1600/gg+bridge.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyakJLF4OLllolQhvcinq9QngdpRrHz9cVuPGeT8eWvNZ5SytcjkA8NQKoO9pnTLHj50q_CNu78Xwpd49NjIje-5rELetTP3LU30Y34d-iXz26sdWl324q3zpyf79t7cQlYMNr/s320/gg+bridge.jpeg" width="320" /></a></div><div style="text-align: center;"><i>Some of the 2011 Google Code-in Grand Prize Winners by the Golden Gate Bridge</i></div><br /> Last year, 542 students from 56 countries and 360 schools completed 3,054 tasks during the eight-week contest. This year we want to encourage even more students to participate in the contest and learn about open source development. If you’d like to sign up, please review our <a href="http://www.google-melange.com/gci/document/show/gci_program/google/gci2012/help_page">Frequently Asked Questions</a> and the <a href="http://www.google-melange.com/gci/document/show/gci_program/google/gci2012/terms_and_conditions">contest rules</a> on our <a href="http://www.google-melange.com/gci/homepage/google/gci2012">program site</a>. You can also watch our <a href="//www.youtube.com/watch?v=CW5yNIDPZeY">screencast</a>, check out some <a href="http://code.google.com/p/google-code-in/wiki/GCIExampleTasks">sample tasks</a> from last year’s contest and join our <a href="https://groups.google.com/group/gci-discuss?pli=1">discussion list</a> for any other questions. For details on important dates for the contest, see the <a href="http://www.google-melange.com/gci/events/google/gci2012">timeline</a>. You can register for your account on the <a href="http://www.google-melange.com/gci/homepage/google/gci2012">program site</a> when the contest opens on Monday, November 26 at 9:00am PST.<br /> <br /> Finally, our Open Source Programs team will be hosting a <a href="https://sites.google.com/site/eduonair/hangout-schedule/google-code-in">Hangout on Air</a> on the Google in Education page November 26 at 2:00pm PST to discuss the details of the Google Code-in contest and answer any questions.<br /> <br /> We hope you’ll spend your winter (or summer, for our friends in the southern hemisphere) learning about the ins and outs of open source development through hands-on experience. Ready...set...<br /> <br /> <span class="byline-author">Posted by Stephanie Taylor, Open Source Programs</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> Every time you send a text, check a webpage or post a status update, you’re using open source software. The Internet is made of open source. But have you ever created any yourself? With the <a href="http://code.google.com/gci">Google Code-in</a> contest, pre-university students (13-17 years old) can learn more and create open source software that people all over the world can use—and win cool prizes along the way. <br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6KgD7RBuPQMed0INP2kP8uubSGdZ5QFEra6UM-8bEQMy2yCVTsRrdcCeSB1QIvoLNkacL5L9TeTxGZY4h9bBSq7HlMKR3Qfbfl6C8FwTWCbLOQ6aeBajgPIYJABsA0jDdWZti/s1600/code+in.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="154" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6KgD7RBuPQMed0INP2kP8uubSGdZ5QFEra6UM-8bEQMy2yCVTsRrdcCeSB1QIvoLNkacL5L9TeTxGZY4h9bBSq7HlMKR3Qfbfl6C8FwTWCbLOQ6aeBajgPIYJABsA0jDdWZti/s320/code+in.png" width="320" /></a></div><br /> Starting Monday, November 26 and for the following 50 days, contest participants will work on fun online tasks for <a href="http://google-opensource.blogspot.com/2012/11/mentoring-organizations-for-google-code.html">10 different open source organizations</a>. Possible challenges include documentation, marketing outreach, software coding, user experience research and more. <br /> <br /> Participants earn points for each task they successfully complete and can earn prizes like T-shirts and certificates of completion. This year we’re doubling the number of grand prize winners to 20 talented students, who will win a trip to Google’s headquarters in Mountain View, Calif. They’ll spend a day getting a tour of the “Googleplex,” meeting and talking with Google engineers, plus enjoy another full day exploring San Francisco and other surprises.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyakJLF4OLllolQhvcinq9QngdpRrHz9cVuPGeT8eWvNZ5SytcjkA8NQKoO9pnTLHj50q_CNu78Xwpd49NjIje-5rELetTP3LU30Y34d-iXz26sdWl324q3zpyf79t7cQlYMNr/s1600/gg+bridge.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyakJLF4OLllolQhvcinq9QngdpRrHz9cVuPGeT8eWvNZ5SytcjkA8NQKoO9pnTLHj50q_CNu78Xwpd49NjIje-5rELetTP3LU30Y34d-iXz26sdWl324q3zpyf79t7cQlYMNr/s320/gg+bridge.jpeg" width="320" /></a></div><div style="text-align: center;"><i>Some of the 2011 Google Code-in Grand Prize Winners by the Golden Gate Bridge</i></div><br /> Last year, 542 students from 56 countries and 360 schools completed 3,054 tasks during the eight-week contest. This year we want to encourage even more students to participate in the contest and learn about open source development. If you’d like to sign up, please review our <a href="http://www.google-melange.com/gci/document/show/gci_program/google/gci2012/help_page">Frequently Asked Questions</a> and the <a href="http://www.google-melange.com/gci/document/show/gci_program/google/gci2012/terms_and_conditions">contest rules</a> on our <a href="http://www.google-melange.com/gci/homepage/google/gci2012">program site</a>. You can also watch our <a href="//www.youtube.com/watch?v=CW5yNIDPZeY">screencast</a>, check out some <a href="http://code.google.com/p/google-code-in/wiki/GCIExampleTasks">sample tasks</a> from last year’s contest and join our <a href="https://groups.google.com/group/gci-discuss?pli=1">discussion list</a> for any other questions. For details on important dates for the contest, see the <a href="http://www.google-melange.com/gci/events/google/gci2012">timeline</a>. You can register for your account on the <a href="http://www.google-melange.com/gci/homepage/google/gci2012">program site</a> when the contest opens on Monday, November 26 at 9:00am PST.<br /> <br /> Finally, our Open Source Programs team will be hosting a <a href="https://sites.google.com/site/eduonair/hangout-schedule/google-code-in">Hangout on Air</a> on the Google in Education page November 26 at 2:00pm PST to discuss the details of the Google Code-in contest and answer any questions.<br /> <br /> We hope you’ll spend your winter (or summer, for our friends in the southern hemisphere) learning about the ins and outs of open source development through hands-on experience. Ready...set...<br /> <br /> <span class="byline-author">Posted by Stephanie Taylor, Open Source Programs</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2012/11/discover-world-of-open-source-with.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Discover the world of open source with Google Code-in 2012&url=https://googleblog.blogspot.com/2012/11/discover-world-of-open-source-with.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2012/11/discover-world-of-open-source-with.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2012/11/discover-world-of-open-source-with.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/open%20source' rel='tag'> open source </a> </span> </div> </div> </div> <div class='post' data-id='2308156967824556173' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2012/06/tune-in-to-io-live-at-930-am-pdt-on.html' itemprop='url' title='Tune in to I/O Live at 9:30 a.m. PDT on June 27'> Tune in to I/O Live at 9:30 a.m. PDT on June 27 </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> June 25, 2012 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> Google I/O, our annual developer conference, begins in just two days, and this year, we’re bringing you more than 130 technical sessions, 20 code labs and 155 Sandbox partners. If you’re not here in San Francisco, you can still sign up for one of our 350+ <a href="https://developers.google.com/events/io/io-extended">I/O Extended</a> events around the world or tune in to <a href="https://developers.google.com/events/io/io-live">I/O Live</a> to watch the live stream from wherever you are. <b>This year’s conference kicks off on June 27 with the first day’s keynote at 9:30 a.m. and the second day’s keynote on June 28 at 10:00 a.m. PDT, so tune in early at <a href="https://developers.google.com/events/io/">developers.google.com/io</a> to avoid missing the action!</b> <br /> <br /> Bookmark <a href="https://developers.google.com/events/io/">developers.google.com/io</a> to watch I/O Live from your desktop, or download the <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.iosched&referrer=utm_source%3Dgoogle%26utm_medium%3Dioliveblogpost%26utm_campaign%3Dio2012">Google I/O mobile app</a> to access the live stream from your phone or tablet. For the truly entrepreneurial, check our <a href="https://developers.google.com/events/io/io-live-gadget-configurator">liveblogging gadget</a>, which lets you add your commentary and the live video feed from the Google I/O keynotes to your blog. <br /> <br /> More than <a href="https://developers.google.com/events/io/sessions">40 sessions</a> on Android, Chrome, Google+ and your favorite APIs will be streamed live, and all remaining session videos will be recorded and available shortly after the conference on <a href="https://developers.google.com/live/">Google Developers Live</a> and the <a href="https://developers.google.com/events/io/sessions">conference website</a>. Between sessions, we’ll bring you behind-the-scenes footage featuring interviews with Googlers and attendees, tours of the Sandbox and more. The stream will also continue through our After Hours party (June 27 starting at 7:00 p.m. PDT), where we've teamed up with top entertainers, inventors, artists, educators and visionaries from all over the world for an amazing evening.<br /> <br /> <span class="byline-author">Posted by Mike Winton, Director of Developer Relations</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> Google I/O, our annual developer conference, begins in just two days, and this year, we’re bringing you more than 130 technical sessions, 20 code labs and 155 Sandbox partners. If you’re not here in San Francisco, you can still sign up for one of our 350+ <a href="https://developers.google.com/events/io/io-extended">I/O Extended</a> events around the world or tune in to <a href="https://developers.google.com/events/io/io-live">I/O Live</a> to watch the live stream from wherever you are. <b>This year’s conference kicks off on June 27 with the first day’s keynote at 9:30 a.m. and the second day’s keynote on June 28 at 10:00 a.m. PDT, so tune in early at <a href="https://developers.google.com/events/io/">developers.google.com/io</a> to avoid missing the action!</b> <br /> <br /> Bookmark <a href="https://developers.google.com/events/io/">developers.google.com/io</a> to watch I/O Live from your desktop, or download the <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.iosched&referrer=utm_source%3Dgoogle%26utm_medium%3Dioliveblogpost%26utm_campaign%3Dio2012">Google I/O mobile app</a> to access the live stream from your phone or tablet. For the truly entrepreneurial, check our <a href="https://developers.google.com/events/io/io-live-gadget-configurator">liveblogging gadget</a>, which lets you add your commentary and the live video feed from the Google I/O keynotes to your blog. <br /> <br /> More than <a href="https://developers.google.com/events/io/sessions">40 sessions</a> on Android, Chrome, Google+ and your favorite APIs will be streamed live, and all remaining session videos will be recorded and available shortly after the conference on <a href="https://developers.google.com/live/">Google Developers Live</a> and the <a href="https://developers.google.com/events/io/sessions">conference website</a>. Between sessions, we’ll bring you behind-the-scenes footage featuring interviews with Googlers and attendees, tours of the Sandbox and more. The stream will also continue through our After Hours party (June 27 starting at 7:00 p.m. PDT), where we've teamed up with top entertainers, inventors, artists, educators and visionaries from all over the world for an amazing evening.<br /> <br /> <span class="byline-author">Posted by Mike Winton, Director of Developer Relations</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2012/06/tune-in-to-io-live-at-930-am-pdt-on.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Tune in to I/O Live at 9:30 a.m. PDT on June 27&url=https://googleblog.blogspot.com/2012/06/tune-in-to-io-live-at-930-am-pdt-on.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2012/06/tune-in-to-io-live-at-930-am-pdt-on.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2012/06/tune-in-to-io-live-at-930-am-pdt-on.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> </span> </div> </div> </div> <div class='post' data-id='5251725053740334774' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2012/03/google-code-jam-2012-registration-is.html' itemprop='url' title='Google Code Jam 2012 registration is open'> Google Code Jam 2012 registration is open </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> March 13, 2012 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> Today, we're opening up registration for <a href="http://code.google.com/codejam">Google Code Jam 2012</a>. This year thousands of students, professional programmers and freelance code wizards will pit their ingenuity against a new set of algorithmic challenges concocted by our tireless team of red-eyed, LED-illuminated problem writers.<br /> <br /> Last year’s champion, Makoto Soejima, was asked to <a href="http://code.google.com/codejam/contest/1150485/dashboard#s=p2">build a house for kittens</a>, <a href="http://code.google.com/codejam/contest/1150486/dashboard#s=p2">serve food to hungry mathematicians</a>, <a href="http://code.google.com/codejam/contest/1327485/dashboard#s=p4">escape from a shady casino</a> and <a href="http://code.google.com/codejam/contest/975485/dashboard#s=p3">help Goro control his anger</a>. Who knows what our problem writers have on their minds this year?<br /> <br /> Code Jam is a world-wide programming competition in which contestants may use any programming language to solve algorithmic problems. The qualification round takes place April 13, followed by three online rounds in the following months. At the end of it all, the top 25 contestants will be invited to Google’s New York office on July 27 for a final match up and a chance to win $10,000. If you are up for the challenge, <a href="http://code.google.com/codejam/contest/registration">throw your hat into the ring now</a>.<br /> <br /> <span class="byline-author">Posted by Igor Naverniouk, Software Engineer, Google Code Jam</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> Today, we're opening up registration for <a href="http://code.google.com/codejam">Google Code Jam 2012</a>. This year thousands of students, professional programmers and freelance code wizards will pit their ingenuity against a new set of algorithmic challenges concocted by our tireless team of red-eyed, LED-illuminated problem writers.<br /> <br /> Last year’s champion, Makoto Soejima, was asked to <a href="http://code.google.com/codejam/contest/1150485/dashboard#s=p2">build a house for kittens</a>, <a href="http://code.google.com/codejam/contest/1150486/dashboard#s=p2">serve food to hungry mathematicians</a>, <a href="http://code.google.com/codejam/contest/1327485/dashboard#s=p4">escape from a shady casino</a> and <a href="http://code.google.com/codejam/contest/975485/dashboard#s=p3">help Goro control his anger</a>. Who knows what our problem writers have on their minds this year?<br /> <br /> Code Jam is a world-wide programming competition in which contestants may use any programming language to solve algorithmic problems. The qualification round takes place April 13, followed by three online rounds in the following months. At the end of it all, the top 25 contestants will be invited to Google’s New York office on July 27 for a final match up and a chance to win $10,000. If you are up for the challenge, <a href="http://code.google.com/codejam/contest/registration">throw your hat into the ring now</a>.<br /> <br /> <span class="byline-author">Posted by Igor Naverniouk, Software Engineer, Google Code Jam</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2012/03/google-code-jam-2012-registration-is.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Google Code Jam 2012 registration is open&url=https://googleblog.blogspot.com/2012/03/google-code-jam-2012-registration-is.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2012/03/google-code-jam-2012-registration-is.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2012/03/google-code-jam-2012-registration-is.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> </span> </div> </div> </div> <div class='post' data-id='5641176556171861471' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2011/06/from-acquisition-to-in-app-payments-in.html' itemprop='url' title='From acquisition to in-app payments in less than one year'> From acquisition to in-app payments in less than one year </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> June 6, 2011 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <i>(Cross-posted on the <a href="http://googlecommerce.blogspot.com/2011/06/from-acquisition-to-in-app-payments-in.html">Commerce Blog</a>)<br /> <br /> This is the latest post in our <a href="http://googleblog.blogspot.com/search/label/entrepreneurs%20at%20Google">series</a> profiling entrepreneurial Googlers working on products across the company and around the world. In this post, you’ll read why one team decided to sell their company to Google, and how they went from acquisition to product launch in less than a year. - Ed.</i><br /> <br /> The decision to sell your company is one of the hardest an entrepreneur can make, and as the CEO of Jambool, I thought long and hard about Google’s offer to acquire us when they came calling in August 2010. Ultimately, <a href="http://blog.jambool.com/index.php/2010/08/13/social-gold-joins-google-a-letter-from-our-founders/">we decided to join Google</a> for two reasons: one, we shared the goal of offering consumers and merchants unified online payment solutions, and two, we realized that Google was serious about helping us integrate our technology into their digital tools by providing us with infrastructure and other support. Less than a year later, we’ve already taken a major step to help Google deliver on this vision with <a href="http://sandbox.google.com/checkout/inapppayments/?gsessionid=Ovb32L63qEU">Google In-App Payments</a>, which we announced last month at <a href="//youtu.be/MiYND_zvIc0">Google I/O</a>. In-App Payments enable web application developers to receive payments for digital and virtual goods without the user ever leaving the application.<br /> <br /> <div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXOKqxfcgBgbTqCF-pCIsJnxLVucl768xujf31HPJ6MQvH5-xBrh97-BV9DGHZ9XmkjPsJZQfMpGuBXkNTIeOEbhUJSmiygnNvI8ohQjy_4WDzahFRzj0ZhP9mKrkHVQ1vmNmj/s1600/vikas+on+stage.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXOKqxfcgBgbTqCF-pCIsJnxLVucl768xujf31HPJ6MQvH5-xBrh97-BV9DGHZ9XmkjPsJZQfMpGuBXkNTIeOEbhUJSmiygnNvI8ohQjy_4WDzahFRzj0ZhP9mKrkHVQ1vmNmj/+on+stage.jpg" width="500" /></a></div><div style="text-align: center;"><i>Me on stage at Google I/O introducing Google In-App Payments</i></div><br /> When we first joined, we expected to spend a lot of time ramping up, meeting people and learning Google’s technology. In reality, our shared vision for the product enabled us to quickly partner with teams across the company to build out our product at scale. As a startup, you spend the majority of your time building teams from scratch to focus on functions like product, sales, marketing, operations and legal. At Jambool, I’d divide my time across operations, raising funds and meeting with outside developers. But at Google, we were able to combine our efforts with teams already in place who could manage those areas while we focused on the core product.<br /> <br /> We set an ambitious goal of launching in-app payments nine months later at Google I/O, which motivated us to work quickly. We worked with Google’s established teams—especially Chrome, Android and Google Checkout—to build a simple API and intuitive user interface. During the last few weeks before Google I/O—when we were still working around the clock just to finish the product—we were invited to announce our launch as part of the day two keynote. That gave us even more drive to finish on time. And, thanks to the Chrome team, we found partners like Angry Birds and Graphic.ly, which really demonstrated the product’s usefulness and got developers excited about our broader vision of seamless digital payments.<br /> <div class="separator" style="clear: both; text-align: -webkit-auto;"><br /> </div>As a startup, we never imagined we’d stand on a stage like the one at I/O and instantly reach consumers, businesses and developers around the world. In the first 24 hours after the announcement, thousands of developers signed up to use the API. This is something we wouldn’t have been able to do so quickly on our own, and it’s a testament to the big things a startup can accomplish by joining Google. We’re already looking forward to what the next year brings as developers around the world start to build great businesses on our platform.<br /> <br /> <i>If you’re interested in integrating your apps into Google’s In-App Payments API, we invite you to <a href="http://sandbox.google.com/checkout/inapppayments">sign up</a> and <a href="http://groups.google.com/group/in-app-payments">send us feedback</a>.</i><br /> <br /> <span class="byline-author">Posted by Vikas Gupta, Head of Consumer Payments</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <i>(Cross-posted on the <a href="http://googlecommerce.blogspot.com/2011/06/from-acquisition-to-in-app-payments-in.html">Commerce Blog</a>)<br /> <br /> This is the latest post in our <a href="http://googleblog.blogspot.com/search/label/entrepreneurs%20at%20Google">series</a> profiling entrepreneurial Googlers working on products across the company and around the world. In this post, you’ll read why one team decided to sell their company to Google, and how they went from acquisition to product launch in less than a year. - Ed.</i><br /> <br /> The decision to sell your company is one of the hardest an entrepreneur can make, and as the CEO of Jambool, I thought long and hard about Google’s offer to acquire us when they came calling in August 2010. Ultimately, <a href="http://blog.jambool.com/index.php/2010/08/13/social-gold-joins-google-a-letter-from-our-founders/">we decided to join Google</a> for two reasons: one, we shared the goal of offering consumers and merchants unified online payment solutions, and two, we realized that Google was serious about helping us integrate our technology into their digital tools by providing us with infrastructure and other support. Less than a year later, we’ve already taken a major step to help Google deliver on this vision with <a href="http://sandbox.google.com/checkout/inapppayments/?gsessionid=Ovb32L63qEU">Google In-App Payments</a>, which we announced last month at <a href="//youtu.be/MiYND_zvIc0">Google I/O</a>. In-App Payments enable web application developers to receive payments for digital and virtual goods without the user ever leaving the application.<br /> <br /> <div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXOKqxfcgBgbTqCF-pCIsJnxLVucl768xujf31HPJ6MQvH5-xBrh97-BV9DGHZ9XmkjPsJZQfMpGuBXkNTIeOEbhUJSmiygnNvI8ohQjy_4WDzahFRzj0ZhP9mKrkHVQ1vmNmj/s1600/vikas+on+stage.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXOKqxfcgBgbTqCF-pCIsJnxLVucl768xujf31HPJ6MQvH5-xBrh97-BV9DGHZ9XmkjPsJZQfMpGuBXkNTIeOEbhUJSmiygnNvI8ohQjy_4WDzahFRzj0ZhP9mKrkHVQ1vmNmj/+on+stage.jpg" width="500" /></a></div><div style="text-align: center;"><i>Me on stage at Google I/O introducing Google In-App Payments</i></div><br /> When we first joined, we expected to spend a lot of time ramping up, meeting people and learning Google’s technology. In reality, our shared vision for the product enabled us to quickly partner with teams across the company to build out our product at scale. As a startup, you spend the majority of your time building teams from scratch to focus on functions like product, sales, marketing, operations and legal. At Jambool, I’d divide my time across operations, raising funds and meeting with outside developers. But at Google, we were able to combine our efforts with teams already in place who could manage those areas while we focused on the core product.<br /> <br /> We set an ambitious goal of launching in-app payments nine months later at Google I/O, which motivated us to work quickly. We worked with Google’s established teams—especially Chrome, Android and Google Checkout—to build a simple API and intuitive user interface. During the last few weeks before Google I/O—when we were still working around the clock just to finish the product—we were invited to announce our launch as part of the day two keynote. That gave us even more drive to finish on time. And, thanks to the Chrome team, we found partners like Angry Birds and Graphic.ly, which really demonstrated the product’s usefulness and got developers excited about our broader vision of seamless digital payments.<br /> <div class="separator" style="clear: both; text-align: -webkit-auto;"><br /> </div>As a startup, we never imagined we’d stand on a stage like the one at I/O and instantly reach consumers, businesses and developers around the world. In the first 24 hours after the announcement, thousands of developers signed up to use the API. This is something we wouldn’t have been able to do so quickly on our own, and it’s a testament to the big things a startup can accomplish by joining Google. We’re already looking forward to what the next year brings as developers around the world start to build great businesses on our platform.<br /> <br /> <i>If you’re interested in integrating your apps into Google’s In-App Payments API, we invite you to <a href="http://sandbox.google.com/checkout/inapppayments">sign up</a> and <a href="http://groups.google.com/group/in-app-payments">send us feedback</a>.</i><br /> <br /> <span class="byline-author">Posted by Vikas Gupta, Head of Consumer Payments</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2011/06/from-acquisition-to-in-app-payments-in.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:From acquisition to in-app payments in less than one year&url=https://googleblog.blogspot.com/2011/06/from-acquisition-to-in-app-payments-in.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2011/06/from-acquisition-to-in-app-payments-in.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2011/06/from-acquisition-to-in-app-payments-in.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/commerce' rel='tag'> commerce </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/entrepreneurs%20at%20Google' rel='tag'> entrepreneurs at Google </a> </span> </div> </div> </div> <div class='post' data-id='5044111034777139521' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2011/05/hacking-for-humanity-in-silicon-valley.html' itemprop='url' title='Hacking for humanity in Silicon Valley and around the globe'> Hacking for humanity in Silicon Valley and around the globe </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> May 24, 2011 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <i>(Cross-posted on the <a href="http://googlecode.blogspot.com/2011/05/hacking-for-humanity-in-silicon-valley.html">Code Blog</a> and <a href="http://blog.google.org/2011/05/hacking-for-humanity-in-silicon-valley.html">Google.org Blog</a>)</i><br /> <br /> Two years ago representatives from Google, Microsoft, Yahoo!, Hewlett-Packard, NASA and the World Bank came together to form the <a href="http://www.rhok.org/">Random Hacks of Kindness</a> (RHoK) program. The idea was simple: technology can and should be used for good. RHoK brings together subject matter experts, volunteer software developers and designers to create open source and technology agnostic software solutions that address challenges facing humanity. On June 4-5, 2011 we’ll hold the <a href="http://www.rhok.org/events">third Random Hacks of Kindness global event</a> at five U.S. locations and 13 international sites, giving local developer communities the opportunity to collaborate on problems in person.<br /> <br /> <div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPAuWIXbZ1kEv0KqAAR4HbzflZhVYUFw9ngIWcf2GNVLVFhnI-m1oWaIlR-nI0biNg4kmo4ScEcqJF1rVQIYQ87bLZQT1hmyHHCI_hQWT7jl_iNzya3M6K149NxjCOvjxplebv/s1600/1tdGHHUB1qGjaLKMdCRqYzRxxL-2SOaY.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPAuWIXbZ1kEv0KqAAR4HbzflZhVYUFw9ngIWcf2GNVLVFhnI-m1oWaIlR-nI0biNg4kmo4ScEcqJF1rVQIYQ87bLZQT1hmyHHCI_hQWT7jl_iNzya3M6K149NxjCOvjxplebv/s1600/1tdGHHUB1qGjaLKMdCRqYzRxxL-2SOaY.png" /></a></div><br /> The RHoK community has already developed some applications focused on crisis response such as <a href="http://imokapp.appspot.com/">I’mOK</a>, a mobile messaging application for disaster response that was used on the ground in Haiti and Chile; and <a href="http://wiki.rhok.org/Access_to_Landslide_Prediction_Software_for_Risk_Reduction">CHASM</a>, a visual tool to map landslide risk currently being piloted by the World Bank in landslide affected areas in the Caribbean. <a href="http://japan.person-finder.appspot.com/?lang=en">Person Finder</a>, a tool created by <a href="//www.google.com/crisisresponse/">Google’s crisis response team</a> to help people find friends and loved ones after a natural disaster, was also refined at RHoK events and effectively deployed in Haiti, Chile and <a href="//www.google.com/crisisresponse/resources.html">Japan</a>.<br /> <br /> We’re inviting all developers, designers and anyone else who wants to help “hack for humanity,” to attend one of the <a href="http://www.rhok.org/events">local events</a> on June 4-5. There, you’ll meet other open source developers, work with experts in disaster and climate issues and contribute code to exciting projects that make a difference. If you’re in Northern California, <a href="http://www.rhok.org/event/silicon-valley">come join us</a> at the Silicon Valley RHoK event at <a href="//maps.google.com/maps/place?cid=1017478923201951099">Google headquarters</a>.<br /> <br /> And if you’re part of an organization that works in the fields of crisis response or climate change, you can <a href="http://www.rhok.org/problems">submit a problem definition online</a>, so that developers and volunteers can work on developing technology to address the challenge.<br /> <div class="separator" style="clear: both; text-align: -webkit-auto;"><br /> </div>Visit <a href="http://www.rhok.org/">http://www.rhok.org/</a> for more information and to sign up for your local event, and get set to put your hacking skills to good use.<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/1YNiXVRMH5M" width="560"></iframe><br /> <br /> <span class="byline-author">Posted by Carlos Cuesta, Developer Marketing Team</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <i>(Cross-posted on the <a href="http://googlecode.blogspot.com/2011/05/hacking-for-humanity-in-silicon-valley.html">Code Blog</a> and <a href="http://blog.google.org/2011/05/hacking-for-humanity-in-silicon-valley.html">Google.org Blog</a>)</i><br /> <br /> Two years ago representatives from Google, Microsoft, Yahoo!, Hewlett-Packard, NASA and the World Bank came together to form the <a href="http://www.rhok.org/">Random Hacks of Kindness</a> (RHoK) program. The idea was simple: technology can and should be used for good. RHoK brings together subject matter experts, volunteer software developers and designers to create open source and technology agnostic software solutions that address challenges facing humanity. On June 4-5, 2011 we’ll hold the <a href="http://www.rhok.org/events">third Random Hacks of Kindness global event</a> at five U.S. locations and 13 international sites, giving local developer communities the opportunity to collaborate on problems in person.<br /> <br /> <div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPAuWIXbZ1kEv0KqAAR4HbzflZhVYUFw9ngIWcf2GNVLVFhnI-m1oWaIlR-nI0biNg4kmo4ScEcqJF1rVQIYQ87bLZQT1hmyHHCI_hQWT7jl_iNzya3M6K149NxjCOvjxplebv/s1600/1tdGHHUB1qGjaLKMdCRqYzRxxL-2SOaY.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPAuWIXbZ1kEv0KqAAR4HbzflZhVYUFw9ngIWcf2GNVLVFhnI-m1oWaIlR-nI0biNg4kmo4ScEcqJF1rVQIYQ87bLZQT1hmyHHCI_hQWT7jl_iNzya3M6K149NxjCOvjxplebv/s1600/1tdGHHUB1qGjaLKMdCRqYzRxxL-2SOaY.png" /></a></div><br /> The RHoK community has already developed some applications focused on crisis response such as <a href="http://imokapp.appspot.com/">I’mOK</a>, a mobile messaging application for disaster response that was used on the ground in Haiti and Chile; and <a href="http://wiki.rhok.org/Access_to_Landslide_Prediction_Software_for_Risk_Reduction">CHASM</a>, a visual tool to map landslide risk currently being piloted by the World Bank in landslide affected areas in the Caribbean. <a href="http://japan.person-finder.appspot.com/?lang=en">Person Finder</a>, a tool created by <a href="//www.google.com/crisisresponse/">Google’s crisis response team</a> to help people find friends and loved ones after a natural disaster, was also refined at RHoK events and effectively deployed in Haiti, Chile and <a href="//www.google.com/crisisresponse/resources.html">Japan</a>.<br /> <br /> We’re inviting all developers, designers and anyone else who wants to help “hack for humanity,” to attend one of the <a href="http://www.rhok.org/events">local events</a> on June 4-5. There, you’ll meet other open source developers, work with experts in disaster and climate issues and contribute code to exciting projects that make a difference. If you’re in Northern California, <a href="http://www.rhok.org/event/silicon-valley">come join us</a> at the Silicon Valley RHoK event at <a href="//maps.google.com/maps/place?cid=1017478923201951099">Google headquarters</a>.<br /> <br /> And if you’re part of an organization that works in the fields of crisis response or climate change, you can <a href="http://www.rhok.org/problems">submit a problem definition online</a>, so that developers and volunteers can work on developing technology to address the challenge.<br /> <div class="separator" style="clear: both; text-align: -webkit-auto;"><br /> </div>Visit <a href="http://www.rhok.org/">http://www.rhok.org/</a> for more information and to sign up for your local event, and get set to put your hacking skills to good use.<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/1YNiXVRMH5M" width="560"></iframe><br /> <br /> <span class="byline-author">Posted by Carlos Cuesta, Developer Marketing Team</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2011/05/hacking-for-humanity-in-silicon-valley.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Hacking for humanity in Silicon Valley and around the globe&url=https://googleblog.blogspot.com/2011/05/hacking-for-humanity-in-silicon-valley.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2011/05/hacking-for-humanity-in-silicon-valley.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2011/05/hacking-for-humanity-in-silicon-valley.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/crisis%20response' rel='tag'> crisis response </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/google.org' rel='tag'> google.org </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/open%20source' rel='tag'> open source </a> </span> </div> </div> </div> <div class='post' data-id='133104684667897005' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2011/05/launch-mobile-business-with-guide-to.html' itemprop='url' title='Launch a mobile business with The Guide to the App Galaxy'> Launch a mobile business with The Guide to the App Galaxy </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> May 19, 2011 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <a href="http://www.guidetotheappgalaxy.com/?utm_source=ogb&utm_medium=blog&utm_campaign=ag">The Guide to the App Galaxy</a>, which we showed off last week at <a href="//www.google.com/events/io/2011/index-live.html">Google I/O</a>, is designed to help mobile app developers—regardless of platform—navigate the complexities of launching an app and building a business on mobile. As you maneuver through the "galaxy” using the arrow keys on your keyboard, you’ll get the basics about app promotion, monetization and measurement—with tips from Google as well as successful developers. <br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisSpxeq65SBeoXihd7KqFMEhWchnfUUyA6hzOl6mbHsW_8aTgRziPZE3CNgHQ9JMdbN6LH1f0cvFHJ5_XqRpoSQwledntLTLZFnBkjvRPrAZkqaVU8d1uRazzV-8G_bq635WnR/s1600/1Bqt_G1x0UJR9Qjka6A6HQ8_pF5izerM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisSpxeq65SBeoXihd7KqFMEhWchnfUUyA6hzOl6mbHsW_8aTgRziPZE3CNgHQ9JMdbN6LH1f0cvFHJ5_XqRpoSQwledntLTLZFnBkjvRPrAZkqaVU8d1uRazzV-8G_bq635WnR/" width="500" /></a></div><br /> There’s no exact blueprint for mobile app success and no developer’s journey is the same, which is why <a href="http://www.guidetotheappgalaxy.com/?utm_source=ogb&utm_medium=blog&utm_campaign=ag">The Guide to the App Galaxy</a> contains different advice and best practices from <a href="http://www.guidetotheappgalaxy.com/#/thief/">developers around the world</a>. Here are some key insights from developers who have successfully built a business on mobile:<br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFuOw7qZUtLpgSNT6J6nHl4AQ061eliScMtZyTsVTeQF-1dFksgmL2l-l3D0cRAhgSOgpVQFrfl0KgkAPPqOxhZ53FF_ThrSbveiECoG5-2m2cxvl9X8pr3JCqOcYvHwQ5FJZw/s1600/1tFFDyy6DqNuo1A-T_gMqcvsCLeaFAZw.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFuOw7qZUtLpgSNT6J6nHl4AQ061eliScMtZyTsVTeQF-1dFksgmL2l-l3D0cRAhgSOgpVQFrfl0KgkAPPqOxhZ53FF_ThrSbveiECoG5-2m2cxvl9X8pr3JCqOcYvHwQ5FJZw/" width="50" /></a></div><b><a href="http://www.guidetotheappgalaxy.com/#/angrybirds/">Rovio Mobile </a></b><br /> Making money on mobile is not black and white—there's actually a lot of color. There are a number of business model options that aren't exclusive to any particular platforms.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV1J5NKAM2ciXkiKKeGZBgOtUhmqwmKXtIdY33pqpY5xKo4JjtlYLk0LH0puITiceBsa6gKVtwM7oVQP4Sng3hehjqQIR8tV2Mxfq3Y4dzm6rk0BIq0YxNRCAte9nqDSWtnAA1/s1600/12J_jisfOZKBQJMjApJp3IfDGugWvP4g.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV1J5NKAM2ciXkiKKeGZBgOtUhmqwmKXtIdY33pqpY5xKo4JjtlYLk0LH0puITiceBsa6gKVtwM7oVQP4Sng3hehjqQIR8tV2Mxfq3Y4dzm6rk0BIq0YxNRCAte9nqDSWtnAA1/" width="50" /></a></div><b><a href="http://www.guidetotheappgalaxy.com/#/antsmasher">Best, Cool & Fun Games </a></b><br /> Offering your app for free lowers the barrier for users to download and try your app. The free version of Ant Smasher went viral because players could easily recommend the game to their friends through social media sites and word of mouth.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0JLVodtmhzazQ00osQneeFjB5a5SQDWKLhKKQ-wVz4fgEJTrHfwwyJ0jQc1Q5Xk4lLBC0Qy8MB0IIrjdTaPOXn0Rf5rF-5SpriwYeUvrCgdPwkYsX7FoY6Ao7vfQe9q7SXimh/s1600/1JQyM-h7HdQDQsnKdfjE6t_0QRkLacZk.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0JLVodtmhzazQ00osQneeFjB5a5SQDWKLhKKQ-wVz4fgEJTrHfwwyJ0jQc1Q5Xk4lLBC0Qy8MB0IIrjdTaPOXn0Rf5rF-5SpriwYeUvrCgdPwkYsX7FoY6Ao7vfQe9q7SXimh/s200/1JQyM-h7HdQDQsnKdfjE6t_0QRkLacZk.png" width="50" /></a></div><b><a href="http://www.guidetotheappgalaxy.com/#/weather">The Weather Channel </a></b><br /> Don't forget to think beyond mobile. If you have a website or even a television channel, you can cross-promote your app with banner advertising or in-show mentions to drive downloads.<br /> <br /> <div><br /> <br /> <br /> <br /> If you’re a developer who has successfully navigated the App Galaxy and launched your own app, you’ve probably picked up some tips of your own. Share your insights by creating your own journey and sharing it with your friends. We might even feature your story on <a href="http://www.guidetotheappgalaxy.com/?utm_source=ogb&utm_medium=blog&utm_campaign=ag">The Guide to the App Galaxy</a>.</div><br /> <div class="separator" style="clear: both; text-align: center;"><span id="goog_849797681"></span><span id="goog_849797684"></span><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfFxVrg5X9MCyIrbaXGDjT6TbKlQANh6nW2SgewKPeT2VVI8W2q2-eSPZK0vQpT9XUE5x_HMS5ZvGENMdBB8-lgNi2cYxbmgNV5YPtUvSbFj54Z0hko8zWtf1zmBhont1eTjpz/" width="500" /><span id="goog_849797685"></span><span id="goog_849797682"></span></div><br /> <a href="http://www.guidetotheappgalaxy.com/?utm_source=ogb&utm_medium=blog&utm_campaign">The Guide to the App Galaxy</a> is currently available in English, Japanese, Korean, French and German. We’re continuing to expand the guide to other developers around the world with new languages and new content like case study journeys. For more information about our solutions for mobile app developers, visit <a href="http://www.guidetotheappgalaxy.com/about">www.guidetotheappgalaxy.com/about</a>.<br /> <br /> <span class="byline-author">Posted by Lauren Usui, Product Marketing Manager</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <a href="http://www.guidetotheappgalaxy.com/?utm_source=ogb&utm_medium=blog&utm_campaign=ag">The Guide to the App Galaxy</a>, which we showed off last week at <a href="//www.google.com/events/io/2011/index-live.html">Google I/O</a>, is designed to help mobile app developers—regardless of platform—navigate the complexities of launching an app and building a business on mobile. As you maneuver through the "galaxy” using the arrow keys on your keyboard, you’ll get the basics about app promotion, monetization and measurement—with tips from Google as well as successful developers. <br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisSpxeq65SBeoXihd7KqFMEhWchnfUUyA6hzOl6mbHsW_8aTgRziPZE3CNgHQ9JMdbN6LH1f0cvFHJ5_XqRpoSQwledntLTLZFnBkjvRPrAZkqaVU8d1uRazzV-8G_bq635WnR/s1600/1Bqt_G1x0UJR9Qjka6A6HQ8_pF5izerM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisSpxeq65SBeoXihd7KqFMEhWchnfUUyA6hzOl6mbHsW_8aTgRziPZE3CNgHQ9JMdbN6LH1f0cvFHJ5_XqRpoSQwledntLTLZFnBkjvRPrAZkqaVU8d1uRazzV-8G_bq635WnR/" width="500" /></a></div><br /> There’s no exact blueprint for mobile app success and no developer’s journey is the same, which is why <a href="http://www.guidetotheappgalaxy.com/?utm_source=ogb&utm_medium=blog&utm_campaign=ag">The Guide to the App Galaxy</a> contains different advice and best practices from <a href="http://www.guidetotheappgalaxy.com/#/thief/">developers around the world</a>. Here are some key insights from developers who have successfully built a business on mobile:<br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFuOw7qZUtLpgSNT6J6nHl4AQ061eliScMtZyTsVTeQF-1dFksgmL2l-l3D0cRAhgSOgpVQFrfl0KgkAPPqOxhZ53FF_ThrSbveiECoG5-2m2cxvl9X8pr3JCqOcYvHwQ5FJZw/s1600/1tFFDyy6DqNuo1A-T_gMqcvsCLeaFAZw.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFuOw7qZUtLpgSNT6J6nHl4AQ061eliScMtZyTsVTeQF-1dFksgmL2l-l3D0cRAhgSOgpVQFrfl0KgkAPPqOxhZ53FF_ThrSbveiECoG5-2m2cxvl9X8pr3JCqOcYvHwQ5FJZw/" width="50" /></a></div><b><a href="http://www.guidetotheappgalaxy.com/#/angrybirds/">Rovio Mobile </a></b><br /> Making money on mobile is not black and white—there's actually a lot of color. There are a number of business model options that aren't exclusive to any particular platforms.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV1J5NKAM2ciXkiKKeGZBgOtUhmqwmKXtIdY33pqpY5xKo4JjtlYLk0LH0puITiceBsa6gKVtwM7oVQP4Sng3hehjqQIR8tV2Mxfq3Y4dzm6rk0BIq0YxNRCAte9nqDSWtnAA1/s1600/12J_jisfOZKBQJMjApJp3IfDGugWvP4g.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV1J5NKAM2ciXkiKKeGZBgOtUhmqwmKXtIdY33pqpY5xKo4JjtlYLk0LH0puITiceBsa6gKVtwM7oVQP4Sng3hehjqQIR8tV2Mxfq3Y4dzm6rk0BIq0YxNRCAte9nqDSWtnAA1/" width="50" /></a></div><b><a href="http://www.guidetotheappgalaxy.com/#/antsmasher">Best, Cool & Fun Games </a></b><br /> Offering your app for free lowers the barrier for users to download and try your app. The free version of Ant Smasher went viral because players could easily recommend the game to their friends through social media sites and word of mouth.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0JLVodtmhzazQ00osQneeFjB5a5SQDWKLhKKQ-wVz4fgEJTrHfwwyJ0jQc1Q5Xk4lLBC0Qy8MB0IIrjdTaPOXn0Rf5rF-5SpriwYeUvrCgdPwkYsX7FoY6Ao7vfQe9q7SXimh/s1600/1JQyM-h7HdQDQsnKdfjE6t_0QRkLacZk.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0JLVodtmhzazQ00osQneeFjB5a5SQDWKLhKKQ-wVz4fgEJTrHfwwyJ0jQc1Q5Xk4lLBC0Qy8MB0IIrjdTaPOXn0Rf5rF-5SpriwYeUvrCgdPwkYsX7FoY6Ao7vfQe9q7SXimh/s200/1JQyM-h7HdQDQsnKdfjE6t_0QRkLacZk.png" width="50" /></a></div><b><a href="http://www.guidetotheappgalaxy.com/#/weather">The Weather Channel </a></b><br /> Don't forget to think beyond mobile. If you have a website or even a television channel, you can cross-promote your app with banner advertising or in-show mentions to drive downloads.<br /> <br /> <div><br /> <br /> <br /> <br /> If you’re a developer who has successfully navigated the App Galaxy and launched your own app, you’ve probably picked up some tips of your own. Share your insights by creating your own journey and sharing it with your friends. We might even feature your story on <a href="http://www.guidetotheappgalaxy.com/?utm_source=ogb&utm_medium=blog&utm_campaign=ag">The Guide to the App Galaxy</a>.</div><br /> <div class="separator" style="clear: both; text-align: center;"><span id="goog_849797681"></span><span id="goog_849797684"></span><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfFxVrg5X9MCyIrbaXGDjT6TbKlQANh6nW2SgewKPeT2VVI8W2q2-eSPZK0vQpT9XUE5x_HMS5ZvGENMdBB8-lgNi2cYxbmgNV5YPtUvSbFj54Z0hko8zWtf1zmBhont1eTjpz/" width="500" /><span id="goog_849797685"></span><span id="goog_849797682"></span></div><br /> <a href="http://www.guidetotheappgalaxy.com/?utm_source=ogb&utm_medium=blog&utm_campaign">The Guide to the App Galaxy</a> is currently available in English, Japanese, Korean, French and German. We’re continuing to expand the guide to other developers around the world with new languages and new content like case study journeys. For more information about our solutions for mobile app developers, visit <a href="http://www.guidetotheappgalaxy.com/about">www.guidetotheappgalaxy.com/about</a>.<br /> <br /> <span class="byline-author">Posted by Lauren Usui, Product Marketing Manager</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2011/05/launch-mobile-business-with-guide-to.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Launch a mobile business with The Guide to the App Galaxy&url=https://googleblog.blogspot.com/2011/05/launch-mobile-business-with-guide-to.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2011/05/launch-mobile-business-with-guide-to.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2011/05/launch-mobile-business-with-guide-to.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/apps' rel='tag'> apps </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> </span> </div> </div> </div> <div class='post' data-id='7452800692549822173' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2011/05/keynote-and-session-videos-from-google.html' itemprop='url' title='Keynote and session videos from Google I/O now live'> Keynote and session videos from Google I/O now live </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> May 13, 2011 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> With Google I/O 2011 just two days behind us, we wanted to thank the nearly 1 million developers who joined us at Moscone Center, attended I/O Extended events and watched online via I/O Live from 161 countries around the world.<br /> <br /> The keynote presentations highlighted the momentum and vision for two of our most important developer platforms: Android and Chrome.<br /> <br /> On the topic of Android, Hugo Barra, director of Android Product Management, opened Day 1 of the conference with the themes of “Momentum, Mobile and More,” announcing <a href="https://market.android.com/movies">Movies in Android Market</a>, <a href="http://music.google.com/about/">Music Beta by Google</a>, Android @ Home, <a href="http://developer.android.com/guide/topics/usb/adk.html">Android Open Accessory</a> and a preview of the new <a href="https://picasaweb.google.com/googleio/GoogleIO2011#5605154622426743442">Ice Cream Sandwich</a> logo. Read the <a href="http://googleblog.blogspot.com/2011/05/android-momentum-mobile-and-more-at.html">blog post</a> summary or watch the keynote in its entirety below.<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/OxzucwjFEEs" width="560"></iframe><br /> <br /> The Day 2 keynote was all about Chrome, which has grown to 160 million active users, up from 70 million last year. Sundar Pichai, senior vice president of Chrome, discussed the launch of the HTML5 version of <a href="https://chrome.google.com/webstore/detail/aknpkdffaafgjchaibgeefbgmgeghloj">Angry Birds</a> built with GWT on App Engine, <a href="http://chrome.blogspot.com/2011/05/new-kind-of-computer-chromebook.html">Chromebooks</a> for consumers and businesses and <a href="http://googlecheckout.blogspot.com/2011/05/making-money-with-google-in-app.html">in-app payments</a>. If you missed it, watch the Chrome keynote below.<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/MiYND_zvIc0" width="560"></iframe><br /> <br /> These launches are just a few of the more than <a href="//www.google.com/events/io/2011/announcements-archive.html">30 announcements</a> we made over the two days, including the launch of <a href="http://googleenterprise.blogspot.com/2011/05/google-app-engine-new-version-and.html">Google App Engine 1.5</a>, a updated <a href="http://googleenterprise.blogspot.com/2011/05/build-smarter-apps-with-improved-google.html">Google Prediction API</a>, new additions to the <a href="http://googleresearch.blogspot.com/2011/05/make-beautiful-interactive-maps-even.html">Fusion Tables API</a> and many more. For more information about these and the other news coming out of the event, visit the <a href="http://googlecode.blogspot.com/search/label/Google%20I%2FO">Google I/O label</a> on the Google Code Blog.<br /> <br /> Additionally, in case you missed any of these announcements, HD recordings of the <a href="//www.google.com/events/io/2011/sessions.html">sessions</a> are now available online.<br /> <br /> Find the highlights from this year’s event at <a href="//www.google.com/io">www.google.com/io</a>, where we’ll feature photos, announcements and the latest videos. Also stay tuned for a feature on “Backstage at Google I/O” where we’ll highlight the developers and artists who helped to make the event possible this year.<br /> <br /> Google I/O kicked off the year as our biggest developer event—but we’re only getting started. As of today, we’re announcing locations for our eight <a href="//www.google.com/events/developerday/2010/">Google Developer Days</a> (GDDs), which will take place all over the world with more than a few <a href="http://code.google.com/events/devfests/2010/index.html">DevFests</a> in between. Stay tuned for more info on the 2011 event details, but we’ll look forward to seeing you in Brazil, Argentina, Prague, Moscow, Tokyo, Sydney, Israel and Germany for our Google Developer team world tour.<br /> <br /> <span class="byline-author">Posted by Vic Gundotra, Senior Vice President of Engineering</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> With Google I/O 2011 just two days behind us, we wanted to thank the nearly 1 million developers who joined us at Moscone Center, attended I/O Extended events and watched online via I/O Live from 161 countries around the world.<br /> <br /> The keynote presentations highlighted the momentum and vision for two of our most important developer platforms: Android and Chrome.<br /> <br /> On the topic of Android, Hugo Barra, director of Android Product Management, opened Day 1 of the conference with the themes of “Momentum, Mobile and More,” announcing <a href="https://market.android.com/movies">Movies in Android Market</a>, <a href="http://music.google.com/about/">Music Beta by Google</a>, Android @ Home, <a href="http://developer.android.com/guide/topics/usb/adk.html">Android Open Accessory</a> and a preview of the new <a href="https://picasaweb.google.com/googleio/GoogleIO2011#5605154622426743442">Ice Cream Sandwich</a> logo. Read the <a href="http://googleblog.blogspot.com/2011/05/android-momentum-mobile-and-more-at.html">blog post</a> summary or watch the keynote in its entirety below.<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/OxzucwjFEEs" width="560"></iframe><br /> <br /> The Day 2 keynote was all about Chrome, which has grown to 160 million active users, up from 70 million last year. Sundar Pichai, senior vice president of Chrome, discussed the launch of the HTML5 version of <a href="https://chrome.google.com/webstore/detail/aknpkdffaafgjchaibgeefbgmgeghloj">Angry Birds</a> built with GWT on App Engine, <a href="http://chrome.blogspot.com/2011/05/new-kind-of-computer-chromebook.html">Chromebooks</a> for consumers and businesses and <a href="http://googlecheckout.blogspot.com/2011/05/making-money-with-google-in-app.html">in-app payments</a>. If you missed it, watch the Chrome keynote below.<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/MiYND_zvIc0" width="560"></iframe><br /> <br /> These launches are just a few of the more than <a href="//www.google.com/events/io/2011/announcements-archive.html">30 announcements</a> we made over the two days, including the launch of <a href="http://googleenterprise.blogspot.com/2011/05/google-app-engine-new-version-and.html">Google App Engine 1.5</a>, a updated <a href="http://googleenterprise.blogspot.com/2011/05/build-smarter-apps-with-improved-google.html">Google Prediction API</a>, new additions to the <a href="http://googleresearch.blogspot.com/2011/05/make-beautiful-interactive-maps-even.html">Fusion Tables API</a> and many more. For more information about these and the other news coming out of the event, visit the <a href="http://googlecode.blogspot.com/search/label/Google%20I%2FO">Google I/O label</a> on the Google Code Blog.<br /> <br /> Additionally, in case you missed any of these announcements, HD recordings of the <a href="//www.google.com/events/io/2011/sessions.html">sessions</a> are now available online.<br /> <br /> Find the highlights from this year’s event at <a href="//www.google.com/io">www.google.com/io</a>, where we’ll feature photos, announcements and the latest videos. Also stay tuned for a feature on “Backstage at Google I/O” where we’ll highlight the developers and artists who helped to make the event possible this year.<br /> <br /> Google I/O kicked off the year as our biggest developer event—but we’re only getting started. As of today, we’re announcing locations for our eight <a href="//www.google.com/events/developerday/2010/">Google Developer Days</a> (GDDs), which will take place all over the world with more than a few <a href="http://code.google.com/events/devfests/2010/index.html">DevFests</a> in between. Stay tuned for more info on the 2011 event details, but we’ll look forward to seeing you in Brazil, Argentina, Prague, Moscow, Tokyo, Sydney, Israel and Germany for our Google Developer team world tour.<br /> <br /> <span class="byline-author">Posted by Vic Gundotra, Senior Vice President of Engineering</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2011/05/keynote-and-session-videos-from-google.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Keynote and session videos from Google I/O now live&url=https://googleblog.blogspot.com/2011/05/keynote-and-session-videos-from-google.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2011/05/keynote-and-session-videos-from-google.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2011/05/keynote-and-session-videos-from-google.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> </span> </div> </div> </div> <div class='post' data-id='2261800889545574814' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2011/05/3d-dreams-in-modern-browser.html' itemprop='url' title='3D dreams in the modern browser'> 3D dreams in the modern browser </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> May 13, 2011 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> Some of the most compelling experiences on the web come when inspirations of old are brought to life with modern technologies. Last August, “<a href="http://www.thewildernessdowntown.com/">The Wilderness Downtown</a>” brought the wistful feeling of nostalgia to the browser as you run down the streets where you used to live in an <a href="http://www.20thingsilearned.com/html5/1">HTML5</a> music experience based on the Arcade Fire song “We Used to Wait.” <br /> <br /> “<a href="http://www.ro.me/">3 Dreams of Black</a>” is our newest music experience for the web browser, written and directed by Chris Milk and developed with a few folks here at Google. The song, “Black,” comes off the album ROME, presented by <a href="http://en.wikipedia.org/wiki/Danger_Mouse">Danger Mouse</a> & <a href="http://www.danieleluppi.com/">Daniele Luppi</a>, featuring <a href="http://thirdmanrecords.com/">Jack White</a> and <a href="http://www.norahjones.com/index.php">Norah Jones</a> on vocals and soon to be released on the record label Parlophone/EMI. ROME is inspired by Italian soundtracks from the 1960s and the classic <a href="http://en.wikipedia.org/wiki/Spaghetti_Western">Italian Western</a> genre. In fact, the album was recorded with the original orchestra from Italian director Sergio Leone’s westerns (remember <a href="http://en.wikipedia.org/wiki/The_Good,_the_Bad_and_the_Ugly"><i>The Good, The Bad & The Ugly</i></a>?).<br /> <br /> “3 Dreams of Black” is a visual voyage through three dream worlds, told through rich 2D drawings and animations that are interspersed with interactive 3D sequences. At various points in this web experience, you can take control with your computer’s mouse and guide your journey through the unfolding narrative. You can even contribute to the dream by creating your own relics using a 3D model creator. Some of the best user creations will be integrated into the experience and become a part of others’ “3 Dreams” exploration. <br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZenhTXIYc284OppJEraviilNKWM6B7JTiby8wZaUsRmEkEVzOXad67fSzFvF2z_-G7bTIN3lwuGuOhbPv2ZO0avdNW5yQ-L3JEJnd66MikWL3G1Jnp0VCbUQl5QCqU182-SFy/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZenhTXIYc284OppJEraviilNKWM6B7JTiby8wZaUsRmEkEVzOXad67fSzFvF2z_-G7bTIN3lwuGuOhbPv2ZO0avdNW5yQ-L3JEJnd66MikWL3G1Jnp0VCbUQl5QCqU182-SFy/" width="500" /></a></div><br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCTrE6pCm8CFEMbJTtriPpStwWAw-HIQ4bw7oMWgeTeNxol9517u4AgdTuMiFlDLgEVBRIL0kVJ23Djp8GGKth51WlPa83SrnwisZlXFf1kvCkl_twzC_L3-X80C75Ll-P7G16/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCTrE6pCm8CFEMbJTtriPpStwWAw-HIQ4bw7oMWgeTeNxol9517u4AgdTuMiFlDLgEVBRIL0kVJ23Djp8GGKth51WlPa83SrnwisZlXFf1kvCkl_twzC_L3-X80C75Ll-P7G16/" width="500" /></a></div><br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSZcy0OfkZxKXgicAtIHpqtJOS4Z8To1Kf6E7Jm-iEkDB_xyjhVH1AChqk9wyVS1fOtV95lZxG7Z3QzRm6Pju6P7bsns5NIT5-wFFPE5xRumIx8U0gIwGvAIebrFFmXGH1Q7wK/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSZcy0OfkZxKXgicAtIHpqtJOS4Z8To1Kf6E7Jm-iEkDB_xyjhVH1AChqk9wyVS1fOtV95lZxG7Z3QzRm6Pju6P7bsns5NIT5-wFFPE5xRumIx8U0gIwGvAIebrFFmXGH1Q7wK/" width="500" /></a></div><br /> In “3 Dreams in Black”, the browser is transformed into a theater for these lucid virtual dreams through <a href="http://en.wikipedia.org/wiki/WebGL">WebGL</a>, a new technology which brings <a href="http://www.20thingsilearned.com/threed/1">hardware-accelerated 3D graphics</a> to the browser. With WebGL in modern browsers like <a href="//www.google.com/chrome">Google Chrome</a>, you can interact with 3D experiences with no need for additional software. For curious web developers out there, we’ve made all the code completely open and available so that you can dig in, have a look around and <a href="http://www.ro.me/tech">try it out for yourself</a>.<br /> <br /> Because “<a href="http://www.ro.me/">3 Dreams in Black</a>” is an experiment built with the latest web technologies, it requires a browser that supports WebGL like Chrome, and Windows Vista / Mac OS X 10.6 or above to help ensure that your computer has up-to-date graphics drivers. For those of you who may have hardware constraints, we’ve put together a <a href="//youtu.be/ReH7zzj5GPc">short video</a> that we hope will provide a glimpse into this unique experience. To explore these dreamscapes, visit <a href="http://www.ro.me/">www.ro.me</a>.<br /> <br /> <br /> <span class="byline-author">Posted by Aaron Koblin, Google Data Arts Team</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> Some of the most compelling experiences on the web come when inspirations of old are brought to life with modern technologies. Last August, “<a href="http://www.thewildernessdowntown.com/">The Wilderness Downtown</a>” brought the wistful feeling of nostalgia to the browser as you run down the streets where you used to live in an <a href="http://www.20thingsilearned.com/html5/1">HTML5</a> music experience based on the Arcade Fire song “We Used to Wait.” <br /> <br /> “<a href="http://www.ro.me/">3 Dreams of Black</a>” is our newest music experience for the web browser, written and directed by Chris Milk and developed with a few folks here at Google. The song, “Black,” comes off the album ROME, presented by <a href="http://en.wikipedia.org/wiki/Danger_Mouse">Danger Mouse</a> & <a href="http://www.danieleluppi.com/">Daniele Luppi</a>, featuring <a href="http://thirdmanrecords.com/">Jack White</a> and <a href="http://www.norahjones.com/index.php">Norah Jones</a> on vocals and soon to be released on the record label Parlophone/EMI. ROME is inspired by Italian soundtracks from the 1960s and the classic <a href="http://en.wikipedia.org/wiki/Spaghetti_Western">Italian Western</a> genre. In fact, the album was recorded with the original orchestra from Italian director Sergio Leone’s westerns (remember <a href="http://en.wikipedia.org/wiki/The_Good,_the_Bad_and_the_Ugly"><i>The Good, The Bad & The Ugly</i></a>?).<br /> <br /> “3 Dreams of Black” is a visual voyage through three dream worlds, told through rich 2D drawings and animations that are interspersed with interactive 3D sequences. At various points in this web experience, you can take control with your computer’s mouse and guide your journey through the unfolding narrative. You can even contribute to the dream by creating your own relics using a 3D model creator. Some of the best user creations will be integrated into the experience and become a part of others’ “3 Dreams” exploration. <br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZenhTXIYc284OppJEraviilNKWM6B7JTiby8wZaUsRmEkEVzOXad67fSzFvF2z_-G7bTIN3lwuGuOhbPv2ZO0avdNW5yQ-L3JEJnd66MikWL3G1Jnp0VCbUQl5QCqU182-SFy/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZenhTXIYc284OppJEraviilNKWM6B7JTiby8wZaUsRmEkEVzOXad67fSzFvF2z_-G7bTIN3lwuGuOhbPv2ZO0avdNW5yQ-L3JEJnd66MikWL3G1Jnp0VCbUQl5QCqU182-SFy/" width="500" /></a></div><br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCTrE6pCm8CFEMbJTtriPpStwWAw-HIQ4bw7oMWgeTeNxol9517u4AgdTuMiFlDLgEVBRIL0kVJ23Djp8GGKth51WlPa83SrnwisZlXFf1kvCkl_twzC_L3-X80C75Ll-P7G16/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCTrE6pCm8CFEMbJTtriPpStwWAw-HIQ4bw7oMWgeTeNxol9517u4AgdTuMiFlDLgEVBRIL0kVJ23Djp8GGKth51WlPa83SrnwisZlXFf1kvCkl_twzC_L3-X80C75Ll-P7G16/" width="500" /></a></div><br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSZcy0OfkZxKXgicAtIHpqtJOS4Z8To1Kf6E7Jm-iEkDB_xyjhVH1AChqk9wyVS1fOtV95lZxG7Z3QzRm6Pju6P7bsns5NIT5-wFFPE5xRumIx8U0gIwGvAIebrFFmXGH1Q7wK/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSZcy0OfkZxKXgicAtIHpqtJOS4Z8To1Kf6E7Jm-iEkDB_xyjhVH1AChqk9wyVS1fOtV95lZxG7Z3QzRm6Pju6P7bsns5NIT5-wFFPE5xRumIx8U0gIwGvAIebrFFmXGH1Q7wK/" width="500" /></a></div><br /> In “3 Dreams in Black”, the browser is transformed into a theater for these lucid virtual dreams through <a href="http://en.wikipedia.org/wiki/WebGL">WebGL</a>, a new technology which brings <a href="http://www.20thingsilearned.com/threed/1">hardware-accelerated 3D graphics</a> to the browser. With WebGL in modern browsers like <a href="//www.google.com/chrome">Google Chrome</a>, you can interact with 3D experiences with no need for additional software. For curious web developers out there, we’ve made all the code completely open and available so that you can dig in, have a look around and <a href="http://www.ro.me/tech">try it out for yourself</a>.<br /> <br /> Because “<a href="http://www.ro.me/">3 Dreams in Black</a>” is an experiment built with the latest web technologies, it requires a browser that supports WebGL like Chrome, and Windows Vista / Mac OS X 10.6 or above to help ensure that your computer has up-to-date graphics drivers. For those of you who may have hardware constraints, we’ve put together a <a href="//youtu.be/ReH7zzj5GPc">short video</a> that we hope will provide a glimpse into this unique experience. To explore these dreamscapes, visit <a href="http://www.ro.me/">www.ro.me</a>.<br /> <br /> <br /> <span class="byline-author">Posted by Aaron Koblin, Google Data Arts Team</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2011/05/3d-dreams-in-modern-browser.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:3D dreams in the modern browser&url=https://googleblog.blogspot.com/2011/05/3d-dreams-in-modern-browser.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2011/05/3d-dreams-in-modern-browser.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2011/05/3d-dreams-in-modern-browser.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/chrome' rel='tag'> chrome </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> </span> </div> </div> </div> <div class='post' data-id='5434655359012947162' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2011/05/android-momentum-mobile-and-more-at.html' itemprop='url' title='Android: momentum, mobile and more at Google I/O'> Android: momentum, mobile and more at Google I/O </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> May 10, 2011 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <i>(Cross-posted on the <a href="http://googlecode.blogspot.com/2011/05/android-momentum-mobile-and-more-at.html">Google Code Blog</a>)</i><br /> <br /> This morning at <a href="//www.google.com/io">Google I/O</a>, the Android team shared some updates. It’s hard to believe a little more than two and a half years ago, we were just one device, launching in one country, on one carrier. Thanks to the ecosystem of manufacturers, developers and carriers, the platform has grown exponentially. There are now:<br /> <ul><li>100 million activated Android devices</li> <li>400,000 new Android devices activated every day</li> <li>200,000 free and paid applications available in Android Market</li> <li>4.5 billion applications installed from Android Market</li> </ul><b>Mobile—one OS everywhere</b><br /> Over the past two and a half years, we’ve shipped eight releases of Android and there are now more than 310 Android devices around the world, of all shapes and sizes. This morning we talked about our next version of Android, Ice Cream Sandwich. Our goal with Ice Cream Sandwich is to deliver one operating system that works everywhere, regardless of device. Ice Cream Sandwich will bring everything you love about <a href="http://googlemobile.blogspot.com/2011/02/introducing-android-market-website.html">Honeycomb</a> on your tablet to your phone, including the holographic user interface, more multitasking, the new launcher and richer widgets.<br /> <br /> We also launched <a href="http://music.google.com/about">Music Beta by Google</a>, a new service that lets you upload your personal music collection to the cloud for streaming to your computer and Android devices. With the new service, your music and playlists are automatically kept in sync, so if you create a new playlist on your phone, it’s instantly available on your computer or tablet. You can use a feature called Instant Mix to create a playlist of songs that go well together. You can even listen to music when you’re offline: we automatically store your most recently played music on your Android device and you can choose to make specific albums or playlists available when you’re not connected. The service is launching in beta today to U.S. users and is available by invitation. <br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/ZrNhKcxBbZo" width="560"></iframe><br /> <br /> We’ve also added Movies for rent to <a href="http://market.android.com/">Android Market</a>. You can choose to rent from thousands of movies starting at $1.99 and have them available across your Android devices—rent a movie on your home computer, and it’ll be available for viewing on your tablet or phone. You can rent from Android Market on the web today, and we’ll be rolling out an update to Verizon XOOM customers beginning today. We’ll start rolling out the update to Android 2.2 and above devices in the coming weeks.<br /> <br /> The Android ecosystem has been moving really fast over the last two and a half years and rapid iteration on new and highly-requested features has been a driving force behind Android’s success. But of course that innovation only matters if it reaches consumers. So today we’re announcing that a founding team of industry leaders, including many from the Open Handset Alliance, are working together to adopt guidelines for how quickly devices are updated after a new platform release, and also for how long they will continue to be updated. The founding partners are Verizon, HTC, Samsung, Sprint, Sony Ericsson, LG, T-Mobile, Vodafone, Motorola and AT&T, and we welcome others to join us. To start, we're jointly announcing that new devices from participating partners will receive the latest Android platform upgrades for 18 months after the device is first released, as long as the hardware allows...and that's just the beginning. Stay tuned for more details.<br /> <br /> <b>More—extending the platform beyond mobile</b><br /> From the beginning, Android was designed to extend beyond the mobile phone. With that in mind, we’ve developed Android Open Accessory to help developers start building new hardware accessories that will work across all Android devices. We previewed an initiative called Android@Home, which allows Android apps to discover, connect and communicate with appliances and devices in your home. We also showed a preview of Project Tungsten, an Android device for Music Beta to give you more control over music playback within the Android@Home network.<br /> <br /> You can watch the entire Android keynote from Google I/O on our <a href="//www.youtube.com/user/GoogleDevelopers">Google Developer YouTube Channel</a> shortly. On behalf of the team, we want to thank the entire Android community of developers, OEMs and carriers who are pushing the platform into new areas and building great experiences for consumers. Without you, the Android platform wouldn’t have grown so large in the past two and a half years. We look forward to seeing where you take it next.<br /> <br /> <i><b>Update</b> May 11</i>: The video from the keynote is now available: <br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/OxzucwjFEEs" width="560"></iframe><br /> <br /> <span class="byline-author">Posted by Hugo Barra, Product Management Director, Android</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <i>(Cross-posted on the <a href="http://googlecode.blogspot.com/2011/05/android-momentum-mobile-and-more-at.html">Google Code Blog</a>)</i><br /> <br /> This morning at <a href="//www.google.com/io">Google I/O</a>, the Android team shared some updates. It’s hard to believe a little more than two and a half years ago, we were just one device, launching in one country, on one carrier. Thanks to the ecosystem of manufacturers, developers and carriers, the platform has grown exponentially. There are now:<br /> <ul><li>100 million activated Android devices</li> <li>400,000 new Android devices activated every day</li> <li>200,000 free and paid applications available in Android Market</li> <li>4.5 billion applications installed from Android Market</li> </ul><b>Mobile—one OS everywhere</b><br /> Over the past two and a half years, we’ve shipped eight releases of Android and there are now more than 310 Android devices around the world, of all shapes and sizes. This morning we talked about our next version of Android, Ice Cream Sandwich. Our goal with Ice Cream Sandwich is to deliver one operating system that works everywhere, regardless of device. Ice Cream Sandwich will bring everything you love about <a href="http://googlemobile.blogspot.com/2011/02/introducing-android-market-website.html">Honeycomb</a> on your tablet to your phone, including the holographic user interface, more multitasking, the new launcher and richer widgets.<br /> <br /> We also launched <a href="http://music.google.com/about">Music Beta by Google</a>, a new service that lets you upload your personal music collection to the cloud for streaming to your computer and Android devices. With the new service, your music and playlists are automatically kept in sync, so if you create a new playlist on your phone, it’s instantly available on your computer or tablet. You can use a feature called Instant Mix to create a playlist of songs that go well together. You can even listen to music when you’re offline: we automatically store your most recently played music on your Android device and you can choose to make specific albums or playlists available when you’re not connected. The service is launching in beta today to U.S. users and is available by invitation. <br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/ZrNhKcxBbZo" width="560"></iframe><br /> <br /> We’ve also added Movies for rent to <a href="http://market.android.com/">Android Market</a>. You can choose to rent from thousands of movies starting at $1.99 and have them available across your Android devices—rent a movie on your home computer, and it’ll be available for viewing on your tablet or phone. You can rent from Android Market on the web today, and we’ll be rolling out an update to Verizon XOOM customers beginning today. We’ll start rolling out the update to Android 2.2 and above devices in the coming weeks.<br /> <br /> The Android ecosystem has been moving really fast over the last two and a half years and rapid iteration on new and highly-requested features has been a driving force behind Android’s success. But of course that innovation only matters if it reaches consumers. So today we’re announcing that a founding team of industry leaders, including many from the Open Handset Alliance, are working together to adopt guidelines for how quickly devices are updated after a new platform release, and also for how long they will continue to be updated. The founding partners are Verizon, HTC, Samsung, Sprint, Sony Ericsson, LG, T-Mobile, Vodafone, Motorola and AT&T, and we welcome others to join us. To start, we're jointly announcing that new devices from participating partners will receive the latest Android platform upgrades for 18 months after the device is first released, as long as the hardware allows...and that's just the beginning. Stay tuned for more details.<br /> <br /> <b>More—extending the platform beyond mobile</b><br /> From the beginning, Android was designed to extend beyond the mobile phone. With that in mind, we’ve developed Android Open Accessory to help developers start building new hardware accessories that will work across all Android devices. We previewed an initiative called Android@Home, which allows Android apps to discover, connect and communicate with appliances and devices in your home. We also showed a preview of Project Tungsten, an Android device for Music Beta to give you more control over music playback within the Android@Home network.<br /> <br /> You can watch the entire Android keynote from Google I/O on our <a href="//www.youtube.com/user/GoogleDevelopers">Google Developer YouTube Channel</a> shortly. On behalf of the team, we want to thank the entire Android community of developers, OEMs and carriers who are pushing the platform into new areas and building great experiences for consumers. Without you, the Android platform wouldn’t have grown so large in the past two and a half years. We look forward to seeing where you take it next.<br /> <br /> <i><b>Update</b> May 11</i>: The video from the keynote is now available: <br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/OxzucwjFEEs" width="560"></iframe><br /> <br /> <span class="byline-author">Posted by Hugo Barra, Product Management Director, Android</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2011/05/android-momentum-mobile-and-more-at.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Android: momentum, mobile and more at Google I/O&url=https://googleblog.blogspot.com/2011/05/android-momentum-mobile-and-more-at.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2011/05/android-momentum-mobile-and-more-at.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2011/05/android-momentum-mobile-and-more-at.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/Android' rel='tag'> Android </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> , <a class='label' href='https://googleblog.blogspot.com/search/label/mobile' rel='tag'> mobile </a> </span> </div> </div> </div> <div class='post' data-id='1046342100450290947' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2011/05/google-io-countdown-to-keynote-kickoff.html' itemprop='url' title='Google I/O: countdown to the keynote kickoff'> Google I/O: countdown to the keynote kickoff </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> May 9, 2011 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <i>(Cross-posted on the <a href="http://googlecode.blogspot.com/2011/05/google-io-countdown-to-keynote-kickoff.html">Code Blog</a>)</i><br /> <br /> In less than 24 hours, we’ll be kicking off <a href="//www.google.com/events/io/2011/index.html">Google I/O 2011</a>, our annual developer conference here in San Francisco. With more than 5,000 participants from 60 countries, including <a href="//www.google.com/events/io/2011/sessions.html">110 sessions</a>, 261 speakers and <a href="//www.google.com/events/io/2011/sandbox.html">152 Sandbox partners</a>, this year’s I/O will be the biggest one yet.<br /> <br /> This year’s keynote presentations will highlight the biggest opportunities for developers and feature two of our most popular and important developer platforms: Android and Chrome. Google engineers from Andy Rubin and Sundar Pichai’s teams will unveil new features, preview upcoming updates, and provide new insights into the growing momentum behind these platforms. <br /> <br /> Plus, for the first time in Google I/O history, you’ll be able to join us throughout the two days at <a href="http://googleblog.blogspot.com/2011/04/bringing-google-io-direct-to-you-with.html">I/O Live</a>. We’ll live stream the two keynote presentations, two full days of Android and Chrome technical sessions, and the After Hours party. Recorded videos from all sessions across eight product tracks will be available within 24 hours after the conference. Whether you’ll be joining us in San Francisco or from the farthest corner of the world, bookmark <a href="//www.google.com/io">www.google.com/io</a> and check back on May 10 at 9:00 a.m. PDT for a fun treat as we count down to 00:00:00:00.<br /> <br /> <div style="margin-left: 1em; margin-right: 1em;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRLgkn8oUJ3Yx2ui1-JR0hH7tku0RTI7r5WCe6LDmS78mueOREGl7LZpYP0eYpx6uJ73Vk3sVWXRXOA4wkFzUxuGTBmgn97I6RAHUblEwZPkIVYBKM2VWaRm1c6zMyiYEtlzzR/s1600/andy_vic_sundar.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRLgkn8oUJ3Yx2ui1-JR0hH7tku0RTI7r5WCe6LDmS78mueOREGl7LZpYP0eYpx6uJ73Vk3sVWXRXOA4wkFzUxuGTBmgn97I6RAHUblEwZPkIVYBKM2VWaRm1c6zMyiYEtlzzR/" width="500" /></a></div><div style="text-align: center;"><i>From left to right: Andy Rubin, Vic Gundotra, Sundar Pichai</i></div><br /> If you’re attending the conference this year, we can’t wait to meet with you and share our vision for the future of web and mobile development. If you aren’t able to make it this year, you can continue to follow us on the <a href="http://googlecode.blogspot.com/search/label/Google%20I%2FO">Google Code Blog</a> and on Twitter (#io2011) over the next two days as we share photos, videos, news and recaps of the event. It’s going to be an exciting 48 hours!<br /> <br /> <span class="byline-author">Posted by Vic Gundotra, Senior Vice President of Engineering</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <i>(Cross-posted on the <a href="http://googlecode.blogspot.com/2011/05/google-io-countdown-to-keynote-kickoff.html">Code Blog</a>)</i><br /> <br /> In less than 24 hours, we’ll be kicking off <a href="//www.google.com/events/io/2011/index.html">Google I/O 2011</a>, our annual developer conference here in San Francisco. With more than 5,000 participants from 60 countries, including <a href="//www.google.com/events/io/2011/sessions.html">110 sessions</a>, 261 speakers and <a href="//www.google.com/events/io/2011/sandbox.html">152 Sandbox partners</a>, this year’s I/O will be the biggest one yet.<br /> <br /> This year’s keynote presentations will highlight the biggest opportunities for developers and feature two of our most popular and important developer platforms: Android and Chrome. Google engineers from Andy Rubin and Sundar Pichai’s teams will unveil new features, preview upcoming updates, and provide new insights into the growing momentum behind these platforms. <br /> <br /> Plus, for the first time in Google I/O history, you’ll be able to join us throughout the two days at <a href="http://googleblog.blogspot.com/2011/04/bringing-google-io-direct-to-you-with.html">I/O Live</a>. We’ll live stream the two keynote presentations, two full days of Android and Chrome technical sessions, and the After Hours party. Recorded videos from all sessions across eight product tracks will be available within 24 hours after the conference. Whether you’ll be joining us in San Francisco or from the farthest corner of the world, bookmark <a href="//www.google.com/io">www.google.com/io</a> and check back on May 10 at 9:00 a.m. PDT for a fun treat as we count down to 00:00:00:00.<br /> <br /> <div style="margin-left: 1em; margin-right: 1em;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRLgkn8oUJ3Yx2ui1-JR0hH7tku0RTI7r5WCe6LDmS78mueOREGl7LZpYP0eYpx6uJ73Vk3sVWXRXOA4wkFzUxuGTBmgn97I6RAHUblEwZPkIVYBKM2VWaRm1c6zMyiYEtlzzR/s1600/andy_vic_sundar.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRLgkn8oUJ3Yx2ui1-JR0hH7tku0RTI7r5WCe6LDmS78mueOREGl7LZpYP0eYpx6uJ73Vk3sVWXRXOA4wkFzUxuGTBmgn97I6RAHUblEwZPkIVYBKM2VWaRm1c6zMyiYEtlzzR/" width="500" /></a></div><div style="text-align: center;"><i>From left to right: Andy Rubin, Vic Gundotra, Sundar Pichai</i></div><br /> If you’re attending the conference this year, we can’t wait to meet with you and share our vision for the future of web and mobile development. If you aren’t able to make it this year, you can continue to follow us on the <a href="http://googlecode.blogspot.com/search/label/Google%20I%2FO">Google Code Blog</a> and on Twitter (#io2011) over the next two days as we share photos, videos, news and recaps of the event. It’s going to be an exciting 48 hours!<br /> <br /> <span class="byline-author">Posted by Vic Gundotra, Senior Vice President of Engineering</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2011/05/google-io-countdown-to-keynote-kickoff.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Google I/O: countdown to the keynote kickoff&url=https://googleblog.blogspot.com/2011/05/google-io-countdown-to-keynote-kickoff.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2011/05/google-io-countdown-to-keynote-kickoff.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2011/05/google-io-countdown-to-keynote-kickoff.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> </span> </div> </div> </div> <div class='post' data-id='8868332699895144739' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2011/04/happy-tax-day-now-where-did-your-tax.html' itemprop='url' title='Happy Tax Day! Now, where did your tax dollars go?'> Happy Tax Day! Now, where did your tax dollars go? </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> April 18, 2011 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> Like it or not, Americans have a date with the IRS today. In a few hours, our tax forms will have been sent in... yet most of us will still be left wondering, “How will the government spend our money?”<br /> <br /> In February, we <a href="http://googleblog.blogspot.com/2011/02/data-viz-challenge-can-you-make-tax.html">launched</a> the <a href="http://datavizchallenge.org/">Data Viz Challenge</a> to answer that very question. The challenge was a five-week competition that asked developers to visualize how our federal income tax dollars are spent. We received more than 40 thought-provoking entries that each take a unique approach to making this data more accessible to taxpayers.<br /> <br /> Take a look at the variety of visualizations in this short video:<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/N118ePe_uzk" title="YouTube video player" width="560"></iframe><br /> <br /> The entries ranged from quirky and fun to serious and academic. Some were as simple as a <a href="http://datavizchallenge.org/viz/78">receipt</a>, others showed us how many <a href="http://datavizchallenge.org/viz/88">minutes</a> or <a href="http://datavizchallenge.org/viz/73">days</a> we work to cover public spending. <a href="http://datavizchallenge.org/viz/72">One</a> even rendered the data as a cityscape and invited people to climb the towers virtually. <br /> <br /> In the end, our <a href="http://datavizchallenge.org/questions-and-answers#j2">jury</a> selected Anil Kandangath’s “<a href="http://datavizchallenge.org/viz/56">Where Did My Tax Dollars Go?</a>” as our Grand Prize winner. As the jury noted, his entry is information-rich but elegantly designed, and at no point while interacting with the visualization do you lose the “big picture.” Anil’s entry is a great example of how data visualization can take boring, complicated, but critically important information and make it accessible to everyone. Congratulations, Anil.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXhV1WbSI5RAxcB9a-UFrJVY0hxlE4Fi8lfIHdAQpeMlwtjebWEHPNoALVttcrkgJu7JZ0fnI7GjQnWvWSLpDBCUPHENQuvATLDUF6IwoH2iKuQqHwYH5iz7bu3CpzsYK1lQqs/s1600/1fe1Or_UWHRy5jWzag7RFcav_oG_kFyc.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXhV1WbSI5RAxcB9a-UFrJVY0hxlE4Fi8lfIHdAQpeMlwtjebWEHPNoALVttcrkgJu7JZ0fnI7GjQnWvWSLpDBCUPHENQuvATLDUF6IwoH2iKuQqHwYH5iz7bu3CpzsYK1lQqs/" width="500" /></a></div><div class="separator" style="clear: both; text-align: center;"></div><br /> Thank you to all of the entrants and our partners <a href="http://www.eyebeam.org/">Eyebeam</a> and <a href="http://whatwepayfor.com/">Whatwepayfor.com</a> for making this possible. We hope these submissions help you better understand where your tax dollars are spent—and even inject a little bit of fun into your tax day this year. Happy filing!<br /> <br /> <span class="byline-author">Posted by Jenny Ramaswamy, Google Creative Lab</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> Like it or not, Americans have a date with the IRS today. In a few hours, our tax forms will have been sent in... yet most of us will still be left wondering, “How will the government spend our money?”<br /> <br /> In February, we <a href="http://googleblog.blogspot.com/2011/02/data-viz-challenge-can-you-make-tax.html">launched</a> the <a href="http://datavizchallenge.org/">Data Viz Challenge</a> to answer that very question. The challenge was a five-week competition that asked developers to visualize how our federal income tax dollars are spent. We received more than 40 thought-provoking entries that each take a unique approach to making this data more accessible to taxpayers.<br /> <br /> Take a look at the variety of visualizations in this short video:<br /> <br /> <iframe allowfullscreen="" frameborder="0" height="349" src="//www.youtube.com/embed/N118ePe_uzk" title="YouTube video player" width="560"></iframe><br /> <br /> The entries ranged from quirky and fun to serious and academic. Some were as simple as a <a href="http://datavizchallenge.org/viz/78">receipt</a>, others showed us how many <a href="http://datavizchallenge.org/viz/88">minutes</a> or <a href="http://datavizchallenge.org/viz/73">days</a> we work to cover public spending. <a href="http://datavizchallenge.org/viz/72">One</a> even rendered the data as a cityscape and invited people to climb the towers virtually. <br /> <br /> In the end, our <a href="http://datavizchallenge.org/questions-and-answers#j2">jury</a> selected Anil Kandangath’s “<a href="http://datavizchallenge.org/viz/56">Where Did My Tax Dollars Go?</a>” as our Grand Prize winner. As the jury noted, his entry is information-rich but elegantly designed, and at no point while interacting with the visualization do you lose the “big picture.” Anil’s entry is a great example of how data visualization can take boring, complicated, but critically important information and make it accessible to everyone. Congratulations, Anil.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXhV1WbSI5RAxcB9a-UFrJVY0hxlE4Fi8lfIHdAQpeMlwtjebWEHPNoALVttcrkgJu7JZ0fnI7GjQnWvWSLpDBCUPHENQuvATLDUF6IwoH2iKuQqHwYH5iz7bu3CpzsYK1lQqs/s1600/1fe1Or_UWHRy5jWzag7RFcav_oG_kFyc.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXhV1WbSI5RAxcB9a-UFrJVY0hxlE4Fi8lfIHdAQpeMlwtjebWEHPNoALVttcrkgJu7JZ0fnI7GjQnWvWSLpDBCUPHENQuvATLDUF6IwoH2iKuQqHwYH5iz7bu3CpzsYK1lQqs/" width="500" /></a></div><div class="separator" style="clear: both; text-align: center;"></div><br /> Thank you to all of the entrants and our partners <a href="http://www.eyebeam.org/">Eyebeam</a> and <a href="http://whatwepayfor.com/">Whatwepayfor.com</a> for making this possible. We hope these submissions help you better understand where your tax dollars are spent—and even inject a little bit of fun into your tax day this year. Happy filing!<br /> <br /> <span class="byline-author">Posted by Jenny Ramaswamy, Google Creative Lab</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2011/04/happy-tax-day-now-where-did-your-tax.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Happy Tax Day! Now, where did your tax dollars go?&url=https://googleblog.blogspot.com/2011/04/happy-tax-day-now-where-did-your-tax.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2011/04/happy-tax-day-now-where-did-your-tax.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2011/04/happy-tax-day-now-where-did-your-tax.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> </span> </div> </div> </div> <div class='post' data-id='974299188537656445' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2011/04/bringing-google-io-direct-to-you-with.html' itemprop='url' title='Bringing Google I/O direct to you with I/O Live'> Bringing Google I/O direct to you with I/O Live </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> April 7, 2011 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <i>(Cross-posted from the <a href="http://googlecode.blogspot.com/2011/04/bringing-google-io-direct-to-you-with.html">Google Code Blog</a>)</i><br /><a href="//www.google.com/events/io/2011/iolive.html" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><a href="//www.google.com/events/io/2011/iolive.html" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhEENWn0pV3eCHxjO8GwHP18llNK2AjZQ8uXlnNzFIJTP3tXwGc7sTTJFvR_4CFCS-iuR2Pe-cIpz391tilNRMXhjA4EqPrShU51C35bEx5msFIzg2day1GW0BtjDSBuHhZNmH/s1600/io+live.jpg" /></a><span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none; color: black;"></span><br />After Google I/O sold out in <a href="http://twitter.com/#!/vicgundotra/status/34680121109516288">59 minutes</a>, we gave ourselves a challenge: bring I/O 2011 to as many developers as we could, even those that didn't have tickets to Moscone Center. So for those of you not joining us in San Francisco or at one of our <a href="http://googlecode.blogspot.com/2011/03/google-io-extends-virtually-around.html">I/O Extended</a> viewing parties, visit <a href="//www.google.com/io">www.google.com/io</a> on May 10-11 from the comforts of your own home, office or anywhere you have a reliable Internet connection for <a href="//www.google.com/events/io/2011/iolive.html">I/O Live</a>.<br /><br />I/O Live will bring all of the excitement at Moscone Center to our online website, where the keynotes, sessions and Developer Sandbox will come to life for audiences all over the world. Starting on May 10, the Google I/O homepage will become the I/O Live dashboard, where you can:<br /><ul><li><b>Watch livestream video feeds from our two largest session rooms from 9:00 a.m PST to 6:00 p.m. PST during both days of the conference.</b> This will include streaming of the keynotes, as in years past, as well as—new for 2011—the addition of sessions from Android and Chrome. We’ll also aim to post HD video recordings from sessions that are not livestreamed within 24 hours.</li><li><b>Read captions from the livestreamed sessions in real-time.</b> Plus, to make sure all our content is accessible, all remaining videos will also be captioned. For international developers, captions will be machine translated to all languages that are supported by <a href="http://translate.google.com/#">Google Translate</a>.</li><li><b>Be one of the first to know by getting your news direct from the source.</b> The latest announcements and news will be added to our I/O Live dashboard in real-time.</li><li><b>Submit your questions to our Sandbox developers.</b> We'll post answers for the questions with the most votes.</li></ul>In the coming weeks, we’ll update our <a href="//www.google.com/events/io/2011/sessions.html">Sessions</a> and Sandbox pages with all the relevant information you’ll need to participate in I/O Live. In the meantime, visit our temporary <a href="//www.google.com/events/io/2011/iolive.html">I/O Live</a> page, where you can get our new HTML5 badge to display on your website and let us know that you’ll be watching on May 10 and 11.<br /><br />This year is slated to be our largest Google I/O event to date. So whether you’re joining us in San Francisco, from an <a href="https://sites.google.com/site/2011ioextended/">I/O Extended</a> event, or even the comforts of your own Shangri-la, we’re looking forward to seeing you at 9 a.m. PDT on May 10 as we count down to 00:00:00:00 and I/O Live.<br /><br /><span class="byline-author">Posted by Monica Tran, Google I/O Team</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <i>(Cross-posted from the <a href="http://googlecode.blogspot.com/2011/04/bringing-google-io-direct-to-you-with.html">Google Code Blog</a>)</i><br /><a href="//www.google.com/events/io/2011/iolive.html" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><a href="//www.google.com/events/io/2011/iolive.html" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhEENWn0pV3eCHxjO8GwHP18llNK2AjZQ8uXlnNzFIJTP3tXwGc7sTTJFvR_4CFCS-iuR2Pe-cIpz391tilNRMXhjA4EqPrShU51C35bEx5msFIzg2day1GW0BtjDSBuHhZNmH/s1600/io+live.jpg" /></a><span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none; color: black;"></span><br />After Google I/O sold out in <a href="http://twitter.com/#!/vicgundotra/status/34680121109516288">59 minutes</a>, we gave ourselves a challenge: bring I/O 2011 to as many developers as we could, even those that didn't have tickets to Moscone Center. So for those of you not joining us in San Francisco or at one of our <a href="http://googlecode.blogspot.com/2011/03/google-io-extends-virtually-around.html">I/O Extended</a> viewing parties, visit <a href="//www.google.com/io">www.google.com/io</a> on May 10-11 from the comforts of your own home, office or anywhere you have a reliable Internet connection for <a href="//www.google.com/events/io/2011/iolive.html">I/O Live</a>.<br /><br />I/O Live will bring all of the excitement at Moscone Center to our online website, where the keynotes, sessions and Developer Sandbox will come to life for audiences all over the world. Starting on May 10, the Google I/O homepage will become the I/O Live dashboard, where you can:<br /><ul><li><b>Watch livestream video feeds from our two largest session rooms from 9:00 a.m PST to 6:00 p.m. PST during both days of the conference.</b> This will include streaming of the keynotes, as in years past, as well as—new for 2011—the addition of sessions from Android and Chrome. We’ll also aim to post HD video recordings from sessions that are not livestreamed within 24 hours.</li><li><b>Read captions from the livestreamed sessions in real-time.</b> Plus, to make sure all our content is accessible, all remaining videos will also be captioned. For international developers, captions will be machine translated to all languages that are supported by <a href="http://translate.google.com/#">Google Translate</a>.</li><li><b>Be one of the first to know by getting your news direct from the source.</b> The latest announcements and news will be added to our I/O Live dashboard in real-time.</li><li><b>Submit your questions to our Sandbox developers.</b> We'll post answers for the questions with the most votes.</li></ul>In the coming weeks, we’ll update our <a href="//www.google.com/events/io/2011/sessions.html">Sessions</a> and Sandbox pages with all the relevant information you’ll need to participate in I/O Live. In the meantime, visit our temporary <a href="//www.google.com/events/io/2011/iolive.html">I/O Live</a> page, where you can get our new HTML5 badge to display on your website and let us know that you’ll be watching on May 10 and 11.<br /><br />This year is slated to be our largest Google I/O event to date. So whether you’re joining us in San Francisco, from an <a href="https://sites.google.com/site/2011ioextended/">I/O Extended</a> event, or even the comforts of your own Shangri-la, we’re looking forward to seeing you at 9 a.m. PDT on May 10 as we count down to 00:00:00:00 and I/O Live.<br /><br /><span class="byline-author">Posted by Monica Tran, Google I/O Team</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2011/04/bringing-google-io-direct-to-you-with.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Bringing Google I/O direct to you with I/O Live&url=https://googleblog.blogspot.com/2011/04/bringing-google-io-direct-to-you-with.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2011/04/bringing-google-io-direct-to-you-with.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2011/04/bringing-google-io-direct-to-you-with.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> </span> </div> </div> </div> <div class='post' data-id='2619600517085605593' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2011/04/ladies-and-gentlemen-start-your-editors.html' itemprop='url' title='Ladies and gentlemen, start your editors! Registration now open for Google Code Jam 2011'> Ladies and gentlemen, start your editors! Registration now open for Google Code Jam 2011 </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> April 6, 2011 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> Imagine you’re a ninja, trying to master your deadly grappling hook. Or perhaps you’re a chess grand master, outsmarting your opponent’s every move. Or even a Taoist philosopher, explaining the deep truths of the world to your followers.<br /> <br /> It’s situations like these that you’ll face in Google Code Jam, our annual coding contest in which some of the best coders from around the world write programs to solve tough algorithmic problems. We believe that one of the best ways to sharpen your coding skills and stretch them creatively is through healthy competition. The intense experience of confronting a problem, conveying your solution to your computer and seeing the results emerge is a thrill unlike any other.<br /> <br /> Today we’re opening registration for <a href="http://code.google.com/codejam">Google Code Jam 2011</a>. Coding will begin on May 6 with our qualification round, where competitors will have as much as a day to plan their approach to our first few problems. From there, the contest heats up quickly: the remaining contestants will engage in several two-and-a-half hour rounds, wrangling each time with three to four algorithmic problems that range in difficulty from simple to fiendish. For each problem, you’ll wield the programming language of your choice, crafting the perfect algorithm to pit against the gauntlet of our test data. Construct your code flawlessly and you’ll be on to the next problem; solve enough problems, and you’ll make your way to the next round. If you continue to succeed, you might find yourself sitting on a flight to the finals.<br /> <br /> The challenge begins in <a href="http://code.google.com/codejam/schedule.html">just over a month</a>. If you’re a killer coder and you’re ready to compete, sign up on <a href="http://code.google.com/codejam/contest/registration?t=977485">our website</a>; while you’re there, make sure to check out the <a href="http://code.google.com/codejam/contests.html">puzzles</a> of the past few years to get a sense of what’s to come, and to hone your skills. If you’re one of the top 25 competitors, we’ll bring you to our Tokyo office to spar against your fellow coders. In the end, only one person will bring home the $10,000 top prize—and the title of Code Jam Champion.<br /> <br /> <span class="byline-author">Posted by Bartholomew Furrow, Software Engineer, Google Code Jam</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> Imagine you’re a ninja, trying to master your deadly grappling hook. Or perhaps you’re a chess grand master, outsmarting your opponent’s every move. Or even a Taoist philosopher, explaining the deep truths of the world to your followers.<br /> <br /> It’s situations like these that you’ll face in Google Code Jam, our annual coding contest in which some of the best coders from around the world write programs to solve tough algorithmic problems. We believe that one of the best ways to sharpen your coding skills and stretch them creatively is through healthy competition. The intense experience of confronting a problem, conveying your solution to your computer and seeing the results emerge is a thrill unlike any other.<br /> <br /> Today we’re opening registration for <a href="http://code.google.com/codejam">Google Code Jam 2011</a>. Coding will begin on May 6 with our qualification round, where competitors will have as much as a day to plan their approach to our first few problems. From there, the contest heats up quickly: the remaining contestants will engage in several two-and-a-half hour rounds, wrangling each time with three to four algorithmic problems that range in difficulty from simple to fiendish. For each problem, you’ll wield the programming language of your choice, crafting the perfect algorithm to pit against the gauntlet of our test data. Construct your code flawlessly and you’ll be on to the next problem; solve enough problems, and you’ll make your way to the next round. If you continue to succeed, you might find yourself sitting on a flight to the finals.<br /> <br /> The challenge begins in <a href="http://code.google.com/codejam/schedule.html">just over a month</a>. If you’re a killer coder and you’re ready to compete, sign up on <a href="http://code.google.com/codejam/contest/registration?t=977485">our website</a>; while you’re there, make sure to check out the <a href="http://code.google.com/codejam/contests.html">puzzles</a> of the past few years to get a sense of what’s to come, and to hone your skills. If you’re one of the top 25 competitors, we’ll bring you to our Tokyo office to spar against your fellow coders. In the end, only one person will bring home the $10,000 top prize—and the title of Code Jam Champion.<br /> <br /> <span class="byline-author">Posted by Bartholomew Furrow, Software Engineer, Google Code Jam</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2011/04/ladies-and-gentlemen-start-your-editors.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:Ladies and gentlemen, start your editors! Registration now open for Google Code Jam 2011&url=https://googleblog.blogspot.com/2011/04/ladies-and-gentlemen-start-your-editors.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2011/04/ladies-and-gentlemen-start-your-editors.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2011/04/ladies-and-gentlemen-start-your-editors.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> </span> </div> </div> </div> <div class='post' data-id='7277822754032669127' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://googleblog.blogspot.com/2011/02/data-viz-challenge-can-you-make-tax.html' itemprop='url' title='The Data Viz Challenge: can you make tax data exciting?'> The Data Viz Challenge: can you make tax data exciting? </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> February 22, 2011 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div><i>(Cross-posted on the <a href="http://googlecode.blogspot.com/2011/02/data-viz-challenge-can-you-make-tax.html">Code Blog</a>)</i></div><div><br /></div>This time of year, everyone in the United States is starting to fill out—with varying levels of enthusiasm—our federal income tax forms. Yet, after we write our checks to the IRS, most of us don’t really know exactly where our money is going.<br /><br />Fortunately, there’s a new online tool to help us find out. Last year, Andrew Johnson and Louis Garcia, two developers from Minneapolis, Minn., created a website called <a href="http://whatwepayfor.com/">whatwepayfor.com</a> that uses public data to estimate how our tax money is spent. You enter your income and filing status on the site, and it creates a formatted table of numbers showing your contributions to the federal budget—down to the penny:<br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMYlYCbhz25C2A7U99r7UfahCuofAFkW60ldkaHNWaXhPsa0TMciUEmJ74_rhvnJ3hW6HTDyq3yTxbk1Wpz3OaKhuyhGgDr5j2aT2U0Jr2qLQMyhGcCfVHA1ndfRK3tBx0PznO/s1600/what+we+pay+for.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5576563624486152530" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMYlYCbhz25C2A7U99r7UfahCuofAFkW60ldkaHNWaXhPsa0TMciUEmJ74_rhvnJ3hW6HTDyq3yTxbk1Wpz3OaKhuyhGgDr5j2aT2U0Jr2qLQMyhGcCfVHA1ndfRK3tBx0PznO/" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 500px;" /></a><br />We’re impressed by what the website uncovers. In 2010, for example, a married couple making $40,000 a year contributed approximately $14.07 to space operations, $6.83 to aviation security and $0.91 to the Peace Corps…and those are just a few of the hundreds of expenditures revealed on the site. As we spent time exploring all of these details, it got us thinking: how we could make the information even more accessible? So we created a simple interactive data visualization:<br /><br /><a href="http://datavizchallenge.org/examples"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5576563631183802130" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK8qLphFBpbn2qUeu3i7obwbdxn6N0laEK5ikfP3r0cOaCNNbRN1A_n7zOfNiwnF2q80tkfuQQsdcUMRD3nT7Rqjr6Yynh4rbRVjN4tq0hORVAJfr16kBHTWurloubKLb5zOP7/" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 500px;" /></a><br />Click the image above to try the interactive version—it lets you drag the bubbles around, change the income level and so on. You can now look at the data in a new way, and it’s a little more fun to explore. Of course, there are lots of ways to visualize the data, and we’re very sure there are many talented designers and developers around the country who can do it even better than we have.<br /><br />To make that happen, we’ve teamed up with <a href="http://www.eyebeam.org/">Eyebeam</a>, a not-for-profit art and technology center, to host what we’re calling the <a href="http://datavizchallenge.org/">Data Viz Challenge</a>. Andrew and Louis have built an <a href="http://datavizchallenge.org/using-api">API</a> to let anyone access the data, so now you can choose how to display it. Could you create a better animated chart? Something in 3D? An interactive website? A physical display somewhere in the real world? We want you to show everyone how data visualization can be a powerful tool for turning information into understanding.<br /><br />You can enter the challenge at <a href="http://datavizchallenge.org/">datavizchallenge.org</a>, where you’ll also find more information about challenge and the data. The challenge starts today and ends March 27, 2011, and is open to the U.S. only. The top visualization, as chosen by a <a href="http://datavizchallenge.org/questions-and-answers#j2">jury</a>, will receive a $5,000 award and a shout-out on the site and this blog. We’ll announce the shortlist on the week of April 11, and the winners on April 18, a.k.a. Tax Day.<br /><br />If you’re a data viz enthusiast, we hope you’ll take a look at the data and build your own creative visualization. But even if you’re not, hopefully the results will help you appreciate what data visualization can do, and its usefulness in turning raw information—like federal income tax numbers—into something you can explore and understand.<br /><br /><span class="byline-author">Posted by Valdean Klump, Creative Lab</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div><i>(Cross-posted on the <a href="http://googlecode.blogspot.com/2011/02/data-viz-challenge-can-you-make-tax.html">Code Blog</a>)</i></div><div><br /></div>This time of year, everyone in the United States is starting to fill out—with varying levels of enthusiasm—our federal income tax forms. Yet, after we write our checks to the IRS, most of us don’t really know exactly where our money is going.<br /><br />Fortunately, there’s a new online tool to help us find out. Last year, Andrew Johnson and Louis Garcia, two developers from Minneapolis, Minn., created a website called <a href="http://whatwepayfor.com/">whatwepayfor.com</a> that uses public data to estimate how our tax money is spent. You enter your income and filing status on the site, and it creates a formatted table of numbers showing your contributions to the federal budget—down to the penny:<br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMYlYCbhz25C2A7U99r7UfahCuofAFkW60ldkaHNWaXhPsa0TMciUEmJ74_rhvnJ3hW6HTDyq3yTxbk1Wpz3OaKhuyhGgDr5j2aT2U0Jr2qLQMyhGcCfVHA1ndfRK3tBx0PznO/s1600/what+we+pay+for.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5576563624486152530" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMYlYCbhz25C2A7U99r7UfahCuofAFkW60ldkaHNWaXhPsa0TMciUEmJ74_rhvnJ3hW6HTDyq3yTxbk1Wpz3OaKhuyhGgDr5j2aT2U0Jr2qLQMyhGcCfVHA1ndfRK3tBx0PznO/" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 500px;" /></a><br />We’re impressed by what the website uncovers. In 2010, for example, a married couple making $40,000 a year contributed approximately $14.07 to space operations, $6.83 to aviation security and $0.91 to the Peace Corps…and those are just a few of the hundreds of expenditures revealed on the site. As we spent time exploring all of these details, it got us thinking: how we could make the information even more accessible? So we created a simple interactive data visualization:<br /><br /><a href="http://datavizchallenge.org/examples"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5576563631183802130" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK8qLphFBpbn2qUeu3i7obwbdxn6N0laEK5ikfP3r0cOaCNNbRN1A_n7zOfNiwnF2q80tkfuQQsdcUMRD3nT7Rqjr6Yynh4rbRVjN4tq0hORVAJfr16kBHTWurloubKLb5zOP7/" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 500px;" /></a><br />Click the image above to try the interactive version—it lets you drag the bubbles around, change the income level and so on. You can now look at the data in a new way, and it’s a little more fun to explore. Of course, there are lots of ways to visualize the data, and we’re very sure there are many talented designers and developers around the country who can do it even better than we have.<br /><br />To make that happen, we’ve teamed up with <a href="http://www.eyebeam.org/">Eyebeam</a>, a not-for-profit art and technology center, to host what we’re calling the <a href="http://datavizchallenge.org/">Data Viz Challenge</a>. Andrew and Louis have built an <a href="http://datavizchallenge.org/using-api">API</a> to let anyone access the data, so now you can choose how to display it. Could you create a better animated chart? Something in 3D? An interactive website? A physical display somewhere in the real world? We want you to show everyone how data visualization can be a powerful tool for turning information into understanding.<br /><br />You can enter the challenge at <a href="http://datavizchallenge.org/">datavizchallenge.org</a>, where you’ll also find more information about challenge and the data. The challenge starts today and ends March 27, 2011, and is open to the U.S. only. The top visualization, as chosen by a <a href="http://datavizchallenge.org/questions-and-answers#j2">jury</a>, will receive a $5,000 award and a shout-out on the site and this blog. We’ll announce the shortlist on the week of April 11, and the winners on April 18, a.k.a. Tax Day.<br /><br />If you’re a data viz enthusiast, we hope you’ll take a look at the data and build your own creative visualization. But even if you’re not, hopefully the results will help you appreciate what data visualization can do, and its usefulness in turning raw information—like federal income tax numbers—into something you can explore and understand.<br /><br /><span class="byline-author">Posted by Valdean Klump, Creative Lab</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://googleblog.blogspot.com/2011/02/data-viz-challenge-can-you-make-tax.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Blog:The Data Viz Challenge: can you make tax data exciting?&url=https://googleblog.blogspot.com/2011/02/data-viz-challenge-can-you-make-tax.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://googleblog.blogspot.com/2011/02/data-viz-challenge-can-you-make-tax.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://googleblog.blogspot.com/2011/02/data-viz-challenge-can-you-make-tax.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://googleblog.blogspot.com/search/label/developers' rel='tag'> developers </a> </span> </div> </div> </div> <div class='blog-pager' id='blog-pager'> <a class='home-link' href='https://googleblog.blogspot.com/'> <i class='material-icons'>  </i> </a> <i class='material-icons disabled'>  </i> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='https://googleblog.blogspot.com/search/label/developers?updated-max=2011-02-22T09:20:00-08:00&max-results=20&start=20&by-date=false' id='Blog1_blog-pager-older-link' title='Older Posts'> <i class='material-icons'>  </i> </a> </span> </div> <div class='clear'></div> </div></div> </div> </div> <div class='col-right'> <div class='section' id='sidebar-top'><div class='widget HTML' data-version='1' id='HTML8'> <div class='widget-content'> <div class='searchBox'><input type='text' title='Search This Blog' placeholder='Search blog ...' /></div> </div> <div class='clear'></div> </div></div> <div id='aside'> <div class='section' id='sidebar'><div class='widget Label' data-version='1' id='Label1'> <div class='tab'> <img class='sidebar-icon' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYpJREFUeNrs2aFuwzAQBmAvKRkMKRjZA4QMDJaWFgyMjuzFRg37DIUlA3uFkoGQSaWzJU+tpri5O9+l/zSfdFJlpe59yTmyVedq1PjfcZMZ70NuQnaF8w8htyE/rABtpviXkLcK88c5HhLkMBfgVan43zfFBNGMjHVGT/s55KP2pAvidbGHd+nzKt1RKSLG3rKF1iPFv6UWiPke8i7kEqGdGsI1O+LYVdqJAjgirwkKYD0ytkJBUNbAMvX8V3q9PhUsYvU1sWD8SO/sQvx2ahxOiNoJCSBCoAHYCEQAC4EKICOQASQEOmAS8RcAFxFN5hiIiugpgC3wk9hQAHH/70EBHXUN7IER5EWMiBgo2+nzOKQv9SCAeEM/OQAkhE/ncccFICB87qzQMia5FsJfOui0zMnmRvipU1ormHQuxGTxUsAcCFLxJQBLBLn4UoAFglW8BkATwS5eC6CBEBWvCShBiIvXBkgQRcVbADiI4uKtABSESvGWgB9EzHt3+tNwyO0qa9SoIYtvAQYAqDJhaWWeMecAAAAASUVORK5CYII='/> <h2> Labels </h2> <i class='material-icons arrow'>  </i> </div> <div class='widget-content list-label-widget-content'> <ul> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/accessibility'> accessibility </a> <span dir='ltr'> 41 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/acquisition'> acquisition </a> <span dir='ltr'> 26 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/ads'> ads </a> <span dir='ltr'> 131 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/Africa'> Africa </a> <span dir='ltr'> 19 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/Android'> Android </a> <span dir='ltr'> 58 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/apps'> apps </a> <span dir='ltr'> 419 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/April%201'> April 1 </a> <span dir='ltr'> 4 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/Asia'> Asia </a> <span dir='ltr'> 39 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/books%20%2B%20book%20search'> books + book search </a> <span dir='ltr'> 48 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/commerce'> commerce </a> <span dir='ltr'> 12 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/computing%20history'> computing history </a> <span dir='ltr'> 7 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/crisis%20response'> crisis response </a> <span dir='ltr'> 33 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/culture'> culture </a> <span dir='ltr'> 12 </span> </li> <li> <span dir='ltr'> developers </span> <span dir='ltr'> 120 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/diversity'> diversity </a> <span dir='ltr'> 35 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/doodles'> doodles </a> <span dir='ltr'> 68 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/education%20and%20research'> education and research </a> <span dir='ltr'> 144 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/entrepreneurs%20at%20Google'> entrepreneurs at Google </a> <span dir='ltr'> 14 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/Europe'> Europe </a> <span dir='ltr'> 46 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/faster%20web'> faster web </a> <span dir='ltr'> 16 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/free%20expression'> free expression </a> <span dir='ltr'> 61 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/google.org'> google.org </a> <span dir='ltr'> 73 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/googleplus'> googleplus </a> <span dir='ltr'> 50 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/googlers%20and%20culture'> googlers and culture </a> <span dir='ltr'> 202 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/green'> green </a> <span dir='ltr'> 102 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/Latin%20America'> Latin America </a> <span dir='ltr'> 18 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/maps%20and%20earth'> maps and earth </a> <span dir='ltr'> 194 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/mobile'> mobile </a> <span dir='ltr'> 124 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/online%20safety'> online safety </a> <span dir='ltr'> 19 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/open%20source'> open source </a> <span dir='ltr'> 19 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/photos'> photos </a> <span dir='ltr'> 39 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/policy%20and%20issues'> policy and issues </a> <span dir='ltr'> 139 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/politics'> politics </a> <span dir='ltr'> 71 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/privacy'> privacy </a> <span dir='ltr'> 66 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/recruiting%20and%20hiring'> recruiting and hiring </a> <span dir='ltr'> 32 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/scholarships'> scholarships </a> <span dir='ltr'> 31 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/search'> search </a> <span dir='ltr'> 505 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/search%20quality'> search quality </a> <span dir='ltr'> 24 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/search%20trends'> search trends </a> <span dir='ltr'> 118 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/security'> security </a> <span dir='ltr'> 36 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/small%20business'> small business </a> <span dir='ltr'> 31 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/user%20experience%20and%20usability'> user experience and usability </a> <span dir='ltr'> 41 </span> </li> <li> <a dir='ltr' href='https://googleblog.blogspot.com/search/label/youtube%20and%20video'> youtube and video </a> <span dir='ltr'> 140 </span> </li> </ul> <div class='clear'></div> </div> </div><div class='widget BlogArchive' data-version='1' id='BlogArchive1'> <div class='tab'> <i class='material-icons icon'>  </i> <h2> Archive </h2> <i class='material-icons arrow'>  </i> </div> <div class='widget-content'> <div id='ArchiveList'> <div id='BlogArchive1_ArchiveList'> <ul class='hierarchy'> <li class='archivedate expanded'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy toggle-open'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/'> 2016 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate expanded'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2016/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/'> 2015 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2015/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/'> 2014 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2014/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/'> 2013 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2013/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/'> 2012 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2012/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/'> 2011 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2011/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/'> 2010 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2010/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/'> 2009 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2009/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/'> 2008 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2008/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/'> 2007 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2007/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/'> 2006 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2006/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/'> 2005 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2005/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/'> 2004 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://googleblog.blogspot.com/2004/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> </div> </div> <div class='clear'></div> </div> </div><div class='widget HTML' data-version='1' id='HTML6'> <div class='widget-content'> <a href="http://googleblog.blogspot.com/atom.xml"> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAihJREFUeNrsWa9Pw0AU7viRMDFRBAkzJDMIBIhJJhCzk7NILIqMv4AEhdz+BCY3OYssAlGBoAJREpZwAlHEBO8lr8nSvNeVbu1dyX3JlzTrXfa+u/e9d7c5joWFhYVO1Fa8PwH2gK6m+BRwAvSlAdsrgr8E1jUuMH73GTAEzrkBWymTewZlihhLmgDXIAFuHgGVQOUF7OSYM1p6PgTuA1vAZlUEvAnPdapcMY0VICECekQ0XRfYrqoHsAGNgXfAoMomRiFDEhOZkkL3S88hMaB2LwXp0bj+ps2edpToZpjfoIDQtBeU+xjoDzP2G/gCPKZ5f8WsCAFJoJgOCcFdWSTeL9YQMSvTA1h9BkI5jaiXhLpSCL/8mVZY0UpyJ9ZdOkniu1dmJ96BpzQu9w6s28gcOq9j6pwLdR8/36NK5CQKwJSMrb2MhhSglBpt4UjsrdsnNu0B3J0HCozbCc4TjyY2srEgos/4RQljCzNxl4ireQD8FOq+T+W0mTB2g7njhlR+Sy2jsXFvU658U8YTbeaGpdIu7mWkEAq5ZtIjIhFZdtfX7QHckSvB2B6zC3VdAkZk0kAQwaXTk/CzTXK3wjIExCs6ZJpTnE4uY1KV+KzFzA3KTiFPENHJkOPcsfpLhwe4btoSuvUqAR+6TOxlCE6ZfKUsJLgsqGW8OpqAGx2X+sLxrwUog+JUeQRMDBIwyXOcnlPtPnL0/UsT/8LnOxYWFhZG4leAAQAAQHEaYuzHbAAAAABJRU5ErkJggg==" class="sidebar-icon" /> <h2>Feed</h2> </a> </div> <div class='clear'></div> </div></div> <div class='section' id='sidebar-bottom'><div class='widget HTML' data-version='1' id='HTML5'> <div class='widget-content'> <div class="followgooglewrapper"> <a href="https://plus.google.com/+google" rel="publisher" style="text-decoration:none;display:inline-block;color:#333;text-align:center; font:13px/16px arial,sans-serif;white-space:nowrap;"> <span style="display:inline-block;font-weight:bold;vertical-align:top;margin-right:5px; margin-top:0px;">Google</span><span style="display:inline-block;vertical-align:top;margin-right:13px; margin-top:0px;">on</span> <img src="//ssl.gstatic.com/images/icons/gplus-16.png" alt="Google+" style="border:0;width:16px;height:16px;"/></a> </div> <div class='followgooglewrapper'> <script src="https://apis.google.com/js/plusone.js"></script> <div class="g-ytsubscribe" data-channel="Google" data-layout="default"></div> </div> <div class="share followgooglewrapper"> <button data-href="https://twitter.com/intent/follow?original_referer=http://googleblog.blogspot.com/&screen_name=google" onclick='sharingPopup(this);' id='twitter-share'><span class="twitter-follow">Follow @google</span></button> <script> function sharingPopup (button) { var url = button.getAttribute("data-href"); window.open( url,'popUpWindow','height=500,width=500,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'); } </script> </div> <!-- Facebook --> <div class="fb-follow-button"> <a href="https://www.facebook.com/google" target="_blank"><img class="fb-follow" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoPDgpnJSLm_h0QB9lJTCDnBDrjiGzSZbejjj1WyplhO34Rk92e2Q8JPubqxhTADvPVxcjSLhgJPENyAWZ2ju2MoTO7kXkCsKLCMUJ67g1KWG3T83KsTG_MVGY1L6ANk5v2Bn3Xw/s1600/facebook-logo.png" />Follow</a> </div> <!-- Instagram --> <style>.ig-b- { display: inline-block; } .ig-b- img { visibility: hidden; } .ig-b-:hover { background-position: 0 -60px; } .ig-b-:active { background-position: 0 -120px; } .ig-b-v-24 { width: 137px; height: 24px; background: url(//badges.instagram.com/static/images/ig-badge-view-sprite-24.png) no-repeat 0 0; } @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) { .ig-b-v-24 { background-image: url(//badges.instagram.com/static/images/ig-badge-view-sprite-24@2x.png); background-size: 160px 178px; } }</style> <div class="followgooglewrapper"> <a href="http://instagram.com/google?ref=badge" class="ig-b- ig-b-v-24" target="_blank"><img src="//badges.instagram.com/static/images/ig-badge-view-24.png" alt="Instagram" /></a> </div> </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML1'> <div class='widget-content'> <div class="text"> Give us feedback in our <br /> <a href="http://support.google.com/bin/static.py?hl=en&page=portal_groups.cs">Product Forums</a>. </div> </div> <div class='clear'></div> </div></div> </div> </div> <div style='clear:both;'></div> </div> <!-- Footer --> <div class='footer-outer loading'> <div class='footer-inner'> <div class='footer-inner-2'> <div style='width:33%;float:left;'> <div class='section' id='footer-1'><div class='widget HTML' data-version='1' id='HTML2'> <h2 class='title'> Company-wide </h2> <div class='widget-content'> <ul> <li> <a href="//googlepublicpolicy.blogspot.com/" title="Public Policy">Public Policy Blog</a> </li> <li> <a href="//googleresearch.blogspot.com/" title="Research">Research Blog</a> </li> <li> <a href="//googleforstudents.blogspot.com/" title="Student">Student Blog</a> </li> </ul> </div> <div class='clear'></div> </div></div> </div> <div style='width:33%;float:left;'> <div class='section' id='footer-2'><div class='widget HTML' data-version='1' id='HTML3'> <h2 class='title'> Products </h2> <div class='widget-content'> <ul> <li> <a href="//officialandroid.blogspot.com/" title="Android">Official Android Blog</a> </li> <li> <a href="//chrome.blogspot.com/" title="Chrome">Chrome Blog</a> </li> <li> <a href="//google-latlong.blogspot.com/" title="Lat Long">Lat Long Blog</a> </li> </ul> </div> <div class='clear'></div> </div></div> </div> <div style='width:33%;float:left;'> <div class='section' id='footer-3'><div class='widget HTML' data-version='1' id='HTML4'> <h2 class='title'> Developers </h2> <div class='widget-content'> <ul> <li> <a href="//googledevelopers.blogspot.com/" title="Developers">Developers Blog</a> </li> <li> <a href="//googleadsdeveloper.blogspot.com/" title="Ads Developer">Ads Developer Blog</a> </li> <li> <a href="//android-developers.blogspot.com/" title="Android">Android Developers Blog</a> </li> </ul> </div> <div class='clear'></div> </div></div> </div> <div style='clear:both;'></div> </div> </div> </div> <div class='google-footer-outer loading'> <div id='google-footer'> <a href='//www.google.com/'> <img class='google-logo-dark' height='36' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAABICAYAAABFoT/eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAACLVJREFUeNrsXd+L20YQ3vOprdLqiMXFXE2qB7dcwEcTSB7ykIc+9A/PQx/yEMq1TWhNuYIpJriNr7XpmZ5IxFEvmW2EKs3Ornb1w50PxIFP0kiz387OzM6uhGAwGAxGP3Ho+f7x7ri1O7LdccPqZjSNA4dEHsLfaHcEFedJom93x9Xu2OyOFTcBo6sED3fHZHeMEELrkAHJF0B8Rr+gDFsZ5n0luLTQ95AXs4W06D/tjpR50xtM4CjD0y48YGB4rnyZxNOzyA7zBHr+nLnDaJLg0mo/ALekCasg3Z4XbM0ZdTEgnDPeHY8bIne+Qz2GvwyGNwsuyT218KWvIIBMcwGpLiipcolecjMxfBDchNyS1EvxLiOSIecp31q6IJ/C3yrIrMqMm4jhg+AxkdwbIO3aUO4KjqqMjCT3uaazMBhWBJfuxH3CtRfiXf66DhSRZWbmlMnNaILgZxrXJQO/eO3wORZwvwm4JUxuhheCjzVBYAbW1ces45YDSoZrFNOEE835M8FT6oyeEnws8Fz3QnBxFKPHBMem4GU+m6fPGb0leCTwWcM5B36MPgeZI01gudyDdw3hPeXfo8L/rmCUWnuMMdqUL2WqWeRbhf+twfVsO7YagZGNC79fw7OthEVtkiJ4jJzTd3KPwf3CRqhhiTu23AP5sl0/0xiwISQXpNwLIJK87mHF+U8ddzzdmgKlGzlPYjyxGJQouIhNT4k9AqWEFkqfguIvagTWbcq3KW1WE3xS3m8NtA9WS451xofwjKT5kkDoK/b6mDk5FfXr1lWDL4BofZEv2/SRsK/EHGlGdBdu8QNRb8HMCFwt7Yy3DDI/QP7fx5z3VLhdlJEIs4rKNuXXJXdxZPdB7kfCzWqwCO4V1LHgLjInX3tQ1KzCR52Cz+vDj1dydeRuS74rcvs2Pi6fT5H8OaaUQPQPYcWwRSGXyhhscn5dpAnEFMkuEZetbfkTAnlSuH4DxisE+aMGeJAQ3lFl7C4LJE6QWCaCd583ORQ1jYAwjFctal7nOs2ZZvicwvlZx+RHGrcoAwKUVX8uwcc/9TT65INeDOr5shL9LDRB6QTeIy3zwfdh3WOi6axLCEhSjXU7F3h6LqggUtvyJxpynwu8tDkD98fXApOxRj8zoZ9MnGveYVIVZKaGrkBXCY65BCYNN9NkjpKOyQ81Q79JgdxS+Jn3SDTEXRI7SWzaiSTB32oI3nU3BvMfM0urhOVYgwKhuiAfc4tM07wXwm1ZRoQYSl2NUwiu01fEAHVcpixd745FvVz4dzUUc0o8rwoLy8ZSwU6CyFx1RP5II9+1bFPEFs9HWbNLiimDXE+vCm7u1CS47cofzD3aEhVY57mxRo5zlqdt+RFC1JUH2S7bcVXg4liTMakaBZZVxiTICRoivcn1sEUBlk24JmaC6kxUbYmWoqvyfck2xZGGnDFYa9MMzkYQ1ijkCX6qidybrgePiQ0QIQqoi6qRLeqQfIoRsEHaQJLBdHOnLGetSdm/IPcymJuS1PAnbQPH0MOw/39C1vL11DiLOqIsbDI8QcHvGiLnySi2qUXBicaqUSxN5LEB0g7Jt3ENXJLPJ5S1tnaZBoWbpRqrmjRE7qHmpSmNHdQcYrEUadoh+TbBnc9ri7iycI1kzPeNcLDIvbiqXpez9Tmdq6zGREPuzECBoxrPMiI2WtvyNwhJba2wy3JZ6ky5dD1lSvmZS3e4SPA1wcf1VTFHKX+cGwZzdUYcqpvUtvwrD/InDttVlyZeAKlNN5MKbAiurHhKIPlUuJvlTCCiDjSKSCsUmCFWbGLZwCESfK07JB8LvMYWVtw0D00JEHV8Mq2HkqPbE0oHLvvK2g0o8ETg+4cfwTlZDT9JDoWygu4uQQE/ivIvtcnfPkaCqhiupz7jWOAzqL/vjtcdkv9G4MVMt+EaylfuImiPAXEUjRF3pjjaHiPPZ6If9TGGAO4ZY0am6jOCb+DQ+ZCqLkIpOIPrdNfIjnFPY6nyFut7TS/fanrziOBOKMupKw94WaLMtuVnSFt9CPrWWdJE6PeltCX432DEBoh+5Dv8RRhdis8YAv9uyq4/JAwtlEApgBe9Cw9xDD3tdk4Jn0MDfiHwPHcRPxBePCMER3GuIx7kGlv9fkZ4V9lolx2Uv4X7hEj7qJ3LDoAMGbTRMRibu4L2xQ8bgt8AyU+Q+x7nYrvDnH4iuO5LxKsYwPVbkPMvKF9Zky9wXzRfVWizi62r9X5VHf55h+WHhDjGBZ4WRhyTr6z5SlCoLMxLSpBZFsQ9F80uQFbF/6aFWi+Ev51vzzsuX+msyzuQXXjUz8zEBy+zpq9yweXAoxJW4JbYrDS6gYDqGHxPl+TKeiBfxj9/EBIElPYeOA4y8/qRQfknjvSzgRgtq0Pw/M1eQeMdOSb2Bnrhr6Led+1vcp2x7oTFHMnedFW+Ivlty062BUt74oHgSj+vHepnhunn0JJAMtBZgDI/qmGtMujRv8DDpo47zBJ8UtPOuAR/7rKn8t9AJ0tBdmBAmJ/Fu71yxp4I3qh+DhyRqbi5Y1ShVPlSb8X7bRNcfgZFl+WRGYo7uecrWq1r8X5bhmzP5OdlDwsGRm1suSxkg5rYm7ConyGQ3Zl+DgSD8V/kPwrWBMG9YcBtyShBnTLdTiHgttw7qAW7cqh/ZnmPKr/6ignOaKsdyxbsToT5UkPsW00bJjijDXficcX/JsLs6w2BwGtherdckH3w/kNXRPVI0OqJQoHX42/66IMfMj/2huRjxIidgKV/W0JS+bsstDoTeAHcrI8E5zTh/sDkqxL5rZup55/3USlswfcHf4IrQplVDgW9XFlOqnwr6pVPMMEZTuC60EttvdzbLbaZ4PsFVa3nohhO+vW+yn/ZB2fUhpysmQrzBcTSai9EszuZMcEZ1lCFVrp9zGXhm69iLyY4oxFIa178lPe12I/P2DAYDAaDwWAwGAwGg8FgMBgMBoPBYDD2Cf8IMADDRGoQTe+E9AAAAABJRU5ErkJggg==' style='margin-top: -16px;' width='92'/> </a> <ul> <li> <a href='//www.google.com/'> Google </a> </li> <li> <a href='//www.google.com/policies/privacy/'> Privacy </a> </li> <li> <a href='//www.google.com/policies/terms/'> Terms </a> </li> </ul> </div> </div> <script type='text/javascript'> //<![CDATA[ // Social sharing popups. var postEl = document.getElementsByClassName('social-wrapper'); var postCount = postEl.length; for(i=0; i<postCount;i++){ postEl[i].addEventListener("click", function(event){ var postUrl = this.getAttribute("data-href"); window.open( postUrl,'popUpWindow','height=500,width=500,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'); });} //]]> </script> <script type='text/javascript'> //<![CDATA[ var BreakpointHandler = function() { this.initted = false; this.isHomePage = false; this.isMobile = false; }; BreakpointHandler.prototype.finalizeSummary = function(summaryHtml, lastNode) { // Use $.trim for IE8 compatibility summaryHtml = $.trim(summaryHtml).replace(/(<br>|\s)+$/,''); if (lastNode.nodeType == 3) { var lastChar = summaryHtml.slice(-1); if (!lastChar.match(/[.”"?]/)) { if (!lastChar.match(/[A-Za-z]/)) { summaryHtml = summaryHtml.slice(0, -1); } summaryHtml += ' ...'; } } else if (lastNode.nodeType == 1 && (lastNode.nodeName == 'I' || lastNode.nodeName == 'A')) { summaryHtml += ' ...'; } return summaryHtml; }; BreakpointHandler.prototype.generateSummaryFromContent = function(content, numWords) { var seenWords = 0; var summaryHtml = ''; for (var i=0; i < content.childNodes.length; i++) { var node = content.childNodes[i]; var nodeText; if (node.nodeType == 1) { if (node.hasAttribute('data-about-pullquote')) { continue; } nodeText = node.textContent; if (nodeText === undefined) { // innerText for IE8 nodeText = node.innerText; } if (node.nodeName == 'DIV' || node.nodeName == 'B') { // Don't end early if we haven't seen enough words. if (seenWords < 10) { continue; } if (i > 0) { summaryHtml = this.finalizeSummary(summaryHtml, content.childNodes[i-1]); } break; } summaryHtml += node.outerHTML; } else if (node.nodeType == 3) { nodeText = node.nodeValue; summaryHtml += nodeText + ' '; } var words = nodeText.match(/\S+\s*/g); if (!words) { continue; } var remain = numWords - seenWords; if (words.length >= remain) { summaryHtml = this.finalizeSummary(summaryHtml, node); break; } seenWords += words.length; } return summaryHtml; }; BreakpointHandler.prototype.detect = function() { var match, pl = /\+/g, search = /([^&=]+)=?([^&]*)/g, decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); }, query = window.location.search.substring(1); var urlParams = {}; while (match = search.exec(query)) urlParams[decode(match[1])] = decode(match[2]); this.isListPage = $('html').hasClass('list-page'); this.isMobile = urlParams['m'] === '1'; this.isHomePage = window.location.pathname == '/'; }; BreakpointHandler.prototype.initContent = function() { var self = this; $('.post').each(function(index) { var body = $(this).children('.post-body')[0]; var content = $(body).children('.post-content')[0]; $(content).addClass('post-original'); var data = $(content).children('script').html(); data = self.rewriteForSSL(data); // If exists, extract specified editor's preview. var match = data.match(/([\s\S]+?)<div data-is-preview.+?>([\s\S]+)<\/div>/m); if (match) { data = match[1]; } // Prevent big images from loading when they aren't needed. // This must be done as a pre-injection step, since image loading can't be // canceled once embedded into the DOM. if (self.isListPage && self.isMobile) { data = data.replace(/<(img|iframe) .+?>/g, ''); } // Insert template to be rendered as nodes. content.innerHTML = data; if (self.isListPage) { var summary = document.createElement('div'); $(summary).addClass('post-content'); $(summary).addClass('post-summary'); body.insertBefore(summary, content); if (match) { // Use provided summary. summary.innerHTML = match[2]; } else { // Generate a summary. // Summary generation relies on DOM, so it must occur after content is // inserted into the page. summary.innerHTML = self.generateSummaryFromContent(content, 30); } // Add read more link to summary. var titleAnchor = $(this).find('.title a')[0]; var link = titleAnchor.cloneNode(true); link.innerHTML = 'Read More'; $(link).addClass('read-more'); summary.appendChild(link); } }); // Firefox does not allow for proper styling of BR. if (navigator.userAgent.indexOf('Firefox') > -1) { $('.post-content br').replaceWith('<span class="space"></span>'); } $('.loading').removeClass('loading'); }; BreakpointHandler.prototype.process = function() { if (!this.initted) { var makeInsecureImageRegex = function(hosts) { var whitelist = hosts.join('|').replace(/\./g,'\\.'); // Normal image tags, plus input images (yes, this is possible!) return new RegExp('(<(img|input)[^>]+?src=("|\'))http:\/\/(' + whitelist +')', 'g'); }; this.sslImageRegex = makeInsecureImageRegex(BreakpointHandler.KNOWN_HTTPS_HOSTS); this.sslImageCurrentDomainRegex = makeInsecureImageRegex([window.location.hostname]); this.detect(); this.initContent(); this.initted = true; } }; BreakpointHandler.KNOWN_HTTPS_HOSTS = [ "www.google.org", "www.google.com", "services.google.com", "blogger.com", "draft.blogger.com", "www.blogger.com", "photos1.blogger.com", "photos2.blogger.com", "photos3.blogger.com", "blogblog.com", "img1.blogblog.com", "img2.blogblog.com", "www.blogblog.com", "www1.blogblog.com", "www2.blogblog.com", "0.bp.blogspot.com", "1.bp.blogspot.com", "2.bp.blogspot.com", "3.bp.blogspot.com", "4.bp.blogspot.com", "lh3.googleusercontent.com", "lh4.googleusercontent.com", "lh5.googleusercontent.com", "lh6.googleusercontent.com", "themes.googleusercontent.com", ]; BreakpointHandler.prototype.rewriteForSSL = function(html) { // Handle HTTP -> HTTPS source replacement of images, movies, and other embedded content. return html.replace(this.sslImageRegex, '$1https://$4') .replace(this.sslImageCurrentDomainRegex, '$1//$4') .replace(/(<(embed|iframe)[^>]+?src=("|'))http:\/\/([^"']*?(youtube|picasaweb\.google)\.com)/g, '$1https://$4') // Slideshow SWF takes a image host, so we need to rewrite that parameter. .replace(/(<embed[^>]+?feed=http(?=[^s]))/g, '$1s'); }; $(document).ready(function() { var handler = new BreakpointHandler(); handler.process(); // Top-level navigation. $(".BlogArchive .tab").click(function(ev) { ev.preventDefault(); $(this).parent().toggleClass('active'); $(this).siblings().slideToggle(300); }); $(".Label .tab").click(function(ev) { ev.preventDefault(); $(this).parent().toggleClass('active'); $(this).siblings().slideToggle(300); }); // Blog archive year expansion. $('.BlogArchive .intervalToggle').click(function(ev) { ev.preventDefault(); if ($(this).parent().hasClass('collapsed')) { $(this).parent().removeClass('collapsed'); $(this).parent().addClass('expanded'); } else { $(this).parent().removeClass('expanded'); $(this).parent().addClass('collapsed'); } }); // Reverse order of months. $('.BlogArchive .intervalToggle + div').each(function(_, items) { var year = $(this); year.children().each(function(_, month) { year.prepend(month); }); }); // Set anchors to open in new tab. $('.post-content img').parent().each(function(_, node) { if (node.nodeName == 'A') { $(this).attr('target', '_blank'); } }); // Process search requests. $('.searchBox input').on("keypress", function(ev) { if (ev.which == 13) { window.location.href = 'https://www.google.com/search?q=site%3A' + window.location.hostname + '%20' + encodeURIComponent ($(this).val()); } }); }); //]]> </script> <script> //<![CDATA[ function DeviceMotionSender(){if(!this.isIOS_()){return}window.addEventListener("devicemotion",this.onDeviceMotion_.bind(this),false);this.iframes=document.querySelectorAll("iframe.vrview")}DeviceMotionSender.prototype.onDeviceMotion_=function(e){var message={type:"DeviceMotion",deviceMotionEvent:this.cloneDeviceMotionEvent_(e)};for(var i=0;i<this.iframes.length;i++){var iframe=this.iframes[i];var iframeWindow=iframe.contentWindow;if(this.isCrossDomainIframe_(iframe)){iframeWindow.postMessage(message,"*")}}};DeviceMotionSender.prototype.cloneDeviceMotionEvent_=function(e){return{acceleration:{x:e.acceleration.x,y:e.acceleration.y,z:e.acceleration.z},accelerationIncludingGravity:{x:e.accelerationIncludingGravity.x,y:e.accelerationIncludingGravity.y,z:e.accelerationIncludingGravity.z},rotationRate:{alpha:e.rotationRate.alpha,beta:e.rotationRate.beta,gamma:e.rotationRate.gamma},interval:e.interval}};DeviceMotionSender.prototype.isIOS_=function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream};DeviceMotionSender.prototype.isCrossDomainIframe_=function(iframe){var html=null;try{var doc=iframe.contentDocument||iframe.contentWindow.document;html=doc.body.innerHTML}catch(err){}return html===null};var dms=new DeviceMotionSender; //]]> </script> <script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/984859869-widgets.js"></script> <script type='text/javascript'> window['__wavt'] = 'AOuZoY76XUQZZ7No9j2uKL2RghwpAnL6_w:1732447996912';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d10861780','//googleblog.blogspot.com/search/label/developers','10861780'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '10861780', 'title': 'Official Google Blog', 'url': 'https://googleblog.blogspot.com/search/label/developers', 'canonicalUrl': 'https://googleblog.blogspot.com/search/label/developers', 'homepageUrl': 'https://googleblog.blogspot.com/', 'searchUrl': 'https://googleblog.blogspot.com/search', 'canonicalHomepageUrl': 'https://googleblog.blogspot.com/', 'blogspotFaviconUrl': 'https://googleblog.blogspot.com/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': false, 'httpsEnabled': true, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': 'G-2PXZD4EB4F', 'analytics4': true, 'encoding': 'UTF-8', 'locale': 'en', 'localeUnderscoreDelimited': 'en', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'isDynamicViewsAvailable': true, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Official Google Blog - Atom\x22 href\x3d\x22https://googleblog.blogspot.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22Official Google Blog - RSS\x22 href\x3d\x22https://googleblog.blogspot.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Official Google Blog - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/10861780/posts/default\x22 /\x3e\n', 'meTag': '', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': false, 'adsenseAutoAds': false, 'boqCommentIframeForm': true, 'loginRedirectParam': '', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/d78375fb222d99b3', 'plusOneApiSrc': 'https://apis.google.com/js/platform.js', 'disableGComments': true, 'interstitialAccepted': false, 'sharing': {'platforms': [{'name': 'Get link', 'key': 'link', 'shareMessage': 'Get link', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Share to Facebook', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'X', 'key': 'twitter', 'shareMessage': 'Share to X', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Share to Pinterest', 'target': 'pinterest'}, {'name': 'Email', 'key': 'email', 'shareMessage': 'Email', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 0, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27en\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': true, 'jumpLinkMessage': 'Read more', 'pageType': 'index', 'searchLabel': 'developers', 'pageName': 'developers', 'pageTitle': 'Official Google Blog: developers', 'metaDescription': 'Insights from Googlers into our products, technology, and the Google culture'}}, {'name': 'features', 'data': {}}, {'name': 'messages', 'data': {'edit': 'Edit', 'linkCopiedToClipboard': 'Link copied to clipboard!', 'ok': 'Ok', 'postLink': 'Post Link'}}, {'name': 'template', 'data': {'name': 'custom', 'localizedName': 'Custom', 'isResponsive': false, 'isAlternateRendering': false, 'isCustom': true}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': 'Official Google Blog', 'description': 'Insights from Googlers into our products, technology, and the Google culture', 'url': 'https://googleblog.blogspot.com/search/label/developers', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': false, 'isArchive': false, 'isSearch': true, 'isLabelSearch': true, 'search': {'label': 'developers', 'resultsMessage': 'Showing posts with the label developers', 'resultsMessageHtml': 'Showing posts with the label \x3cspan class\x3d\x27search-label\x27\x3edevelopers\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\x3edevelopers\x3c/b\x3e. \x3ca href\x3d\x22https://googleblog.blogspot.com/\x22\x3eShow all posts\x3c/a\x3e'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML8', 'sidebar-top', document.getElementById('HTML8'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_LabelView', new _WidgetInfo('Label1', 'sidebar', document.getElementById('Label1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading\x26hellip;'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML6', 'sidebar', document.getElementById('HTML6'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML5', 'sidebar-bottom', document.getElementById('HTML5'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML1', 'sidebar-bottom', document.getElementById('HTML1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML2', 'footer-1', document.getElementById('HTML2'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML3', 'footer-2', document.getElementById('HTML3'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML4', 'footer-3', document.getElementById('HTML4'), {}, 'displayModeFull')); </script> </body> </html>