Migrating from App Engine Memcache to Cloud Memorystore (Module 13)

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

Introduction and background

The previous Module 12 episode of the Serverless Migration Station video series demonstrated how to add App Engine Memcache usage to an existing app that has transitioned from the webapp2 framework to Flask. Today’s Module 13 episode continues its modernization by demonstrating how to migrate that app from Memcache to Cloud Memorystore. Moving from legacy APIs to standalone Cloud services makes apps more portable and provides an easier transition from Python 2 to 3. It also makes it possible to shift to other Cloud compute platforms should that be desired or advantageous. Developers benefit from upgrading to modern language releases and gain added flexibility in application-hosting options.

While App Engine Memcache provides a basic, low-overhead, serverless caching service, Cloud Memorystore “takes it to the next level” as a standalone product. Rather than a proprietary caching engine, Cloud Memorystore gives users the option to select from a pair of open source engines, Memcached or Redis, each of which provides additional features unavailable from App Engine Memcache. Cloud Memorystore is typically more cost efficient at-scale, offers high availability, provides automatic backups, etc. On top of this, one Memorystore instance can be used across many applications as well as incorporates improvements to memory handling, configuration tuning, etc., gained from experience managing a huge fleet of Redis and Memcached instances.

While Memcached is more similar to Memcache in usage/features, Redis has a much richer set of data structures that enable powerful application functionality if utilized. Redis has also been recognized as the most loved database by developers in StackOverflow’s annual developers survey, and it’s a great skill to pick up. For these reasons, we chose Redis as the caching engine for our sample app. However, if your apps’ usage of App Engine Memcache is deeper or more complex, a migration to Cloud Memorystore for Memcached may be a better option as a closer analog to Memcache.

Migrating to Cloud Memorystore for Redis featured video


Performing the migration

The sample application registers individual web page “visits,” storing visitor information such as IP address and user agent. In the original app, the most recent visits are cached into Memcache for an hour and used for display if the same user continuously refreshes their browser during this period; caching is a one way to counter this abuse. New visitors or cache expiration results new visits as well as updating the cache with the most recent visits. Such functionality must be preserved when migrating to Cloud Memorystore for Redis.

Below is pseudocode representing the core part of the app that saves new visits and queries for the most recent visits. Before, you can see how the most recent visits are cached into Memcache. After completing the migration, the underlying caching infrastructure has been swapped out in favor of Memorystore (via language-specific Redis client libraries). In this migration, we chose Redis version 5.0, and we recommend the latest versions, 5.0 and 6.x at the time of this writing, as the newest releases feature additional performance benefits, fixes to improve availability, and so on. In the code snippets below, notice how the calls between both caching systems are nearly identical. The bolded lines represent the migration-affected code managing the cached data.

Switching from App Engine Memcache to Cloud Memorystore for Redis

Wrap-up

The migration covered begins with the Module 12 sample app (“START”). Migrating the caching system to Cloud Memorystore and other requisite updates results in the Module 13 sample app (“FINISH”) along with an optional port to Python 3. To practice this migration on your own to help prepare for your own migrations, follow the codelab to do it by-hand while following along in the video.

While the code migration demonstrated seems straightforward, the most critical change is that Cloud Memorystore requires dedicated server instances. For this reason, a Serverless VPC connector is also needed to connect your App Engine app to those Memorystore instances, requiring more dedicated servers. Furthermore, neither Cloud Memorystore nor Cloud VPC are free services, and neither has an “Always free” tier quota. Before moving forward this migration, check the pricing documentation for Cloud Memorystore for Redis and Serverless VPC access to determine cost considerations before making a commitment.

One key development that may affect your decision: In Fall 2021, the App Engine team extended support of many of the legacy bundled services like Memcache to next-generation runtimes, meaning you are no longer required to migrate to Cloud Memorystore when porting your app to Python 3. You can continue using Memcache even when upgrading to 3.x so long as you retrofit your code to access bundled services from next-generation runtimes.

A move to Cloud Memorystore and today’s migration techniques will be here if and when you decide this is the direction you want to take for your App Engine apps. All Serverless Migration Station content (codelabs, videos, source code [when available]) can be accessed at its open source repo. While our content initially focuses on Python users, we plan to cover other language runtimes, so stay tuned. For additional video content, check out our broader Serverless Expeditions series.

Grow your skills with Coding Practice with Kick Start

Posted by Julia DeLorenzo, Program Manager, Coding Competitions

Kick Start is one of Google’s online coding competitions offering programmers of all skill levels the opportunity to hone your skills through a series of online rounds hosted throughout the year.

If you’re new to coding competitions and not sure where to start, then join us for Coding Practice with Kick Start! Offering developers of all skills the chance to practice competitive programming problems on your own time without the pressure of a scoreboard or timed round. These practice sessions are not official Kick Start rounds, but are a great way for you to hone your coding skills, connect with a global community, prepare for an interview, and most importantly have fun!

Work your way through fun algorithmic and mathematical problems on the Kick Start platform in four-day practice sessions throughout the 2022 Kick Start season (see full schedule here).

There are two more Coding Practice with Kick Start sessions this year:

  • Coding Practice Session #2: June 27, 2022 (16:00 UTC) – July 1, 2022 (3:00 UTC)
  • Coding Practice Session #3: August 29, 2022 (16:00 UTC) – September 2, 2022 (3:00 UTC)

Here’s what our team of Googlers working behind the scenes to create the problems and walk-throughs have to say about the program, including advice for this year’s participants:

Sarah Young, Software Engineer

What advice would you give to beginning coders?

When first thinking about how to solve a problem, forget about the coding and try to think about it as if you only needed to explain how to do it to someone. Go back and reread the problem to make sure you covered everything. Then you can start breaking it down into logical pieces, and it’ll make everything a lot easier!

Why is Coding Practice with Kick Start/the Kick Start competition such an excellent tool for growing your skills and practicing coding?

Kickstart is a great way to challenge yourself to do fun problems in a competitive but not stressful environment, whether you’re a beginner or have done competitive programming in the past!

Federico Brubacher, Software Engineer

What advice would you give to beginning coders?

My advice to new coders comes in two parts:

First one is to embrace the learning process. Learning a new skill is hard. It’s a rollercoaster process in which one day you are extremely productive/happy and the next you are stuck and bored. If you embrace that there will be bad days and stick with it then you will start making progress doing more difficult programming tasks.

Second is to try to pattern recognize. When we are learning incrementally difficult things, it is good to start by trying to associate the thing you are trying to learn/solve with stuff you have seen in the past. This makes the learning process easier because you are free now to focus on the new parts of the problem you are currently facing and not start from scratch. The hard part is doing the work to distill what you learned every day into patterns.

Why is Coding Practice with Kick Start/the Kick Start competition such an excellent tool for learning and practicing coding?

If you look at my previous answer you can see that pattern recognition is huge when learning coding. Practicing coding on Kick Start is all about pattern matching and thinking about a problem thoroughly armed only with your previous experience.

As you go through the problems you will see the arsenal of tools (patterns) you have to solve problems expand. Then you will use these patterns to solve new problems and continue learning and improving. It is addicting, but the good kind!

Kata Brányiné Sulák, Software Engineer

What advice would you give to beginning coders?

Coding is about solving problems – assembling the general algorithm and data structure pieces so that it results in a working solution. Don’t try to learn the fine details of a specific programming language before jumping in, just use the language syntax to describe/document the steps you want to take. Making the code technically running is the easier part (even if initially you have to google for error messages or unexpected behaviors a lot).

Why is Coding Practice with Kick Start/the Kick Start competition such an excellent tool for growing your skills and practicing coding?

Kick Start’s problem sets are diverse, to make coders encounter wide range of algos and data structures (giving high learning and also fun factors); mostly formulated in real life scenario descriptions to enforce the contestants to transform them into IT concepts (which is a core part of the developers’ work); the input is simplified and is guaranteed to be correct so coders can concentrate on the abstract problem itself and not on writing boilerplate on error handling; and analysis is actually formulated as list of hints giving a second chance to create a solution in practice mode and still get the accomplishment.

Experts.Anyone.Anywhere

Posted by Janelle Kuhlman, Developer Relations Program Manager

Click above to meet our community of Experts

The Google Developer Experts program is a global network of highly experienced technology experts, developers and thought leaders. GDEs share their expertise with other developers and tech communities through a variety of ways such as speaking engagements, mentorship and content writing. The community has access to an exclusive network of experts that span across different Google technologies including Android, Cloud, Machine Learning and more.

Get to know our diverse community and subscribe to the Google Developers YouTube Channel to stay informed on the latest updates across our products and platforms!

The Google Cloud Startup Summit is coming on June 2, 2022

Posted by Chris Curtis, Startup Marketing Manager at Google Cloud

We’re excited to announce our annual Google Cloud Startup Summit will be taking place on June 2nd, 2022.

We hope you will join us as we bring together our startup & VC communities. Join us to dive into topics relevant to startups and enjoy sessions such as:

The future of web3

  • Hear from Google Cloud CEO, Thomas Kurian and Dapper Labs Co-founder and CEO, Roham Gharegozlou, as they discuss web3 and how startups can prepare for the paradigm changes it brings.

VC AMA: Startup Summit Edition

  • Join us for a very special edition of the VC AMA series where we’ll have a discussion with Derek Zanutto from CapitalG, Alison Lange Engel from Greycroft and Matt Turck from FirstMark to discuss investment trends and advice for founders around cloud, data, and the future of disruption in legacy industries.

What’s new for the Google for Startups Cloud Program

  • Exciting announcements from Ryan Kiskis, Director of the Startup Ecosystem at Google Cloud, on how Google Cloud is investing in the startup ecosystem with tailored programs and offers.

Technical leaders & business sessions

  • Growth insights from top startups Discord, Swit, and Streak on how their tech stack helped propel their growth.

Additionally, startups will have an opportunity to join ‘Ask me Anything’ live sessions after the event to interact with Google Cloud startup experts and technical teams to discuss questions that may come up throughout the event.

You can see the full agenda here to get more details on the sessions.

We can’t wait to see you at the Google Cloud Startup Summit. Register to secure your spot today.

How to use App Engine Memcache in Flask apps (Module 12)

Posted by Wesley Chun

Background

In our ongoing Serverless Migration Station series aimed at helping developers modernize their serverless applications, one of the key objectives for Google App Engine developers is to upgrade to the latest language runtimes, such as from Python 2 to 3 or Java 8 to 17. Another objective is to help developers learn how to move away from App Engine legacy APIs (now called “bundled services”) to Cloud standalone equivalent services. Once this has been accomplished, apps are much more portable, making them flexible enough to:

In today’s Module 12 video, we’re going to start our journey by implementing App Engine’s Memcache bundled service, setting us up for our next move to a more complete in-cloud caching service, Cloud Memorystore. Most apps typically rely on some database, and in many situations, they can benefit from a caching layer to reduce the number of queries and improve response latency. In the video, we add use of Memcache to a Python 2 app that has already migrated web frameworks from webapp2 to Flask, providing greater portability and execution options. More importantly, it paves the way for an eventual 3.x upgrade because the Python 3 App Engine runtime does not support webapp2. We’ll cover both the 3.x and Cloud Memorystore ports next in Module 13.

Got an older app needing an update? We can help with that.

Adding use of Memcache

The sample application registers individual web page “visits,” storing visitor information such as the IP address and user agent. In the original app, these values are stored immediately, and then the most recent visits are queried to display in the browser. If the same user continuously refreshes their browser, each refresh constitutes a new visit. To discourage this type of abuse, we cache the same user’s visit for an hour, returning the same cached list of most recent visits unless a new visitor arrives or an hour has elapsed since their initial visit.

Below is pseudocode representing the core part of the app that saves new visits and queries for the most recent visits. Before, you can see how each visit is registered. After the update, the app attempts to fetch these visits from the cache. If cached results are available and “fresh” (within the hour), they’re used immediately, but if cache is empty, or a new visitor arrives, the current visit is stored as before, and this latest collection of visits is cached for an hour. The bolded lines represent the new code that manages the cached data.

Adding App Engine Memcache usage to sample app

Wrap-up

Today’s “migration” began with the Module 1 sample app. We added a Memcache-based caching layer and arrived at the finish line with the Module 12 sample app. To practice this on your own, follow the codelab doing it by-hand while following the video. The Module 12 app will then be ready to upgrade to Cloud Memorystore should you choose to do so.

In Fall 2021, the App Engine team extended support of many of the bundled services to next-generation runtimes, meaning you are no longer required to migrate to Cloud Memorystore when porting your app to Python 3. You can continue using Memcache in your Python 3 app so long as you retrofit the code to access bundled services from next-generation runtimes.

If you do want to move to Cloud Memorystore, stay tuned for the Module 13 video or try its codelab to get a sneak peek. All Serverless Migration Station content (codelabs, videos, source code [when available]) can be accessed at its open source repo. While our content initially focuses on Python users, we hope to one day cover other language runtimes, so stay tuned. For additional video content, check out our broader Serverless Expeditions series.

Celebrating leaders in AAPI communities

Posted by Google Developer Studio

In recognition of Asian Americans and Pacific Islanders Heritage Month, we are speaking with mentors and leaders in tech and who identify as part of the AAPI community. Many of the influential figures we feature are involved with and help champion inclusivity programs like Google Developer Experts and Google Developer Student Clubs, while others work on leading in product areas like TensorFlow and drive impact through their line of work and communities.

On that note, we are honoring this year’s theme of “Advancing Leaders Through Collaboration” by learning more about the power of mentorship, advice they’ve received from other leaders, and their biggest accomplishments.

Read more about leads in the AAPI community below.

Ben Hong

Senior Staff Developer Experience Engineer at Netlify

What’s the best piece of advice you can offer new/junior developers looking to grow into leadership roles?

There is a lot of advice out there on how to get the most out of your career by climbing the ladder and getting leadership roles. Before you embark on that journey, first ask yourself the question “Why do I want this?”

Becoming a leader comes with a lot of glitz and glamor, but the reality is that it carries a huge weight of responsibility because the decisions and actions you take as a leader will impact the lives of those around you in significant ways you can’t foresee.

As a result, the key to becoming the best leader you can be is to:

  1. Establish what your values and principles are
  2. Align them to the actions you take each and every day

Because at the end of the day, leaders are often faced with difficult decisions that lead to an uncertain future. And without core values and principles to guide you as an individual, you run the risk of being easily swayed by short term trade offs that could result in a long term loss.

This world needs leaders who can stand their ground against the temptations of short-term wins and make the best decisions they can while fighting for those that follow them. If you stand firm in your values and listen to those around you, you’ll be able to create profound impact in your community.

Taha Bouhsine

Data Scientist and GDSCUIZ Lead

What’s the best piece of advice you can offer new/junior developers looking to grow into leadership roles?

Create a journey worth taking. You will face many challenges and a new set of problems. You will start asking a lot of questions as everything seems to be unfamiliar.

Things get much lighter if you are guided by a mentor, as you will get guidance on how to act in this new chapter of life. In your early days, invest as much as you can in building and nurturing a team, as it will save you a lot of time along the road. Surround yourself with real people who take the initiative, get to the action, and are willing to grow and learn, nurture their skills and guide them towards your common goal. Don’t try to be a people pleaser as it’s an impossible mission.

Your actions will offend some people one way or the other. That’s ok as you should believe in your mission, create a clear plan with well-defined tasks and milestones, and be firm with your decision. In the end, responsibility is yours to bear, so at least take it on something you decided, not something that was forced upon you by others.

Finally, when there is fire, look for ways to put it out. Take care of your soul, and enjoy the journey!

Huyen Tue Dao

Android Developer, Trello

What do you love most about being a part of the developer community?

It has been the most rewarding and critical part of my career to meet other developers, learning and sharing knowledge and getting to know them as human beings.

Development is a job of constant learning, whether it is the latest technology, trends, issues, and challenges or the day-to-day intricacies and nuances of writing specialized code and solving problems in efficient and elegant ways. I don’t think I’d have the tools to solve issues large and small without the sharing of knowledge and experience of the developer community. If you’re having a problem of any kind, chances are that someone has had the same challenges. You can take comfort that you can probably find the answer or at least find people that can help you. You can also feel confident that if you discovered something new or learned important lessons, someone will want to hear what you have to say.

I love seeing and being part of this cycle and interchange; as we pool our experience, our knowledge, and insights, we become stronger and more skilled as a community. I would not be the engineer or person that I am without the opportunities of this exchange.

Just as important, though, is the camaraderie and support of those who do what I do and love it. I have been so fortunate to have been in communities that have been open and welcoming, ready to make connections and form networks, eager to celebrate victories and commiserate with challenges. Regardless of the technical and personal challenges of the everyday that may get to me, there are people that understand and can support me and provide brilliantly diverse perspectives of different industries, countries, cultures, and ages.

Malak Magdy Ali

Google Developer Student Club Lead at Canadian International College, Egypt

What’s the best piece of advice you can offer new/junior developers looking to grow into leadership roles?

The best piece of advice I can give to new leaders is to have empathy. Having empathy will make you understand people’s actions and respect their feelings. This will make for stronger teams.

Also, give others a space to lead. Involve your team in making decisions; they come up with great ideas that can help you and teammates learn from each other. In this process, trust is also built, resulting in a better quality product.

Finally, don’t underestimate yourself. Do your best and involve your team to discuss the overall quality of your work and let them make recommendations.

Helping you build across devices, platforms, and the world

Posted by Jeanine Banks, VP & General Manager of Developer X & Head of Developer Relations

We’re thrilled to be back at the Shoreline Amphitheatre hosting Google I/O this week. It’s great to connect with you all from around the world virtually and in person.

I/O is our love letter to you, the developer. Developers are the engine which enables the information revolution. But more than that, it’s developers who turn information and ideas into code that powers the way we learn, work, communicate, and play.

A few decades ago, building a digital experience meant publishing a static website and reaching thousands of people on their desktops. Today, it means a lightning-fast, interactive experience across browsers, desktops, phones, tablets, virtual assistants, TVs, gaming consoles, cars, watches, and more. People expect new features faster than ever — all while we respect and uphold the highest standards for privacy and safety.

To help you deal with the complexity and rising expectations, we want to bring simplicity to the challenges you face. This week at I/O, we shared the beginning of a long-term effort to connect our developer products to work even better together, and provide more guidance and best practices to optimize your end-to-end workflow. Here are just a few highlights of what we announced in the developer keynote:

  • The new ARCore Geospatial API, that lets you place AR content at real-world locations in 87 countries without physically being there.
  • Modern Android Development for the best experiences on any screen, including new Jetpack Compose support for WearOS and tablets, an upgrade to Android Studio with Live Edit, and much more.
  • Chrome DevTools’ new Performance Insights panel and support coming in WebAssembly for managed programming languages like Dart, Java, and Kotlin.
  • Flutter 3, our open source multi-platform UI framework, now supports six platforms for building beautiful applications from a single code base.
  • Firebase Crashlytics seamlessly integrated across Android Studio, Flutter, and Google Play for consistent and actionable crash reporting.
  • Cloud Run jobs to execute batch data transformation, administrative tasks or scheduled jobs, and AlloyDB for PostgreSQL, our new fully managed, relational database that’s more than 4x faster than standard PostgreSQL for transactional workloads.
  • Exciting research in AI-assisted coding and the AI for Code (AI4Code) challenge on Kaggle in partnership with X, the moonshot factory.

Watch the developer keynote or this recap video to get a fuller taste of what’s new this year across many of our platforms including Android, ARCore, Chrome OS, Cloud, Flutter, Firebase, Google Play, Kaggle, Machine Learning, and Web Platform:

Whether you are looking to build your first app, expand what your products can do, or leverage ML easily and responsibly, we hope you will be inspired by the vast space in front of you to make your ideas a reality and make people’s lives better.

Make the world your canvas with the ARCore Geospatial API

Posted by Bilawal Sidhu, Senior Product Manager, Google Maps and Eric Lai, Group Product Manager, ARCore

ARCore, our AR developer platform, works across billions of devices, providing developers with simple yet powerful tools to build immersive experiences that seamlessly blend the digital and physical worlds.

In 2019, we launched the ARCore Cloud Anchors API for developers to anchor content to specific locations and design experiences that can be shared over time by multiple people across many different devices. Since then, we’ve been listening to developer feedback on how to make it easier to create and deploy AR experiences at scale.

Today, we’re taking a leap forward by launching the ARCore Geospatial API in ARCore SDKs for Android and iOS across all compatible ARCore-enabled devices. This API is available now at no cost to download and opens up nearly 15 years of our understanding of the world through Google Maps to help developers build AR experiences that are more immersive, richer and more useful.

The Geospatial API provides access to global localization — the same technology that has been powering Live View in Google Maps since 2019, providing people with helpful AR powered arrows and turn-by-turn directions. Based on the Visual Positioning Service (VPS) with tens of billions of images in Street View, developers can now anchor content by latitude, longitude and altitude in over 87 countries, without being there or having to scan the physical space, saving significant time and resources.

Using machine learning to compute a 3D point-cloud of the environment from Google Street View imagery

For end users, discovering and interacting with AR is faster and more accurate as images from the scanned environment are instantaneously matched against our model of the world. This model is built using advanced machine-learning techniques, which extract trillions of 3D points from Street View images that are then used to compute the device position and orientation in less than a second. In other words, users can be anywhere Street View is available, and just by pointing their camera, their device understands exactly where it is, which way it is pointed and where the AR content should appear, almost immediately.

We’ve been working with early access partners like the NBA, Snap, Lyft, and more to explore and build applications for different industries, including education, entertainment and utility. For example, micro mobility companies Bird, Lime and WeMo are using the API to remove friction from parking e-scooters and e-bikes, adding pinpoint accuracy so riders know exactly when their vehicle is in a valid parking spot. Lime has been piloting the experience in London, Paris, Tel Aviv, Bordeaux, Madrid, and San Diego.

Bird (left) and Lime (right) use the ARCore Geospatial API to enable more precise location-based AR experiences

Telstra and Accenture are using the API to help sports fans and concertgoers find their seats, concession stands and restrooms at Marvel Stadium in Melbourne, Australia. DOCOMO and Curiosity are building a new game that lets you fend off virtual dragons with robot-companions in front of iconic Tokyo landmarks.

Telstra and Accenture (left) and DOCOMO (right) use the ARCore Geospatial API to create new, entertaining AR experiences

To help you get started, we’re also releasing two open source demo apps to clone and extend into your own applications. Balloon Pop lets people place and use balloons as targets around the world, together and at the same time. Pocket Garden lets you adorn your neighborhood with a colorful AR community garden.
Balloon Pop (left) and Pocket Garden (right) are open source demo apps that showcase the ARCore Geospatial API

With the introduction of the ARCore Geospatial API we’re providing the foundation for building world scale AR experiences. Get started today at g.co/ARCore. We’re excited to see what you create when the world is your canvas!

Coral, Google’s platform for Edge AI, chooses ASUS as OEM partner for global scale

We launched Coral in 2019 with a mission to make edge AI powerful, private, and efficient, and also accessible to a wide variety of customers with affordable tools that reliably go from prototype to production. In these first few years, we’ve seen a strong growth in demand for our products across industries and geographies, and with that, a growing need for worldwide availability and support.

That’s why we’re pleased to announce that we have signed an agreement with ASUS IoT, to help scale our manufacturing, distribution and support. With decades of experience in electronics manufacturing at a global scale, ASUS IoT will provide Coral with the resources to meet our growth demands while we continue to develop new products for edge computing.

ASUS IoT is a sub-brand of ASUS dedicated to the creation of solutions in the fields of AI and the internet of things (IoT). Their mission is to become a trusted provider of embedded systems and the wider AI and IoT ecosystem. ASUS IoT strives to deliver best-in-class products and services across diverse vertical markets, and to partner with customers in the development of fully-integrated and rapid-to-market applications that drive efficiency – providing convenient, efficient, and secure living and working environments for people everywhere.

ASUS IoT already has a long-standing history of collaboration with Coral, being the first partner to release a product using the Coral SoM when they launched the Tinker Edge T development board. ASUS IoT has also integrated Coral accelerators into their enterprise class intelligent edge computers and was the first to release a multi Edge TPU device with the award winning AI Accelerator PCIe Card. Because we have this history of collaboration, we know they share our strong commitment to new innovation in edge computing.

ASUS IoT also has an established manufacturing and distribution processes, and a strong reputation in enterprise-level sales and support. So we’re excited to work with them to enable scale and long-term availability for Coral products.

With this agreement, the Coral brand and user experience will not change, as Google will maintain ownership of the brand and product portfolio. The Coral team will continue to work with our customers on partnership initiatives and case studies through our Coral Partnership Program. Those interested in joining our partner ecosystem can visit our website to learn more and apply.

Coral.ai will remain the home for all product information and documentation, and in the coming months ASUS IoT will become the primary channel for sales, distribution and support. With this partnership, our customers will gain access to dedicated teams for sales and technical support managed by ASUS IoT.

ASUS IoT will be working to expand the distribution network to make Coral available in more countries. Distributors interested in carrying Coral products will be able to contact ASUS IoT for consideration.

We continue to be impressed by the innovative ways in which our customers use Coral to explore new AI-driven solutions. And now with ASUS IoT bringing expanded sales, support and resources for long-term availability, our Coral team will continue to focus on building the next generation of privacy-preserving features and tools for neural computing at the edge.

We look forward to the continued growth of the Coral platform as it flourishes and we are excited to have ASUS IoT join us on our journey.

Google Developer Student Club 2022 Lead applications are open!

Posted by Erica Hanson, Global Program Manager, Google Developer Student Clubs

Image that says become a leader at your university with a photo of students smiling in the top right hand corner

Hey, student developers! If you’re passionate about programming and are ready to use your technology skills to help your community, then you should become a Google Developer Student Clubs Lead!

The application form for the upcoming 2022-2023 academic year is NOW OPEN. Get started at goo.gle/gdsc-leads.

Want to know more? Learn more about the program below.

What are Google Developer Student Clubs?

Google Developer Student Clubs (GDSC) are university based community groups for students interested in Google developer technologies. With clubs hosted in 110+ countries around the world, students from undergraduate and graduate programs with an interest in leading a community are welcome. Together, students learn the latest in Machine Learning, Android App Development, Google Cloud Platform, Flutter, and so much more.

By joining a GDSC, students grow their knowledge in a peer-to-peer learning environment and put theory to practice by building solutions for local businesses and their community.

How will I improve my skills?

As a Google Developer Student Club Lead you will have the chance to…

  • Gain mentorship from Google.
  • Join a global community of leaders.
  • Practice by sharing your skills.
  • Help students grow.
  • Build solutions for real life problems.

How can I find a Google Developer Student Club near me?

Google Developer Student Clubs are now in 110+ countries with 1500+ groups. Find a club near you or learn how to start your own, here.

When do I need to submit the Application form?

We encourage students to submit their forms as soon as possible. You can learn more about your region’s application deadlines, here. Make sure to learn more about our program criteria.

Get Started

From working to solve the United Nations Sustainable Development Goals to combating climate issues, Google Developer Student Club leads are learning valuable coding skills while making a true difference.

As Leads from clubs around the world put it:

  • Lead from Indonesia – “The best way to learn to be a leader is to be a leader itself, and being a GDSC Lead is the best way to do that.”
  • Lead from United Kingdom – “It’s an experience that challenges you to critically think about some decisions and come up with creative and innovative new approaches for things that you thought you know about leadership.”
  • Lead from Uganda – “Becoming a GDSC lead has been an amazing opportunity to learn, engage and meet different new people in my life. It was instrumental in my career development.”

We can’t wait to see what our next group of Google Developer Student Club leads will accomplish this year. Join the fun and get started, here.

*Google Developer Student Clubs are student-led independent organizations, and their presence does not indicate a relationship between Google and the students’ universities.

Introducing the Google Forms API

Posted by Christian Schalk, Developer Advocate

Building on the power of Google Forms

For the first time, Google Forms has an API and we are going to show you how you can use it and what’s in it. The new Google Forms API joins the large family of APIs available to developers under the Google Workspace Platform. The Forms API provides programmatic access for managing forms, acting on responses, and empowering developers to build powerful integrations on top of Forms.

The API supports two key use cases

Automated form creation and editing: Enables automated form creation and editing. Enables rapid form generation from large volume question banks or other data backends.

Reaction to Form responses: The API also enables developers to build automations for acting on incoming responses. Examples include developing real-time dashboards or visualizations and triggering business workflows based on response data.

Example Use Cases

Education Automation Integrations

  • Integrations with Learning Management Systems
  • Custom form/quiz generation from question banks
  • Student tracking with real-time dashboards

Customer Management and Support

  • Auto-generate surveys / forms based on customer data
  • Trigger notifications and processes based on responses from customers

Data Analysis and Visualization

  • Create custom visualizations with response data
  • Leverage push notifications to update in realtime

API Functionality

The Forms API has a rich set of methods to perform all forms operations.

Core Methods

  • forms.create – Creates a new form
  • forms.get – Get all information on a form
  • forms.batchUpdate – Perform form updates (add, edit, delete form items)
  • forms.responses.list – List all responses from a form
  • forms.responses.get – Get a single response from a form

Forms API ‘Watches’

Forms API Watches allow applications to subscribe to Cloud Pub/Sub notifications when forms change events occur.

Event types

  • Schema – Changes to form content or settings
  • Response – When form responses are submitted

Watch Methods

  • forms.watches.create
  • forms.watches.delete
  • forms.watches.list
  • forms.watches.renew

Examples developers have built during Beta

We had a great community response to our call for early access and beta developers and are proud to share some of their innovative integration examples with you.

Thousands of SMBs rely on Zapier’s current Google Forms integration today, which enables their users to connect Google Forms to 4000+ other applications. Zapier users automate tens of thousands of tasks daily using Google Forms, for example in coordinating internal business processes, handling external customer requests, even helping educators manage classroom activities, all which will be made much more reliable with the updated integration on the new Forms API.

Try it out here!

Portant’s new Google Forms API integration enables users to connect Google Forms to Google Docs & Slides to create custom document workflows. Some of the features enabled by Portant’s Forms API integration include:

  • Auto-Create – Automatically create new documents when a Google Form response is submitted.
  • Customize Documents – Personalize Docs and Slides by inserting question responses into templates.
  • Insert Images – Insert images and gifs into documents, slides and emails.
  • Multiple Docs – Create multiple documents and presentations in one workflow.
  • Export to PDF – Automatically save documents and presentations as PDFs.
  • Share via Gmail – Automatically share created documents via personalized emails.

Try it out here!

Automagical Forms is a Google Workspace Add-on with integrations in Drive, Docs, Slides, and Gmail. It finds questions in the files and makes it easy to create a Google Form. With the help of the Forms API it can also export Forms to other integrations. Implementing the Forms API has increased their development speed by over 3x, which is helpful for Google Workspace Add-ons that can only run for 30 seconds. Their current integration generates Short Answer and Multiple Choice forms with export to other file formats for 3rd party integrations. Their next implementations will include embedded images, and push notifications (Pub/Sub) for acting on Forms responses.

Try it out here!

Form Builder Plus helps to build your Google Form from existing content of Google Sheets, Docs, Slides, Drive, Gmail, and Calendar automatically. This saves time and effort of people who regularly create new forms. It uses the Forms API to add questions in bulk within a few seconds. Educators like teachers, trainers, coaches, quiz masters use it for creating Google Forms quickly to conduct assessment, quizzes, exams etc. Businesses that use Google Forms for skill assessments or recruiting use it to rotate questions from question bank spreadsheets and other existing documents.

Try out the add-on here or see a short video demo!

Getting Started

If you’d like a quick recap of the Forms API, please watch the overview video. We’ve also created a list of resources to help you quickly get started and get community support.

We’re very excited about this announcement and can’t wait to see what you build for Google Workspace! For more announcements about the Google Workspace Platform and APIs, please subscribe to our developer newsletter.

Celebrating global women in tech and trailblazers

Posted by Google Developer Studio

In honor of Women’s History Month, we are featuring tech trailblazers who have made significant contributions to developer communities close to Google and beyond. Many of the women we spoke to work directly with some of our educational outreach and inclusivity programs like Google Developer Experts and Women Techmakers, while others are Google Developer Student Clubs participants or Googlers who do incredible work around the globe.

They all share a passion for making the developer community more accessible and inclusive for generations of women to come. Read about them below to learn more about these individuals whose drive contributes to a better workplace and world.

We’re proud to celebrate #WHM22 with them.

Google Developer Experts

Laura Morillo-Velarde Rodríguez

Guest’s location: Zaragoza, Spain

Tell us more about your role.

I work as a Tech Lead at Seedtag, a contextual advertising company, where I help build an amazing tech team to go through all the technical challenges that we have to face. Besides that, I’m also a Women Techmakers Ambassador and Cloud Google Developer Expert.

Is there a project you’ve worked on recently that you’re excited to share?

During the pandemic I started recording podcasts (in Spanish) with some friends (GDG Spain Podcast, Cloud Español) and one of those is Tech & Ladies Podcast. Every two weeks Cristina Pampín, Silvia García and I talk with other women in tech about their careers, different technologies or other topics related to the tech space.

What makes you passionate about being in the tech space?

I’m passionate about the tech space because you always have something new to learn. I think that this can be a bit overwhelming sometimes, as you need to find the time and it usually involves a lot of self-study, but it also prevents our work from becoming boring.

What is the biggest piece of advice you would offer professionals starting in the tech space?

I would recommend them to make the most of the technical communities that we have. There, you can learn a lot, meet amazing people and contribute to the growth of others with your knowledge and experience.

Luz Maria Maida Claude

Guest’s Location: Ingelheim, Germany

Tell us more about your role.

I’ve been a Software Engineer for the last 7 years. Right now, I’m working at BIX that is the Digital Lab of Boehringer Ingelheim. Although my job description is “Frontend Engineer,” the reality is that every day I have different challenges that involve a great diversity of technologies and tools.

Is there a project you’ve worked on recently that you’re excited to share?

With my team I created some prototypes using hardware oriented to the healthcare systems. In my free time I’m creating a project to collect funds for stray animals.

What makes you passionate about being in the tech space?

Technology gives us the power to turn our ideas into reality, but many of the things that are in our lives today are there because we share our knowledge with others. Thanks to many communities and groups we have more opportunities to improve our environments and grow step by step, something that is important in this time where we need to create changes.

What is the biggest piece of advice you would offer professionals starting in the tech space?

Be curious, trust in yourself and enjoy the journey. It is important to understand that every day counts to reach the objectives that we have. We’ll never have all the knowledge, but your current version knows something more than yesterday and the last week. Don’t stop and continue growing.

Google’s Coding Competitions

Chu-Ling Ko

Guest’s Location: Palo Alto, California

Tell us more about your role

I am a software engineer at Google for Clinicians of Google Health. Also, I am a volunteer for Google’s Coding Competitions. We develop the coding competition problems for Kick Start, Code Jam, and Code Jam to I/O for Women!

Is there a project you’ve worked on recently that you’re excited to share?

Recently, a group of women volunteers including me are working together to develop the problem sets for Code Jam to I/O for Women 2022. We prepare input verifiers, test case generators, various solutions (and some fake ones), and solution articles. It is so exciting that we are all a part of this amazing event!

What makes you passionate about being in the tech space?

I am so passionate about this work because it is something that helps people. Google’s Coding Competition team produces plenty of high-quality problem sets every year, along with comprehensible, educational solution articles. We hope the participants can enjoy and learn new things from each of our coding competitions!

What is the biggest piece of advice you would offer professionals starting in the tech space?

Enjoy and take everything you are doing seriously, and appreciate the people you meet in the adventure!

Tatiyana Mishtal

Guest’s Location: Zurich, Switzerland

Tell us more about your role.

I’m a Senior Software Engineer at YouTube Content ID, also TL of our team. We are working on detection of copyright violations on YouTube. Due to the specifics of our product, we have a very intensive Quality focus – I spend a lot of time on data analysis and cross-team collaboration to improve automated decisions made. At the same time reliability requirements, new signals development and continuous improvements to YouTube infrastructure bring endless interesting engineering challenges as well.

Is there a project you’ve worked on recently that you’re excited to share?

In addition to my main project, I’m also part of the Hash Code team. For several years already we have organized this coding competition for developers of all levels from all around the world. And just a few weeks ago we held the 2022 Qualification Round, which was especially challenging for us. Not only did we need to prepare a hard and exciting problem for the competition as we do every year, but also we had migrated to the new Google Coding Competitions platform and it was our debut there. Thanks to ours and the Coding Competitions team’s joint effort everything went smoothly!

What makes you passionate about being in the tech space?

I really like making things work. I enjoy solving problems, overcoming challenges and in the end seeing how results impact people’s lives. I especially value personal time and it delights me that technology can both improve the quality of people’s lives and cut the “time cost” of many mundane things.

What is the biggest piece of advice you would offer professionals starting in the tech space?

Ask “why” instead of “how”. Why something works the way it does, why people came to particular ideas and why would one use the technology in a way they do. There are a lot of options of “how” for everything in tech, but you need to know “why” to take the most out of it.

Google Developer Groups

Michelle Mannering

Guest’s Location: Melbourne, Victoria

Tell us more about your role.

The GitHub DevRel team gets to do some of the most amazing things in the Developer Relations space. We showcase the products and services that GitHub has, but more importantly we highlight the awesome things our community is doing. Whether someone is a maintainer, an open source contributor, student, or developer working within a company, everyone has a unique and interesting experience. By showcasing these cool developers and projects we can show how people are building better things for the world.

Is there a project you’ve worked on recently that you’re excited to share?

We’re always doing such fun and awesome things at GitHub. One of the things I’ve been working on a lot is the Release Radar. It’s a monthly blog post that goes out showcasing awesome open source projects. We also have a video that goes out featuring some of the projects, talking about what they do, and how others can use them. It’s a really awesome way to get the word out about what developers are building. You can find out more on releaseradar.github.com

What makes you passionate about being in the tech space?

I really love talking to others and hearing about their journey and experience. The best thing about the tech space is listening to someone get really excited about the thing they are building and then showing it to as many people as possible. I’m always so blown away by what people can create. I’ve been in this boat a few times and when you’re learning or building something and you get it right, and it deploys and doesn’t break, it’s not just you that gets excited, but everyone around you!

What is the biggest piece of advice you would offer professionals starting in the tech space?

Don’t think that this is a space where you have to be a genius and know everything. Everyone, all developers, from the most junior to the most senior, still use Stack Overflow to find answers. Never think you are not enough, and on the flip side, never think that you know it all. You can always learn more. So my best advice is “no matter what your role or your experience, always be learning!”

Cassidy Williams

Guest’s Location: Chicago, Illinois

Tell us more about your role.

In short: I build open source and educational content to help people get jobs!

Is there a project you’ve worked on recently that you’re excited to share?

I’ve been working on my newsletter full of web news, practice interview questions, and jokes! It’s at cassidoo.co/newsletter and I’m about to hit my 5-year-anniversary writing it!

What makes you passionate about being in the tech space?

Tech is such a creative, logical, exciting field that can change peoples’ lives. I love helping people get jobs in tech to afford and build the lives and ideas they want to.

What is the biggest piece of advice you would offer professionals starting in the tech space?

Look for people who are where you want to be. Look at their paths, and see how you can try to mimic it. Make yourself available for people to mimic you. One of my favorite quotes is to “lift as you climb”! If you help others as you move forward in their careers as you move forward in yours, you’ll build a wonderful community of people around you, and make the tech community a better place!