Author Archives: Google Developers

Creating an app to help your community during the pandemic with Gaston Saillen #IamaGDE

Welcome to #IamaGDE - a series of spotlights presenting Google Developer Experts (GDEs) from across the globe. Discover their stories, passions, and highlights of their community work.

Gaston Saillen started coding for fun, making apps for his friends. About seven years ago, he began working full-time as an Android developer for startups. He built a bunch of apps—and then someone gave him an idea for an app that has had a broad social impact in his local community. Now, he is a senior Android developer at Distillery.

Meet Gaston Saillen, Google Developer Expert in Android and Firebase.

Photo of Gaston

Building the Uh-LaLa! app

After seven years of building apps for startups, Gaston visited a local food delivery truck to pick up dinner, and the server asked him, “Why don’t you do a food delivery app for the town, since you are an Android developer? We don’t have any food delivery apps here, but in the big city, there are tons of them.”

The food truck proprietor added that he was new in town and needed a tool to boost his sales. Gaston was up for the challenge and created a straightforward delivery app for local Cordoba restaurants he named Uh-Lala! Restaurants configure the app themselves, and there’s no app fee. “My plan was to deliver this service to this community and start making some progress on the technology that they use for delivery,” says Gaston. “And after that, a lot of other food delivery services started using the app.”

The base app is built similarly to food delivery apps for bigger companies. Gaston built it for Cordoba restaurants first, after several months of development, and it’s still the only food delivery app in town. When he released the app, it immediately got traction, with people placing orders. His friends joined, and the app expanded. “I’ve made a lot of apps as an Android engineer, but this is the first time I’ve made one that had such an impact on my community.”

He had to figure out how to deliver real-time notifications that food was ready for delivery. “That was a little tough at first, but then I got to know more about all the backend functions and everything, and that opened up a lot of new features.”

He also had to educate two groups of users: Restaurant owners need to know how to input their data into the app, and customers had to change their habit of using their phones for calls instead of apps.

Gaston says seeing people using the app is rewarding because he feels like he’s helping his community. “All of a sudden, nearby towns started using Uh-LaLa!, and I didn't expect it to grow that big, and it helped those communities.”

During the COVID-19 pandemic, many restaurants struggled to maintain their sales numbers. A local pub owner ran a promotion through Instagram to use the Uh-Lala! App for ten percent off, and their sales returned to pre-COVID levels. “That is a success story. They were really happy about the app.”

image of person holding a phone and an image of an app on the phone

Becoming a GDE

Gaston has been a GDE for seven years. When he was working on his last startup, he found himself regularly answering questions about Android development and Firebase on StackOverflow and creating developer content in the form of blog posts and YouTube videos. When he learned about the GDE program, it seemed like a perfect way to continue to contribute his Android development knowledge to an even broader developer community. Once he was selected, he continued writing blog posts and making videos—and now, they reach a broader audience.

“I created a course on Udemy that I keep updated, and I’m still writing the blog posts,” he says. “We also started the GDG here in Cordoba, and we try to have a new talk every month.”

Gaston enjoys the GDE community and sharing his ideas about Firebase and Android with other developers. He and several fellow Firebase developers started a WhatsApp group to chat about Firebase. “I enjoy being a Google Developer Expert because I can meet members of the community that do the same things that I do. It’s a really nice way to keep improving my skills and meet other people who also contribute and make videos and blogs about what I love: Android.”

The Android platform provides developers with state-of-the art tools to build apps for user. Firebase allows developers to accelerate and scale app development without managing infrastructure; release apps and monitor their performance and stability; and boost engagement with analytics, A/B testing, and messaging campaigns.

photo of a webpage in another language

Future plans

Gaston looks forward to developing Uh-La-La further and building more apps, like a coworking space reservation app that would show users the hours and locations of nearby coworking spaces and allow them to reserve a space at a certain time. He is also busy as an Android developer with Distillery.

Photo of Gaston on a telelvision show

Gaston’s advice to future developers

“Keep moving forward. Any adversity that you will be having in your career will be part of your learning, so the more that you find problems and solve them, the more that you will learn and progress in your career.”

Learn more about the Experts Program → developers.google.com/community/experts

Watch more on YouTube → https://goo.gle/GDE

Follow us on Twitter and LinkedIn

How to get started in cloud computing

Posted by Google Cloud training & certifications team

Validated cloud skills are in demand. With Google Cloud certifications, employers know that certified individuals have proven knowledge of various professional roles within the cloud industry. Google Cloud certifications have also been recognized as some of the highest-paying IT certifications for the past several years. This year, the Google Cloud Certified Professional Data Engineer topped the list with an average salary of $171,749, while the Google Cloud Certified Professional Cloud Architect came in second place, with an average salary of $169,029.

You may be wondering what sort of background you need to take advantage of these opportunities: What sort of classes should you take? How exactly do you get started in the cloud without experience? Here are some tips to start learning about Google Cloud and build your cloud computing skills.

Get hands-on experience with cloud computing

Google Cloud training offers a wide range of learning paths featuring comprehensive courses and hands-on labs, so you get to practice with the real Google Cloud console. For instance, If you wanted to take classes to prepare for the Professional Data Engineer certification mentioned above, there is a complete learning path featuring four courses and 31 hands-on labs to help familiarize you with relevant topics like BigQuery, machine learning, IoT, TensorFlow, and more.

There are nine learning paths providing you with a launch pad to all major pillars of cloud computing, from networking, cloud security, database management, and hybrid cloud infrastructure. Each broader learning path contains specific learning paths to help you specifically train for job roles like Machine Learning Engineer. Visit the Google Cloud training page to find the right path for you.

Learn live from cloud experts

Google Cloud regularly hosts a half-day live training event called Cloud OnBoard which features hands-on learning led by experts. All sessions are also available to watch on-demand after the event.

If you’re a developer new to cloud computing, we recommend you start with Google Cloud Fundamentals, an entry-level course to learn about the basics of Google Cloud. Experts guide you through hands-on labs where you can practice using the Google Console, Google Cloud Shell, and more.

You’ll be introduced to core components of Google Cloud and given an overview of how its tools impact the entire cloud computing landscape. The curriculum covers Compute Engine and how to create VM instances from scratch and from existing templates, how to connect them together, and end with projects that can talk to each other safely and securely. You will also learn about the different storage and database options available on Google Cloud.

Other Cloud OnBoard event topics include cloud architecture, Kubernetes, data analytics, and cloud application development.

Explore Google Cloud infrastructure

Cloud infrastructure is the backbone of the internet. Understanding cloud infrastructure is a good starting point to start digging deeper into cloud concepts because it will give you a taste of the various aspects of cloud computing to figure out what you like best, whether it’s networking, security, or application development.

Build your foundational Google Cloud knowledge with our on-demand infrastructure training in the cloud infrastructure learning path. This learning path will provide you with practical experience through expert-guided labs which dive into Cloud Storage and other key application services like Google Cloud’s operations suite and Cloud Functions.

Show off your skills

Once you have a strong grasp on Google Cloud basics, you can start earning skill badges to demonstrate your experience.

Skill badges are digital credentials that recognize your ability to solve real-world problems with your cloud knowledge. You can share them on your resume or social profile so your professional network sees your technical skills. This can be useful for recruiters or employers as you transition to cloud computing work.Skill badges also enable you to get in-depth, hands-on experience with different Google Cloud offerings on the way to earning the credential.

You can also use them to start preparing for Google Cloud certifications which are more intensive and show employers that you are a cloud expert. Most Google Cloud certifications recommend having at least 6 months or up to several years of industry experience depending on the material.

Ready to get started in the cloud? Visit the Google Cloud training page to see all your options from in-person classes, online courses, special events, and more.

Growing as a Technologist in Shanghai with Google Developer Groups

Posted by Brian Shen, Regional Lead for Mainland China Developer Communities

Banner image shows a photo of Ning Zhang, member of GDG Shanghai. There is also a photo of the GDG Shanghai banner. Text reads Growing as a Technologist in Shanghai with Google Developer Groups

Every developer’s path to pursuing a career in tech can be traced back to a single moment. Such is the case for Ning Zhang, a developer from China, who found his early interest in web development as a high schooler at the age of fifteen. Ning built his first website for his English class to help his classmates succeed with their studies. He didn’t realize it at the time, but he was only just getting started. Throughout high school, he played with Google Webmaster Tools (now Google Search Console) and Google Adsense to create and manage numerous other websites for fun. Like so many aspiring developers before him, Ning knew he’d found his passion, but the path ahead remained unclear.

Enter Google Developer Groups

To grow his skills further and turn his hobby into a viable career path, Ning majored in data science at university in Qingdao. Here, he participated in data-modeling competitions like Kaggle Days, and other events that gave him more exposure to the tech community and allowed him to learn from his peers. It’s also where he first heard about Google Developer Groups (GDGs) and their many opportunities for learning, networking and collaboration.

It was perfect timing too. After graduation Ning got a job with a financial services firm in Shanghai, home to a very active GDG. He jumped at the chance to engage in activities and workshops to further his abilities and knowledge, especially in data science, which constitutes a significant part of his work responsibilities.

Image of Ning Zhang, member of GDG Shanghai. He is standing in a crowd with a microphone, asking a question

While Ning enjoys the formal learning opportunities the GDG offers, he finds the sense of community and support—the opportunity to learn from others and share his expertise as well – even more valuable.

“This kind of atmosphere is actually more inspiring than learning a new technology, new programming ideas, and new algorithms.”

“Everyone has different hands-on experience and expertise in different companies,” Ning explains. “GDG provides an environment where people can share their experience and listen to each other.”

The combination of community, developer success, and social impact has made a huge impression on him both personally and professionally. The international nature of GDGs also provides an expanded perspective and different ways of thinking about problems and solutions. “GDG really gave me a lot of new and fresh information and opened our eyes to more global approaches,” says Ning.

Statistics illustrating the low number of women in computing occupations

Group photo of GDG Shanghai Activity Center

Tapping into a global community

As the importance of technology continues to grow, the GDG community can play an even greater role by helping people learn valuable tech skills, supporting the dissemination of knowledge, and spurring innovation. Offerings that focus on sharing knowledge and other events can assist members in achieving their career goals as they have done for Ning. “I hope every member of GDG will experience the good atmosphere of the group in the future so that their value can be magnified,” says Zhang.

Join the community: Learn how you can find a GDG chapter near you.

Fostering an inclusive tech community with Evelyn Mendes #IamaGDE

Welcome to #IamaGDE - a series of spotlights presenting Google Developer Experts (GDEs) from across the globe. Discover their stories, passions, and highlights of their community work.

Evelyn Mendes, the first transgender Google Developer Expert, is based in Porto Alegre, Brazil, and has worked in technology since 2002. “I've always loved technology!” she exclaims, flashing a dazzling smile. As a transgender woman, Evelyn faced discrimination in the tech world in Brazil and relied on her friends for emotional support and even housing and food, as she fought for a job in technology. Her excruciating journey has made her a tireless advocate for diversity, equity, and inclusion (DEI), as she works toward her vision of a world of empathy, acceptance, and love.

Meet Evelyn Mendes, Google Developer Expert in Firebase

Image shows GDE Evelyn Mendes, smiling at the camera and holding an LGBTQ+ flag behind her

Current professional role

Evelyn works in systems analysis and development and currently focuses on Angular, Flutter, and Firebase. “I believe they are technologies with frame frameworks and architectures that have a lot to offer,” she says.

As an architecture consultant and specialist software engineer at Bemol Digital, Evelyn manages development teams that work with many different technologies and led Bimol Digital, through the process of switching their mobile app, originally developed in React Native, to Flutter. Now, Evelyn supports the migration of all Bimol Digital’s mobile development to Flutter. “Today, all of our new mobile projects are developed in Flutter,” she says. “I’m responsible for the architecture. I'm a PO and a Scrum Master, but I also enjoy teamwork, and I love helping the team work better, more efficiently, and most importantly, enjoy their work!”

Image shows GDE Evelyn Mendes, smiling at the camera and holding a mug with the Angular logo

DEI Advocacy

Evelyn’s kindness toward others is reflected in her advocacy for diversity, equity, and inclusion (DEI) in the IT and tech world. She takes a broad approach to diversity, advocating for safe spaces in technology for mothers, women in technology, Black founders, immigrants, and Native Brazilians to learn. “Diversity and inclusion are not just values or attitudes to me; they are a part of who I am: my life, my struggles,” she says.

Evelyn views technology as a way to help underrepresented groups achieve more, feel empowered, and change their own lives. “Technology will give you a better shot to fight for a better life,” she says. “I want to bring more trans people to technology, so that they have real chances to continue evolving in their professional lives.”

Image shows GDE Evelyn Mendes, interviewing a group of people and holding a microphone. They are standing in front of a camera

When Evelyn came out as transgender, she experienced intolerance that kept her out of the workforce for over a year, despite her innumerable skills. “Brazil, especially the southern part where I’m from, is still, unfortunately, not a very tolerant society,” she says. “Due to who I was, I wasn’t able to find a job for over a year, because people didn’t want to work with someone who is transgender.”

Evelyn was fortunate enough to have friends who supported her financially (there were times when she didn’t even have enough money to buy food) and mentally, helping her believe she could be true to herself and find happiness. She encourages others in her position to seek financial and emotional independence. “In terms of your emotional wellbeing, I’d recommend starting with identifying the abusive relationships around you, which can come from different sides, even from your family,” she says. “Try distancing yourself from them and those who hurt you. This will help you in your evolution.”

Evelyn recommends trans people in Brazil connect with groups like EducaTransforma, which teaches technology to trans people, and TransEmpregos, which helps trans people to enter the labor market. For trans and cis women in Brazil, Aduaciosa Oficial facilitates networking (tech 101 for women, classic dev community, meetups workshops), and B2Mamy supports women’s entrepreneurship.

Image shows GDE Evelyn Mendes, smiling at the camera. A woman is sitting at a desk behind Evelyn. She is slightly smiling at the camera and has her fingers on the trackpad of a laptop

Evelyn often speaks to companies about diversity in IT and how to be welcoming to women, LGBTQIA+ people, and other underrepresented groups. “I like it because I see that more and more companies are interested in the subject, and I think I can be a voice that has never been heard,” Evelyn says. “I support inclusive events, and when invited, I participate in lectures, because I know that a trans woman, on a stage where only white, ‘straight,’ cis people are normally seen, makes a lot of difference for many people, especially LGBTs.”

At BrazilJS 2017, Evelyn invited every woman at the event to join her on stage for a photo, to show how many women are involved in technology and that women are integral to events. She called her fellow speakers and attendees, as well as the event’s caterers, cleaners, and security personnel to the stage and said, “Look at the stage. Now, no one can say there aren’t any women in tech.”

At her current company, Evelyn approaches diversity as a positive and transformative thing. “I know that I make a difference just with my presence, because people usually know my story.”

In addition to her technology work, Evelyn is involved in the Transdiálogos project, which aims to train professionals to end discrimination in health services. She is also part of TransEnem in Porto Alegre, an EJA-type prep course to help trans people go to college. “I don't miss the chance to fight for diversity and inclusion anywhere,” Evelyn says. “That's what my life is. This is my fight; that's who I am; that's why I'm here.”

Image shows GDE Evelyn Mendes pictured on the page of a magazine. She is smiling and holding her birth certificate

Learning Firebase

Evelyn said she was drawn to Firebase because “Firebase is all about diversity. For poor, remote areas in Brazil, without WiFi or broadband, Firebase gives people with limited resources a reasonable stack to build with and deploy something to the world. Firebase uses basic HTML, is low code, and is free, so it’s for everyone. Plus, it’s easy to get familiar with the technology, as opposed to learning Java or Android.”

To demonstrate all the functionality and features that Firebase offers, Evelyn created a mobile conversation application that she often shows at events. “Many people see Firebase as just a NoSql database,” she says. “They don't know the real power that it can actually offer. With that in mind, I tried to put in it all the features I thought people could use: Authentication, Storage, Realtime Database with Data Denormalization, Hosting, Cloud Functions, Firebase Analytics, and Cloud Firestore.”

Image shows GDE Evelyn Mendes in a group of 4 people, two men and two women total. They are smiling and looking at the camera. All four wear lanyards for an event

Users can send images and messages through the app. A user can take a picture, resize, and send it, and it will be saved in Storage. Before going to the timeline, messages go through a sanitization process, where Evelyn removes certain words and indexes them on a list called bad_words in the Realtime Database. Timeline messages are also stored in Realtime. Users can like and comment on messages and talk privately. Sanitization is done by Cloud Functions, in database triggers, which also denormalizes messages in lists dedicated to each context. For example, all the messages a user sends, besides going to the main list that would be the timeline, go to a list of messages the user sent. Another denormalization is a list of messages that contain images and those that only contain text, for quick search within the Realtime Database. Users can also delete and edit messages. Using some rules Evelyn created in Cloud Firestore, she can manage what people will or will not see inside the app, in real time. Here’s the source code for the project. “I usually show it happening live and in color at events, with Firebase Analytics,” Evelyn says. “I also know where people are logging in, and I can show this working in the dashboard, also in real time.”

Becoming a GDE

When Evelyn first started learning Firebase, she also began creating educational content on how to use it, based on everything she was learning herself—first articles, then video tutorials. At first, she didn’t want to show her face in her videos because she was afraid she wasn’t good enough and felt embarrassed about every little silly mistake she made, but as she gained confidence, she started giving talks and lectures. Now, Evelyn maintains her own website and YouTube channel, where she saves all her video tutorials and other projects.

Image shows GDE Evelyn Mendes in a group of 4 people, one man and three women total. They are smiling and looking at the camera. Three of the four wear lanyards for the event they are attending

Her expertise caught the attention of Google’s Developer Relations team, who invited Evelyn to apply to be a GDE. “At first, I was scared to death, also because I didn't speak any English,” Evelyn recalls. “It took me quite some time, but finally I took a leap of faith, and it worked! And today, #IamaGDE!”

As a GDE, Evelyn loves meeting people from around the world who share her passion for technology and appreciates the fact that her GDE expertise has allowed her to share her knowledge in remote areas. “The program has helped me to grow a lot, both personally and professionally,” she adds. “I learned a lot and continue learning, by attending many events, conferences, and meetups.”

Image shows GDE Evelyn Mendes standing in front of a classroom giving a lecture. Her Firebase slideshow is projected on a screen behind her

Evelyn’s advice to anyone hoping to become a GDE

“Be a GDE before officially becoming one! Participating in this program is a recognition of what you have already been doing: your knowledge, expertise, and accomplishments, so keep learning, keep growing, and help your community. You may think you’re not a big enough expert, but the truth is, there are people out there who definitely know less than you and would benefit from your knowledge.”

Image shows GDE Evelyn Mendes smiling at the camera and standing next to a large Google logo on the wall beside her

2021 Assistant Recap

Posted by Jessica Dene Earley-Cha, Mike Bifulco and Toni Klopfenstein, Developer Relations Engineers for Google Assistant

We've reached the end of the year - and what a year it's been! Between all of our live (virtual) events including I/O, developer summits, meetups and more, there are a lot of highlights for App Actions, Smart Home Actions and Conversational Actions. Let's dive in and take a look.

App Actions

App Actions allows developers to extend their Android App to Google Assistant. App Actions integrates more cleanly with Android using new Android platform features. With the introduction of the beta shortcuts.xml configuration resource, expanding existing Android features and our latest Google Assistant Plug App Actions is moving closer to the Android platform.

App Actions Benefits:

  • Display app information on Google surfaces. Provide Android widgets for Assistant to display, offering inline answers, simple confirmations and brief interactions to users without changing context.
  • Launch features from Assistant. Connect your app's capabilities to user queries that match predefined semantic patterns (BII).
  • Suggest voice shortcuts from Assistant. Use Assistant to proactively suggest tasks for users to discover or replay, in the right context.

Core Integration

Capabilities is a new Android framework API that allows you to declare the types of actions users can take to launch your app and jump directly to performing a specific task. Assistant provides the first available concrete implementation of the capabilities API. You can utilize capabilities by creating a shortcuts.xml resource and defining your capabilities. Capabilities specify two things: how it's triggered and what to do when it's triggered. To add a capability, you’ll need to select a Built-In intent (BII), which are pre-built language models that provide all the Natural Language Understanding to map the user's input to individual fields. When a BII is matched by the user’s request, your capability will trigger an Android Intent that delivers the understood BII fields to your app, so you can determine what to show in response.

To support a user query like “Hey Google, Find waterfall hikes on ExampleApp,” you can use the GET_THING BII. This BII supports queries that request an “item” and extracts the “item” from the user query as the parameter thing.name. The best use case for the GET_THING BII is to search for things in the app. Below is an example of a capability that uses the GET_THING BII:

<!-- This is a sample shortcuts.xml -->
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<capability android:name="actions.intent.GET_THING">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="YOUR_UNIQUE_APPLICATION_ID"
android:targetClass="YOUR_TARGET_CLASS">
<!-- Eg. name = "waterfall hikes" -->
<parameter
android:name="thing.name"
android:key="name"/>
</intent>
</capability>
</shortcuts>

This framework integration is in the Beta release stage, and will eventually replace the original implementation of App Actions that uses actions.xml. If your app provides both the new shortcuts.xml and old actions.xml, the latter will be disregarded.

Learn how to add your first capability with this codelab.

Voice shortcuts

Google Assistant suggests relevant shortcuts to users during contextually relevant times. Users can see what shortcuts they have by saying “Hey Google, shortcuts.”

Shortcut for Google Assistant

You can use the Google Shortcuts Integration library, currently in beta, to push an unlimited number of dynamic shortcuts to Google to make your shortcuts visible to users as voice shortcuts. Assistant can suggest relevant shortcuts to users to help make it more convenient for the user to interact with your Android app.

Learn how to push your dynamic shortcuts to Assistant with our dynamic shortcuts codelab.

Example of App using Dynamic Shortcuts CodeLab Tool

Simple Answers, Hands Free & Android Auto

During situations where users need a hand free experience, like on Android Auto, Assistant can display widgets to provide simple answers, brief confirmations and quick interactive experience as a response to a user’s inquiry. These widgets are displayed within the Assistant UI, and in order to implement a fully voice-forward interaction with your app, you can arrange for Assistant to speak a response with your widget, which is safe and natural for use in automobiles. A great re-engagement feature with widgets, is that a “Add this widget” chip can be included too!

Example of App using Dynamic Shortcuts CodeLab Tool

Re Engagement

Another re-engagement tool is In-App Promo SDK you can proactively suggest shortcuts in your app for actions that the user can repeat with a voice command to Assistant, in beta. The SDK allows you to check if the shortcut you want to suggest already exists for that user and prompt the user to create the suggested shortcut.

New Tooling

To support testing Capabilities, the Google Assistant plugin for Android Studio was launched. It contains an updated App Action Test Tool that creates a preview of your App Action, so you can test an integration before publishing it to the Play store.

New App Actions resources

Learn more with new or updated content:


Smart Home Actions

A big focus of this year's Smart Home launches were new and updated tools. At events like I/O, Works With: SiLabs, and the Google Smart Home Developer Summit, we shared these new resources to help you quickly build a high quality smart home integration.

New Resources

To make implementing new features even easier for developers, we released many new tools to help you get your Smart Home Action up and running.

To help consumers discover Google-compatible smart home devices and associated routines, we released the smart home directory, accessible on the web and through the Google Home app.

We heard your requests for more ways to localize your integrations, so we added sample utterances in English (en-US), German (de-DE), and French (fr-FR) to several device guides. Additionally, we also rolled out Chinese (zh-TW) as one of the supported languages for the overall platform. To make our documentation more accessible, we added a Japanese translation of our developer guides.

We also released several new device types and traits, along with new features to support your integrations, including proactive and follow-up responses, app discovery and deep linking.

Quality Improvements

For general onboarding, we've added three new codelabs to enable you to dive deeper into debugging and monitoring your projects. You can now walk through debugging smart home Actions, debugging local fulfillment Actions, and dig deeper into your log-based metrics for your Actions.

When you're actively developing your integration, the Google Home Playground can simulate a virtual home with configurable device types and traits. Here you can view the types and traits in Home Graph, modify device attributes, and share device configurations.

If you discover issues with your configuration, we've continued upgrading the monitoring and logging dashboards to show you detailed views of events with your integrations, as well as better guidance on how to handle errors and exceptions.

The WebRTC Validator Tool acts as a WebRTC peer to stream to or from, and generally emulates the WebRTC player on smart displays with Google Assistant. If you're specifically working with a smart camera, WebRTC is now supported on the CameraStream trait.

Local Home

In order to continue striving towards quality responses to user queries, we also added support to the Local Home SDK to support local queries and responses. Additionally, to help users onboard new devices in their homes quickly and use Google Nest devices as local hubs, we launched BLE Seamless Setup.

Matter

The new Google Home IDE enables you to improve your development process by enabling in-IDE access to Google Assistant Simulator, Cloud Logging, and more for each of your projects. This plugin is available for VSCode.

Finally, as we get closer to the official launch of the Matter protocol, we're working hard to unify all of our smart home ecosystem tools together under a single name - Google Home. The Google Home Developer Center will enable you to quickly find resources for integrating your Matter-compatible smart devices and platforms with Nest, Android, Google Home app, and Google Assistant.

Conversational Actions

Way back in January of 2021, we rolled up an updated Actions for Families program, which provides guidelines for teams building actions meant for kids. Conversational Actions which are approved for the Actions for Families program get a special badge in the Assistant Directory, which lets parents know that your Action is family-friendly.

During the What's New in Google Assistant keynote at Google I/O, Director of Product for the Google Assistant Developer Platform Rebecca Nathenson mentioned several coming updates and changes for Conversational Actions. This included the launch of a Developer Preview for a new client-side fulfillment model for Interactive Canvas. Client-side fulfillment changes the implementation strategy for Interactive Canvas apps, removing the need for a webhook relaying information between the Assistant NLU and their web application. This simplifies the infrastructure needed to deploy an action that uses Interactive Canvas. Since the release of this Developer Preview, we’ve been listening closely to developers to get feedback on client-side fulfillment.

Interactive Canvas Developer Tools

We also released Interactive Canvas Developer tools - a Chrome extension which can help dev teams mock and debug the web app side of Interactive Canvas apps and games. Best of all, it’s open source! You can install the dev tools from the Chrome Web Store, or compile them from source yourself on GitHub at actions-on-google/interactive-canvas-dev-tools.

Updates to SSML

Earlier this year we announced support for new SSML features in Conversational Actions. This expanded support lets you build more detailed and nuanced features using text to speech. We produced a short demonstration of SSML Features on YouTube, and you can find more in our docs on SSML if you’re ready to dive in and start building already

Updates to Transaction UX for Smart Displays

Also announced at I/O for Conversational Actions - we released an updated workflow for completing transactions on smart displays. The new transaction process lets users complete transactions from their smart screens, by confirming the CVC code from their chosen payment method, rather than using a phone to enter a CVC code. If you’d like to get an idea of what the new process looks like, check out our demo video showing new transaction features on smart devices.

Tips on Launching your Conversational Action

Driving a successful launch for Conversational Actions contains helpful information to help you think through some strategies for putting together a marketing team and go-to-market plan for releasing your Conversational Action.

Looking forward to 2022

We're looking forward to another exciting year in 2022. To stay connected, sign up for our new App Actions email series or Google Home newsletter, or for the general Assistant newsletter.

As always, you can also join us on Reddit or follow us on Twitter. Happy Holidays!

From Idea to Impact: How a team from Solution Challenge launched an environmentally-focused social enterprise

Posted by Merve Isler, Regional Developer Relations Community Manager, Turkey

Banner with image of Aysu Keçeci, member of Google Student Developer Clubs chapter at at Bogazici University in Istanbul

Some challenges affect everyone regardless of borders or nationality, and combating climate issues is no different. Aysu Keçeci, a student in Turkey with an avowed reverence for the sea, found herself increasingly distressed by the growing amount of plastic in the world’s oceans. She notes, “As an Aegean, the seas are a big part of my life, Unfortunately, I have grown up observing that our waters are polluted daily, and I know that plastics now make up 80% of marine garbage, and if we don't take precautions, there will be more plastic in our seas than fish in 2050. That's why plastic pollution has always been a problem I wanted to address.”

As part of a global community, Google Developer Student Clubs (GDSCs) members are empowered to make an impact on the issues that matter both on the global and local scales. She decided to join the 2021 Solution Challenge, and took part in a local hackathon organized by the GDSC Solution Challenge Incubation Program. She and other GDSC members at Bogazici University on her team chose to create an app to encourage plastic recycling, never guessing it would lead to mentorship, guidance, and tools to launch an environmentally-focused social enterprise start-up.

Choosing the features and functions

When building the app, the team leveraged Flutter for its cross-platform advantages and used other Google tools such as Firebase, Firestore, Cloud, Maps, Fonts, and Analytics. In the app, users locate and open dedicated recycling bins by scanning a QR code or using a smartwatch or wristband. They can earn “coins” based on the amount of plastic they recycle and by engaging in challenges. Meanwhile, the app, called WE, displays tangible benefits to the environment from the users’ recycling efforts.

Encouraging behavior change with gamification

Aysu acknowledges that designing an app is one thing--bringing it into reality is another. Keçeci shares, “in real product development, user experience, ease of learning, and convenience become more critical than when you are designing a prototype.” To drive adoption, the WE App team chose gamification as a framework for the recycling app, looking to engage and motivate users by adding competition, social interaction, and feedback into the UI and help make recycling easy and fun. Aysu was particularly inspired by entrepreneur Colin Huang, who integrated gamification into Pinduoduo, an e-commerce company that encourages user collaboration.

From idea to impact

After three intense days of working at a feverish pace on little sleep, Aysu and the team presented their idea--which won the hackathon! The WE app then got selected as one of the top 50 projects in the Solution Challenge (with the support of Solution Challenge Incubation Program), landing the team special mentorship sessions with Google developers. This support on many levels led to their acceptance in one of Turkey’s top incubators: İTÜ Çekirdek İncubation Center, which offered a working space and exposure to the center’s network of companies and entrepreneurs. The project was also accepted into the Arya WIP Investment Preparation Acceleration Program, which supports women entrepreneurs, earning the team even more credibility and traction.

Perseverance makes all the difference

Aysu acknowledges that working with a small team of three developers can present new problems and opportunities every day--but support from Google mentors, jury members, and GDSC helps. “It's very bumpy, but it's been a journey that we've learned a lot about and enjoyed,” she says. The team is currently working with Borusan Mannesmann, one of the largest industrial companies in Turkey, to provide the app and bins to employees. They’re also competing in the semifinals of the İTÜ Çekirdek İncubation Center’s Big Bang Startup Challenge and talking with other potential corporate partners.

Looking towards the future

The team is already thinking about WE’s next stage. She and the other founders plan to redesign the WE bins to look more stylish and start producing simple products from the plastics collected, perhaps by partnering with innovative companies around the world that value sustainability.

“I've actually seen that people value living in a sustainable world. So it was surprising and gratifying for me to realize that they were ready to do something about it and take action because even people who did not recycle in the old status quo adapted very quickly.”

As she considers the progress she’s made so far, Aysu credits the GDSC’s culture of innovation, support, and feedback for playing a big part in WE’s creation and success. “You can quickly get involved in a community,” she says, “and thus you have a better opportunity to pursue things that excite you.”

Learn more about the activities and opportunities GDSCs offer and how to get involved.

Register your team for the Solution Challenge in January and make an impact.

Promote your Google Workspace Marketplace apps with the new badge for developers

Posted by Elena Kingbo, Program Manager

Recently, Google Workspace Marketplace launched new features for developers to improve the application search and evaluation experience in the Marketplace for our Google Workspace admins and end users.

Continuing with updates to further improve the developer experience, we are excited to announce Google Workspace Marketplace badges.

The new badges will allow developers to promote their published Google Workspace Marketplace applications on their own websites. Users will be taken directly to the Marketplace application listing, where they can review application details, privacy policy, terms of service, and more. These users will then be able to securely install applications directly from the Google Workspace Marketplace.

This promotional tool can help you reach more potential users and grow your business. By being part of the Google Workspace Marketplace ecosystem, you receive direct access to the more than 3 billion Google Workspace users, where they can browse, search, and install solutions they need. To date, we've seen a stunning 4.8 billion apps installed in Google Workspace, transforming the way users connect, create, and collaborate.

The new Google Workspace Marketplace badge for developers.

Use the badge to show your existing and potential customers where they can find your application, backed by Google Workspace’s industry-leading standards of quality, security, and compliance. For developers with products available globally, the badge is available in 29 languages including Arabic, Spanish, Vietnamese, and more.

The new Google Workspace Marketplace badge creation page for developers.

Refresh your Marketplace application listing and marketing assets

When you are ready to incorporate the new badge onto your website to feature your Marketplace app, we recommend that you also review the creatives and information used in your app’s listing in the Google Workspace Marketplace. You should also include well designed feature graphics in your listing and localize your featured graphics, screenshots, and description to improve conversions globally.

Stay on top of developer news

To make sure you’re aware of the latest Google Workspace Platform updates for developers, make sure you subscribe to our Google Workspace Developers Newsletter for monthly updates, follow @workspacedevs, and join in on the community conversation.

#IamaGDE: Joel Humberto Gómez

Banner with image of Joel Humberto Gómez, Google Developer Expert in Googe Maps Platform and Web Technologies

The Google Developers Experts program is a global network of highly experienced technology experts, influencers, and thought leaders who actively support developers, companies, and tech communities by speaking at events and publishing content.

Joel Humberto Gómez is an application developer at IBM, writing applications that improve the performance of IBM’s internal organization. While his job focuses on frontend development using React, he also has experience with web development using JavaScript. He has held many technical lead roles, in which he makes technical decisions and product delivery plans. Joel has a Computer Science degree from Universidad Veracruzana and has familiarity with databases, mobile development, web development, networks, and servers. He is a GDE in Web Technologies and Google Maps Platform.

“I’ve been involved in projects related to asset delivery and NFC in mobile development and projects about data visualization and automation processes in companies,” he says. “In 2022, I want to be more involved in the open source community.”

Joel uses Google Maps Platform to visualize data and explore data in projects focused on data visualization. In one project, he used the Maps JavaScript API. In another, he focused on trace routes and visualizing points to recollect and deliver packages. In a third project, he used the Place Autocomplete services and Directions API. Now, he is working on a non-profit project to show some places related with medical services.

Getting involved in the developer community

At university, one of Joel’s instructors organized events related to Linux, like Install Fest, with his students.

“With time, I became one of their students, and he motivated me to share knowledge with others and be brave and go beyond the university and my comfort zone,” Joel says. “I started to organize events and talks and got to know people in other communities.”

Eventually, Gómez became a GDG organizer.

“My chapter was GDG Monterrey,” he says. “We organized an Android Study Jam and some Google I/O Extended events.”

Gómez enjoyed sharing with his community and received encouragement from other GDEs to apply to the GDE program to share his knowledge more widely.

“I love to share with my community, but sometimes the knowledge just stays in your community,” he says. “Diego DeGranda, a GDE specializing in web technologies, encouraged me to apply and go beyond my community to share with communities outside of my country.”

As a GDE, Gómez has met other developers from around the world, with whom he talks about technology and shares experiences. Another benefit of being a GDE is the opportunity to learn from other GDEs and Google employees.

“In 2020, I had more activities, because location wasn’t a limitation anymore,” he said. “For speakers, virtual meetings are sometimes complicated, but we are adapting to this situation and using and creating tools to get and provide a better experience.”

Favorite Google Maps Platform features

Gómez’ favorite Google Maps Platform feature is the Local Context API.

“I think it’s a cool feature and has a lot of potential to create better applications,” he says. “I have some projects where Local Context helps me with some features, and I don’t need to develop by myself. In 2020, I gave some talks about the new features, wrote blog posts about them, and made videos about them.”

Future plans

Joel plans to create more content about Local Context, Plus Codes and other features in Google Maps Platform.

“I’m planning to start with a podcast about Maps and how to use it to create better applications,” he says. “I’ve been doing this in Spanish, so I need to create content in English, too.”

He has three professional goals: start to contribute to open source, create a little startup, and start projects that use Google Maps Platform.

Follow Joel on Twitter at @DezkaReid | Check out Joel’s projects on GitHub

For more information on Google Maps Platform, visit our website or learn more about our GDE program.

#BazelCon 2021 Wrap Up

Posted by Joe Hicks, Product Manager, Core Developer

The apps, platforms, and systems that the Bazel community builds with Bazel touch the lives of people around the world in ways we couldn’t have imagined. Through BazelCon, we aim to connect Bazel enthusiasts, the Bazel team, maintainers, contributors, users, and friends in an inclusive and welcoming environment. At BazelCon, the community demonstrates the global user impact of the community—with some quirky and carefully crafted talks, a readout on the State-of-Bazel, an upfront discussion on “Implicit Bias Mitigation,” and community sharing events that remind us that we are not alone in our efforts to build a better world, one line of code at a time.

At BazelCon, the community shared over 24 technical sessions with the 1400+ registrants, which you can watch here at your own pace. Make sure you check out:

Attendees were able to interact with the community and engage with the Bazel team through a series of “Birds of a Feather” (BoF) sessions and a live Q&A session. You can find all of the BoF presentations and notes here.

As announced, soon we will be releasing Bazel 5.0, the updated version of our next generation, multi-language, multi-platform build functionality that includes a new external dependency system, called bzlmod, for you to try out.

We’d like to thank everyone who helped make BazelCon a success: presenters, organizers, Google Developer Studios, contributors, and attendees. If you have any questions about BazelCon, you can reach out to [email protected].

We hope that you enjoyed #BazelCon and "Building Better with Bazel".

Personalize user journeys by Pushing Dynamic Shortcuts to Assistant

Posted by Jessica Dene Earley-Cha, Developer Relations Engineer

Like many other people who use their smartphone to make their lives easier, I’m way more likely to use an app that adapts to my behavior and is customized to fit me. Android apps already can support some personalization like the ability to long touch an app and a list of common user journeys are listed. When I long press my Audible app (an online audiobook and podcast service), it gives me a shortcut to the book I’m currently listening to; right now that is Daring Greatly by Brené Brown.

Now, imagine if these shortcuts could also be triggered by a voice command – and, when relevant to the user, show up in Google Assistant for easy use.

Wouldn't that be lovely?

Dynamic shortcuts on a mobile device

Well, now you can do that with App Actions by pushing dynamic shortcuts to the Google Assistant. Let’s go over what Shortcuts are, what happens when you push dynamic shortcuts to Google Assistant, and how to do just that!

Android Shortcuts

As an Android developer, you're most likely familiar with shortcuts. Shortcuts give your users the ability to jump into a specific part of your app. For cases where the destination in your app is based on individual user behavior, you can use a dynamic shortcut to jump to a specific thing the user was previously working with. For example, let’s consider a ToDo app, where users can create and maintain their ToDo lists. Since each item in the ToDo list is unique to each user, you can use Dynamic Shortcuts so that users' shortcuts can be based on their items on their ToDo list.

Below is a snippet of an Android dynamic shortcut for the fictional ToDo app.

val shortcut = = new ShortcutInfoCompat.Builder(context, task.id)
.setShortLabel(task.title)
.setLongLabel(task.title)
.setIcon(Icon.createWithResource(context, R.drawable.icon_active_task))
.setIntent(intent)
.build()

ShortcutManagerCompat.pushDynamicShortcut(context, shortcut)

Dynamic Shortcuts for App Actions

If you're pushing dynamic shortcuts, it's a short hop to make those same shortcuts available for use by Google Assistant. You can do that by adding the Google Shortcuts Integration library and a few lines of code.

To extend a dynamic shortcut to Google Assistant through App Actions, two jetpack modules need to be added, and the dynamic shortcut needs to include .addCapabilityBinding.

val shortcut = = new ShortcutInfoCompat.Builder(context, task.id)
.setShortLabel(task.title)
.setLongLabel(task.title)
.setIcon(Icon.createWithResource(context, R.drawable.icon_active_task))
.addCapabilityBinding("actions.intent.GET_THING", "thing.name", listOf(task.title))
.setIntent(intent)
.build()

ShortcutManagerCompat.pushDynamicShortcut(context, shortcut)

The addCapabilityBinding method binds the dynamic shortcut to a capability, which are declared ways a user can launch your app to the requested section. If you don’t already have App Actions implemented, you’ll need to add Capabilities to your shortcuts.xml file. Capabilities are an expression of the relevant feature of an app and contains a Built-In Intent (BII). BIIs are a language model for a voice command that Assistant already understands, and linking a BII to a shortcut allows Assistant to use the shortcut as the fulfillment for a matching command. In other words, by having capabilities, Assistant knows what to listen for, and how to launch the app.

In the example above, the addCapabilityBinding binds that dynamic shortcut to the actions.intent.GET_THING BII. When a user requests one of their items in their ToDo app, Assistant will process their request and it’ll trigger capability with the GET_THING BII that is listed in their shortcuts.xml.

<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<capability android:name="actions.intent.GET_THING">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="YOUR_UNIQUE_APPLICATION_ID"
android:targetClass="YOUR_TARGET_CLASS">
<!-- Eg. name = the ToDo item -->
<parameter
android:name="thing.name"
android:key="name"/>
</intent>
</capability>
</shortcuts>

So in summary, the process to add dynamic shortcuts looks like this:

1. Configure App Actions by adding two jetpack modules ( ShortcutManagerCompat library and Google Shortcuts Integration Library). Then associate the shortcut with a Built-In Intent (BII) in your shortcuts.xml file. Finally push the dynamic shortcut from your app.

2. Two major things happen when you push your dynamic shortcuts to Assistant:

  1. Users can open dynamic shortcuts through Google Assistant, fast tracking users to your content
  2. During contextually relevant times, Assistant can proactively suggest your Android dynamic shortcuts to users, displaying it on Assistant enabled surfaces.

Not too bad. I don’t know about you, but I like to test out new functionality in a small app first. You're in luck! We recently launched a codelab that walks you through this whole process.

Dynamic Shortcuts Codelab

Looking for more resources to help improve your understanding of App Actions? We have a new learning pathway that walks you through the product, including the dynamic shortcuts that you just read about. Let us know what you think!

Thanks for reading! To share your thoughts or questions, join us on Reddit at r/GoogleAssistantDev.

Follow @ActionsOnGoogle on Twitter for more of our team's updates, and tweet using #AppActions to share what you’re working on. Can’t wait to see what you build!