Category Archives: Google Developers Blog

News and insights on Google platforms, tools and events

Announcing Flutter 2

Our next generation of Flutter, built for web, mobile, and desktop

Today, we’re announcing Flutter 2: a major upgrade to Flutter that enables developers to create beautiful, fast, and portable apps for any platform. With Flutter 2, you can use the same codebase to ship native apps to five operating systems: iOS, Android, Windows, macOS, and Linux; as well as web experiences targeting browsers such as Chrome, Firefox, Safari, or Edge. Flutter can even be embedded in cars, TVs, and smart home appliances, providing the most pervasive and portable experience for an ambient computing world.

Flutter 2 logo

Our goal is to fundamentally shift how developers think about building apps, starting not with the platform you’re targeting but rather with the experience you want to create. Flutter allows you to handcraft beautiful experiences where your brand and design comes to the forefront. Flutter is fast, compiling your source to machine code, but thanks to our support for stateful hot reload, you still get the productivity of interpreted environments, allowing 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.

5 tablet and mobile device screens

In Flutter 2, released today, we’ve broadened Flutter from a mobile framework to a portable framework, unleashing your apps to run on a wide variety of different platforms with little or no change. There are already over 150,000 Flutter apps out there on the Play Store alone, and every app gets a free upgrade with Flutter 2 because they can now grow to target desktop and web without a rewrite.

Customers from all around the world are using Flutter, including popular apps like WeChat, Grab, Yandex Go, Nubank, Sonos, Fastic, Betterment and realtor.com. Here at Google, we’re depending on Flutter, and over a thousand engineers at Google are building apps with Dart and Flutter. In fact, many of those products are already shipping, including Stadia, Google One, and the Google Nest Hub.

Logos of Google apps powered by Flutter

Google Pay switched to Flutter a few months ago for their flagship mobile app, and they already achieved major gains in productivity and quality. By unifying the codebase, the team removed feature disparity between platforms and eliminated over half a million lines of code. Google Pay also reports that their engineers are far more efficient, with a huge reduction in technical debt and unified release processes such as security reviews and experimentation across both iOS and Android.

Flutter on the web

Perhaps the single largest announcement in Flutter 2 is production-quality support for the web.

The early foundation of the web was document-centric. But the web platform has evolved to encompass richer platform APIs that enable highly sophisticated apps with hardware-accelerated 2D and 3D graphics and flexible layout and paint APIs. Flutter’s web support builds on these innovations, offering an app-centric framework that takes full advantage of all that the modern web has to offer.

This initial release focuses on three app scenarios in particular:

  • Progressive web apps (PWAs) that combine the web’s reach with the capabilities of a desktop app.
  • Single page apps (SPAs) that load once and transmit data to and from internet services.
  • Bringing existing Flutter mobile apps to the web, enabling shared code for both experiences.

In the last months, as we prepared for the stable release of web support, we made lots of progress on performance optimization, adding a new CanvasKit-powered rendering engine built with WebAssembly. Flutter Plasma, a demo built by community member Felix Blaschke, showcases the ease of building sophisticated web graphics experiences with Dart and Flutter that can also run natively on desktop or mobile devices.

We’ve been extending Flutter to offer the best of the web platform. In recent months, we added text autofill, control over address bar URLs and routing, and PWA manifests. And because desktop browsers are as important as mobile browsers, we added interactive scrollbars and keyboard shortcuts, increased the default content density in desktop modes, and added screen reader support for accessibility on Windows, macOS, and Chrome OS.

Some examples of web apps built with Flutter are already available. Among educators, iRobot is well known for their popular Root educational robots. Flutter’s production support for the web allows iRobot to take their existing educational programming environment and move it to the web, expanding its availability to Chromebooks and other devices where the browser is the best choice. iRobot's blog post has all the details on their progress so far and why they chose Flutter.

iRobot interface with Flutter

Another example is Rive, who offers designers a powerful tool for creating custom animations that can ship to any platform. Their updated web app, now available in beta, is built entirely with Flutter, and is a love letter to all that Flutter can offer in this environment.

Rive interface with Flutter

You can find out more about Flutter on the web from our dedicated blog post over at our Medium publication.

Flutter 2 on desktops, foldables, and embedded devices

Beyond traditional mobile devices and the web, Flutter is increasingly stretching out to other device types, and we highlighted three partnerships in today’s keynote that demonstrate Flutter’s portability.

To start with, Canonical is partnering with us to bring Flutter to desktop, with engineers contributing code to support development and deployment on Linux. During today’s event, the Ubuntu team showed an early demo of their new installer app that was rewritten with Flutter. For Canonical, it is critical that they can deliver rock-solid yet beautiful experiences on a huge variety of hardware configurations. Moving forward, Flutter is the default choice for future desktop and mobile apps created by Canonical.

Flutter is the default choice for future desktop and mobile apps created by Canonical.

Secondly, Microsoft is continuing to expand its support for Flutter. In addition to an ongoing collaboration to offer high-quality Windows support in Flutter, today Microsoft is releasing contributions to the Flutter engine that support the emerging class of foldable Android devices. These devices introduce new design patterns, with apps that can either expand content or take advantage of the dual-screen nature to offer side-by-side experiences. In a blog post from the Surface engineering team, they demonstrate their work and invite others to join them in completing a high-quality implementation that works on Surface Duo and other devices.

Windows support in Flutter

Lastly, Toyota, the world’s best-selling automaker, announced its plans to bring a best-in-market digital experience to vehicles, by building infotainment systems powered by Flutter. Using Flutter marks a large departure in approach from how in-vehicle software has been developed in the past. Toyota chose Flutter because of its high performance and consistency of experience, fast iteration and developer ergonomics as well as smartphone-tier touch mechanics. By using Flutter’s embedder API, Toyota is able to tailor Flutter for the unique needs of an in-vehicle system.

Toyota using Flutter in vehicle infotainment systems

We’re excited to continue our work with Toyota and others to bring Flutter to vehicles, TVs, and other embedded devices, and we hope to share further examples in the coming months.

The growing Flutter ecosystem

There are now over 15,000 packages for Flutter and Dart: from companies like Amazon, Microsoft, Adobe, Alibaba, eBay, and Square; to key packages like Lottie, Sentry and SVG, as well as Flutter Favorite packages such as sign_in_with_apple, google_fonts, geolocator, and sqflite.

Today we’re announcing the beta release of Google Mobile Ads for Flutter, a new SDK that works with AdMob and AdManager to offer a variety of ad formats, including banner, interstitial, native, and rewarded video ads. We’ve been piloting this SDK with several key customers, such as Sua Música, the largest music platform for independent artists in Latin America, and we’re now ready to open the Google Mobile Ads for Flutter SDK for broader adoption.

Google Mobile Ads SDK for Flutter

We’re also announcing updates to our Flutter plug-ins for several core Firebase services: Authentication, Cloud Firestore, Cloud Functions, Cloud Messaging, Cloud Storage, and Crashlytics, including support for sound null safety and an overhaul of the Cloud Messaging package.

Dart: The secret sauce behind Flutter

As we’ve noted, Flutter 2 is portable to many different platforms and form factors. The easy transition to supporting web, desktop, and embedded is thanks in large part to Dart, Google’s programming language that is optimized for multiplatform development.

Dart combines a unique set of capabilities for building apps:

  • No-surprise portability, with compilers that generate high-performance Intel and ARM machine code for mobile and desktop, as well as tightly optimized JavaScript output for the web. The same Flutter framework source code compiles to all these targets.
  • Iterative development with stateful hot reload on desktop and mobile, as well as language constructs designed for the asynchronous, concurrent patterns of modern UI programming.
  • Google-class performance across all of these platforms, with sound null safety guaranteeing null constraints at runtime as well as during development.

There’s no other language that combines all these capabilities; perhaps this is why Dart is one of the fastest growing languages on GitHub.

Dart 2.12, available today, is our largest release since 2.0, with support for sound null safety. Sound null safety has the potential to eradicate dreaded null reference exceptions, offering guarantees at development and runtime that types can only contain null values if the developer expressly chooses. Best of all, this feature isn’t a breaking change: you can incrementally add it to your code at your own pace, with migration tooling available to help you when you’re ready.

Today’s update also includes a stable implementation of FFI, allowing you to write high-performance code that interoperates with C-based APIs; new integrated developer and profiler tooling written with Flutter; and a number of performance and size improvements that further upgrade your code for no cost other than a recompile. For more information, check out the dedicated Dart 2.12 announcement blog post.

Flutter 2: Available now

There’s far more to say about Flutter 2 than we can include in this article. In fact, the raw list of pull requests merged is a 200 page document! Head over to the separate technical blog on Flutter 2 for more information about the many new features and performance improvements that we think will please existing Flutter developers, and download it today.

image of companies using Flutter 2

We also have a major new sample that showcases everything we just mentioned, built in collaboration with gskinner, an award-winning design team based in Edmonton, Canada. Flutter Folio is a scrapbooking app that is designed for all your devices. The small-screen experience is designed for capturing content; larger screens support editing with desktop- and tablet-specific idioms; and the web experience is tailored for sharing. All these tailored experiences share the same codebase, which is open source and available for you to peruse.

Flutter Folio

If you haven’t yet tried Flutter, we think you’ll find it to be a major upgrade for your app development experience. In Flutter, we’re offering an open source toolkit for building beautiful and fast apps that target mobile, desktop, web, and embedded devices from a single codebase, built both to solve Google’s demanding needs and those of our customers.

Flutter is free and open source. We’re excited to see what you build with Flutter 2!

Mainframe modernization antipatterns

Posted by Travis Webb

This blog post describes common pitfalls and antipatterns to consider when migrating your mainframe workloads. It also helps you to understand and avoid them. Migrating or modernizing your mainframe workloads is complex and challenging, even under ideal conditions. If you avoid the antipatterns discussed in this document, you increase the odds of a successful transformation.

This blog post is useful whether you're planning to migrate your mainframe workloads to Google Cloud, to on-premises virtual machines, or to another cloud provider. It demonstrates how to remedy certain mainframe migration antipatterns using technology offerings from Google. In principle, however, you could apply these remedies to many kinds of transformations with different target platforms and architectures.

This blog post describes three common antipatterns:

  • Big bang rewrite antipatterns
  • Lift-and-shift migration antipatterns
  • In-place modernization antipatterns

These approaches can work in some narrow circumstances when migrating mainframe workloads. Avoid them, however, because they have a high probability of failure. For each antipattern discussed, you are given an overview of the antipattern, the typical rationale used to justify it, and the business and technical reasons that lead to failure.

Big bang rewrite antipatterns

In a big bang rewrite, you or your team manually rewrite and re-architect the legacy mainframe code into a modern language using modern design patterns. For example, you might form a development team to build a new Java application that replicates the business logic from a collection of legacy COBOL programs. Senior engineers who are familiar with the system often teach junior engineers the rationale behind the business logic to preserve institutional knowledge. The result is a new codebase using new programming languages and new documentation on a new platform.

Of the three antipatterns discussed in this document, the big bang rewrite requires the largest investment of capital and time to achieve success. It is capital-intensive and time-intensive because most organizations can’t resist the temptation to re-engineer and to improve business logic.

Rationale

Re-engineering your systems using modern technologies allows for future innovation. Your senior engineers are moving on—to management, competitors, or retirement—and you need to transfer institutional knowledge to incoming staff. You expect those incoming staffers to re-engineer the system using the latest programming best practices. These less experienced engineers can rewrite module by module, and take advantage of current development methodologies and tools. Because you have all the code, you have an exact specification for what the new software needs to do, and can test against it. Access to the original code lets you compress the decades of investment into your original mainframe software into a modern application. At the same time, you are transferring institutional knowledge from your senior engineers to your junior engineers. At the end of the process, you'll have a new system consisting of well-engineered software built against modern design patterns and best practices.

This case is compelling and can help to convince your IT decision-makers. Though the approach appears rational, there are hidden pitfalls and risks that your team doesn’t recognize at the outset. Risks like budget overruns, unanticipated complexity, and staff turnover can derail a significant rewrite before realizing the benefits. As a result, big bang rewrites rarely equal the best-case scenarios presented to stakeholders. Often, they fail.

Risks, pitfalls, and outcomes

Big bang rewrites often suffer from the second system effect. Early in the project, they fall behind in schedule and budget. While you quickly develop prototypes, getting them to function in the same way as the original code is a long-tail effort that most teams underestimate. This unanticipated setback leads to the first major decision point in your project: How do I overcome these challenges but still achieve the outcomes that I need to make the project successful?

The first option: Continue to diligently plod the long path and adhere exactly to the original functionality. However, matching the new system precisely to the original functionality always takes longer than expected. This is true because the original code provides little or no improvement in productivity over a conventional specification. That means a significant engineering investment to understand the original code and reproduce it.

The second option: Implement the business logic differently. However, changes in business logic necessarily require changes to the business processes and downstream systems on which the original business logic depends. For example, you could have a web application that depends on the idiosyncratic behavior of your mainframe applications. Rather than incorporate these idiosyncrasies into the new, rewritten application, it is tempting to simplify and improve this behavior. However, that adds scope to the project. The chain reaction of further changes that are required in downstream systems introduce additional risk and prolong the rewrite effort.

If your production mainframe system requires ongoing maintenance or updates during the rewrite, you can compound these problems. For example, you might have a rules engine that powers a billing system on your mainframe. To support a new product launch, you need to add a feature to the rules engine to accommodate a new customer billing type. You also need to implement this new type in the current system and replicate it in the new systempossibly after the billing component was rewritten and tested. This maintenance and update scenario can occur many times during a big bang rewrite, setting the project back at each step, and increasing the odds of failure.

Even for companies that have the tenacity to see through a multi-year transformation effort, the raw cost of a rewrite is often prohibitive. When compared to all other approaches, a big bang rewrite is the costliest way to modernize your mainframe software. Often it has the least convincing return on investment (ROI) when factoring in the risks, unanticipated costs, and delays.

Lift-and-shift migration antipatterns

A lift-and-shift migration is an established method of moving an application from one system to another with minimal changes and downtime. It's commonly used to migrate virtual machines running on commodity hardware to virtual machines in a public cloud. You can take a similar approach with your mainframe migration.

Mainframe platforms are based on proprietary hardware rather than x86-based commodity hardware. Therefore, you must emulate your mainframe environment on x86-based machines. Doing so is required to move your applications directly from the mainframe into the cloud, as you would with virtual machines. To run your applications in the emulated environment, you recompile them using a compiler provided by your emulation vendor.

Rationale

Lift-and-shift migration is often seen as the quickest way to get from an on-premises environment to the cloud. You can apply this same thinking to mainframe workloads. Strategic IT decisions are often most palatable when facing a key transition, such as a hardware refresh. Mainframe hardware investments are capital-intensive. Financing the purchase often adds debt or lease liabilities to your company's balance sheet. By moving to the public cloud, mainframe workloads can scale both up and down to optimize resource use and operational cost. When compared to other migration or modernization options, you can make a strong business case that a lift-and-shift migration provides the quickest ROI and carries the lowest risk.

Risks, pitfalls, and outcomes

The business risks of a lift-and-shift migration appear small compared to other approaches, but the potential benefits are even smaller. The benefits of migrating off the mainframe platform to the cloud don’t materialize, because you remain locked into the same mainframe ecosystem, but now with an extra dependency on an emulation layer. That dependency can result in a new set of technical challenges. Challenges that are often unfamiliar to the teams maintaining the mainframe software. Unfamiliarity can lead to additional reliance on a new, single-vendor cloud ecosystem.

By not changing your mainframe software, you avoid solving many important problems: scarce and shrinking mainframe talent, a static ecosystem, a lack of agility, and an inability to innovate. You're now running your legacy workloads in the cloud, but remain locked out of cloud innovations due to your continued reliance on proprietary platforms.

In this antipattern, the cost benefits that you relied on to justify the investment don’t materialize. While you might spend less after combining your cloud infrastructure costs with your new, ongoing, emulation software license fees, your savings don’t justify the investment. The outcome is that you've taken all the risks inherent in any migration, but have realized few of the benefits, if any.

In-place modernization antipatterns

In an in-place modernization, you focus on improving the quality, maintainability, and testability of your software while keeping it on your mainframe computers. You might choose this antipattern because you see mainframes as part of your future and know that you must modernize your application software accordingly.

You can rewrite your application software to use modern languages that run on the mainframe, or you can re-architect it in place. For a partial cloud-like experience you can install orchestration technologies, like Kubernetes.

Rationale

Mainframe software presents challenges related to maintainability, innovation, agility, and extensibility. By re-architecting and re-engineering this software to align with modern standards and design patterns, you can avoid many of the pitfalls that disrupt large replatforming efforts. Moving off the mainframe is the single largest risk. By avoiding that move, you can improve the odds that your project succeeds. Of all the mainframe modernization approaches you might consider, an in-place modernization appears to be the lowest risk. There's no migration component, so there's no risk of downtime.

There is an ecosystem of vendors offering tools to help with mainframe development using modern methodologies. Therefore, the risk of being left to support the software on your own is low. An in-place modernization often takes longer than a lift-and-shift migration or a code conversion. By modernizing slowly, however, you afford your teams the time they need to learn new development processes. When you re-engineer and re-architect the codebase, you can perform a more rational analysis to better understand whether the mainframe is the appropriate long-term platform.

Risks, pitfalls, and outcomes

An in-place modernization suffers from many of the same challenges as the big bang rewrite. Any approach involving manually updating your mainframe software can have budget and time constraints. These efforts also often suffer from the second-system effect. Performance and correctness issues inevitably arise because rewriting business logic in a new language requires extensive testing before it aligns with the previous functionality. When management learns more about the modest benefits gained by running updated software on the same mainframe platform, expect their willingness to see through such a drawn-out and costly transformation to wane.

The biggest issue with an in-place modernization is that the ideal outcome leaves you many of the same problems that you started with. The mainframe is more than a piece of hardware. Using mainframes encompasses a talent pool, a software platform, and a vendor ecosystem. The trend for each of these variables is moving in the wrong direction. Every year the talent pool shrinks, the software platform becomes more isolated, and the vendor ecosystem consolidates.

Finding help

Google Cloud offers various options and resources for you to find the necessary help and support to best use Google Cloud services:

There are more resources to help you to migrate workloads to Google Cloud in the Google Cloud migration center.

For more information about these resources, see the finding help section of Migration to Google Cloud: Getting started.

What’s next?

Announcing the 12 remarkable innovators selected for the upcoming Google for Startups Accelerator: Voice AI program

Posted by Jason Scott, Head of Startup Developer Ecosystem, USA & Saurabh Sharma, Head of Assistant Investments

Image from accelertor

In December 2020, we announced our inaugural Google for Startups Accelerator: Voice AI program, a 10-week digital accelerator designed to help North American voice technology startups to take their businesses to the next level. Today, we are proud to announce our cohort of 12 companies - collectively leveraging voice user interfaces to solve complex challenges across accessibility, education, and care:

Babbly, Toronto, Ontario, Canada

Babbly provides parents real-time insights on their child’s speech and language skills and recommends personalized activities that promote their child's development.

Bespoken, Seattle, Washington, United States

Bespoken is the leader in automated testing, training, and monitoring for voice applications and devices. If you can talk to it, Bespoken can test it!

conversationHEALTH, Toronto, Ontario, Canada

conversationHEALTH enables conversational agents for patients and healthcare professionals in clinical trials, medical affairs, and commercial lines of business.

Nēdl, Santa Monica, California, United States

nēdl is democratizing access to the microphone by giving everyone their own live call-in radio station that transcribes, amplifies, and monetizes the audio creator's words as they speak.

OTO.AI, New York, New York, United States

OTO is building an acoustic engine capable of delivering non-semantic insights (intonation, emotions, laughter,etc.) from voice streams in real-time, on a small compute footprint.

Piffle, San Francisco, California, United States

Piffle is a voice gaming platform that aims to nurture professional wellness through conversational gameplay.

Powow AI, New York, New York, United States

Powow is a SaaS platform which unleashes the power of AI in business meetings. Powow uses proprietary AI algorithms to transcribe and analyze meetings, transforming them into actionable insights.

SiMBi, Vancouver, British Columbia, Canada

SiMBi combines learners' narrations with the text of a story to create an engaging audiovisual book that learners worldwide can read along to.

Talkatoo, Halifax, Nova Scotia, Canada

Talkatoo is a dictation software explicitly designed for veterinary and medical professionals, enabling them to save time in their practice.

Tinychef, New York, New York, United States

tinychef is a voice-first Culinary AI™ platform that helps consumers in their kitchen from their dinner dilemma, to grocery planning, grocery shopping, and cooking their meals with interactive experiences on smart speakers.

Voicify, Boston, Massachusetts, United States

Voicify’s SaaS platform allows brands and large enterprises to easily design, build, and deploy voice apps, chatbots, and other conversational experiences across voice assistants, chatbots, and social media platforms.

Vowel, New York, New York, United States

Vowel brings the best of productivity and communication platforms into a single, integrated meeting tool.

The program kicks off on Monday, March 15th and will focus on product design, technical infrastructure, customer acquisition, and leadership development - granting our founders access to an expansive network of mentors, senior executives, and industry leaders,

We are incredibly excited to support this group of entrepreneurs over the next three months, connecting them with the best of our people, products, and programming to advance their companies and solutions.

We look forward to augmenting the work of these 12 innovators and to showcasing their accomplishments on Thursday, May 20th at 12:30pm EST at our Google for Startups Accelerator: Voice AI Demo Day.

These Black tech creators are changing the domain

Posted by Jermaine Robinson, Google Registry Team

Illustration of 6 developers

It’s been two years since the Google Registry team launched its #MyDomain video series, which highlights creators in tech. While we’re proud of the initiatives we’ve featured so far, we want to do a better job of representing all voices. In honor of Black History Month, we’re featuring six Black creators who are making waves in the digital space.

Dairien Boyd, #MyDomain Video

Dairien Boyd is a founding member and principal designer at All Turtles, a mission-driven product studio. He’s responsible for building experiences that are both fun and useful within mmhmm.app — a project born out of the COVID-19 pandemic. The new reality of working remotely set Dairien and his team on a path to design a better way to deliver presentations — one that works in an all-video conferencing world. They created a powerful presentation tool that provides immersive backgrounds and visual effects to help add a bit of fun to virtual meetings.

Benjamin Williams, #MyDomain Video

Benjamin Williams also found new sources of inspiration during the pandemic. A software engineer at Google by day, Williams launched floward.app — a journaling and creative writing application that encourages “imperfection” — as a way to cope with the challenges and stresses that come from being stuck at home. By providing daily thought-provoking prompts, users can get their thoughts down on “paper” within a simple UI that intentionally prevents going back and making revisions; this way, they stay in the flow of writing instead of fixating on what they’ve already written.

Rhianna Jones, #MyDomain Video

A writer and model by day, Rhianna Jones started a campaign for “Afrovisibility” as a true passion project. Her campaign, which pushes for more widespread adoption of natural hair emojis within universal keyboards (including Android and iOS), went viral. It wasn’t long before her domain — afrohairmatters.page — helped Jones connect with industry leaders. “The opportunity to collaborate only helps the culture move forward in a direction that better represents the rainbow of tech users,” Jones says. While it might seem small to some, the addition of natural hair emojis is a major step towards promoting Afrovisibility in everyone’s daily digital language and lives — especially for a younger generation that is all about ✊? ? ??‍ ?.

Michael Broughton, #MyDomain Video

Michael Broughton, CEO of Perch, launched his credit-building app after getting denied a loan to cover the remainder of his college tuition while attending the University of Southern California. “I was told to get a credit card in order to build credit, but when I applied for a credit card, they said I needed to build my credit score first,” he says. “This made me realize how difficult it can be for individuals to develop their personal finances without already having a foot in the door.” Instead of feeling defeated, he channeled his frustrations into launching getperch.app, a service that helps others build credit history and boost their credit scores.

Edward Cunningham, #MyDomain Video

Edward Cunningham is cofounder and CTO of NXSTEP.app, a platform that allows high-school seniors to connect with current college students to get deeper insights into life within the walls of various academic institutions. By connecting with currently-enrolled college students, seniors can better determine the right college for them. It’s like matchmaking for higher education: helping students decide on their future alma mater based on personality, interests, and goals.

Adesina Tyler, #MyDomain Video

Adesina Tyler is our youngest creator in this month’s #MyDomain series. Tyler is a junior in high school, juggling the complexities that come with distance learning, schoolwork and extracurricular activities. As busy as he’s been, he somehow found the time to launch wondershop.page as part of his participation in Google’s technology program, Code Next. He built his website (an online retail store) as a way to better understand the basic building blocks of e-commerce.

Videos of everyone featured above are available at goo.gle/mydomain. Ensuring proper representation of all groups is crucial for everyone in tech. We all benefit and learn from hearing the full spectrum of voices — especially the voices of those who’ve been underrepresented for far too long.

We want to actively do our part in moving the industry in the right direction by celebrating all entrepreneurs, founders and creators. If you have a unique story to share about an .app. ,dev, or .page domain and would like to be considered for our next series, please fill out this short application form and help us produce and share content that better represents all of us in an industry that still has a long way to go.

How we’re helping developers with differential privacy

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

At Google, we believe that innovation and privacy must go hand in hand. Earlier this month, we shared our work to keep people safe online, including our investments in leading privacy technologies such as differential privacy. Today, on Data Privacy Day, we want to share some updates on new ways we’re applying differential privacy technologies in our own products and making it more accessible to developers and businesses globally—providing them with greater access to data and insights while keeping people’s personal information private and secure.

Strengthening our core products with differential privacy

We first deployed our world-class differential privacy anonymization technology in Chrome nearly seven years ago and are continually expanding its use across our products including Google Maps and the Assistant. And as the world combats COVID-19, last year we published our COVID-19 Community Mobility Reports, which uses differential privacy to help public health officials, economists and policymakers globally as they make critical decisions for their communities while ensuring no personally identifiable information is made available at any point.

This year in the Google Play console, we’ll provide new app metrics and benchmarks to developers in a differentially private manner. When launched, developers will be able to easily access metrics related to how successfully their apps are engaging their users, such as Daily Active Users and Revenue per Active user, in a manner that helps ensure individual users cannot be identified or re-identified. By adding differential privacy to these new app metrics, we’ll provide meaningful insights to help developers improve their apps without compromising people’s privacy, or developer confidentiality. Moving forward, we plan to expand the number of metrics we provide to developers using differential privacy.

As we have in the last year, we’ll continue to make our existing differential privacy library even easier for developers to use. For example, this month we’re open sourcing a new differentially private SQL database query language extension that is used in thousands of queries done every day at Google. These queries help our analysts obtain business insights, and observe product trends. This is a step forward in democratizing privacy safe data analysis, empowering data scientists around the world to uncover powerful insights while protecting and respecting the privacy of individuals.

Partnering with OpenMined to make differential privacy more widely accessible

As we continue to make advancements with privacy-preserving technologies in our own products, it’s also important to us that developers have access to this technology. That’s why in 2019, we open-sourced our differential privacy library and made it freely accessible, easy to deploy and useful to developers globally. Since then, hundreds of developers, researchers and institutions have incorporated Google’s differential privacy algorithms into their work, enabling them to tackle new problems while using data in a responsible and privacy protective way. One of these companies is French healthcare startup Arkhn. For Arkhn, differential privacy is making it possible to pursue its mission to revolutionize the healthcare industry with artificial intelligence, enabling them to gather, query and analyze cross-department hospital data in a secure, and safe way.

To help bring our world class differential privacy library to more developer teams, like the one at Arkhn, today we’re excited to announce a new partnership with OpenMined, a group of open-source developers that is focused on taking privacy preserving technologies and expanding their usage around the world. Together with OpenMined, we will develop a version of our differential privacy library specifically for python developers. By replicating Google’s differentially private infrastructure, Python developers will have access to a new and unique way to treat their data with world-class privacy.

A collaborative approach to improving the state of privacy in Machine Learning

Two years ago, we introduced TensorFlow Privacy (GitHub), an open source library that makes it easier not only for developers to train machine-learning models with privacy, but also for researchers to advance the state of the art in machine learning with strong privacy guarantees. In the past year, we've expanded the library to include support for TensorFlow 2, as well as both the Keras Model interface and TensorFlow's premade estimators. Thanks to a collaboration with researchers from University of Waterloo, we’ve improved performance, with our new release making it four times faster or more to train on common workloads.

We also recognize that training with privacy might be expensive, or not feasible. So we set out to understand how private machine learning models are. Last year we open-sourced our attack library to help address this and help anyone using the library get a broader privacy picture of their machine models. Since then, we partnered with researchers at Princeton University, and the National University of Singapore who have added new features that expand the library’s scope to test generative models and non-neural network models. Recently, researchers at Stanford Medical School tried it on some of their models, to test for memorization. This testing helped them understand the privacy behavior of their models, something that wasn’t possible beforehand.

We’ve also published new research studying the trade-offs between differential privacy and robustness, another property at the core of AI ethics, privacy and safety.

Our work continues as we invest in world-class-privacy that provides algorithmic protections to the people who use our products while nurturing and expanding a healthy open-source ecosystem. We strongly believe that everyone globally deserves world-class privacy, and we’ll continue partnering with organizations to fulfill that mission.

Join us for #30DaysOfFlutter

Posted by Nikita Gandhi (Community Manager, GDG India), Nilay Yener (Program Manager, Flutter DevRel)

Happy New Year folks. It’s the perfect time of year to learn something new! Do you have an app idea you’ve been dreaming of over the holidays? If so, we have just the opportunity for you! Starting February 1st, leading up to our big event on March 3rd, join us for #30DaysOfFlutter to kickstart your learning journey and meet Flutter experts in the community. Whether you are building your first Flutter app or looking to improve your Flutter skills, we have curated content, code labs, and demos!

Flutter is Google’s open source UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase. It’s one of the fastest growing, most in-demand cross platform frameworks to learn and is used by freelance developers and large organizations around the world. Flutter uses the Dart language, so it will feel natural to many of you familiar with object-oriented languages.

Jump in, the water’s fine!

Along with the curated content, we will also have four live AskMeAnything sessions (#AMAs), where you can meet members of Google’s Flutter team and community. You can also join us on the FlutterDev Discord channel, where you can meet the other members of the community, ask and answer questions, and maybe make some new Flutter friends too!

Does this sound exciting? Visit the 30 Days of Flutter website to get more information and to register to join.

#30DaysOfFlutter Schedule

Your learning journey with Flutter for the month will look like this::

Week 1

Receive curated content to your inbox. Meet other Flutter Devs on Discord. Attend Kick Off Webinar on February 1st.

Week 2

Receive more content. Start building your first Flutter app. Join the webinar and ask your questions.

Week 3

Work on your app and attend the 3rd webinar to ask your questions.

Week 4

Complete your project and learn how to share it with the Flutter community.


Are you ready to learn one of the most in demand developer skills in the world?

Sign up to be a part of the journey and be sure to follow @FlutterDev on Twitter, to get updates about #30DaysOfFlutter.

21 websites and apps to make your 2021 better

Posted by Christina Yeh, Google Registry Team

GIF of animated person sitting at computer

Google Registry is always on the lookout for interesting websites that have launched using our top-level domains. 2020 was a rough year, so to help you make 2021 (at least a little bit) better, we’ve rounded up 21 ways you can start something .new, get .appy, turn a new .page, and make .dev(elopment) a breeze.

Start something .new:

  1. Collage.new: Looking for a new direction in 2021? Craft an inspiring vision board with BeFunky’s Collage Maker.
  2. Resume.new: If you’re looking for a new job this year, spruce up your resume with one of CV2You’s customizable templates to open the door to new career adventures.
  3. Hire.new: Hiring for new roles and jobs in 2021? With ZipRecruiter, you can post your job and reach quality candidates to join your team in no time.
  4. Site.new: Have a website you’ve been meaning to build? With easy-to-use tools and professionally designed templates, you can launch your website using Google Sites.
  5. Shopify.new: Starting a new side hustle? With Shopify’s powerful tools, anyone can quickly start a business and launch an online store.
  6. Flutter.new: Been dreaming up a great idea for an app? Get it done in the new year with Flutter, Google’s toolkit for building beautiful applications for mobile, web and desktop.

Get .app(y):

  1. Puppr.app: Do you have a new dog in your life? Get help training your furry friend with lessons, tricks, and live chat.
  2. Uhmmm.app: Fight the awkward silence in your online meetings with free elevator music.
  3. Sayana.app: Track your thoughts and feelings, get tips on coping with your emotions and talk to people in a similar life situation.
  4. Glitterly.app: Make videos with animations, effects, stock videos and images in just a few clicks.
  5. Get.reface.app: Say cheese! Use your selfies to make fun face swap videos and gifs.

Turn to the next .page:

  1. Nxt.page: Recreate spontaneously meeting with friends and colleagues online, using this Chrome extension.
  2. Funnies.page: Start your morning with some humor by getting five new comics from artists around the world, delivered daily to your inbox.
  3. Web.page: Find design inspiration, trends and techniques for building websites.
  4. Volition.page: Track your goals and progress any time, anywhere with this web app.
  5. Byline.page: Interested in creative writing? Try this multiplayer app, where you build stories line by line, knowing only what the previous author wrote.

Make .dev(elopment) a breeze:

  1. Projectjob.dev: Find and hire developers that are a perfect match for your requirements by exploring the work they’ve done before.
  2. Htmldom.dev: Try this handy reference for manipulating web pages using Javascript.
  3. Nodesign.dev: Use existing design tools to complete your development project.
  4. Practice.dev: If practice makes perfect, you can improve your skills by solving real web development challenges and learn by doing.
  5. Daily.dev: Get the latest developer news from tech blogs on any topic you can think of, all in one place.

Happy New Year from all of us at Google Registry! We hope these websites and apps help you get the most out of 2021.

Community leaders upskill themselves and find new roles with Elevate by Google Developers

Posted by Kübra Zengin, GDG North America Regional Lead

Image of participants in a recent Elevate workshop.

The North America Developer Ecosystem team recently hosted Elevate for Google Developer Groups organizers and Women Techmakers Ambassadors in US & Canada. The three-month professional development program met every Wednesday via Google Meet to help tech professionals upskill themselves with workshops on leadership, communication, thinking, and teamwork.

The first cohort of the seminar-style program recently came to a close, with 40+ Google Developer Groups organizers and Women Techmakers Ambassadors participating. Additionally, 18 guest speakers - 89% of whom were underrepresented genders - hosted specialized learning sessions over three months of events.

Elevate is just one example of the specialized applied skills training available to the Google Developer Groups community. As we look ahead to offering Elevate again in 2021, we wanted to share with you some of the key takeaways from the first installment of the program.

What the graduates had to say

From landing new roles at companies like Twitter and Accenture, to negotiating salary raises, the 40 graduates of Elevate have seen many successes. Here’s what a few of them had to say:

“I got a role at Accenture as a software engineer because I used the learnings from Elevate when applying and interviewing for the job. I can't thank the Google team enough!”

“The interactive workshops truly helped me land my new job at Twitter.”

“After the Elevate trainings on negotiation, I successfully secured a higher salary with my new employer.”

Whether it’s finding new jobs or moving to new countries, Elevate’s graduates have used their new skills to guide their careers towards their passions. Check out a few of the program’s key lessons below:

Bringing your best self to the table

One major focus of the program was to help community leaders develop their own professional identity and confidence by learning communication techniques that would help them stand out and define themselves in the workplace.

Entire learning sessions were dedicated to specific value-adding topics, including:

  • How to use persuasive body language;
  • Finding a networking, presenting, and storytelling voice;
  • The best practices for salary negotiation.

Along with other sessions on growth mindsets, problem solving, and more, attendees gained a deeper understanding of the best ways to present themselves, their ideas, and their worth in a professional setting - an essential ability that many feel has already helped them navigate job markets with more precision.

A team that feels valued brings value

“Who is on a team matters less than how the team members interact, structure their work, and view their contributions.”

The advice above, offered by a guest speaker during a teambuilding session, was one of the quotes that resonated with participants the most during the program. The emphasis on how coworkers think of each other and the best ways to build a culture of ownership over a team’s wins and losses embodies the key learnings central to Elevate’s mission.

The program further emphasized this message with learning sessions on:

  • Giving and accepting clear feedback;
  • Bias busting and empathy training in the workplace;
  • Conflict management and resolution.

With these trainings, paired with others on growth mindsets and decision making, Elevate’s participants were able to start analyzing the effectiveness of different work environments on productivity. Through breakout sessions, they quickly realized that the more secure and supported an employee feels, the more willing they are to go the extra mile for their team. Equipped with this new knowledge base, many participants have already started bringing these key takeaways to their own workplaces in an effort to build more inclusive and productive cultures.

Whether it’s finding a new role or improving your applied skills, we can’t wait to see how Google Developer programs can help members achieve their professional goals.

For similar opportunities, find out how to join a Google Developer Group near you, here. And register for upcoming applied skills trainings on the Elevate website, here.

Solve for the United Nations’ Sustainable Development Goals with Google technologies in this year’s Solution Challenge.

Posted by Erica Hanson, Global Program Manager, Google Developer Student Clubs

Solution Challenge image

Created by the United Nations in 2015 to be achieved by 2030, the 17 Sustainable Development Goals (SDGs) agreed upon by all 193 United Nations Member States aim to end poverty, ensure prosperity, and protect the planet.

Last year brought many challenges, but it also brought a greater spirit around helping each other and giving back to our communities. With that in mind, we invite students around the world to join the Google Developer Student Clubs 2021 Solution Challenge!

If you’re new to the Solution Challenge, it is an annual competition that invites university students to develop solutions for real world problems using one or more Google products or platforms.

This year, see how you can use Android, TensorFlow, Google Cloud, Flutter, or any of your favorite Google technologies to promote employment for all, economic growth, and climate action, by building a solution for one or more of the UN Sustainable Development Goals.

What winners of the Solution Challenge receive

Participants will receive specialized prizes at different stages:

  1. The Top 50 teams will receive mentorship from Google and other experts to further work on their projects.
  2. The Top 10 finalists will receive a 1-year subscription to Pluralsight, swag, additional customized mentoring from Google, and a feature in the Google Developers Blog and Demo Day live on YouTube.
  3. The 3 Grand Prize Winners will receive all the prizes included in the Top 10 category along with a Chromebook and a private team meeting with a Google executive.

How to get started on the Solution Challenge

There are four main steps to joining the Solution Challenge and getting started on your project:

  1. Register at goo.gle/solutionchallenge and join a Google Developer Student Club at your college or university. If there is no club at your university, you can join the closest one through the event platform.
  2. Select one or more of the United Nations 17 Sustainable Development Goals to solve for.
  3. Build a solution using Google technology.
  4. Create a demo and submit your project by March 31, 2021.

Resources from Google for Solution Challenge participants

Google will provide Solution Challenge participants with various resources to help students build strong projects for their contest submission.

  • Live online sessions with Q&As
  • Mentorship from Google, Google Developer Experts, and the Developer Student Club community
  • Curated codelabs designed by Google Developers
  • Access to Design Sprint guidelines developed by Google Ventures
  • and more!

When are winners announced?

Once all the projects are submitted after the March 31st deadline, judges will evaluate and score each submission from around the world using the criteria listed on the website. From there, winning solutions will be announced in three rounds.

Round 1 (May): The Top 50 teams will be announced.

Round 2 (July): After the top 50 teams submit their new and improved solutions, 10 finalists will be announced.

Round 3 (August): In the finale, the top 3 grand prize winners will be announced live on YouTube during the 2021 Solution Challenge Demo Day.

With a passion for building a better world, savvy coding skills, and a little help from Google, we can’t wait to see the solutions students create.

Learn more and sign up for the 2021 Solution Challenge, here.

Announcing New Smart Home App Discovery Features

Posted by Toni Klopfenstein, Developer Advocate

When a user connects a smart device to the Google Assistant via the Home app, the user must select the appropriate related Action from the list of all available Actions. The user then clicks through multiple screens to complete their device setup. Today, we're releasing two new features to improve this device discovery process and drive customer adoption of your Smart Home Action through the Google Home app. App Discovery and Deep Linking are two convenience features that help users find your Google-Assistant compatible smart devices quickly and onboard faster.

App Discovery enables users to quickly find your smart home Action thanks to suggestion chips within the Google Home app. You can implement this new feature through the Actions Console by creating a verified brand link between your Action, your website, and your mobile app. App Discovery doesn't require any coding work to implement, making this a development-light feature that provides great improvements to the user experience of device linking.

In addition to helping users discover your Action directly through suggestion chips, Deep Linking enables you to guide users to your account linking flow within the Google Home app in one step. These deep links are easily added to your mobile app or web content, guiding users to your smart home integration with a single tap.

Deep Linking and App Discovery can help you create a more streamlined onboarding experience for your users, driving increased engagement and user satisfaction, and can be implemented with minimal engineering work.

To implement App Discovery and Deep Linking for your Smart Home Action, check out the developer documents, or watch the video covering these new features.

You can also check out the smart home codelabs if you are just starting to build out your Action.

We want to hear from you, so continue sharing your feedback with us through the issue tracker, and engage with other smart home developers in the /r/GoogleAssistantDev community. Follow @ActionsOnGoogle on Twitter for more of our team's updates, and tweet using #AoGDevs to share what you’re working on. We can’t wait to see what you build!