Author Archives: Google Developers

Students in LATAM come together for continent-wide tech conference

Posted by Paco Solsona, Regional Lead LATAM



A continental community of coders

Growing up, many students across Latin America watched eagerly as the technology in their cities became more advanced and opportunities to create the future expanded. For some, computers and web technologies presented untold potential. Still, excitement about doing right by their communities was all at the heart of it all. Now, a forward-looking group of university students from 27 different Latin American nations and Google Developer Student Clubs (GDSC) have formed a continent-wide network to chart a course forward for their continent. They are building a community of Spanish-speaking Latin American student developers that support each other, help foster leadership skills, and bring more opportunities to student developers in the region.

Teaming up to build skills and teach other student developers

In November 2021, this regional coalition of students came together to host a continent-wide LATAM conference, a two-day student conference (the team planned and executed it in just two weeks). The event featured ten speakers from Spanish-speaking Latin American countries and taught students about different developer technologies. Attendees learned about machine learning, automating processes using data pipelines, leveraging react to upload landing pages to Firebase, and building mobile applications with Firebase and React Native. 300 people attended the conference over two days, and the conference recordings have attracted hundreds of views on YouTube.

Screenshot of a group of GDSC leads video chatting during a live event

“We’re coming from a less developed region. We grew up seeing other countries that were more technologically advanced. Now, developers from Latin America are more confident that they have the skills to implement projects, produce new things, and bring advancement to the continent.” - Maria Agustina Cuello (Chichi)

Working together with purpose

Through working together on the conference, the organizers of LATAM conference know Latin American youth have a bright future. They are excited by the opportunity to use the power of technology and connectivity to change the world.

Screenshot of a group of women GDSC leads video chatting during a live event

Luis Eduardo, Lead GDSC UTP (Perú), says it felt amazing to be part of the LATAM conference: “being able to meet students from other countries with the same desire to work for the community was wonderful. Knowing that, despite being thousands of miles away, there was no impediment to being able to work as an organized team. This is what makes this family unique.”

Screenshot of a group of GDSC members video chatting during a live event

“LATAM conference was the opportunity to show that wherever we are, we can help others, and you will always find people with similar ideas,” says Francisco Imanol Suarez, Lead GDSC UNPSJB (Argentina).

Solution Challenge preparations

The group is now hosting events to teach student developers new skills and prepare them for the 2022 Solution Challenge, a global contest where students from around the world are invited to solve for one of the United Nations' Sustainable Development Goals using Google technologies.

In preparing their communities to build projects, the group plans to activate the countries and regions in Latin America. The students aim to expose each other to multiple technologies in the field and plan to host theme weeks for the Solution Challenge, like a Firebase week, a UX/UI week, and a Flutter Festival.

Students across the GDSC LATAMs are forming teams for the Solution Challenge. Some are local, coming from a single university, while others are broader, like students in Argentina working with students from Mexico. “A few months ago, no one knew how many people we would help take their first steps in the world of development. Let's hope this community continues to grow to be able to show that amazing things can be done in LATAM,” says Luis Eduardo, Lead GDSC UTP (Perú).

Screenshot of a GDSC student giving a presentation on Google technology via video chat

“I’m grateful to be part of this community and work with amazing team members who are so eager to work together and do activities. We want to bring all the opportunities we can to Latin American students, and gender and language are not a barrier,” says Cuello.

What’s next for GDSC LATAM

The members of GDSC LATAM plan to continue hosting collaborative events for the community such as Google Cloud Machine Learning bootcamp, a hackathon, and a 2022 student conference and related events with other student communities. The group holds Android and Google Cloud Platform (GCP) study jams, publishes a podcast, and hosts networking events to help reach more students, create networking opportunities, and expand each university’s GDSC. Eventually, they hope to positively impact the region by encouraging budding developers to build new technologies in Latin America.

If this inspires you, sign up for the Solution Challenge and submit a project by March 31, 2022 at goo.gle/solutionchallenge and join a Google Developer Student Club at your college or university.

Check out GDSC LATAM on social media: Twitter | FB | YouTube Channel | Instagram

Google for Games Developer Summit returns March 15

Posted by Greg Hartrell, Product Director, Games on Play/Android

Image with Google for Games castle, rocket, volcano, and racetrack

With over three billion players showing strong engagement worldwide, the games market continues to remain resilient and grow beyond expectations. As we look ahead this year, the influx of new and returning players creates a great opportunity for developers to scale their games businesses.

The Google for Games Developer Summit returns virtually on March 15, 2022 at 9AM Pacific. From mobile to cloud, learn about our new solutions for game developers that make it easier to build high-quality games and reach audiences around the world.

Join us for the keynote at 9AM Pacific followed by over 20 developer sessions on-demand. We’ll share deep-dives and updates on the Android Game Development Kit, Google Play Games beta on PC, Play Asset Delivery, Play Console, and more. The summit is open for all. Check out the full agenda today at g.co/gamedevsummit.

ML Olympiad: Globally Distributed ML Competitions by the Community

Posted by Hee Jung, DevRel Community Manager

Blog header image shows graphic illustration of people, a group, and a medal

We are happy to announce ML Olympiad, an associated Kaggle Community Competitions hosted by Machine Learning Google Developer Experts (ML GDE) and TensorFlow User Group (TFUG).

Kaggle recently announced "Community Competitions" allowing anyone to create and host a competition at no cost. And our proud members of ML communities decided to dive in and take advantage of the feature to solve critical issues of our time, providing opportunities to train developers.

Why the ML Olympiad?

To train ML for developers leveraging Kaggle’s community competition. This is an opportunity for the participants to practice ML. This is the first 2022 global campaign of the ML Ecosystem team and this helps build stronger communities.

Image with text that reads Community Competitions make machine learning fun

ML Olympiad Community Competitions

Currently, 16 ML Olympiad community competitions are open, hosted by ML GDEs and TFUGs.

Arabic_Poems (in local language) link

  • Predict the name of a poet for Arabic poems. Encourage people to practice on Arabic NLP using TF.
  • Hosts: Ruqiya Bin Safi (ML GDE), Eyad Sibai, Hussain Alfayez / Saudi TFUG & Applied ML/AI group

Sky Survey link

  • Stellar classification with the digital sky survey
  • Hosts: Jieun Yoo, Michael Mellinger / NYTFUG

Análisis epidemiológico Guatemala (in local language) link

  • Make an analysis and prediction of epidemiological cases in Guatemala and the relations.
  • Hosts: Alvin Estrada, Julio Monterroso / TensorFlow User Group Guatemala

QUALITY EDUCATION (in local language) link

  • Competition will be focused on the Enem (National High School Examination) data. Competitors will have to create models to predict student scores in multiple tests.
  • Hosts: Vinicius Fernandes Caridá (ML GDE), Pedro Gengo, Alex Fernandes Mansano / Tensorflow User Group São Paulo

Landscape Image Classification link

  • Classification of partially masked natural images of mountains, buildings, seas, etc.
  • Hosts: Aditya Kane, Yogesh Kulkarni (ML GDE), Shashank Sane / TFUG Pune

Autism Prediction Challenge link

  • Classifying whether individuals have Autism or not.
  • Hosts: Usha Rengaraju, Vijayabharathi Karuppasamy, Samuel T / TFUG Mysuru and TFUG Chennai

Tamkeen Fund Granted link

  • Predict the company funds based on the company's features
  • Hosts: Mohammed buallay (ML GDE), Sayed Ali Alkamel (ML GDE)

Hausa Sentiment Analysis (in local language) link

  • Classify the sentiment of sentences of Hausa Language
  • Hosts: Nuruddeen Sambo, Dattijo Murtala Makama / TFUG Bauchi

TSA Classification (in local language) link

  • We invite participants to develop a classification method to identify early autistic disorders.
  • Hosts: Yannick Serge Obam (ML GDE), Arnold Junior Mve Mve

Let's Fight lung cancer (in local language) link

  • Spotting factors that are link to lung cancer detection
  • Hosts: abderrahman jaize, Sara EL-ATEIF / TFUG Casablanca

Genome Sequences classification (in local language) link

  • Genome sequence classification based on NCBI's GenBank database
  • Hosts: Taha Bouhsine, Said ElHachmey, Lahcen Ousayd / TensorFlow User Group Agadir

GOOD HEALTH AND WELL BEING link

  • Using ML to predict heart disease - If a patient has heart disease or not
  • Hosts: Ibrahim Olagoke, Ahmad Olanrewaju, Ernest Owojori / TensorFlow User Group Ibadan

Preserving North African Culture link

  • We are tackling cultural preservation through a machine learning model capable of identifying the origin of a given item (food, clothing, building).
  • Hosts: elyes manai (ML GDE), Rania Boughanmi, Kayoum Djedidi / IEEE ESSTHS + GDSC ENIT

Delivery Assignment Prediction link

  • The aim of this competition is to build a multi-class classification model capable of accurately predicting the most suitable driver for one or several given orders based on the destination of the order and the paths covered by the deliverers.
  • Host: Thierno Ibrahima DIOP (ML GDE)

Used car price link

  • Predicting the price of an imported used car.
  • Hosts: Armel Yara, Kimana Misago, Jordan Erifried / TFUG Abidjan

TensorFlow Malaysia User Group link

  • Using AI/ML to solve Business Data problem
  • Hosts: Poo Kuan Hoong (ML GDE), Yu Yong Poh, Lau Sian Lun / TensorFlow & Deep Learning Malaysia User Group

Navigating ML Olympiad

You can search “ML Olympiad” on Kaggle Community Competitions page to see them all. And for further info, look for #MLOlympiad on social media.

Google Developers support ML Olympiad by providing swag for top 3 winners of each competition. Find your interest among the competitions, join/share them, and get your part of the swag for competition winners!

DevFest hits ten year milestone and hosts diverse developers worldwide

Posted by Komal Sandhu - Global Program Manager, Google Developer Groups

A mosaic of DevFest attendees from around the world
A mosaic of DevFest attendees from around the world

DevFest: bringing community, connection, and technical content into focus

What might a flower pressing workshop, a keynote speech from a sitting Minister of Science & Technology, and a dinner at a 144-year-old restaurant in Madrid all have in common? These distinctive hyper-local experiences reveal just a few of the ways developers from all walks came together to master technical topics this year at community-led DevFest events around the world.

DevFest represents the largest distributed tech conference in the world, and the global community-led initiative made a point to include all developers. In its tenth year, DevFest 2021 celebrated using technology for good, and pioneered programs to nurture local economic growth.

Making developer-driven content approachable

Google Developer Groups (GDG) chapters in regions around the world curated events and agendas to suit the needs and interests of local developer communities worldwide. Organizers offered hands-on demos, workshops, and codelabs about the latest developer technologies, including Android, Google Cloud Platform, Web.dev, Firebase, Google Assistant, Flutter and Machine Learning with TensorFlow, . Events also feature talks and sessions that covered emerging topics and how to build experience in the industry.

Communities gathered both in-person and in virtual settings to make technical content accessible for developers. As more developers joined in on the fun, some contributed to Dev Library, a showcase of open-source projects built by community members that feature Google technologies.Some events provide mentorship and career support to early-career developers. Many organizers made diversity, equity, and inclusion (DEI) and youth skills development a central focus of their gatherings.

DevFests around the world: a patchwork of both spoken and programming languages

DevFests bridge multiple languages, developer skill levels, and regions, and each individual event can address local challenges and opportunities.

Picture of a bunch of people in a classroom. On the board in front of them is a projected slide that reads Natural Language Processing
A DevFest session covering Natural Language Processing in the remote area of Norilsk

The Russian city of Norilsk, for example, located above the Polar Circle, usually takes at least five hours to fly to from most places in the area. Developers in this remote region hosted DevFest as part of a weekend long IT summit. Here, Google Developer Experts from Russia, Belarus, and Norway gave talks attended from IT specialists, teachers, high school students, and representatives from city organizations. “The event is significant for Norilsk,” said GDG Norilsk member Maxim. “Finally, we are holding specialized conferences for IT specialists who are cut off from the mainland.”

Large group photo shows the attendees of DevFest 2021 Islamabad
Attendees of DevFest 2021 Islamabad

Take the largest DevFest in Pakistan to date, organized by GDG Islamabad, where organizers and guest speakers shared plans to teach young people skills like Android development, machine learning, and web technologies to infuse technical skills into Pakistan’s economy. Shibli Faraz, celebrated Minister of Science & Technology of Pakistan, remarked that young people contribute technical knowledge to the country.​​ The event also featured women’s online safety training sessions, organized in partnership with Women Techmakers.

Creating inclusive spaces around the globe:

GDG Algeciras in Spain collaborated with the Besana Down Syndrome Association and brought kids together to learn about Google Classroom, Meet, and Maps. GDG Lille introduced live captioning to make their event as accessible as possible for people with hearing impairments. GDG Lleida hosted a morning of tech talks and an afternoon of in-person talks centered around Lleida’s identity as the second-largest fruit growing region in Spain, including a flower-pressing workshop. “The afternoon track was a blast, with all the attendees expressing their thanks for the event and the workshops. Everyone said they felt appreciated and included,” writes GDG Spain organizer Andreu Ibáñez. [Watch: DevFest Lleida Afternoon Events]

From DevFest events in India, China, Uzbekistan, Nigeria, North America, and beyond, developers came together at DevFests across locales and chapters for inspirational talks and technical content and career sessions. In some regions where gatherings were permitted, many attendees noted DevFest remained the first in-person event they’d attended in years, bringing excitement packed with learning, networking, experimenting, and swag (and a reinvigorated sense of community).

Learning together through cross-cultural conversations & coding events

Marking the tenth year of the program, DevFest 2021 culminated as a unifying global initiative, which saw 450+ events in 90+ countries and helped 500k+ developers.

“This year, I thought it was especially important to feature not only technology, but also participants’ feelings and emotions,” writes Andreu Ibáñez, an organizer in Spain that planned three distinct DevFests “After all, community is so much more than just a bunch of tech aficionados.”

The spirit of DevFest has always come from the people involved - developers from all different backgrounds and skill levels. Countries bring their own flavor and spin to their programs, and many organizers offered innovative ways for participants to connect. The event series continues to inspire local developer communities to plug in and share learning resources.

Making Google OAuth interactions safer by using more secure OAuth flows

Posted by Vikrant Rana, Product Manager and Badi Azad, Group Product Manager, Google

At Google, we constantly strive to provide safer ways for users to sign-in and share their Google account data with third-party applications. In the spirit of that work, we will be rolling out a set of protections against phishing and app impersonation attacks during the OAuth interactions.

The Google sign-in and authorization flows are powered by the Google OAuth platform and over the years we have developed and supported a number of ways for app developers to integrate with supported OAuth flows. With the goal of keeping users safer online, we will end support for two legacy flows and will require developers to migrate to alternative implementation methods that offer greater protections.

To ensure a smooth transition and avoid any service interruption we will give ample time to implement and meet the compliance dates which are specified below. We will share further updates on this rollout via email so please make sure your support email address is up to date in project settings on the Google API console.

Loopback IP address flow will be disallowed for native iOS, Android and Chrome OAuth client types

The Loopback IP address flow is vulnerable to man in the middle attack where a malicious app, accessing the same loopback interface on some operating systems, may intercept the OAuth response and gain access to the authorization code. We intend to remove this threat vector by disallowing this flow for iOS, Android and Chrome app OAuth client types. The existing clients will be able to migrate to more secure implementation methods. New clients will be unable to use this flow starting on March 14, 2022.

What do I need to do

Determine if your app is using the Loopback IP address flow

You can inspect your app code or the outgoing network call (in case your app is using an OAuth library) to determine if the Google OAuth authorization request your app is making has the following values for “redirect_uri” parameter.

redirect_uri=http://127.0.0.1:port or http://[::1]:port">http://[::1]:port or

http://localhost:port

Migrate to an alternative flow

If your app is using the Loopback IP address method you need to migrate to another method which is more secure by default. Please consider the following alternative methods for migration.

Key dates for compliance

  • Mar 14, 2022 - new OAuth usage will be blocked for the Loopback IP address flow
  • Aug 1, 2022 - a user-facing warning message may be displayed to non-compliant OAuth requests one month before the compliance date
  • Aug 31, 2022 - the Loopback IP address flow is blocked for existing clients

OAuth out-of-band (oob) flow will be deprecated

OAuth out-of-band (OOB) is a legacy flow developed to support native clients which do not have a redirect URI like web apps to accept the credentials after a user approves an OAuth consent request. The OOB flow poses a remote phishing risk and clients must migrate to an alternative method to protect against this vulnerability. New clients will be unable to use this flow starting on Feb 28, 2022.

What do I need to do

Determine if your app is using the OOB flow

You can inspect your app code or the outgoing network call (in case your app is using an OAuth library) to determine if the Google OAuth authorization request your app is making has the following values for “redirect_uri” parameter.

redirect_uri=urn:ietf:wg:oauth:2.0:oob or urn:ietf:wg:oauth:2.0:oob:auto or oob

Migrate to an alternative flow

If your app is using the OOB method you need to migrate to another method which is more secure by default. Please consider the following alternative methods for migration.

Key dates for compliance

  • Feb 28, 2022 - new OAuth usage will be blocked for the OOB flow
  • Sep 5, 2022 - a user-facing warning message may be displayed to non-compliant OAuth requests
  • Oct 3, 2022 - the OOB flow is deprecated for existing clients

User-facing warning message

A user-facing warning message may be displayed for non-compliant requests one month before the aforementioned OAuth methods are due to be blocked. The message will convey to the users that the app may be blocked soon while displaying the support email that you have registered in the OAuth consent screen in Google API Console.

[Sample user-facing warning]

The developers can acknowledge the user-facing warning message and suppress it by passing a query parameter in the authorization call as shown below.

  • Go to the code in your app where you send requests to Google's OAuth 2.0 Authorization Endpoint.
  • Add a parameter with a value of the enforcement date
    • For OOB: Add an ack_oob_shutdown parameter with a value of the enforcement date: 2022-10-03. Example: ack_oob_shutdown=2022-10-03
    • For Loopback IP address: Add an ack_loopback_shutdown parameter with a value of the enforcement date: 2022-08-31. Example: ack_loopback_shutdown=2022-08-31

User-facing error message

If an app is not updated to meet compliance by the required date the authorization requests will be blocked and users may encounter an invalid request error screen (sample shown below).

[Sample user-facing error]

Making Google OAuth interactions safer by using more secure OAuth flows

Posted by Vikrant Rana, Product Manager and Badi Azad, Group Product Manager, Google

At Google, we constantly strive to provide safer ways for users to sign-in and share their Google account data with third-party applications. In the spirit of that work, we will be rolling out a set of protections against phishing and app impersonation attacks during the OAuth interactions.

The Google sign-in and authorization flows are powered by the Google OAuth platform and over the years we have developed and supported a number of ways for app developers to integrate with supported OAuth flows. With the goal of keeping users safer online, we will end support for two legacy flows and will require developers to migrate to alternative implementation methods that offer greater protections.

To ensure a smooth transition and avoid any service interruption we will give ample time to implement and meet the compliance dates which are specified below. We will share further updates on this rollout via email so please make sure your support email address is up to date in project settings on the Google API console.

Loopback IP address flow will be disallowed for native iOS, Android and Chrome OAuth client types

The Loopback IP address flow is vulnerable to man in the middle attack where a malicious app, accessing the same loopback interface on some operating systems, may intercept the OAuth response and gain access to the authorization code. We intend to remove this threat vector by disallowing this flow for iOS, Android and Chrome app OAuth client types. The existing clients will be able to migrate to more secure implementation methods. New clients will be unable to use this flow starting on March 14, 2022.

What do I need to do

Determine if your app is using the Loopback IP address flow

You can inspect your app code or the outgoing network call (in case your app is using an OAuth library) to determine if the Google OAuth authorization request your app is making has the following values for “redirect_uri” parameter.

redirect_uri=http://127.0.0.1:port or http://[::1]:port">http://[::1]:port or

http://localhost:port

Migrate to an alternative flow

If your app is using the Loopback IP address method you need to migrate to another method which is more secure by default. Please consider the following alternative methods for migration.

Key dates for compliance

  • Mar 14, 2022 - new OAuth usage will be blocked for the Loopback IP address flow
  • Aug 1, 2022 - a user-facing warning message may be displayed to non-compliant OAuth requests one month before the compliance date
  • Aug 31, 2022 - the Loopback IP address flow is blocked for existing clients

OAuth out-of-band (oob) flow will be deprecated

OAuth out-of-band (OOB) is a legacy flow developed to support native clients which do not have a redirect URI like web apps to accept the credentials after a user approves an OAuth consent request. The OOB flow poses a remote phishing risk and clients must migrate to an alternative method to protect against this vulnerability. New clients will be unable to use this flow starting on Feb 28, 2022.

What do I need to do

Determine if your app is using the OOB flow

You can inspect your app code or the outgoing network call (in case your app is using an OAuth library) to determine if the Google OAuth authorization request your app is making has the following values for “redirect_uri” parameter.

redirect_uri=urn:ietf:wg:oauth:2.0:oob or urn:ietf:wg:oauth:2.0:oob:auto or oob

Migrate to an alternative flow

If your app is using the OOB method you need to migrate to another method which is more secure by default. Please consider the following alternative methods for migration.

Key dates for compliance

  • Feb 28, 2022 - new OAuth usage will be blocked for the OOB flow
  • Sep 5, 2022 - a user-facing warning message may be displayed to non-compliant OAuth requests
  • Oct 3, 2022 - the OOB flow is deprecated for existing clients

User-facing warning message

A user-facing warning message may be displayed for non-compliant requests one month before the aforementioned OAuth methods are due to be blocked. The message will convey to the users that the app may be blocked soon while displaying the support email that you have registered in the OAuth consent screen in Google API Console.

[Sample user-facing warning]

The developers can acknowledge the user-facing warning message and suppress it by passing a query parameter in the authorization call as shown below.

  • Go to the code in your app where you send requests to Google's OAuth 2.0 Authorization Endpoint.
  • Add a parameter with a value of the enforcement date
    • For OOB: Add an ack_oob_shutdown parameter with a value of the enforcement date: 2022-10-03. Example: ack_oob_shutdown=2022-10-03
    • For Loopback IP address: Add an ack_loopback_shutdown parameter with a value of the enforcement date: 2022-08-31. Example: ack_loopback_shutdown=2022-08-31

User-facing error message

If an app is not updated to meet compliance by the required date the authorization requests will be blocked and users may encounter an invalid request error screen (sample shown below).

[Sample user-facing error]

Hyper-local ads targeting made easy and automated with Radium

Posted by Álvaro Lamas, Natalija Najdova

Location targeting helps your advertising to focus on finding the right customers for your business. Are you, as a digital marketer, spending a lot of time optimizing your location targeting settings for your digital marketing campaigns? Are your ads running only in locations where you can deliver your services to your users or outside as well?

Read further to find out how Radium can help automate your digital marketing campaigns location targeting and make sure you only run ads where you deliver your services.

The location targeting settings challenge

Configuring accurate location targeting settings in Marketing Platforms like Google Ads allows your ads to appear in the geographic locations that you choose: countries, cities and zip codes OR radius around a location. As a result, precise geo targeting could help increase the KPIs of your campaigns such as the return on investment (ROI), the cost per acquisition (CPA) at high volumes, etc.

Mapping your business area to the available targeting options (country, city and zip code targeting or radius targeting) in Marketing Platforms is a challenge that every business doing online marketing campaigns has faced. This challenge becomes critical if you offer a service that is only available in a certain geographical area. This is particularly relevant for Food or Grocery Delivery Apps or organizations that run similar business models.

Adjusting these location targeting settings is a time consuming process. In addition, manually translating your business or your physical stores delivery areas into geo targeting settings is also an error prone process. And not having optimal targeting options might lead to ads shown to users that you cannot really deliver your services to, so you would likely lose money and time setting location targeting manually.

How can Radium help you?

Radium is a simple Web Application, based on App Scripts, that can save you money and time. Its UI helps you automatically translate a business area into radius targeting settings, one of the three options for geo targeting in Google Ads. It also provides you with an overview of the geographical information about how well the radius targeting overlaps with your business delivery area.

It has a few extra features like merging a few areas into one and generating the optimal radius targeting settings for those.

How does it work?

You can get your app deployed and running in less than an hour following these instructions. Once you’re done, in no time you can customize and improve your radius targeting settings to better meet your needs and optimize your marketing efforts.

Per delivery area that you provide, you will be able to visualize different circles in the UI, select one from the default circles or opt in for custom circle radius settings:

  • Large Circle: Pre-generated circle that englobes the rectangle that surrounds the targeting area
  • Small Circle: Pre-generated circle contained in the rectangle that surrounds the targeting area, touching its sides
  • Threshold Circle: Pre-generated circle with the minimum radius to cover at least the 90% of your delivery area, to maximize targeting and minimize waste
  • Custom Circle: Circle which center and radius can be customized manually by drag-and-drop and using the controls of the UI

    Large Circle

    Small Circle

    Threshold Circle

    Custom Circle

Take advantage of metrics to compare between all the radius targeting options and select the best fit for your needs. In red you can see the visualization of the business targeting area and, overlapped in gray, the generated radius targeting.

Metrics:

  • Radius: radius of the circle, in km
  • % Intersection: area of the Business Targeting Area inside the circle / total Business Targeting Area size
  • % Waste: area of circle excluding the Business Targeting Area / total Business Targeting Area size
  • Circle Size: area of the circle, in km2
  • Intersection Size: area of the Business Targeting Area, in km2
  • Waste Size: area of the circle excluding the Business Targeting Area, in km2
  • Circle Score: % Intersection - % Waste. The highest score represent the sweet spot, maximizing the targeting area and minimizing the waste area

Once you are done optimizing the radius settings, it’s time to activate them in your marketing campaigns. Radium offers you different ways of storing and activating this output, so you can use the one that better fits your needs:

  • Export your data to a Spreadsheet. This will allow you to have a mapping of readable names for each delivery area and its targeting settings, to generate the campaign settings in the csv format expected by Google Ads and to bulk upload them using Google Ads Editor
  • Directly download the csv file that can be uploaded to Google Ads via Google Ads Editor to bulk upload the settings of your campaigns
  • Upload them manually using the Google Ads UI

Find all the details about how to activate your location targeting settings in this step by step guide

Getting started with Radium

There are only 2 things you need to have in order to benefit from Radium:

  • Very easy to generate Maps JavaScript API Key
  • Map of your business’ delivery areas in either format:
    • KML file representing the polygon shaped targeting areas (see sample file)
    • CSV file with lat-lng, radius and name of the area it belongs to, more oriented to physical stores and restaurants (see sample file)

To get you started please visit the Radium repository on Github.

Summary

So, in conclusion, Radium helps you automate the location targeting configuration and optimization for your Google Ads campaigns, saving you time and minimizing errors of manual adjustments.

Announcing Flutter for Windows

Posted by @Tim Sneath

Build high-quality Windows apps that also run on mobile and web

Since we launched Flutter, we’ve focused on delivering a cross-platform solution for beautiful, tailored apps that are compiled to machine code and take full advantage of the underlying graphics hardware of your device. Today marks a significant expansion of this vision with the first production release of support for Windows as an app target, enabling Windows developers to benefit from the same productivity and power that mobile developers have been enjoying.

Our goal with Flutter is to give you the tools you need to build a great experience, regardless of which operating system you’re building for. And so we want to bring the same core framework and tools to every place you might want to paint pixels. Flutter allows you to handcraft beautiful experiences where your brand and design come to the forefront. Flutter is fast, compiling directly to machine code; with support for stateful hot reload, you get the productivity of an interactive environment that allows you to make changes while your app is running and see the results immediately. And Flutter is open, with thousands of contributors adding to the core framework and extending it with an ecosystem of packages.

So far, we’ve seen momentum that has exceeded our expectations, with nearly half a million apps now released that use Flutter, including big apps from companies like Betterment, BMW, and ByteDance, and apps from thirty teams at Google. In 2021, Flutter became the most popular cross-platform UI toolkit, as measured by analysts like Statista and SlashData:

Our own data backs this up, with a consistent 92% of Flutter developers expressing positive satisfaction with our tools in all four quarterly surveys in 2021. To the other 8% of you, we’re listening to your feedback and want you to be happy as well!

One common survey request has been for Windows support. Today, we’re thrilled to announce the full availability of support for Windows apps for Flutter in stable builds.

Windows and Flutter

A couple of years ago, we laid out an ambitious vision for Flutter to expand from mobile apps on iOS and Android to other platforms including web and the desktop. The core of Flutter carries across platforms: from the portable, hardware-accelerated Skia graphics engine, to the Flutter rendering system; core primitives like animation, theming, text input, and internationalization; and the hundreds of widgets that Flutter offers.

But desktop apps aren’t just mobile apps running on a bigger screen. They’re designed for different input devices, such as a keyboard and mouse. They have resizable windows that often run on a widescreen monitor. There are different conventions for critical things like accessibility, input method editors, and visual styling. And they integrate with different APIs in the underlying operating system: desktop apps support everything from file system pickers to device hardware to data stores like the Windows registry.

So while we’ve brought Flutter to Windows, we’ve also tailored it for Windows.

Just as with our support for Android and iOS, the Windows implementation of Flutter combines a Dart framework and C++ engine. Windows and Flutter communicate through an embedding layer that hosts the Flutter engine and is responsible for translating and dispatching Windows messages. Flutter coordinates with Windows to paint your UI to the screen, handles events like window resizing and DPI changes, and works with existing Windows modalities for internationalization (such as input method editors).

On Windows, Flutter uses exactly the same Dart code, but takes advantage of native Windows APIs.

Your app can use every part of the Flutter framework, and on Windows, it can also talk to the Win32, COM, and Windows Runtime APIs either directly through Dart’s C interop layer, or using a platform plugin written in C++. We’ve also adapted a number of common plugins to include Windows support, including camera, file_picker, and shared_preferences. More importantly, the community has already added Windows support for a broad array of other packages, covering everything from Windows taskbar integration to serial port access.

For a fully tailored Windows UI, you can also use Flutter Favorite packages like fluent_ui and flutter_acrylic to create an app that expresses the Microsoft Fluent design system beautifully. And using the msix tool you can wrap your app in an installer that can be uploaded to the Microsoft Store on Windows.

There are already hundreds of packages that have been adapted to support Flutter apps built for Windows.

Together, this fosters creation of apps that look great on Windows, run fast on Windows, and still transfer to other desktop or mobile devices, as well as the web. Here are a few early examples that we’ve seen so far:

Some early community examples of Windows apps built with Flutter, including Harmonoid and Rows.

Microsoft and Flutter

Several teams from Microsoft have contributed to today’s announcement. In particular, we’d like to express our gratitude to the Fluent design team for their contribution of iconography for Flutter apps on Windows. Their fluentui_system_icons package has been awarded Flutter Favorite status to signify its quality.

Of course, Visual Studio Code provides a key part of the tooling experience for Flutter apps. Our Dart extension has been downloaded over 4 million times, and we’ve been grateful for their partnership and support of our feature requests to improve Flutter development using their tools.

We asked the Windows team if they’d be willing to share a few words about Flutter’s support. Here’s what Kevin Gallo, Corporate Vice President for Windows Developer Platform at Microsoft, has to say:

“We're delighted to see Flutter adding support for creating Windows apps. Windows is an open platform, and we welcome all developers. We're excited to see Flutter developers bring their experiences to Windows and also publish to the Microsoft Store. Flutter support for Windows is a big step for the community, and we can’t wait to see what you’ll bring to Windows!”

We’ve been particularly impressed with the investments Microsoft has made around accessibility for Windows, and we’re grateful for their team’s assistance to ensure Flutter has support for screen readers from day one. It’s a mistake to dismiss accessibility as a niche interest. As this diagram from Microsoft’s inclusive design toolkit illustrates, we all have reason to care about delivering experiences that adapt for different permanent, temporary, or situational needs.

The video below demonstrates how Flutter integrates with Windows Narrator. For the purposes of this video, we’ve deliberately blurred the screen to give you a sense of how important this feature is to users who need it.

An ecosystem of tools for Windows development

Our tooling partners are also adding support for Windows.

  • FlutterFlow, the low-code Flutter app design tool, is announcing support today for Windows and features to help developers target desktop form factors from their Flutter apps.
  • Realm is a super-fast local data store. The latest version, shipping today, now supports building Windows apps with Flutter, with fast access to the underlying database using Dart FFI, adding to their existing support for mobile platforms like iOS and Android.
  • Rive announced today an upcoming Windows version of their popular graphics tooling suite, allowing designers and developers to create interactive vector animations that can respond to code in real time using a state machine. The upcoming Windows edition of their app offers screaming fast performance and a lower memory footprint, and will be available soon in the Microsoft Store for download.
  • Syncfusion have updated their suite of widgets to take full advantage of Windows. If you subscribe to their toolkit, you’ll find data visualization components like treemaps and charting, a rich data grid widget, calendars and even support for PDF creation and Excel spreadsheets.
  • Lastly, Nevercode has updated their Codemagic CI/CD tool to support Windows, enabling you to test and build your Windows apps in the cloud and automate deployment of your app to the Windows Store.

It’s very exciting for us to see a mature ecosystem built around Flutter, and we’d encourage you to check out each of these partners as you start building Windows apps with Flutter.

Windows support arrives in Flutter 2.10

Stable, production-quality support for building Windows apps is available as part of Flutter 2.10, which releases today. Flutter 2.10 also includes many other features, performance improvements and bug fixes, which we’ll cover in more detail in a separate blog post.

In the coming months, you’ll hear more from us on completing stable support for macOS and Linux, making the full set of desktop, web, and mobile platforms available for your production Flutter apps.

In the meantime, thank you for your support of Flutter. We’re excited to see what you build for Windows!

Expanding access to Differential Privacy to create a safer online ecosystem

Posted by Miguel Guevara, Product Manager, Privacy and Data Protection Office

At Google, we believe in democratizing access to privacy technology for all. Today, on Data Privacy Day, we’re sharing updates on our effort to create free tools that help the developer community – researchers, governments, nonprofits, businesses and more – build and launch new applications for differential privacy, which can provide useful insights and services without revealing any information about individuals. We hope to push the industry forward in creating a safer ecosystem for every Internet user with products that are private by design.

Enabling more developers to use differential privacy

In 2019, we launched our open-sourced version of our foundational differential privacy library in C++, Java and Go. Our goal was to be transparent, and allow researchers to inspect our code. We received a tremendous amount of interest from developers who wanted to use the library in their own applications, including startups like Arkhn, which enabled different hospitals to learn from medical data in a privacy-preserving way, and developers in Australia that have accelerated scientific discovery through provably private data.

Since then, we have been working on various projects and new ways to make differential privacy more accessible and usable. Today, after a year of development in partnership with OpenMined, an organization of open-source developers, we are happy to announce a new milestone for our differential privacy framework: a product that allows any Python developer to process data with differential privacy.

Previously, our differential privacy library was available in three programming languages. Now, we’re making it available in Python, reaching nearly half of the developers worldwide. This means millions more developers, researchers, and companies will be able to build applications with industry leading privacy technology, enabling them to obtain insights and observe trends from their datasets while protecting and respecting the privacy of individuals.

With this new Python library, we’ve already had organizations begin experimenting with new use cases, such as showing a site’s most visited webpages on a per country basis in an aggregate and anonymized way. The library is unique as it can be used with Spark and Beam frameworks, two of the leading engines for large data processing, yielding more flexibility in its usage and implementation. We are also releasing a new differential privacy tool that allows practitioners to visualize and better tune the parameters used to produce differentially private information. Finally, we are also publishing a paper sharing the techniques that we use to efficiently scale differential privacy to datasets of a petabyte or more.

As with all open-source projects, the technology and outputs are only as strong as its community. Internally, we’ve trained a team that develops differentially private solutions, including the infrastructure behind our Mobility Reports and the popular times feature in Google Maps. Being true to our goal, we took the step of helping OpenMined build a team of experts outside of Google as well to serve as a resource for anyone interested in learning how to deploy differential privacy technologies.

Looking forward

We encourage developers around the world to take this opportunity to experiment with differential privacy use cases like statistical analysis and machine learning, but most importantly, provide us with feedback. We are excited to learn more about the applications you all can develop and the features we can provide to help along the way.

We will continue investing in democratizing access to critical privacy enhancing technologies and hope developers join us in this journey to improve usability and coverage. As we’ve said before, we believe that every Internet user in the world deserves world-class privacy, and we’ll continue partnering with organizations to further that goal.