Tag Archives: API

Google Workspace Updates Weekly Recap – July 28, 2023

3 New updates 

Unless otherwise indicated, the features below are available to all Google Workspace customers, and are fully launched or in the process of rolling out. Rollouts should take no more than 15 business days to complete if 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.


Set Context Aware Access policies for 1P & 3P applications to access Workspace APIs 
Admins can now use context-aware access to block or limit first and third party API access to Google Workspace applications. With context-aware access, you can set up different access levels to Workspace applications based on a user’s identity and the context of the request (location, device security status, IP address). Extending these policies to APIs that request Workspace core data gives admins another layer of control and security and helps protect against data exfiltration. | Available to Google Workspace Enterprise Standard, Enterprise Plus, Education Standard, Education Plus, and Cloud Identity Premium customers only. | Visit the Help Center to learn more about controlling which third-party & internal apps access Google Workspace data, context-aware access, creating context-aware access levels, and assigning access levels to apps

Include audio when sharing your screen using Google Meet on mobile
If you're using Google Meet on a mobile device, you can now share audio in addition to your screenshare. Share a video with sound, or share music along with your presentation. | This feature is available now on iOS and will begin rolling out for Android mid-August 2023. | Learn more about presenting during a video meeting

A single Google group can be a member of 30,000 shared drives 
Previously, a single Google group could be added as a member to an unlimited number of shared drives. To protect the reliability of access changes for users in Google groups, a single group can now be added to no more than 30,000 shared drives. | Rolling out now to Rapid Release and Scheduled Release domains at an extended pace (potentially longer than 15 days for feature visibility). | Available to Business Standard, Business Plus, Essentials Starter, Enterprise Essentials, Enterprise Essentials Plus, Enterprise Standard, Enterprise Plus, Education Fundamentals, Education Standard, Education Plus, the Teaching and Learning Upgrade, and Nonprofits only. | Learn more about shared drive limits in Google Drive


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.


Adding line numbers to Google Docs 
We’ve introduced the option to display line numbers within Docs that are set to paged mode. | Learn more about line numbers to Google Docs. 

Import sensitive external files to Google Drive with client-side encryption using the Drive API, launching in beta 
For select Google Workspace editions, admins can import sensitive, encrypted files from third-party storage using Client-side encryption and the Google Drive API, preserving the confidentiality of your data. Eligible admins can apply for beta access using this form. | Available to Google Workspace Enterprise Plus, Education Standard, and Education Plus customers only. | Learn more about the ​​migrate to Drive client-side encryption beta

Sync users and groups from an Azure Active Directory using Directory Sync Google 
Workspace Admins can now use Directory Sync to sync users and groups from Azure Active Directory. Directory Sync is an alternative to Google Cloud Directory Sync (GCDS), which admins can use to synchronize user and group data with their Google Cloud directory without the need to manage on-prem hardware and deployments. | Learn more about Directory Sync

Disable submissions after a due date in Google Classroom 
We’ve introduced a new option for teachers to disable submissions after an assignment past the due date. | Learn more about disabling submissions in Google Classroom

In-line replies now available within announcement spaces in Google Chat
We've added an in-line reply option to enable members of a space to respond to or discuss an announcement. | Learn more about in-line replies in Google Chat spaces.

Completed rollouts

The features below completed their rollouts to Rapid Release domains, Scheduled Release domains, or both. Please refer to the original blog posts for additional details.


Rapid Release Domains: 

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

Programmatically read and write working locations for a portion of the day with the Calendar API

What’s changing 

Recently, we introduced the ability for users to set working locations in Calendar that indicate where they’re working for specific portions of the day. Now, we’re adding the ability to programmatically read and write working locations for specific portions of the day. This update expands on the existing reading and writing functionality announced earlier this year. 


Getting started 


Rollout pace 

  • This feature is available now for all eligible Google Workspace editions. 

Availability 

All developers can use the API, however the working location feature is only available for eligible Workspace editions: 
  • Available to Google Workspace Business Standard, Business Plus, Enterprise Standard, Enterprise Plus, Education Fundamentals, Education Plus, Education Standard, the Teaching and Learning Upgrade and Nonprofits customers 

Resources 

Ability to create spaces, memberships, group chats, and more using the Google Chat API is now generally available

What’s changing 

Last year, we announced that developers could use the Google Chat API to programmatically create new spaces and add members to those spaces through the Google Workspace Developer Preview Program. 

Today, those features are generally available for all Google Workspace developers, along with the ability to use Chat API to: 


Who’s impacted


Admins and developers


Why you’d use it 

These features enable developers to build solutions that integrate into workflows and pull contextual data right into the conversation. Using the new API functionalities, you can set up new spaces that focus on a specific topic, team, or project. You can also use the new APIs to encourage collaboration and outreach with users in your organization. For example, LumApps, a leading intranet platform, enables you to start a direct message in Google Chat from its user directory. Those who are trying to find others based on job titles, roles, departments, and other attributes, can quickly start messaging each other.




Additional details

To ensure you are aware that a Chat application has performed an action on behalf of a user, Chat web and mobile apps will display the app name for system messages and Chat messages. 




Getting started

  • Admins: Admins can use the API controls in Admin Console if they want to restrict access to Google Chat data.
  • Developers: Access the new Chat APIs through the Google Chat API


Rollout pace


  • This feature is now available.

Availability

  • Available to all Google Workspace customers.

Launching in beta: programmatically write working locations with the Calendar API

What’s changing 

Available now in beta through our Developer Preview Program, you can write a user’s working location using the Calendar API. 


Using the API to write a Calendar user’s working location values can help you synchronize users' working location with third-party tools. You can easily update users’ working location based on: 
  • When they book a hot desk via a hot desk booking tool 
  • Schedule a trip via a travel booking tool 


Reading of working locations is already available through the Developer Preview Program. 

Getting started 


Rollout pace 

  • This feature is available now for all eligible Google Workspace editions. 

Availability 

All developers can use the API, however the working location feature is only available for eligible Workspace editions: 
  • Available to Google Workspace Business Standard, Business Plus, Enterprise Standard, Enterprise Plus, Education Fundamentals, Education Plus, Education Standard, the Teaching and Learning Upgrade and Nonprofits customers

Resources 

PJRT: Simplifying ML Hardware and Framework Integration

Infrastructure fragmentation in Machine Learning (ML) across frameworks, compilers, and runtimes makes developing new hardware and toolchains challenging. This inhibits the industry’s ability to quickly productionize ML-driven advancements. To simplify the growing complexity of ML workload execution across hardware and frameworks, we are excited to introduce PJRT and open source it as part of the recently available OpenXLA Project.

PJRT (used in conjunction with OpenXLA’s StableHLO) provides a hardware- and framework-independent interface for compilers and runtimes. It simplifies the integration of hardware with frameworks, accelerating framework coverage for the hardware, and thus hardware targetability for workload execution.

PJRT is the primary interface for TensorFlow and JAX and fully supported for PyTorch, and is well integrated with the OpenXLA ecosystem to execute workloads on TPU, GPU, and CPU. It is also the default runtime execution path for most of Google’s internal production workloads. The toolchain-independent architecture of PJRT allows it to be leveraged by any hardware, framework, or compiler, with extensibility for unique features. With this open-source release, we're excited to allow anyone to begin leveraging PJRT for their own devices.

If you’re developing an ML hardware accelerator or developing your own compiler and runtime, check out the PJRT source code on GitHub and sign up for the OpenXLA mailing list to quickly bootstrap your work.

Vision: Simplifying ML Hardware and Framework Integration

We are entering a world of ambient experiences where intelligent apps and devices surround us, from edge to the cloud, in a range of environments and scales. ML workload execution currently supports a combinatorial matrix of hardware, frameworks, and workflows, mostly through tight vertical integrations. Examples of such vertical integrations include specific kernels for TPU versus GPU, specific toolchains to train and serve in TensorFlow versus PyTorch. These bespoke 1:1 integrations are perfectly valid solutions but promote lock-in, inhibit innovation, and are expensive to maintain. This problem of a fragmented software stack is compounded over time as different computing hardware needs to be supported.

A variety of ML hardware exists today and hardware diversity is expected to increase in the future. ML users have options and they want to exercise them seamlessly: users want to train a large language model (LLM) on TPU in the Cloud, batch infer on GPU or even CPU, distill, quantize, and finally serve them on mobile processors. Our goal is to solve the challenge of making ML workloads portable across hardware by making it easy to integrate the hardware into the ML infrastructure (framework, compiler, runtime).

Portability: Seamless Execution

The workflow to enable this vision with PJRT is as follows (shown in Figure 1):

  1. The hardware-specific compiler and runtime provider implement the PJRT API, package it as a plugin containing the compiler and runtime hooks, and register it with the frameworks. The implementation can be opaque to the frameworks.
  2. The frameworks discover and load one or multiple PJRT plugins as dynamic libraries targeting the hardware on which to execute the workload.
  3. That’s it! Execute the workload from the framework onto the target hardware.

The PJRT API will be backward compatible. The plugin would not need to change often and would be able to do version-checking for features.

Diagram of PJRT architecture
Figure 1: To target specific hardware, provide an implementation of the PJRT API to package a compiler and runtime plugin that can be called by the framework.

Cohesive Ecosystem

As a foundational pillar of the OpenXLA Project, PJRT is well-integrated with projects within the OpenXLA Project including StableHLO and the OpenXLA compilers (XLA, IREE). It is the primary interface for TensorFlow and JAX and fully supported for PyTorch through PyTorch/XLA. It provides the hardware interface layer in solving the combinatorial framework x hardware ML infrastructure fragmentation (see Figure 2).

Diagram of PJRT hardware interface layer
Figure 2: PJRT provides the hardware interface layer in solving the combinatorial framework x hardware ML infrastructure fragmentation, well-integrated with OpenXLA.

Toolchain Independent

PJRT is hardware and framework independent. With framework integration through the self-contained IR StableHLO, PJRT is not coupled with a specific compiler, and can be used outside of the OpenXLA ecosystem, including with other proprietary compilers. The public availability and toolchain-independent architecture allows it to be used by any hardware, framework or compiler, with extensibility for unique features. If you are developing an ML hardware accelerator, compiler, or runtime targeting any hardware, or converging siloed toolchains to solve infrastructure fragmentation, PJRT can minimize bespoke hardware and framework integration, providing greater coverage and improving time-to-market at lower development cost.

Driving Impact with Collaboration

Industry partners such as Intel and others have already adopted PJRT.

Intel

Intel is leveraging PJRT in Intel® Extension for TensorFlow to provide the Intel GPU backend for TensorFlow and JAX. This implementation is based on the PJRT plugin mechanism (see RFC). Check out how this greatly simplifies the framework and hardware integration with this example of executing a JAX program on Intel GPU.

"At Intel, we share Google's vision of modular interfaces to make integration easier and enable faster, framework-independent development. Similar in design to the PluggableDevice mechanism, PJRT is a pluggable interface that allows us to easily compile and execute XLA's High Level Operations on Intel devices. Its simple design allowed us to quickly integrate it into our systems and start running JAX workloads on Intel® GPUs within just a few months. PJRT enables us to more efficiently deliver hardware acceleration and oneAPI-powered AI software optimizations to developers using a wide range of AI Frameworks." - Wei Li, VP and GM, Artificial Intelligence and Analytics, Intel.

Technology Leader

We’re also working with a technology leader to leverage PJRT to provide the backend targeting their proprietary processor for JAX. More details on this to follow soon.

Get Involved

PJRT is available on GitHub: source code for the API and a reference openxla-pjrt-plugin, and integration guides. If you develop ML frameworks, compilers, or runtimes, or are interested in improving portability of workloads across hardware, we want your feedback. We encourage you to contribute code, design ideas, and feature suggestions. We also invite you to join the OpenXLA mailing list to stay updated with the latest product and community announcements and to help shape the future of an interoperable ML infrastructure.

Acknowledgements

Allen Hutchison, Andrew Leaver, Chuanhao Zhuge, Jack Cao, Jacques Pienaar, Jieying Luo, Penporn Koanantakool, Peter Hawkins, Robert Hundt, Russell Power, Sagarika Chalasani, Skye Wanderman-Milne, Stella Laurenzo, Will Cromar, Xiao Yu.

By Aman Verma, Product Manager, Machine Learning Infrastructure

Launching in beta: manage working locations with the Calendar API

What’s changing

Available now in beta through our Developer Preview Program, you can read working location data using the Calendar API and get notified when those working locations change. Previously, we said this functionality would be available through a separate API. However, in order to provide a more streamlined experience, this functionality will be instead available in the Calendar API. 

Using the API to read a Calendar user’s working location values can help you:

  • Analyze the flow and volume of people through physical campuses, helping you adapt on-site resources to the needs of your employees.
  • Share whereabouts across other internal or third-party surfaces, making it easier to enable tasks such as hot desk booking or schedule in-office or remote working days.

We anticipate write support for the API to become available in Q3 2023 — we’ll share an update here on the Workspace Updates Blog at that time.

Getting started


Admins and Developers: 

Admins: 

Availability

While all developers will be able to use the API, the working location feature is only available for eligible Workspace editions:

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

Resources


Introducing Trusted Types in Google Workspace

What’s changing

We’re improving the client-side security of Google Docs, Sheets, Slides, Forms, Sites, Jamboard, Drawings, and Drive with Trusted Types. This will provide an extra layer of protection around Document Object Model (DOM) APIs that are used by the apps listed above or third-party extensions. 

This new enforcement mode will require third-party extensions to use typed objects instead of strings when assigning values to DOM APIs, and will begin rolling out on March 23, 2023. Once Trusted Types are fully enforced, the Trusted Types directive will be present in the Content Security Policy (CSP) header: 

Who’s impacted

Developers (relying on any Chrome extensions that modify DOM APIs.) 


Why it’s important

Trusted Types is a feature that further enhances our advanced data protection controls to keep users and data safe across more of the apps they use everyday. 


Additional details 

Screen readers, braille devices, and screen magnification will not change with Trusted Types. However, we recommend admins and developers check third party extensions for Trusted Types violations. Visit the Help Center to learn more about Accessibility for Google Docs, Sheets, Slides, & Drawings


Getting started 

  • Admins: There is no admin control for this feature. 
  • Developers: 
    • To make code Trusted Types compliant, signal to the browser that data being used within the context of these DOM APIs is trustworthy by creating a Trusted Type special object. 
    • There are several ways to be Trusted Types compliant, such as removing the offending code, using a library, or creating a Trusted Types policy. To ensure a seamless experience for users, these techniques can be employed before Trusted Types enforcement is rolled out. 
    • Visit the Chrome DevTools engineering blog to learn more about implementing CSP and Trusted Types debugging in Chrome DevTools
  • End users: There is no end user setting for this feature. 

Rollout pace 

Availability 

  • Available to all Google Workspace customers, as well as legacy G Suite Basic and Business customers 
  • Available to users with personal Google Accounts 

Resources 

Google Workspace Updates Weekly Recap – January 13, 2023

1 New update
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.



Find apps and app commands in Chat with a new Integration Menu 
We’re making it easier to discover and use Chat apps with a new Integration Menu. Simply click the (+) button next to the compose bar in a Chat message to see installed apps. You can also browse the slash commands that the apps support and execute them. On the web, the Integration Menu includes a search functionality that allows you to browse new apps. | Available to Google Workspace Essentials, Business Starter, Business Standard, Business Plus, Enterprise Essentials, Enterprise Standard, Enterprise Plus, Education Fundamentals, Education Plus, Education Standard, the Teaching and Learning Upgrade, Frontline, and legacy G Suite Basic and Business customers only. 


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.



New option to view non-printing characters in Google Docs 
You can now choose to display non-printing characters in order to see how a document is laid out. | Learn more

Improvements to voice features in Google Docs and Slides 
We’ve improved the features that enable you to type and edit by speaking in Google Docs or in Google Slides speaker notes, and present slides with automatic captions to display a speaker's words in real time. | Learn more

Manage all Google Workspace API activity from a single location 
Within the Google Cloud Console, you can now view and manage all Google Workspace API activity. Here, you’ll find a centralized view of which APIs are currently running and their associated requests. | Learn more

Increasing efficiency through better meeting room management with room release 
Room release, an existing feature that releases booked meeting rooms when all but one attendee declines the invitation will now be ON by default. There will be a transition period, from January 11 - March 6, 2023, where admins can opt out structured meeting rooms or user groups from this room release setting. | Available to Google Workspace Business Plus, Enterprise Standard, Enterprise Plus, Education Fundamentals, Education Plus, Education Standard, and the Teaching and Learning Upgrade, and legacy G Suite Business customers only. | Learn more

New in-meeting reactions for Google Meet 
You can now use emojis to share in-meeting reactions in Google Meet on Web, Meet Hardware devices, and iOS, with Android coming soon. | Learn more

Introducing simpler conversation creation in Google Chat 
The process to create conversations in Chat will be much simpler by combining the flow for creating one-on-one conversations and group conversations. | Learn more

View speaker notes while presenting Google Slides in Google Meet
In October of 2022, we introduced the ability to present Google Slides directly in Google Meet. To build upon this, you can now view your speaker notes within Google Meet. | Available to Google Workspace Business Standard, Business Plus, Enterprise Essentials, Enterprise Standard, Education Standard, Enterprise Plus, Education Plus, the Teaching and Learning Upgrade, and Nonprofits customers only. | Learn more



Completed rollouts

The features below completed their rollouts to Rapid Release domainsScheduled Release domains, or both. Please refer to the original blog post for additional details.


Scheduled Release Domains:

Rapid and Scheduled Release Domains:

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

Manage all Google Workspace API activity from a single location

What’s changing

Within the Google Cloud Console, you can now view and manage all Google Workspace API activity. Here, you’ll find a centralized view of which APIs are currently running and their associated requests. You can also easily perform common actions such as:


  • Monitoring aggregated metrics for APIs, including traffic, errors, and latency.
  • Viewing and adjusting quotas as needed.
  • Managing API credentials.
  • Finding other available APIs, tutorials and documentation.



This unified experience will eliminate the need to search for APIs manually, making it easier to manage your existing projects and build out your API ecosystem with new integrations. 


Getting started

  • Admins and Developers: From the navigation menu in the Google Cloud console, navigate to View all products > Other Google Products > Google Workspace. Visit the Help Center to learn more about enhancing Google Workspace Apps.

Rollout pace

  • This feature is available now.

Resources


Per-App Language Preferences – Part 2

Posted by Neelansh Sahai Android Developer Relations Engineer (on Twitter and LinkedIn)

Context

In part 1 of the Per-App Language Preferences blog, we discussed what the feature is, how developers benefit from it, how to implement the feature, and the strong business impact of catering to multilingual users. In this part of the blog, we'll discuss how various top apps migrated to the Per-App Languages Feature and how it benefited them.

Developer Success Stories

Here are some top apps that migrated to the Per-App Languages Preferences APIs. Let’s have a look at them.
LinkedIn Logo

LinkedIn is a business and employment oriented online platform that is primarily used for professional networking and career development. It bridges the gap between an employer and a job seeker, by providing both a common ground to connect. LinkedIn operates over a huge set of 875+ M registered users spread across more than 200 countries and territories.

Due to the several regions they cover, it becomes important to support multiple languages in the app. LinkedIn supports 26 Languages in their app right now, and this brings forward an opportunity to provide the users with the best experiences of latest android features. With this as the target, the LinkedIn team invested their efforts in migrating to the new Per-App Language Preferences APIs, and went ahead to provide their consumers the complete flexibility and features of Android 13. The team also quoted, “It was an easy integration with minimal code changes”.


MyJio Logo

MyJio is the-one-stop destination for recharges, managing accounts & Jio devices, UPI & payments, entertainment services with movies, music, news, games, quizzes & a lot more. With over 500 M+ total installs spread across the globe, MyJio aims to provide its users better access to a variety of utilities. Also as the user-base of MyJio is quite vast, the app supports a total of over 12+ Languages. With these many features and a wide diversity of active multilingual users, MyJio has a strong reason to localize their app using the best practices.

MyJio developers implemented the Per App Language Preferences APIs right along with the Android 13 release, allowing their users the flexibility to select a language for their app from system settings as well.

One of the major use-cases was to retain user's language preference, when users switch devices and then log in again from the same account. In this case, when the data is restored from a previous backup, the language preference is also restored along with the rest of the data, maintaining the seamless MyJio user experience across devices. This shows the API's flexibility to work well with other Android features like Backup and Restore, and helps developers give their users a better user experience.
 

Zomato Logo
With over 16.7M+ monthly transacting customers in more than 1000 cities across India, it is one of the most popular food ordering and restaurant discovery services in the region. This also means that the app is used in several languages. Zomato currently supports over 15 languages on its app.

The Zomato team wanted to make the user experience for users across geographies to be very seamless and delightful. Localizing the app based on the region and user preference was an important step in this direction. Zomato was quick to respond to the changes that were introduced in Android 13. They went ahead and migrated their language-switching logic to Per-App Language Preferences, within a week. Thereby helping their users find an easy way to use Zomato in their preferred language.

FROM  THE  DEVELOPERS :

At Zomato, providing the best customer experience possible is the core of our business and we believe localization is very critical in giving our customers a pleasant experience on the platform. Our team integrated with the new A13 Per-App Language Preferences API provided by Google to make it easy for our users to switch their preferred language on Zomato.

The ease of integrating the API helped us get it done effortlessly in less than a week’s time. Backward compatibility and stability of the API ensured that we are not compromising on the experience of our customers. With this, we hope to provide a better experience to the customer in their journey of online ordering via Zomato.


OkCredit Logo

OkCredit is a credit management app with over 50M+ downloads, having total annual transactions of around 50 Billion USD on the app. As OKCredit supports both local and large-scale businesses and also around 10+ languages in their app, it was critical for them to support the ability to seamlessly switch the app language so that more users are able to onboard on their platform.

The developers from OkCredit have always been quick to adopt changes introduced in Android. They recently adopted the Per-App Language Preferences APIs within the timeframe of a week, providing their end users a better and more seamless experience around switching their app languages at their convenience.


FROM  THE  DEVELOPERS :

The demand for using apps in vernacular language is steadily growing in India. After Google announced Per-App Language Preferences recently, it was a straightforward decision to integrate them. The implementation was straightforward, stable, and compatible with older Android versions.



Conclusion

We saw that some top apps have implemented the Per-App Language Preferences APIs in their apps and have also circulated the updates out to the users. This easy migration was possible in such a short timespan due to the low amount of effort investment and minimal code changes required. Lastly, here are some resources that can help you understand the feature better.

  1. Per-App Language Preferences
  2. Sample App ( Compose )
  3. Sample App ( Views )
  4. Per-app language preferences (YouTube Video)