Monthly Archives: July 2022

Google and U.S. developers find agreement over Google Play store

The Android app economy has helped create nearly two million American jobs; developers around the world have earned more than $120 billion using the Google Play Store. We’re proud that Google Play helps developers build great apps and rewards them for doing so. And we know that a successful ecosystem must benefit both developers and consumers, which is why we have rules of the road to keep the store secure, protect privacy and prevent fraud. While we strive to make Google Play the best platform for everyone, Android also provides consumers and developers the opportunity to use other app store options.

Today, we’re pleased to share a proposed agreement that will help ensure that both developers and consumers can continue to benefit from Google Play. Google and a group of U.S. developers have reached a proposed settlement that allows both parties to move forward and avoids years of uncertain and distracting litigation.

As part of the settlement, we’re establishing a $90 million fund to support U.S. developers who earned two million dollars or less in annual revenue through Google Play during each year from 2016-2021. A vast majority of U.S. developers who earned revenue through Google Play will be eligible to receive money from this fund, if they choose. If the Court approves the settlement, developers that qualify will be notified and allowed to receive a distribution from the fund.

In addition to the fund, we’re committing to maintain a number of existing practices and implement new benefits that help developers innovate and communicate with their users:

  • To continue to provide developers with a tiered pricing model, we’ll maintain Google’s 15% commission rate for the first $1 million in annual revenue earned from the Google Play Store for U.S. developers, which we implemented in 2021.
  • We’re revising our Developer Distribution Agreement to make it clear that developers can continue to use contact information obtained in-app to communicate with users out-of-app, including about subscription offers or lower-cost offerings on a rival app store or the developer’s website.
  • In new versions of Android, Google will maintain certain changes implemented in Android 12 that make it even easier for people to use other app stores on their devices, while being careful not to compromise the safety measures Android has in place.
  • To showcase independent and small startup developers building unique high-quality apps, we’re creating an “Indie Apps Corner” that will appear on the apps tab on the U.S. Google Play homepage and shine a spotlight on these developers.

These commitments, including the $90 million fund, build on a number of ways we already support developers, such as providing tools that help developers build great apps, lower their costs, and grow their businesses. In fact, compared to other prominent digital content stores, we provide developers more ways to interact with their customers.

Finally, we’ve heard developers want to understand more about how Google Play operates, which is why we’ve agreed to publish annual transparency reports. The reports will share information about the Google Play Store, including statistics such as apps removed from Google Play, account terminations, and other data regarding how users interact with Google Play.

We’re pleased that we worked with the developers to propose this agreement for the Court’s approval. As the agreement notes, we remain confident in our arguments and case, but this settlement will avoid protracted and unnecessary litigation with developers, whom we see as vital partners in the Android ecosystem. We remain steadfast in our commitment to building thriving, open platforms that empower consumers and help developers succeed.

Google Workspace Updates Weekly Recap – July 29, 2022

New updates

Unless otherwise indicated, the features below are fully launched or in the process of rolling out (rollouts should take no more than 15 business days to complete), launching to both Rapid and Scheduled Release at the same time (if not, each stage of rollout should take no more than 15 business days to complete), and available to all Google Workspace and G Suite customers. 


Support for two simultaneous calls now available on Google Voice 
As part of our efforts to further improve our core calling features, Google Voice now offers the ability to place or receive a second call when you are on an ongoing call. You can quickly decide if you would like to take the second incoming call by placing the current call on hold or by hanging up the current call. You can also reject the second incoming call if you would rather not be interrupted right now.The feature is currently rolling out on Web and will roll out on Android and iOS in the coming weeks. | Available to Voice Starter, Standard, and Premier customers only. | Learn more

call waiting


The new integrated view is now the standard experience for Gmail 
At the beginning of 2022, we announced a new integrated view for Gmail, bringing critical applications like Gmail, Chat, and Meet in one unified location. By August 5th, users who have not opted-in will begin seeing the new experience by default, but can revert to classic Gmail via settings. Within the next two months, this will become the default experience with no option to revert back. We will share an update on the Workspace Updates Blog at that time. | Available to Google Workspace Business Starter, Business Standard, Business Plus, Enterprise Essentials, Enterprise Standard, Enterprise Plus, Education Fundamentals, Education Plus, Frontline, and Nonprofits, as well as legacy G Suite Basic and Business customers only. | Visit the Help Center and The Keyword to learn more. 


Previous announcements 

The announcements below were published on the Workspace Updates blog earlier this week. Please refer to the original blog posts for complete details.



Improving the Google Workspace experience on large screen Android devices 
We’ve added several new features and functionality to products like Google Drive, Docs, Sheets, Slides, and Keep on Android devices as part of our mission to provide a top-class user experience on large screen devices. | Learn more

Migrate unmanaged accounts to your domain using new “UserInvitation” API functionality 
We’ve introduced new API functionality that allows you to automate the process of finding conflicting accounts and inviting them to join your organization. | Available to Google Workspace Business Starter, Business Standard, Business Plus, Enterprise Standard, Enterprise, Cloud Identity Premium and Cloud Identity Free customers only. | Learn more

Working Location enabled by default 
You are now able to set your working location without having to first enable this feature in your Calendar settings. | Available to Google Workspace Business Standard, Business Plus, Enterprise Standard, Enterprise Plus, Education Fundamentals, Education Standard, Education Plus, the Teaching and Learning Upgrade, and Nonprofits, as well as legacy G Suite Business customers only. | Learn more

Use the Cloud Search Query API to set Suggest Filters to enhance Cloud Search results 
We’ve introduced Suggest Filters for Cloud Search. Using the Cloud Search Query API, admins can specify a filter condition that will be pre-applied to keyword suggestions as user types a query. This will surface more relevant suggestions, helping reduce the time users spend searching. | Available to Google Cloud Search customers only. | Learn more

Assignments audit data now available in the Admin console 
Google Workspace for Education admins can now view Assignments data in their audit logs. Using this data, admins can find and act on Assignments related events such as who removed a student from a video call, when assignment files were created or submitted, and more. | Available to Google Workspace Education Fundamentals, Education Plus, Education Standard, and the Teaching and Learning upgrade customers only. | Learn more

Better search and suggestion options in Gmail 
Gmail has more accurate and circumstantial search suggestions with better customization as a result of our new machine learning models. | Available to Google Workspace Business Starter, Business Standard, Business Plus, Enterprise Standard, Enterprise Plus, Education Fundamentals, Education Plus, Frontline, and Nonprofits customers only. | Learn more

New integrated email marketing tools for Gmail 
We’ve added two new features in Gmail that you can use to easily send professional-looking emails to large audiences: layouts and multi-send. | Available to Google Workspace Business Standard, Business Plus, Enterprise Starter, Enterprise Standard, Enterprise Plus, Education Standard, Education Plus, Nonprofits, Workspace Individual, and legacy G Suite Basic customers only. | Learn more

For a recap of announcements in the past six months, check out What’s new in Google Workspace (recent releases).

Beta Channel Update for ChromeOS

Hello Folks,

The Beta channel is being updated to 104.0.5112.64 (Platform version: 14909.90.0) for most ChromeOS devices.

If you find new issues, please let us know one of the following ways

  1. File a bug
  2. Visit our Chrome OS communities:
    1. General: Chromebook Help Community
    2. Beta Specific: ChromeOS Beta Help Community
  3. Report an issue or send feedback on Chrome

Interested in switching channels? Find out how.

Google ChromeOS.

Prepare your app to support predictive back gestures

Posted by Jason Tang, Product Management, Diego Zuluaga, Developer Relations, and Michael Mauzy, Developer Documentation

Since we introduced gesture navigation in Android 10, users have signaled they want to understand where a back gesture will take them before they complete it.

As the first step to addressing this need, we've been developing a predictive back gesture. When a user starts their gesture by swiping back, we’ll show an animated preview of the destination UI, and the user can complete the gesture to navigate to that UI if they want – as shown in the following example.

Although the predictive back gesture won’t be visible to users in Android 13, we’re making an early version of the UI available as a developer option for testing starting in Beta 4. We plan to make the UI available to users in a future Android release, and we’d like all apps to be ready. We’re also working with partners to ensure it’s consistent across devices.

Read on for details on how to try out the new gesture and support it in your apps. Adding support for predictive back gesture is straightforward for most apps, and you can get started today.

We also encourage you to submit your feedback.

Try out the predictive back gesture in Beta 4

To try out the early version of the predictive back gesture available through the developer option, you’ll need to first update your app to support the predictive back gesture, and then enable the developer option.

Update your app to support predictive back gesture

To help make predictive back gesture helpful and consistent for users, we're moving to an ahead-of-time model for back event handling by adding new APIs and deprecating existing APIs.

The new platform APIs and updates to AndroidX Activity 1.6+ are designed to make your transition from unsupported APIs (KeyEvent#KEYCODE_BACK and OnBackPressed) to the predictive back gesture as smooth as possible.

The new platform APIs include OnBackInvokedCallback and OnBackInvokedDispatcher, which AndroidX Activity 1.6+ supports through the existing OnBackPressedCallback and OnBackPressedDispatcher APIs.

You can start testing this feature in two to four steps, depending on your existing implementation.

To begin testing this feature:


1. Upgrade to AndroidX Activity 1.6.0-alpha05. By upgrading your dependency on AndroidX Activity, APIs that are already using the OnBackPressedDispatcher APIs such as Fragments and the Navigation Component will seamlessly work when you opt-in for the predictive back gesture. 

// In your build.gradle file:
dependencies {

  // Add this in addition to your other dependencies
  implementation "androidx.activity:activity:1.6.0-alpha05"


2. Opt-in for the predictive back gesture. Opt-in your app by setting the EnableOnBackInvokedCallback flag to true at the application level in the AndroidManifest.xml.

<application

    ...

    android:enableOnBackInvokedCallback="true"

    ... >

...

</application>


If your app doesn’t intercept the back event, you're done at this step.

Note: Opt-in is optional in Android 13, and it will be ignored after this version.

3. Create a callback to intercept the system Back button/event. If possible, we recommend using the AndroidX APIs as shown below. For non-AndroidX use cases, check the platform API mentioned above.

This snippet implements handleOnBackPressed and adds the OnBackPressedCallback to the OnBackPressedDispatcher at the activity level.

 val onBackPressedCallback = objectOnBackPressedCallback(true) {

   override fun handleOnBackPressed() {

     // Your business logic to handle the back pressed event

   }

 }

 requireActivity().onBackPressedDispatcher

   .addCallback(onBackPressedCallback)


4. When your app is ready to stop intercepting the system Back event, disable the onBackPressedCallback callback.
 

onBackPressedCallback.isEnabled = webView.canGoBack()



Note: Your app may require using the platform APIs (OnBackInvokedCallback and OnBackPressedDispatcher) to implement the predictive back gesture. Read our documentation for details.

Enable the developer option to test the predictive back gesture

Once you’ve updated your app to support the predictive back gesture, you can enable a developer option (supported in Android 13 Beta 4 and higher) to see it for yourself.

To test this animation, complete the following steps:
  1. On your device, go to Settings > System > Developer options.
  2. Select Predictive back animations.
  3. Launch your updated app, and use the back gesture to see it in action.

Learn more

In addition to our detailed documentation, try out our predictive back gesture codelab in an actual implementation.

If you need a refresher on system back and predictive back gesture on Android, we recommend watching Basics for System Back.


Thank you again for all the feedback and being a part of the Android Community - we love collaborating together to provide the best experience for our users.

Enhancing Backpropagation via Local Loss Optimization

While model design and training data are key ingredients in a deep neural network’s (DNN’s) success, less-often discussed is the specific optimization method used for updating the model parameters (weights). Training DNNs involves minimizing a loss function that measures the discrepancy between the ground truth labels and the model’s predictions. Training is carried out by backpropagation, which adjusts the model weights via gradient descent steps. Gradient descent, in turn, updates the weights by using the gradient (i.e., derivative) of the loss with respect to the weights.

The simplest weight update corresponds to stochastic gradient descent, which, in every step, moves the weights in the negative direction with respect to the gradients (with an appropriate step size, a.k.a. the learning rate). More advanced optimization methods modify the direction of the negative gradient before updating the weights by using information from the past steps and/or the local properties (such as the curvature information) of the loss function around the current weights. For instance, a momentum optimizer encourages moving along the average direction of past updates, and the AdaGrad optimizer scales each coordinate based on the past gradients. These optimizers are commonly known as first-order methods since they generally modify the update direction using only information from the first-order derivative (i.e., gradient). More importantly, the components of the weight parameters are treated independently from each other.

More advanced optimization, such as Shampoo and K-FAC, capture the correlations between gradients of parameters and have been shown to improve convergence, reducing the number of iterations and improving the quality of the solution. These methods capture information about the local changes of the derivatives of the loss, i.e., changes in gradients. Using this additional information, higher-order optimizers can discover much more efficient update directions for training models by taking into account the correlations between different groups of parameters. On the downside, calculating higher-order update directions is computationally more expensive than first-order updates. The operation uses more memory for storing statistics and involves matrix inversion, thus hindering the applicability of higher-order optimizers in practice.

In “LocoProp: Enhancing BackProp via Local Loss Optimization”, we introduce a new framework for training DNN models. Our new framework, LocoProp, conceives neural networks as a modular composition of layers. Generally, each layer in a neural network applies a linear transformation on its inputs, followed by a non-linear activation function. In the new construction, each layer is allotted its own weight regularizer, output target, and loss function. The loss function of each layer is designed to match the activation function of the layer. Using this formulation, training minimizes the local losses for a given mini-batch of examples, iteratively and in parallel across layers. Our method performs multiple local updates per batch of examples using a first-order optimizer (like RMSProp), which avoids computationally expensive operations such as the matrix inversions required for higher-order optimizers. However, we show that the combined local updates look rather like a higher-order update. Empirically, we show that LocoProp outperforms first-order methods on a deep autoencoder benchmark and performs comparably to higher-order optimizers, such as Shampoo and K-FAC, without the high memory and computation requirements.

Method
Neural networks are generally viewed as composite functions that transform model inputs into output representations, layer by layer. LocoProp adopts this view while decomposing the network into layers. In particular, instead of updating the weights of the layer to minimize the loss function at the output, LocoProp applies pre-defined local loss functions specific to each layer. For a given layer, the loss function is selected to match the activation function, e.g., a tanh loss would be selected for a layer with a tanh activation. Each layerwise loss measures the discrepancy between the layer's output (for a given mini-batch of examples) and a notion of a target output for that layer. Additionally, a regularizer term ensures that the updated weights do not drift too far from the current values. The combined layerwise loss function (with a local target) plus regularizer is used as the new objective function for each layer.

Similar to backpropagation, LocoProp applies a forward pass to compute the activations. In the backward pass, LocoProp sets per neuron "targets" for each layer. Finally, LocoProp splits model training into independent problems across layers where several local updates can be applied to each layer's weights in parallel.

Perhaps the simplest loss function one can think of for a layer is the squared loss. While the squared loss is a valid choice of a loss function, LocoProp takes into account the possible non-linearity of the activation functions of the layers and applies layerwise losses tailored to the activation function of each layer. This enables the model to emphasize regions at the input that are more important for the model prediction while deemphasizing the regions that do not affect the output as much. Below we show examples of tailored losses for the tanh and ReLU activation functions.

Loss functions induced by the (left) tanh and (right) ReLU activation functions. Each loss is more sensitive to the regions affecting the output prediction. For instance, ReLU loss is zero as long as both the prediction (â) and the target (a) are negative. This is because the ReLU function applied to any negative number equals zero.

After forming the objective in each layer, LocoProp updates the layer weights by repeatedly applying gradient descent steps on its objective. The update typically uses a first-order optimizer (like RMSProp). However, we show that the overall behavior of the combined updates closely resembles higher-order updates (shown below). Thus, LocoProp provides training performance close to what higher-order optimizers achieve without the high memory or computation needed for higher-order methods, such as matrix inverse operations. We show that LocoProp is a flexible framework that allows the recovery of well-known algorithms and enables the construction of new algorithms via different choices of losses, targets, and regularizers. LocoProp’s layerwise view of neural networks also allows updating the weights in parallel across layers.

Experiments
In our paper, we describe experiments on the deep autoencoder model, which is a commonly used baseline for evaluating the performance of optimization algorithms. We perform extensive tuning on multiple commonly used first-order optimizers, including SGD, SGD with momentum, AdaGrad, RMSProp, and Adam, as well as the higher-order Shampoo and K-FAC optimizers, and compare the results with LocoProp. Our findings indicate that the LocoProp method performs significantly better than first-order optimizers and is comparable to those of higher-order, while being significantly faster when run on a single GPU.

Train loss vs. number of epochs (left) and wall-clock time, i.e., the real time that passes during training, (right) for RMSProp, Shampoo, K-FAC, and LocoProp on the deep autoencoder model.

Summary and Future Directions
We introduced a new framework, called LocoProp, for optimizing deep neural networks more efficiently. LocoProp decomposes neural networks into separate layers with their own regularizer, output target, and loss function and applies local updates in parallel to minimize the local objectives. While using first-order updates for the local optimization problems, the combined updates closely resemble higher-order update directions, both theoretically and empirically.

LocoProp provides flexibility to choose the layerwise regularizers, targets, and loss functions. Thus, it allows the development of new update rules based on these choices. Our code for LocoProp is available online on GitHub. We are currently working on scaling up ideas induced by LocoProp to much larger scale models; stay tuned!

Acknowledgments
We would like to thank our co-author, Manfred K. Warmuth, for his critical contributions and inspiring vision. We would like to thank Sameer Agarwal for discussions looking at this work from a composite functions perspective, Vineet Gupta for discussions and development of Shampoo, Zachary Nado on K-FAC, Tom Small for development of the animation used in this blogpost and finally, Yonghui Wu and Zoubin Ghahramani for providing us with a nurturing research environment in the Google Brain Team.

Source: Google AI Blog


Meet the 2022 Code Jam World Finalists!

Posted by Julia DeLorenzo, Program Manager, Coding Competitions

The Code Jam World Finals returns!

Over the past several months, participants have worked their way through multiple rounds of algorithmic coding challenges, and solved some of the most challenging competitive programming problems. The field has been narrowed down from tens of thousands of participants, to the top competitors who will face off at the World Finals on August 5th, 2022

Join us 16:30 UTC for a livestream to see which one of these finalists will be crowned the Code Jam 2022 World Champion, winning the grand prize of $15,000 USD!

Here are this year's finalists sharing their favorite music genres, tips, fun facts, and more.

This year's Code Jam World Finalists are:


Antonio Molina Lovett

Handle: y0105w49

What's your favorite music to listen to while coding?
“Always looping the Vicious Delicious album by Infected Mushroom.”

Yuhao Du

Handle: xll114514

Code Jam claim to fame:
This is Yuhao’s second time at the Code Jam World Finals, previously competing in the 2021 World Finals.

Benjamin Qi

Handle: Benq

What's your favorite 2022 Code Jam Problem?
“Qualification Round - Twisty Little Passages. First time I used importance sampling in a contest!”

Sangsoo Park

Handle: molamola

What does your handle mean?
"1. I personally like sunfish :)
2. I like the way it sounds.
3. Mola is pronounced "몰라" in Korean, which means "I don't know".”

Daniel Rutschmann

Handle: dacin21

What's the best coding competition advice you've ever received?
“Have fun and always try to challenge yourself by solving problems that seem too difficult at first.”

Mingyang Deng

Handle: CauchySheep

What's an interesting and fun fact about yourself?
“I love random walking.”

Gennady Korotkevich

Handle: Gennady.Korotkevich

What’s your favorite 2022 Code Jam Problem?
Saving the Jelly from Round 2 took the most creativity to solve!”

Alexander Golovanov

Handle: Golovanov399

What's an interesting and fun fact about yourself?
“I have 11 musical instruments, most of which I can only play on a level "may accompany in a song I know."

Andrew He

Handle: ecnerwala

Code Jam claim to fame:
This will be Andrew’s fourth time competing in the Code Jam World Finals, having competed in 2019, 2020, and 2021 previously.

Aleksei Esin

Handle: ImBarD

What's an interesting and fun fact about yourself?
“I love bungee jumping.”

Lingyu Jiang

Handle: jiangly

What's an interesting and fun fact about yourself?
This is Lingyu’s first time competing in the Code Jam World Finals.

Kevin Sun

Handle: ksun48

Code Jam claim to fame:
This will be Kevin’s third time competing in the Code Jam World Finals, having competed in 2019 and 2020 previously.

Lukas Michel

Handle: lumibons

What does your handle mean?
“It's a combination of letters from my name and the name of the village where I grew up.”

Matvii Aslandukov

Handle: BigBag

What's an interesting and fun fact about yourself?
“I enjoy playing sports such as tennis, table tennis, volleyball, football, as well as playing piano and guitar.”

Borys Minaiev

Handle: qwerty787788

What's an interesting and fun fact about yourself?
“A year ago I started doing buildering and we created a chat with just 3 people in it. Now there are almost 100 participants. Who could imagine it would grow so fast?”

Yahor Dubovik

Handle: mhg

What's your favorite music to listen to while coding?
“Red Hot Chilli Peppers.”

Mateusz Radecki

Handle: Radewoosh

What's the best coding competition advice you've ever received?
“Becoming good isn't about creating a chance to solve a problem. It's about removing a chance to not solve a problem.”

Nikolay Kalinin

Handle: KalininN

What's an interesting and fun fact about yourself?
“I'm an experimentalist in laser physics, also I love traveling and photography.”

Simon Lindholm

Handle: simonlindholm

What's an interesting and fun fact about yourself?
“I've been really into the Super Mario 64 A Button Challenge recently, and N64 game decompilation. Also, mushroom hunting.”

Kento Nikaido

Handle: Snuke

What's an interesting and fun fact about yourself?
“I'm a cat. My recent hobby is Sed Puzzle

Tiancheng Lou

Handle: ACRushTC

Code Jam claim to fame:
This will be Tiancheng’s eighth Code Jam World Finals, having previously competed in the World Finals in 2006, 2008, 2009, 2010, 2011, 2019, 2021.

Aleksei Daniliuk

Handle: Um_nik

What’s your favorite 2022 Code Jam Problem?
"I, O Bot from Round 2, because it was actually a competitive programming problem”

Yuta Takaya

Handle: yutaka1999

What’s your favorite 2022 Code Jam Problem?
Saving the Jelly. It is mainly because I solved it in the last five minutes of the contest.”

Konstantin Semenov

Handle: zemen

Code Jam claim to fame:
This will be Konstantin’s third Code Jam World Finals, having previously competed in the World Finals in 2017 and 2018.

Watch the Code Jam World Finals Livestream 

Join us on August 5 at 16:30 UTC for a livestream of the Code Jam 2022 World Finals. 

Watch all the action unfold as the Code Jam team broadcasts live from Google New York. You'll have an opportunity to hear from our team, see Code Jam engineers explain the problems from the round, and watch live as we reveal the scoreboard and announce this year's winners!

At the end, one of these finalists will be crowned the Code Jam 2022 World Champion, winning the grand prize of $15,000 USD. Good luck to all the finalists and as always, happy coding!

RandoTek: Traveling around Tunisia to share technical knowledge

Posted by Salim Abid, Regional Lead. Middle East & North Africa, Google Developers

Training young Tunisian developers in remote areas

On weekends, the volunteers would travel for hours to new regions, sometimes on bumpy roads and on crowded, rickety buses. Their purpose? To inspire others around the country and teach them about new technologies. When the members of two Google Developer Groups (GDG) in the Beja and Sousse regions of Tunisia came together to address the challenge that many of their fellow Tunisian citizens had limited access to technology. They decided to make a difference by launching Randotek, a program in Tunisia to help train young developers that gets its name from the French word randonne, which means to hike.

Many community members from these chapters, including Alaedeen Eloueryemmi of GDG Sousse and Yasmina Rebai of GDG Beja, support the initiative. Alaedeen, a software engineer, joined GDG Sousse in 2021, after graduating from university, where he co-founded the ESSTHS Google Developer Student Club. Yasmina joined GDG Beja at the suggestions of a software engineer friend.

Sharing technology knowledge and building community

The origin story for GDG RandoTek goes back to January 2022, when Alaedeen gave a talk at DevFest Beja. During his talk, he and the other members of the GDG Beja and GDG Sousse teams noticed many students couldn't follow his talk because of their lack of familiarity with Google technologies. Acknowledging that many of their fellow Tunisian citizens need more access to technology, the GDG RandoTek volunteers began teaching workshops in February 2022.

“We wanted to give others an overview of the community and the new technologies out there,” says Alaedeen. “We want to build a strong community of developers and allow people to achieve their dreams. In Tunisia, people don’t always have access to courses or materials, so we bring that to them.”

Positive impacts for the community

To date, the program generated positive impacts, in Tunisia including:

  • The organizers hosted nine sessions for over 412 developers in eight regions of Tunisia and five cities.
  • The community initiative has run many four-hour workshops on Google technologies including Flutter; Go; Angular; progressive web apps; AI and machine learning; TensorFlow; Google Cloud Platform; and DevOps.
  • Attendees expressed interest in learning more about specific technologies, like Flutter and Cloud, and in joining a GDG group.
  • GDG RandoTek members continue to be asked to give additional workshops, online and in-person, making it a powerful learning experience for them as well.

Building a tech community in Tunisia

The GDG RandoTek organizers note that as more young developers receive training on various technologies, they will feel inspired to form new developer communities in their own local area. The more of those types of groups there are, the easier it will be to reach even more people in Tunisia. “That’s what we want to spread in Tunisia–to have more than one GDSC in every region, and more than one chapter in every place,” says Yasmina. The RandoTek team remains motivated to share knowledge and expand the community with new members.

“What we wanted to do during this program is to share the knowledge,” says Alaedeen. “Share the spirit of community work and get together and learn stuff.” The organizers all seem to share a mutual admiration for helping others. “Seeing how the world evolves each day and the need for technologies in our daily life, I would advise anyone, especially students, to learn as much technology as possible because they’re going to use them someday, somehow,” Yasmina says.

What’s next for GDG RandoTek in Tunisia

For organizers like Aladeen, Yasmina, and their collaborators, the GDG community unlocks potential, creates leaders, and helps people relate to each other through technology. It creates a way to motivate others to become teachers and share technical knowledge and build skills.

“For me, if it wasn’t for GDG, I wouldn’t be the person I am today,” says Alaedeen. “It improved my career, my management skills, and my technical skills, and I want everyone to have that opportunity.”

Visit the Google Developer Groups page and find out how to join a Google Developer Community near you!

This Global Tiger Day, visit tiger.day to help protect these big cats

July 29 is Global Tiger Day, a celebration of the majestic big cats that play a critical role on our planet and serve as cultural and spiritual icons for millions of people. Tigers are influential predators, key to maintaining healthy ecosystems that supply both people and the environment with fresh water, food and health.

Global Tiger Day was founded in 2010, when 13 tiger-range countries (the countries where tigers live in the wild) came together with a goal to double the number of wild tigers in the world — perhaps the most ambitious recovery effort for a single species. World Wildlife Fund (WWF) has partnered with Google Registry to launch the .day domains tiger.day and endangeredspecies.day, to drive attention to this urgent cause.

The team at WWF imagines a world where wild tigers are recovering and thriving. So, how do we get there?

  • Support the Big Cat Public Safety Act. In the U.S., WWF is calling upon Congress to pass the Big Cat Public Safety Act, legislation that would help monitor and regulate the thousands of captive tigers across the U.S. and help prevent them from ending up in the illegal trade in tiger parts and products. Anyone in the U.S. can show their support by contacting their representatives here.
  • Report any suspected illegal wildlife products to theCoalition to End Wildlife Trafficking Online. Tiger poaching and the illegal trade of live tigers remains a constant threat to the tiger population. WWF is focusing on efforts that reduce demand for tiger products.
  • Become a tiger advocate. Sharing the importance of protecting tigers and their habitats with your community is an easy thing that anyone do. Consider becoming a Panda Ambassador to engage with others who are also committed to saving wildlife and the environment while supporting WWF.

After a century of decline, overall wild tiger numbers in Asia are starting to trend upward, thanks to the passionate work of many advocates. But there’s so much more to be done.

Tiger recovery is possible when governments, communities, conservation organizations and others work together. Visit tiger.day to learn how you can help protect wild tigers. Because protecting wild tigers protects so much more than just this iconic species.

Tigress and cub (Panthera tigris) in Ranthambore Tiger Reserve, India.

Tigress and cub (Panthera tigris) in Ranthambore Tiger Reserve, India.

© Shutterstock / Bhasmang Mehta / WWF-International

These Lionesses have byte – could analytics help them lift the trophy?

On Sunday, England will face Germany in the final act of this summer’s tournament—one that has pitted the top teams from across Europe against one another, and inspired a generation.

It will take grit, determination and a stunning backheel here or there for England to win. But technology plays a part too. The Football Association’s partnership with Google Cloud has been a vital part of the picture for the lead up to the competition, giving coaches and performance staff access to data and processing muscle that help it select the best squad available at any one time.

The FA’s Player Performance System (PPS) is a central component of Helix—an application and development suite developed by The FA. Helix has been hosted on Google Cloud for the last five years and is used by the Technical Directorate staff associated with both the England women’s and men’s football teams. It provides them with secure access to databases, processes, functions, and compute resources that analyse large volumes of data. It also integrates with visualisation tools to give coaches and performance staff multiple views of data that provides unique insightscustomised to end users’ requirements.

This data can include anything from player profiles, to scouting reports, to medical information, to club and international fixtures and results. It also brings in research from metrics pulled from wearable devices, which track players’ training volume and intensity, to allow coaches to better manage their workloads. Coaches also have access to players’ sleep, nutrition, recovery, and mental health data.

“What it allows our users to do is pull together disparate information that they may not be used to seeing side-by-side. This helps us to generate new insights, and hopefully give us an edge when it comes to competitions,” said Craig Donald, CIO at The FA.

Helix provides multi-dimensional insight

Helix tracks more than 3,500 professional footballers and stores more than 22 million player data points collected from competitive games and training sessions. The platform relies on various Google Cloud tools, glued together by a complex microservice system, which is used to update the data being collected, analysed, and stored. Google Cloud Storage is also used to host The FA’s video archives of competitive games. As many as 400 games a day make their way into The FA database, each one creating up to a 5GB file size and 600MB of video tracking data.

Image of three Lioness football players with the middle one holding a football.  Data points are circled in yellow, red and blue howcasing how Google Cloud technology is used to look at performance.

This means the FA has faster, more convenient access to data, plus greater insight into player and team performance, which can aid in both the selection and choice of tactics in any given fixture. The additional power and capacity of the GCP hosting infrastructure helps The FA quickly and cost effectively scale up its analytics capabilities to handle additional data sets during forthcoming competitions.

It often seems in football that everybody has their own idea of the best players to pick and the tactics to adopt. But the combination of granular data metrics and cloud architecture deployed by The FA and Google Cloud might actually give a genuine expert the knowledge to back up those opinions.

But does it mean the Lionesses will win on Sunday? Tune in to find out.

New integrated email marketing tools for Gmail

What’s changing

For select Google Workspace editions, we’re adding two new features in Gmail which you can use to easily send professional-looking emails to large audiences: 

  • Layouts: You can select from a predefined set of email templates, which feature images, text elements, and buttons. You can further customize these templates with your own color schemes, logos, images, footer text, and links. Layouts: You can select from a predefined set of email templates, which feature images, text elements, and buttons. You can further customize these templates with your own color schemes, logos, images, footer text, and links. 




  • Multi-send: This feature allows you to send mass emails without the need to BCC all recipients. By default, multi-send emails include an unsubscribe link unique to each recipient — anyone who unsubscribes is automatically excluded from future multi-send emails from you. 


Additionally, we are introducing an Admin setting to control whether these features are on or off for your users. The admin settings are rolling out now, allowing time to configure availability for their end users in advance. See below for more information. 


These features are only available for Gmail on the web at this time. 


Who’s impacted 

Admins and end users 


Why you’d use them 

We hope these features allow you to quickly and easily create announcements, newsletters, and other mass-email scenarios. Additionally, your recipients will have the ability to unsubscribe from future multi-send emails. 


Getting started 

Admins: 
  • Layouts: This feature is ON by default and at the domain level. You can turn layouts on or off for specific domains, OUs, or groups. 
  • Multi-Send: 
    • For Google Workspace Enterprise Starter and above, as well as Google Workspace for Education customers, this feature is restricted to internal recipients by default. 
    • For Google Workspace Business and Nonprofit customers, multi-send is available by default for external recipients. 
    • For all Google Workspace editions, you can turn multi-send ON for external recipients at the OU or Group level 

  • Note: 
    • These feature launches do not impact the existing send quotas for users.
    • If your organization has disabled Google Drive, Gmail layouts are turned off automatically. 

  • Visit the Help Center to learn more about managing Gmail settings for your users, customizing access policies for different organizational units or groups

  • End users: If enabled by your admin, visit the Help Center to learn more about using layouts and multi-send in Gmail. 

Rollout pace 

Admin Controls 
End user functionality 


    Availability 

    • Available to Google Workspace Business Standard, Business Plus, Enterprise Starter, Enterprise Standard, Enterprise Plus, Education Standard, Education Plus, Nonprofits, Workspace Individual, and legacy G Suite Basic customers 
    • Not available to Google Workspace Essentials, Education Fundamentals, Education Teaching & Learning, Business Starter, Enterprise Essentials, and Frontline customers as well as legacy G Suite Business customers 

    Resources