Monthly:March 2020

Helping health organizations make COVID-19 information more accessible

Health organizations are busier than ever providing information to help with the COVID-19 pandemic. To better assist them, Google has created a best practices article to guide health organizations to make COVID-19 information more accessible on Search. We’ve also created a new technical support group for eligible health organizations.

Best practices for search visibility

By default, Google tries to show the most relevant, authoritative information in response to any search. This process is more effective when content owners help Google understand their content in appropriate ways.

To better guide health-related organizations in this process (known as SEO, for “search engine optimization”), we have produced a new help center article with some important best practices, with emphasis on health information sites, including:

  • How to help users access your content on the go
  • The importance of good page content and titles
  • Ways to check how your site appears for coronavirus-related queries
  • How to analyze the top coronavirus related user queries
  • How to add structured data for FAQ content

New support group for health organizations

In addition to our best practices help page, health organizations can take part in our new technical support group that’s focused on helping health organizations who publish COVID-19 information with Search related questions.

We’ll be approving requests for access on a case-by-case basis. At first we’ll be accepting only domains under national health ministries and US state level agencies. We’ll inform of future expansions here in this blog post, and on our Twitter account. You’ll need to register using either an email under those domains (e.g. name@health.gov) or have access to the website Search Console account.

Fill this form to request access to the COVID-19 Google Search group 

The group was created to respond to the current needs of health organizations, and we intend to deprecate the group as soon as COVID-19 is no longer considered a Public Health Emergency by WHO or some similar deescalation is widely in place.

Everyone is welcome to use our existing webmaster help forum, and if you have any questions or comments, please let us know on Twitter.

Posted by Daniel Waisberg, Search Advocate & Ofir Roval, Search Console Lead PM

Read More

Kpt: Packaging up your Kubernetes configuration with git and YAML since 2014

Kubernetes configuration manifests have become an industry standard for deploying both custom and off-the-shelf applications (as well as for infrastructure). Manifests are combined into bundles to create higher-level deployable systems as well as reusable blueprints (such as a product offering, off the shelf software, or customizable starting point for a new application).

However, most teams lack the expertise or desire to create bespoke bundles of configuration from scratch and instead: 1) either fork them from another bundle, or 2) use some packaging solution which generates manifests from code.

Teams quickly discover they need to customize, validate, audit and re-publish their forked/ generated bundles for their environment. Most packaging solutions to date are tightly coupled to some format written as code (e.g. templates, DSLs, etc). This introduces a number of challenges when trying to extend, build on top of, or integrate them with other systems. For example, how does one update a forked template from upstream, or how does one apply custom validation?

Packaging is the foundation of building reusable components, but it also incurs a productivity tax on the users of those components.

Today we’d like to introduce kpt, an OSS tool for Kubernetes packaging, which uses a standard format to bundle, publish, customize, update, and apply configuration manifests.

Kpt is built around an “as data” architecture bundling Kubernetes resource configuration, a format for both humans and machines. The ability for tools to read and write the package contents using standardized data structures enables powerful new capabilities:

  • Any existing directory in a Git repo with configuration files can be used as a kpt package.
  • Packages can be arbitrarily customized and later pull in updates from upstream by merging them.
  • Tools and automation can perform high-level operations by transforming and validating package data on behalf of users or systems.
  • Organizations can develop their own tools and automation which operate against the package data.
  • Existing tools and automation that work with resource configuration “just work” with kpt.
  • Existing solutions that generate configuration (e.g. from templates or DSLs) can emit kpt packages which enable the above capabilities for them.
  • Example workflow with kpt

    Now that we’ve established the benefits of using kpt for managing your packages of Kubernetes config, lets walk through how an enterprise might leverage kpt to package, share and use their best practices for Kubernetes across the organization.


    First, a team within the organization may build and contribute to a repository of best practices (pictured in blue) for managing a certain type of application, for example a microservice (called “app”). As the best practices are developed within an organization, downstream teams will want to consume and modify configuration blueprints based on them. These blueprints provide a blessed starting point which adheres to organization policies and conventions.

    The downstream team will get their own copy of a package by downloading it to their local filesystem (pictured in red) using kpt pkg get. This clones the git subdirectory, recording upstream metadata so that it can be updated later.

    They may decide to update the number of replicas to fit their scaling requirements or may need to alter part of the image field to be the image name for their app. They can directly modify the configuration using a text editor (as would be done before). Alternatively, the package may define setters, allowing fields to be set programmatically using kpt cfg set. Setters streamline workflows by providing user and automation friendly commands to perform common operations.

    Once the modifications have been made to the local filesystem, the team will commit and push their package to an app repository owned by them. From there, a CI/CD pipeline will kick off and the deployment process will begin. As a final customization before the package is deployed to the cluster, the CI/CD pipeline will inject the digest of the image it just built into the image field (using kpt cfg set). When the image digest has been set, the CI/CD pipeline can send the manifests to the cluster using kpt live apply. Kpt live operates like kubectl apply, providing additional functionality to prune resources deleted from the configuration and block on rollout completion (reporting status of the rollout back to the user).

    Now that we’ve walked through how you might use kpt in your organization, we’d love it if you’d try it out, read the docs, or contribute.

    One more thing

    There’s still a lot to the story we didn’t cover here. Expect to hear more from us about:

    • Using kpt with GitOps
    • Building custom logic with functions
    • Writing effective blueprints with kpt and kustomize

    By Phillip Wittrock, Software Engineer and Vic Iglesias, Cloud Solutions Architect

    Read More

    Agent57: Outperforming the human Atari benchmark

    The Atari57 suite of games is a long-standing benchmark to gauge agent performance across a wide range of tasks. Weve developed Agent57, the first deep reinforcement learning agent to obtain a score that is above the human baseline on all 57 Atari 2600 games. Agent57 combines an algorithm for efficient exploration with a meta-controller that adapts the exploration and long vs. short-term behaviour of the agent.Read More

    Updates to Form Controls and Focus

    HTML form controls provide the backbone for much of the web’s interactivity. They’re easy for developers to use, have built-in accessibility, and are familiar to our users. One issue with native form controls, however, is the inconsistency in their styling. Older controls, such as <button> and <select> were styled to match the user’s operating system. Form controls that were added to the platform more recently were designed to match whatever style was popular at the time. For Chromium based browsers, this has led to controls that look mismatched and sometimes outdated, which causes developers to spend extra time (and ship extra code) styling around the controls’ default appearance.


    a meter, progress, and input type range element stacked vertically. Their visual styles are very different.
    <meter>, <progress>, and <input type=”range”> look like they come from different worlds in Chrome 80 on Windows.



    To help fix this problem, the teams at Microsoft Edge and Google Chrome spent the last year collaborating to retheme and improve the functionality of the built-in form controls on Chromium browsers. The two teams also worked to make the focused states of form controls and other interactive elements like links easier to perceive. These changes are available today in Edge on Windows, and may be seen in Chrome 81 as part of experiments. The chrome://flags/#form-controls-refresh enables the changes in Chrome 81 as well. The changes will roll out in Chrome 83 on Windows, macOS, ChromeOS, and Linux. See the updated release schedule for Chrome 81 and 83. Updates for Chrome on Android should roll out later this year. If you want to hear more about what’s coming to form controls, take a look at Nicole Sullivan and Greg Whitworth’s talk from CDS 2019.

    A Fresh Coat of Paint

    The two teams wanted to make the controls feel like they were part of a matched set. This meant doing away with gradients and using more of a flat design inspired by current design systems.
    As Nicole Sullivan, a member of the Chrome team, describes it:
    We were going for beautiful, webby, and neutral. We hope that every design system would see a bit of themselves in the new designs and easily imagine how they might be adapted for their own branding.
    Below is a comparison of the form controls as they previously appeared in Chromium and as they appear after the redesign:
    Form controls as they appear in Chrome 80Form controls as they appear after the redesign. The styles are much more consistent.
    Left: Prior styling of form controls in Chrome 80.
    Right: Controls as they appear after the redesign.

    Improved Accessibility and Touch Support

    In addition to improving the default styling, the two teams also tuned up form controls’ accessibility and enhanced touch support. 


    These changes are most notable in a few key areas:

    A More Visible Focus Ring

    The focus indicator—sometimes referred to as the “focus ring”—is an important accessibility feature that helps people using a keyboard or switch device to identify which element they’re interacting with.


    Previously, Chromium used a light single color outline to indicate the focused element. However, if the focused element happened to be on a similarly colored background, the ring would be difficult to perceive:


    A button on a blue background. The focus indictor on the button is not discernible.
    The previous focus ring on a similarly colored background.



    The new focus indicator uses a thick dark ring with a thin white outline, which should improve visibility on both light and dark backgrounds. This is an easy accessibility win that automatically improves the keyboarding experience on a number of sites without developers needing to write any new code.


    Black and white double-strokes make the focus ring visible on both light background and dark background
    The new two-line design for the focus indicator ensures that it’s visible on both black and white backgrounds.



    Note that there are still some scenarios where the focus ring may be hard to perceive—for example, if a black button is on a white background, or if the focus ring is clipped by elements that are positioned closely together.


    If you run into a scenario where the focus ring is hard to perceive, or if the new focus indicator does not match the design of your site, there are ways to style focus including the new :focus-visible pseudo-class, which provides fine-grained control over when the focus indicator is displayed.

    Increased Tap Target Sizes for Multi-input Displays

    Over the past few years we’ve seen an increase in multi-input devices like 2-in-1 devices, tablets, and touch-enabled laptops. This means that touch becomes an important consideration for desktop. However, many of the existing form controls were not designed with multi-input surfaces in mind. For example, <input type=”date”> works great on mobile, but the tap targets are much too small to be usable on a touch-screen laptop.


    The input type date  element as it appears in Chrome 80. The element has very small buttons for incrementing and decrementing the date.
    The previous design for <input type=”date”> with small tap targets.



    To improve functionality on touch screens, the updated controls will now have better flyouts, larger tap targets, and support for swiping and inertia when scrolling:


    The redesigned input type date element. It has large buttons and easy to click dates.
    The new design for <input type=”date”> with much more accessible tap targets


    Improved Color Picker

    Previously the <input type=”color”> element was not fully keyboard accessible, meaning users relying on a keyboard or switch device couldn’t use it. Along with a new appearance, the control is also now fully keyboard accessible and includes additional modifier keys (Control, or Command on Mac). These improvements let users jump by ten color values at a time.


    An animation of the redesigned color picker, showing improved keyboard navigation
    The new <input type=”color”> with improved keyboard accessibility. 



    More Consistent Keyboard Access

    Finally, the teams updated the ARIA role mapping of all the controls to match the recommendations in the HTML Accessibility API Mappings specification. This should provide a more consistent experience for anyone relying on a keyboard or assistive technology, like a screen reader, to access the page.

    How You Can Get Involved

    While the design refresh is a much needed change, the two teams have also heard from developers that it should be easier to style the built-in form controls and plan to tackle that work next. If you’re excited by the idea of improved styling, functionality, and possibly even new high-level components, the folks at Edge and Chrome need your help!

    Test Your Sites

    Try out the new form controls and focus indicator in Edge and Chrome Beta. If the design changes have negatively affected your existing sites or apps, let us know using this bug template. Or, if you find a related bug, give it a star! ⭐️ Starring is extremely valuable because it helps platform teams triage and decide what to work on next.

    Tell us What You Want to See

    Much of the work on the new form controls was enabled through surveying developers, and interviewing design system and UI framework authors.

    In an effort to help centralize this feedback and include as many developers as possible in the standards process, the team at Edge have created open-ui.org. If you work on a design system, or a UI component set, consider sharing your knowledge on Open UI to help classify and identify gaps in the existing form controls.

    Posted by Rob Dodson, Developer Advocate

    Read More

    Women at Google: Meet Sabrina Geremia

    For Women’s History Month, we’re profiling some of the powerful, dynamic and creative Canadian women at Google.

    As the Country Manager for Google Canada, Sabrina Geremia is a firm believer that technology, when thoughtfully applied, can be a bridge to building a better Canada. And as a champion of technology, she leads her teams to build programs aimed at helping Canadians and Canadian businesses (small and large) thrive in the digital economy.

    Her focus this year is on helpfulness, and she’s been hard at work with her team to build helpful tools, products and features that lead to productivity, wellness and happiness. Whether it’s meeting with Canadian business leaders, advising nonprofits or mentoring, Sabrina is passionate about sharing her experience, and finding ways to propel Canada forward in the digital age.

    Recently named “Woman of the Year” by WCT (Women in Communication Technology in Canada), it’s undeniable that Sabrina is not only paving the path forward, but continuing to inspire other women along the way.

    How would you describe your job at a dinner party to people who don’t work in tech?

    I’m the Country Manager for a company whose mission is to organize the world’s information and make it universally accessible and useful. Our goal is to help Canadians find and get things done in the moments that matter, help businesses drive economic impact, and grow digital skills in Canada.

    The most exciting part about leading Google in Canada is that we have here at home, amazing people and teams who are innovating and creating products that are helpful for users across the globe.

    Was there something specific that pushed you toward your career in tech?

    When I was 11, my big brother surprised me at Christmas with an IBM PS@ model 50 computer. He said to me “you can play with this over the holidays” and walked out of the room. Now this was the 80s, and we’re talking first generation personal computing. The computer was enormous, weighed a ton, had a blinking cursor, and a floppy disk drive. I was both enthralled and intimidated. I unpacked it and started asking him questions like how to turn it on. Instead of coming to my rescue, he said “the plugs can only go into one place, you won’t break it, figure it out”. That lesson has stayed with me for over 30 years. I used this computer to write stories, play games, and eventually saved up enough to buy another computer. While I didn’t go on to become a coder, I did have a University internship at Microsoft. My role there was to help explain their technology to their senior clients, and that’s the type of work I still do today.

    What is the most challenging part of your job?

    The speed of technological transformation is intense, and this makes my job challenging but also exciting. Every day I’m connecting with Canadian businesses to showcase the opportunities that technology can offer. And a big part of digital transformation is anchored in investing in digital skills.

    What is your favourite part of the job?

    Solving complex problems with amazing people in Canada and beyond. And I love seeing how our products are helping people across the globe, my family included! My kids for example, are learning how to play the trumpet with their Grandpa who lives in Wales, thanks to the Google Home Hub.

    What is your secret power that makes you successful?

    I’m innately curious and an ‘always on learner’. Whether it’s brushing up on my technical skills or finding best practices from other parts of the world or learning from other amazing leaders, I like understanding how things work. In my job it’s like putting together a puzzle of a landscape that keeps evolving. In my 14 years at Google there’s never been a day where I haven’t learned something new.

    Speaking of Canadian businesses – are there any businesses that inspire you?

    I’m inspired to see how small businesses in Canada are thinking beyond our borders and expanding their businesses abroad. A great example of this is Peace by Chocolate. Originally from Syria, the Hadhad family came to Nova Scotia and re-built their family-run chocolate business. It’s now become a symbol of international peace and purchased by customers all across the globe.

    What inspires you in your career?

    The people I work with, inside and outside of Google, inspire me every day. I recently attended a graduation for Grow with Google’s IT Support Professional Certificate Program at the Toronto Public Library. I’m a big believer in the power of education, and by growing your digital skills so many more doors will open. Connecting with the graduates about their new skills and their career aspirations was extremely rewarding.

    Tell us about a project that you’re proud of!

    Investing in digital skills for Canadians was one of the first things I wanted to do when I took this job. So I’m extremely proud of our Grow with Google program, which includes free training, tools and events for Canadians to grow their skills, career or business. Over the past few years we’ve gone to different cities across Canada and trained thousands of learners.

    What advice would you give to women pursuing a career in technology?

    Make digital skills a super power, no matter what industry you work in.

    Google Cloud for Student Developers: Accessing G Suite REST APIs

    Posted by Wesley Chun (@wescpy), Developer Advocate, Google Cloud

    Recently, we introduced the “Google Cloud for Student Developers” video series to encourage students majoring in STEM fields to gain development experience using industry APIs (application programming interfaces) for career readiness. That first episode provided an overview of the G Suite developer landscape while this episode dives deeper, introducing G Suite’s HTTP-based RESTful APIs, starting with Google Drive.

    The first code sample has a corresponding codelab (a self-paced, hands-on tutorial) where you can build a simple Python script that displays the first 100 files or folders in your Google Drive. The codelab helps student (and professional) developers…

    1. Realize it is something that they can accomplish
    2. Learn how to create this solution without many lines of code
    3. See what’s possible with Google Cloud APIs

    While everyone is familiar with using Google Drive and its web interface, many more doors are opened when you can code Google Drive. Check this blog post and video for a more comprehensive code walkthrough as well as access the code at its open source repository. What may surprise readers is that the entire app can be boiled down to just these 3-4 lines of code (everything else is either boilerplate or security):

        DRIVE = discovery.build('drive', 'v3', http=creds.authorize(Http()))
    files = DRIVE.files().list().execute().get('files', [])
    for f in files:
    print(f['name'], f['mimeType'])

    Once an “API service endpoint” to Google Drive is successfully created, calling the list() method in Drive’s files() collection is all that’s needed. By default, files().list() returns the first 100 files/folders—you can set the pageSize parameter for a different amount returned.

    The video provides additional ideas of what else is possible by showing you examples of using the Google Docs, Sheets, and Slides APIs, and those APIs will be accessed in a way similar to what you saw for Drive earlier. You’ll also hear about what resources are available for each API, such as documentation, code samples, and links to support pages.

    If you wish to further explore coding with G Suite REST APIs, check out some additional videos for the Drive, Sheets, Gmail, Calendar, and Slides APIs. Stay tuned for the next episode which highlights the higher-level Google Apps Script developer platform.

    We look forward to seeing what you build with Google Cloud!

    Read More

    OpenTelemetry is now beta!

    OpenTelemetry and OpenCensus have been a critical part of our goal of making platforms like Kubernetes more observable and more manageable. This has been a multi-year journey for us, from creating OpenCensus and growing it into a core part of major web services’ observability stack, to our announcement of OpenTelemetry last year and the rapid growth of the OpenTelemetry community.

    Beta is a big milestone for OpenTelemetry, as developers can now use the SDKs, integrations, and Collector to capture distributed traces and metrics from their applications and send them to backends like Prometheus, Jaeger, Cloud Monitoring, Cloud Trace, and others for analysis. This is a great time to try out OpenTelemetry and get involved in the observability community— whether you’re looking to improve your visibility into production services, giving your users performance data from client libraries that you maintain—or want to join a rapidly-growing open source project!

    To learn more, please read our official community announcement, which copied below:

    Co-authored by maintainers, community contributors, and members of the OpenTelemetry governance committee.

    OpenTelemetry has just begun its first wave of beta releases, starting with the Collector and the Erlang, Go, Java, JavaScript, and Python SDKs, followed by the .Net SDK and Java auto-instrumentation agent. This means that you can begin integrating OpenTelemetry into your applications and client libraries to capture app-level metrics and distributed traces.

    If you’re not already familiar with OpenTelemetry, the project provides a single set of language-specific APIs, SDKs, agents, and other components that you can use to collect distributed traces, metrics, and related metadata from your applications. In addition to its core capabilities, much of OpenTelemetry’s utility comes from integrations for HTTP and RPC libraries, storage clients, etc. that allow developers to capture critical observability data from their applications with almost zero effort. After capturing these signals, each OpenTelemetry component can export them to your backends of choice, including Prometheus, Jaeger, Zipkin, Azure Monitor, Dynatrace, Google Cloud Monitoring + Trace, Honeycomb, Lightstep, New Relic, and Splunk.

    This first beta release includes:

    • APIs and SDKs for Erlang, Go, Java, JavaScript, and Python, which include the interfaces and implementations that you need to define and create distributed traces and metrics, manage sampling and context propagation, etc. The .Net API + SDK will follow shortly.
    • Language-specific API integrations for at least one popular HTTP framework, gRPC, and at least one popular storage client, which can be enabled with one line of code, and will automatically capture relevant traces and metrics and handle context propagation.
    • Language-specific exporters that allow SDKs to send captured traces and metrics to any supported backends.
    • The OpenTelemetry Collector, which can receive data from OpenTelemetry SDKs and other sources, and then export this telemetry to any supported backend.
    • Auto-Instrumentation for Java that captures telemetry from 47 Java libraries and frameworks without requiring any modification to your application.
    • Documentation for each component including getting started guides.

    As these and subsequent OpenTelemetry components enter beta (requirements and release plan), we are declaring that they are ready to start integrating with. This means that service developers can begin to include OpenTelemetry in their applications and that maintainers of storage, RPC, etc. clients should start testing the OpenTelemetry APIs to provide better observability of their users.

    However, this does come with some caveats:
    • Each OpenTelemetry component will likely undergo several beta releases in the coming weeks — this is simply the first.
    • While functional, beta components have not gone through thorough testing or benchmarking and they are not intended for production workloads.
    • While we aim to avoid any major changes to the OpenTelemetry APIs between beta and GA release candidates, we cannot guarantee that there will not be any changes during this period.
    • Some functionality is still missing from the first beta and will be added in subsequent releases; this is documented in each component’s GitHub repository.

    In the coming weeks, you can expect additional beta releases from the first wave of OpenTelemetry components and others. In particular, we expect the API + SDK for .Net and the Java auto-instrumentation agent to be ready soon. Eventually, components will reach a level of maturity and testing where we’ll feel confident in naming them a release candidate (RC), after which we will not make any breaking changes to the APIs for that component.

    This beta milestone is a huge accomplishment for the OpenTelemetry community, and every contributor should be proud of the fact that OpenTelemetry is now working and ready to integrate with. This is a great opportunity for the maintainers of client libraries to begin integrating with the OpenTelemetry APIs, for end-users to start integrating it into their services, and for anyone interested in contributing to join our rapidly growing community by joining our mailing lists, Gitter chats, and the monthly community meeting!

    By Morgan McLean, Product Manager

    Read More

    Stadia Savepoint: March updates

    We’re back with another update in our Stadia Savepoint series, providing a summary of recent news on Stadia.

    This month we added seven new games to the Stadia store including DOOM Eternal and Lost Words: Beyond the Page, a First on Stadia title. With Serious Sam Collection, Spitlings and Stacks On Stacks (On Stacks) being added to Stadia Pro on April 1, subscribers can claim and build their library of games, playing for free as part of their subscription.

    stadia.google.com_captures (2) (1).png

    Stadia Capture Library on Web

    Web Capture Library

    Access captured gameplay screenshots and clips on your laptop or desktop and download them from your library.

    4K on Web

    Players with an active Stadia Pro subscription plus the necessary hardware and network speeds can now play Stadia at up to 4K resolution on the web in their Chrome browser.

    Recent content launches on Stadia

    • Borderlands 3: Guns, Love, and Tentacles: The Marriage of Wainwright & Hammerlock Expansion

    • DOOM Eternal

    • Lost Words: Beyond the Page

    • Serious Sam Collection

    • SteamWorld Quest

    • SteamWorld Dig

    • SteamWorld Dig 2

    • SteamWorld Heist

    • The Crew 2

    • Tom Clancy’s The Division 2

    • Tom Clancy’s The Division 2: Warlords of New York Expansion

    New games announced for Stadia

    • Monopoly

    • Monster Jam Steel Titans

    • MotoGP20

    • Relicta

    • The Turing Test

    Stadia Pro updates

    • New games that are free to claim for Stadia Pro subscribers in April: Serious Sam Collection, Spitlings, Stacks On Stacks (On Stacks).

    • Existing games still available to add to your collection: Destiny 2, GRID, GYLT, Metro Exodus, SteamWorld Dig 2, SteamWorld Quest: Hand of Gilgamech and Thumper.

    • Act quickly: Metro Exodus and Thumper leave Stadia Pro on March 31.

    • Ongoing discounts for Stadia Pro subscribers: Check out the web or mobile Stadia store for the latest.

    That’s it for March—we’ll be back soon to share more updates. As always, stay tuned to the Stadia Community Blog, Facebook and Twitter for the latest news. 

    Read More

    COVID-19: $800+ million to support small businesses and crisis response

    As the coronavirus outbreak continues to worsen around the world, it’s taking a devastating toll on lives and communities. To help address some of these challenges, today we’re announcing a new $800+ million commitment to support small- and medium-sized businesses (SMBs), health organizations and governments, and health workers on the frontline of this global pandemic. 

    Our commitment includes:

    • $250 million in ad grants to help the World Health Organization (WHO) and more than 100 government agencies globally provide critical information on how to prevent the spread of COVID-19 and other measures to help local communities. This is an increase from our initial $25 million announced last month. In addition, we’re providing $20 million in ad grants to community financial institutions and NGOs specifically to run public service announcements on relief funds and other resources for SMBs.

    • A $200 million investment fund that will support NGOs and financial institutions around the world to help provide small businesses with access to capital. As one example, we’re working with the Opportunity Finance Network in the U.S. to help fill gaps in financing for people and communities underserved by mainstream financial institutions. This is in addition to the $15 million in cash grants Google.org is already providing to nonprofits to help bridge these gaps for SMBs.

    • $340 million in Google Ads credits available to all SMBs with active accounts over the past year. Credit notifications will appear in their Google Ads accounts and can be used at any point until the end of 2020 across our advertising platforms. We hope it will help to alleviate some of the cost of staying in touch with their customers.

    • A pool of $20 million in Google Cloud credits for academic institutions and researchers to leverage our computing capabilities and infrastructure as they study potential therapies and vaccines, track critical data, and identify new ways to combat COVID-19. Learn how to apply for credits on the Google for Education site.

    • Direct financial support and expertise to help increase the production capacity for personal protective equipment (PPE) and lifesaving medical devices. We’re working with our longtime supplier and partner Magid Glove & Safety, with the goal of ramping up production of 2-3 million face masks in the coming weeks that will be provided to the CDC Foundation. Additionally, employees from across Alphabet, including Google, Verily and X, are bringing engineering, supply chain and healthcare expertise to facilitate increased production of ventilators, working with equipment manufacturers, distributors and the government in this effort.

    In addition to these commitments, we also increased the gift match Google offers every employee annually to $10,000 from $7,500. That means our employees can now give $20,000 to organizations in their communities, in addition to the $50 millionGoogle.org has already donated. Together, we’ll continue to help our communities—including our businesses, educators, researchers and nonprofits—to navigate the challenges ahead.

    Read More

    G Suite developers: Scaling best practices for higher user demands

    As people around the globe increasingly work or learn from home, we want to recognize the impact this shift is having on software providers. Many third-party developers rely on G Suite APIs to deliver richly integrated experiences to users, and it’s crucial for them to plan proactively for potential risks.

    To support developers as usage surges, we’re sharing our recommendations for how to best prepare for new scaling demands and user onboarding, as well as some tips on where to get help.

    1. Plan for increased capacity

    Technology platforms across the ecosystem, and in particular education platforms, are seeing unprecedented increases in usage as many businesses, schools, and universities move towards online and distance learning. If you expect that the usage of your application(s) will increase significantly, we highly recommend you plan for this proactively by considering the following: 

    Google API quota needs: If your application depends on any Google APIs, we recommend that you estimate what your increased traffic might look like so you can make any appropriate quota increase requests. If you find that you will need a quota increase, you should submit a request ASAP with details on how you arrived at your estimations. 

    Here’s how to request a quota increase for any G Suite APIs:

    • If you don’t already have a billing account for your project, create one.

    • In the API Console, visit the Enabled APIs page and select an API from the list.

    • To view and change quota-related settings, select Quotas. To view usage statistics, select Usage.

    Note: For quota increase requests related to YouTube APIs, please submit a request here

    Performance and scalability with Classroom, Drive, and Gmail: When you’re regularly sending a large number of requests, you might receive 403 error responses with reasons such as dailyLimitExceeded, userRateLimitExceeded, or quotaExceeded. To handle these responses gracefully, Classroom has updated its developer docs to include more information on common request errors and how to handle them. For more suggestions on how to optimize your application with Classroom, read these tips for improving performance and batching API requests

    2. Solve new user issues related to distance and online learning 

    As the necessity for online and distance learning increases, schools and districts are being onboarded to G Suite on a domain-wide basis. This makes the APIs that enable developers to programmatically manage accounts and Google Groups all the more crucial. For developers interested in Hangouts Meet integrations—or expanding their knowledge of these integrations—here’s a guide on how to leverage Meet functionality through other G Suite APIs, including the Calendar API and Admin SDK Reports API. 

    For developers looking to explore other G Suite integration options, we recommend reviewing the developer offerings for each of our products here

    3. Know your channels of support

    Below is a list of support options that can help developers quickly find answers.

    • Stack Overflow: Each G Suite API has its own tag for developers to post technical questions to. Each tag is of the format ‘google-productname’ or ‘google-productname-api’, e.g. google-classroom, google-drive-api, and google-calendar-api. 

    • Public Issue Trackers: Google uses public issue trackers to collect feedback from third-party developers. These issue trackers collect all the information needed to investigate so that our support teams can respond as soon as possible. When reporting an issue, please include as many details as possible, including the steps to reproduce the issue, relevant endpoints, request and response JSON, error logs, etc. A list of public issue trackers for all G Suite APIs can be found here.

    As you respond to increasing or changing user demand, we encourage you to reach out for support through our different channels and take advantage of documentation highlighting different ways you can leverage G Suite to support users.

    Read More