A new guide to help you upgrade to Performance Max using the Google Ads API


Do you want to discover if Performance Max can provide additional benefits beyond your existing campaigns?
Are you interested in upgrading existing campaigns to Performance Max?
Do you need to scale your upgrades using the Google Ads API?

What’s new
If the answer to any of these questions is “yes”, then the new Upgrade to Performance Max guide can help. In this guide you will discover:
  • A summary of the benefits available in Performance Max
  • Steps to assist you managing the upgrade process
  • Eligibility information to help you understand which existing campaigns you are able to upgrade using the Google Ads API
  • Recommendations to compare reporting between existing campaigns and Performance Max campaigns
  • Enhancements you can make to improve your upgraded campaign
Feedback and support
If you have further questions or concerns about upgrading to Performance Max, we want to hear from you. Please provide any feedback on the upgrade process or Performance Max using our feedback page. If you require further support with your upgrade, please reach out to our team via one of our support channels.

Top 3 Updates for Building Excellent Apps at Google I/O ‘24

Posted by Tram Bui, Developer Programs Engineer, Developer Relations

Google I/O 2024 was filled with the latest Android updates, equipping you with the knowledge and tools you need to build exceptional apps that delight users and stand out from the crowd.

Here are our top three announcements for building excellent apps from Google I/O 2024:

#1: Enhancing User Experience with Android 15

Android 15 introduces a suite of enhancements aimed at elevating the user experience:

    • Edge-to-Edge Display: Take advantage of the default edge-to-edge experience offered by Android 15. Design interfaces that seamlessly extend to the edges of the screen, optimizing screen real estate and creating an immersive visual experience for users.
    • Predictive Back: Predictive back can enhance navigation fluidity and intuitiveness. The system animations are no longer behind a Developer Option, which means users will be able to see helpful preview animations. Predictive back support is available for both Compose and Views.

#2: Stylus Support on Large Screens

Android's enhanced stylus support brings exciting capabilities:

    • Stylus Handwriting: Android now supports handwriting input in text fields for both Views and Compose. Users can seamlessly input text using their stylus without having to switch input methods, which can offer a more natural and intuitive writing experience.
    • Reduced Stylus Latency: To enhance the responsiveness of stylus interactions, Android introduces two new APIs designed to lower stylus latency. Android developers have seen great success with our low latency libraries, with Infinite Painter achieving a 5x reduction in latency from from 60-90 ms down to 8-16 ms.

#3: Wear OS 5: Watch Face Format, Conservation, and Performance

In the realm of Wear OS, we are focused on power conservation and performance enhancements:

    • Enhanced Watch Face Format: We've introduced improvements to the Watch Face Format, making it easier for developers to customize and optimize watch faces. These enhancements can enable the creation of more responsive, visually appealing watch faces that delight users.
    • Power Conservation: Wear OS 5 prioritizes power efficiency and battery conservation. Now available in developer preview along with a new emulator, you can leverage these improvements to create Wear OS apps that deliver exceptional battery life without compromising functionality.

There you have it— the top updates from Google I/O 2024 to help you build excellent apps. Excited to explore more? Check out the full playlist for deeper insights into these announcements and other exciting updates unveiled at Google I/O.

Personal information cards and Contacts sidebar will now display the organization name

What’s changing

Starting May 28, 2024, the organization name and department will be displayed on personal information cards and in the Contacts sidebar. This information provides helpful context about the people you’re interacting with and displaying this additional information will help you learn more about who you’re collaborating with, and more.



Getting started

  • Admins: 
    • Admins can populate user data via the Admin console or via the Admin SDK API with the list and update commands. You can also visit the Help Center to learn more about adding information to a user’s Directory profile
    • Important note: Some customers may have set both organization name and organization department for their users, where department includes the organization name. We have notified impacted customers via email, but we recommend that you check your settings and update your users’ organization department to prevent duplicate organization names from showing. You can do this via the Admin console or via the Admin SDK API with the list and update commands.

  • End users: End users: You can view this information within Google Contacts (contacts.google.com), while hovering over a user, or from the Contacts sidebar.

Rollout pace


Availability

  • Available for all Google Workspace customers

Resources

Now generally available: Edit client-side encrypted Excel files in Google Sheets

What’s changing 

Last year, we announced in beta the ability to view and edit client-side encrypted Excel files with Google Sheets. Starting today, we’re rolling it out in general availability for select customers.



Additional details

With this release:
  • You can only view and edit .xslx Excel file types — additional Excel and tabular file types are not supported.
  • The maximum supported file size is 100MB.
  • The maximum number of cells that can be opened is 10 million.

As we continue to improve Office editing in encrypted Google Sheets, you may encounter incompatibilities for certain features. Some features are not displayed and/or editable, but will be preserved in the document and viewable in Microsoft Office. Other features may be lost or altered in the latest version of the file when it is edited in Google Sheets. You will see a notification within the document if editing will cause any features to be lost or altered.


Getting started


Rollout pace


Availability


Available for Google Workspace:
  • Enterprise Plus
  • Education Standard and Plus

Resources


John Abbot joins Google Fiber as first Chief Financial Officer

Google Fiber is pleased to announce John Abbot has recently joined our team as the company’s first Chief Financial Officer (CFO). In this role, John will oversee GFiber’s Finance, Strategy & Analytics, and  Accounting teams, bringing over three decades of experience in  media, technology, infrastructure, telecom, and finance to his role. 

“John brings a wealth of experience as a CFO and deep industry knowledge to help guide GFiber during this pivotal time for our company,” said Dinni Jain, GFiber CEO. “He understands this business from many angles and his expertise at helping companies grow and scale along with his exceptional brand of leadership are exactly what we need to take the next step in our development.”

Thumbnail

Prior to joining GFiber, John served in CFO roles for multiple companies, most recently Dataminr, a leading AI business. He also held these roles at Datto, which he led through their initial public offering, as well as at Cumulus Media, Telx Holdings, and Insight Communications. John has deep knowledge of the finance industry, spending time at both Morgan Stanley in their Media & Telecom group and at Goldman Sachs in their Global Energy & Power group. A graduate of the US Naval Academy, where he earned a BS in systems engineering, John also holds a Masters in Engineering from Pennsylvania State University and an MBA from Harvard Business School. 


Posted by the GFiber Team.




Don’t DRY Your Code Prematurely

This is another post in our Code Health series. A version of this post originally appeared in Google bathrooms worldwide as a Google Testing on the Toilet episode. You can download a printer-friendly version to display in your office.

By Dan Maksimovich

Many of us have been told the virtues of “Don’t Repeat Yourself” or DRY. Pause and consider: Is the duplication truly redundant or will the functionality need to evolve independently over timeApplying DRY principles too rigidly leads to premature abstractions that make future changes more complex than necessary. 

Consider carefully if code is truly redundant or just superficially similar.  While functions or classes may look the same, they may also serve different contexts and business requirements that evolve differently over time. Think about how the functions’ purpose holds with time, not just about making the code shorter. When designing abstractions, do not prematurely couple behaviors that may evolve separately in the longer term.

When does introducing an abstraction harm our code? Let’s consider the following code: 

# Premature DRY abstraction assuming # uniform rules, limiting entity-

# specific changes.

class DeadlineSetter:

 def __init__(self, entity_type):

  self.entity_type = entity_type


 def set_deadline(self, deadline):

   if deadline <= datetime.now():

    raise ValueError(

      “Date must be in the future”)

task = DeadlineSetter(“task”)

task.set_deadline(

datetime(2024, 3, 12))

payment = DeadlineSetter(“payment”)

payment.set_deadline(

datetime(2024, 3, 18))

# Repetitive but allows for clear,

# entity-specific logic and future

# changes.

def set_task_deadline(task_deadline):

  if task_deadline <= datetime.now():

raise ValueError(

    “Date must be in the future”)

def set_payment_deadline( payment_deadline):

  if payment_deadline <= datetime.now():

    raise ValueError(

    “Date must be in the future”)

set_task_deadline(

datetime(2024, 3, 12))

set_payment_deadline(

datetime(2024, 3, 18))

The approach on the right seems to violate the DRY principle since the ValueError checks are coincidentally the same.  However, tasks and payments represent distinct concepts with potentially diverging logic. If payment date later required a new validation, you could easily add it to the right-hand code; adding it to the left-hand code is much more invasive.

When in doubt, keep behaviors separate until enough common patterns emerge over time that justify the coupling. On a small scale, managing duplication can be simpler than resolving a premature abstraction’s complexity. In early stages of development, tolerate a little duplication and wait to abstract. 

Future requirements are often unpredictable. Think about the “You Aren’t Gonna Need It” or YAGNI principle. Either the duplication will prove to be a nonissue, or with time, it will clearly indicate the need for a well-considered abstraction.