<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-596098824972435195</id><updated>2021-03-10T19:13:48.328-08:00</updated><category term="Google I/O" /><category term="apis" /><category term="open source" /><category term="Fridaygram" /><category term="cloud" /><category term="android" /><category term="chrome" /><category term="app engine" /><category term="developer" /><category term="featured" /><category term="faster web" /><category term="events" /><category term="html5" /><category term="Google" /><category term="developers" /><category term="machine learning" /><category term="cloud platform" /><category term="google apps" /><category term="javascript" /><category term="google io" /><category term="TensorFlow" /><category term="analytics" /><category term="actions on google" /><category term="mobile" /><category term="apps script" /><category term="oauth" /><category term="weekly roundup" /><category term="AI" /><category term="G Suite" /><category term="Artificial Intelligence" /><category term="Google APIs" /><category term="maps" /><category term="google assistant" /><category term="java" /><category term="api" /><category term="games" /><category term="bigquery" /><category term="google code project hosting" /><category term="youtube" /><category term="conferences" /><category term="google summer of code" /><category term="python" /><category term="Who's at Google I/O" /><category term="google code" /><category term="googlenew" /><category term="hackathon" /><category term="podcast" /><category term="security" /><category term="video" /><category term="Firebase" /><category term="google developers" /><category term="gwt" /><category term="opensocial" /><category term="#io14" /><category term="Latest" /><category term="devfest" /><category term="gdata" /><category term="gdl" /><category term="Udacity" /><category term="flutter" /><category term="google+" /><category term="openid" /><category term="VR" /><category term="assistant" /><category term="calendar" /><category term="gmail" /><category term="page speed" /><category term="IoT" /><category term="gsoc" /><category term="launchpad" /><category term="apps" /><category term="chrome web store" /><category term="chromium" /><category term="dart" /><category term="google visualization api" /><category term="google web toolkit" /><category term="ios" /><category term="GDD11" /><category term="Google Cloud" /><category term="gadgets" /><category term="gdg" /><category term="social" /><category term="ajax" /><category term="contest" /><category term="education" /><category term="event" /><category term="google developer day" /><category term="google developer days" /><category term="google gears" /><category term="startup" /><category term="Edge TPU" /><category term="Google Drive" /><category term="Smart Home" /><category term="coffee with a googler" /><category term="google data apis" /><category term="google storage" /><category term="googleio" /><category term="prediction api" /><category term="Coral" /><category term="Drive" /><category term="Google Cloud Platform" /><category term="Google Sheets API" /><category term="Project Tango" /><category term="accessibility" /><category term="ajax search" /><category term="code review" /><category term="develop" /><category term="entrepreneurs" /><category term="google apps marketplace" /><category term="google pay" /><category term="startups" /><category term="#io15" /><category term="ARCore" /><category term="AdMob" /><category term="Google Drive SDK" /><category term="TensorFlow Lite" /><category term="accelerator" /><category term="adsense" /><category term="augmented reality" /><category term="design" /><category term="enterprise" /><category term="google cast" /><category term="google chart api" /><category term="google compute engine" /><category term="linux" /><category term="performance" /><category term="speakers" /><category term="web performance" /><category term="women techmakers" /><category term="3d" /><category term="Gmail APIs" /><category term="Google Slides API" /><category term="africa" /><category term="buzz" /><category term="code jam" /><category term="google checkout" /><category term="google cloud storage" /><category term="google docs" /><category term="html" /><category term="mod_pagespeed" /><category term="native client" /><category term="polymer" /><category term="sdk" /><category term="search" /><category term="small business" /><category term="AR" /><category term="Ads" /><category term="GSuite" /><category term="Google Wave" /><category term="IO19" /><category term="beacons" /><category term="cardboard" /><category term="cloud sql" /><category term="commerce" /><category term="google chrome" /><category term="google play services" /><category term="guest post" /><category term="guice" /><category term="igoogle" /><category term="maps apis" /><category term="material design" /><category term="online payments" /><category term="oss devs" /><category term="sign-in" /><category term="student programs" /><category term="students" /><category term="#io2012" /><category term="#io2013" /><category term="AIY" /><category term="AIY Projects" /><category term="AutoML" /><category term="Google Developer Groups" /><category term="I/O" /><category term="MediaPipe" /><category term="Mobile web" /><category term="cast" /><category term="community" /><category term="countdown to I/O 2012" /><category term="css" /><category term="developer student clubs" /><category term="eclipse" /><category term="gdd07" /><category term="google earth" /><category term="google for startups" /><category term="google friend connect" /><category term="google pay api" /><category term="grow with google" /><category term="labs" /><category term="ml" /><category term="orkut" /><category term="scholarship" /><category term="standards" /><category term="translate" /><category term="visualization" /><category term="web" /><category term="webmaster" /><category term="wtm" /><category term="#growwithgoogle" /><category term="#io16" /><category term="#io17" /><category term="#io18" /><category term="20% project" /><category term="AMP" /><category term="Developer Communities" /><category term="Firebase Analytics" /><category term="Google Docs API" /><category term="ML Kit" /><category term="actions" /><category term="apache" /><category term="app" /><category term="beacon" /><category term="chrome apps" /><category term="chrome dev summit" /><category term="chrome devtools" /><category term="chrome extensions" /><category term="classes" /><category term="conversations" /><category term="courses" /><category term="font api" /><category term="gdl weekly" /><category term="geolocation" /><category term="google code search" /><category term="google gadgets" /><category term="google mashup editor" /><category term="in-app payments" /><category term="maker" /><category term="picasa web" /><category term="project hosting" /><category term="prototype" /><category term="subversion" /><category term="virtual reality" /><category term="web fonts" /><category term="Announcement" /><category term="Auth" /><category term="Certification" /><category term="Datasets" /><category term="Estimators" /><category term="G Suite Developer" /><category term="Go" /><category term="Google Coral" /><category term="Google Developer Experts" /><category term="Google Maps" /><category term="Google Play" /><category term="Google sheets" /><category term="I/O Extended" /><category term="Makers" /><category term="OAuth2" /><category term="SVG" /><category term="Sheets API" /><category term="Women in Tech" /><category term="apis console" /><category term="app indexing" /><category term="authsub" /><category term="c++" /><category term="chrome os" /><category term="chromecast" /><category term="client libraries" /><category term="cloud services" /><category term="code for educators" /><category term="custom search" /><category term="diversity" /><category term="docs" /><category term="dsc" /><category term="feeds" /><category term="gdd09" /><category term="gears" /><category term="google apps api" /><category term="korean" /><category term="launchpad accelerator" /><category term="machine intelligence" /><category term="open web" /><category term="osx" /><category term="programming" /><category term="pubsubhubbub" /><category term="samba" /><category term="scholarships" /><category term="sidewiki" /><category term="speed" /><category term="training" /><category term="web components" /><category term="#io12" /><category term="#io13" /><category term="Android App Development" /><category term="Android Things" /><category term="App Development" /><category term="Blockly" /><category term="Brazil" /><category term="Dev Tools" /><category term="Edge TPU Accelerator" /><category term="Edge TPU Dev Board" /><category term="Europe" /><category term="GDE" /><category term="Game Developers Conference" /><category term="Gmail API" /><category term="Google Cloud Messaging" /><category term="Google Developers Live" /><category term="Google Fonts" /><category term="Google Noto fonts" /><category term="Google Spreadsheets API" /><category term="I/O 2017" /><category term="IO17" /><category term="India" /><category term="Local Home SDK" /><category term="Sceneform" /><category term="Serverless" /><category term="actionsongoogle" /><category term="ajax apis" /><category term="android wear" /><category term="announcements" /><category term="atom publishing protocol" /><category term="awards" /><category term="browser" /><category term="caption" /><category term="chinese" /><category term="cloud datastore" /><category term="cloud storage" /><category term="code-in" /><category term="codelabs" /><category term="compression" /><category term="computer science" /><category term="devart" /><category term="dialogflow" /><category term="discovery service" /><category term="dns" /><category term="documentation" /><category term="dot net" /><category term="fusion tables" /><category term="ghop" /><category term="git" /><category term="github" /><category term="google apps for your domain" /><category term="google fit" /><category term="google web elements" /><category term="identity" /><category term="interviews" /><category term="iphone" /><category term="launchpad studio" /><category term="mac" /><category term="machine learning accelerator" /><category term="meetup" /><category term="narratives" /><category term="open source blog" /><category term="oreilly" /><category term="picasa" /><category term="play services" /><category term="privacy" /><category term="rails" /><category term="random hacks of kindness" /><category term="research" /><category term="soc" /><category term="speed tracer" /><category term="testing" /><category term="voice" /><category term="web exponents" /><category term="webgl" /><category term="women developers" /><category term="#GDC20" /><category term="AIYProjects" /><category term="AdWords" /><category term="Administrative APIs" /><category term="Android Studio" /><category term="Audio" /><category term="Brotli" /><category term="CardDAV" /><category term="Cloud Anchors" /><category term="CocoaPods" /><category term="Crash Reporting" /><category term="DA" /><category term="Depth" /><category term="DevFest18" /><category term="DevFestStories" /><category term="Developer Advocate" /><category term="Developer Culture" /><category term="Developer Preview" /><category term="EMEA" /><category term="Fabric" /><category term="Firebase Cloud Messaging" /><category term="Fonts" /><category term="GDD" /><category term="Google AR" /><category term="Google Data Studio" /><category term="Google Developers Academy" /><category term="Google Maps Platform" /><category term="Google Slides" /><category term="Google Workspace" /><category term="Google Workspace Developer" /><category term="Google tech talk" /><category term="Gradle" /><category term="Hangouts Chat" /><category term="Hangouts Chat API" /><category term="I/O Live" /><category term="Indie Games Accelerator" /><category term="International Women’s Day" /><category term="Issue Tracker" /><category term="JS" /><category term="KDE 4.0" /><category term="Kotlin" /><category term="Learning" /><category term="Local Home" /><category term="Location" /><category term="MacFuse" /><category term="Machine" /><category term="Moderator" /><category term="MySQL" /><category term="O3D" /><category term="Occlusion" /><category term="Polymer Summit" /><category term="Pose Detection" /><category term="REST" /><category term="Remote Config" /><category term="Safety &amp; Security" /><category term="Scratch" /><category term="Selfie Segmentation" /><category term="Startup accelerator" /><category term="Street View" /><category term="TF Lite" /><category term="TFLite" /><category term="TPU" /><category term="Test Lab" /><category term="UI" /><category term="Unity" /><category term="Universal App Campaigns" /><category term="University" /><category term="Vim" /><category term="WebP" /><category term="Women Tech Makers" /><category term="advogato" /><category term="android developers" /><category term="android11" /><category term="apis. charts" /><category term="app indexing api" /><category term="apple" /><category term="asia" /><category term="best practices" /><category term="beta" /><category term="blogger" /><category term="bootcamp" /><category term="building ajax apps" /><category term="business" /><category term="caldav" /><category term="campfire one" /><category term="chrome experiment" /><category term="closure tools" /><category term="cloud functions for firebase" /><category term="cloud portability" /><category term="compatibility" /><category term="computer vision" /><category term="contacts api" /><category term="contextual gadgets" /><category term="crisis response" /><category term="css3" /><category term="custom search api" /><category term="developer expert" /><category term="developer features" /><category term="diversity-and-inclusion" /><category term="django" /><category term="doubleclick" /><category term="drupal" /><category term="eddystone" /><category term="email" /><category term="finance" /><category term="gcc" /><category term="geo" /><category term="goo.gl" /><category term="google assistant sdk" /><category term="google buzz" /><category term="google developers community groups" /><category term="google photos" /><category term="google scholarships" /><category term="google technoloy user groups" /><category term="google tv" /><category term="googledevelopers" /><category term="gtug" /><category term="hamilton" /><category term="hibernate" /><category term="http" /><category term="ignite" /><category term="internationalization" /><category term="internet explorer" /><category term="japanese" /><category term="joomla" /><category term="kernel" /><category term="keynote" /><category term="khronos" /><category term="kids" /><category term="kml" /><category term="latitude" /><category term="localization" /><category term="london" /><category term="material" /><category term="mozilla" /><category term="myspace" /><category term="mythtv" /><category term="nearby" /><category term="notifications" /><category term="nss" /><category term="objective-c" /><category term="open data" /><category term="open-source" /><category term="opengl" /><category term="oscon" /><category term="payment handler" /><category term="payment request api" /><category term="payment web standard" /><category term="payments" /><category term="persistent AR" /><category term="python sprint" /><category term="reader" /><category term="safety and security" /><category term="salesforce" /><category term="schedule" /><category term="screencast" /><category term="sessions" /><category term="shindig" /><category term="sites api" /><category term="sketchup" /><category term="soap search api" /><category term="spdy" /><category term="speech" /><category term="storage" /><category term="subscribed links" /><category term="sxsw" /><category term="tasks API" /><category term="themes" /><category term="thought leadership" /><category term="tools" /><category term="tutorials" /><category term="tv" /><category term="ubuntu" /><category term="videos" /><category term="web animations api" /><category term="web designer" /><category term="web platform docs" /><category term="webfonts" /><category term="website optimizer" /><category term="windows" /><category term="yahoo" /><category term="young developers" /><category term="#30DaysOfFlutter" /><category term="#AIY" /><category term="#CSEdWeek" /><category term="#GooglePlay #AndroidDevStory #PlayStore #DeveloperConsole #StoreListingExperiments" /><category term="#devfest18 #devfeststories #gdg #googledevelopers #developers #community" /><category term="#freeandopen" /><category term="#io2014" /><category term="+1" /><category term=".app" /><category term=".dev" /><category term="3D face mesh" /><category term="AI Principles" /><category term="AMP Cache" /><category term="API.AI" /><category term="Access" /><category term="Account Linking" /><category term="Actions Builder" /><category term="Actions SDK" /><category term="Actions console" /><category term="Adobe Creative Cloud" /><category term="Adobe Creative Cloud Libraries" /><category term="Alfred Camera" /><category term="Android Developer" /><category term="Android Development" /><category term="Android TV" /><category term="Android Tools" /><category term="App Invites" /><category term="App dev" /><category term="Application Development" /><category term="Augmented images" /><category term="Bazel" /><category term="Belarus" /><category term="Black Consciousness Day" /><category term="Bluetooth" /><category term="Build Out" /><category term="BuildOut" /><category term="Bulgaria" /><category term="COVID" /><category term="COVID-19" /><category term="COVID19DetectProtect" /><category term="CPU" /><category term="Cache" /><category term="Cast Connect" /><category term="Chrome OS IO" /><category term="Chrome OS IO19" /><category term="Chromebooks" /><category term="Cloud Computing" /><category term="Cloud Functions" /><category term="Cloud Next" /><category term="Cloud Study Jam" /><category term="Cloud anchor" /><category term="Colaboratory" /><category term="Colt McAnlis" /><category term="Compilers" /><category term="Computer Science Education Week" /><category term="Console" /><category term="Containers" /><category term="Coral updates" /><category term="Core ML" /><category term="Croatia" /><category term="Crostini" /><category term="Custom Elements" /><category term="Czechia" /><category term="DFP" /><category term="Data Compression" /><category term="Data Visualization" /><category term="Data science" /><category term="Databases" /><category term="Dataset" /><category term="Daydream" /><category term="Debian" /><category term="Developer Keynote" /><category term="Development" /><category term="Device" /><category term="Dia da Consciência Negra" /><category term="Docker" /><category term="Ebay" /><category term="Edge AI" /><category term="Entity Extraction" /><category term="Error logging" /><category term="Estimator" /><category term="Ethics" /><category term="FCM" /><category term="FCP" /><category term="Fairness" /><category term="Firebase Dynamic Links" /><category term="Flutter 1.2" /><category term="Flutter 1.5" /><category term="Flutter 1.9" /><category term="Flutter 2" /><category term="Flutter Clock" /><category term="Flutter Create" /><category term="Flutter Engage" /><category term="Flutter Interact" /><category term="Flutter Live" /><category term="Flutter at IO" /><category term="Flutter for desktop" /><category term="Flutter for web" /><category term="Follow Us" /><category term="G+" /><category term="GCP" /><category term="GDA" /><category term="GDC 2020" /><category term="GDC17" /><category term="GET" /><category term="GKE" /><category term="GMTC" /><category term="GPE" /><category term="GPGS C++ Games" /><category term="GPT" /><category term="GWSOP" /><category term="General Availability" /><category term="Gigster" /><category term="Glass" /><category term="Gmail Add-on" /><category term="Google AI" /><category term="Google Analytics" /><category term="Google Assistant Bluetooth" /><category term="Google Assistant Developer Day" /><category term="Google Assistant IO" /><category term="Google Assistant IO19" /><category term="Google Brain" /><category term="Google Cardboard" /><category term="Google Charts" /><category term="Google Cloud Talks" /><category term="Google Developer Scholarship" /><category term="Google Developers Groups" /><category term="Google Developers University Consortium" /><category term="Google Developers site" /><category term="Google Docs Add-on" /><category term="Google For Games" /><category term="Google Groups Settings" /><category term="Google Home Hub" /><category term="Google IOS Android" /><category term="Google Identity Platform" /><category term="Google Pay Developers" /><category term="Google Pay India" /><category term="Google Play Developer API" /><category term="Google Registry" /><category term="Google Science Fair" /><category term="Google Sheets Add-on" /><category term="Google Slides Add-on" /><category term="Google Workspace Add-ons" /><category term="Google in Asia" /><category term="Google technology" /><category term="GoogleAssistant" /><category term="GooglePlay" /><category term="GooglePlay AndroidDev" /><category term="Groovy" /><category term="Groups API" /><category term="Handwriting" /><category term="Headset" /><category term="I/O 17" /><category term="ICYMI" /><category term="IO" /><category term="IO19 Flutter" /><category term="IO2017" /><category term="IWD 2020" /><category term="IWD 2021" /><category term="Image Compression" /><category term="Imara" /><category term="In-app billing" /><category term="Instagram" /><category term="KDE" /><category term="Keras" /><category term="Krakow" /><category term="Kubernetes" /><category term="LatAm startups" /><category term="Latin America" /><category term="LaunchShow" /><category term="Leadership" /><category term="Linux on Chrome OS" /><category term="Linux on Chromebooks" /><category term="LoCo" /><category term="Logging" /><category term="MDL" /><category term="MIT CSAIL" /><category term="MIT Media Lab" /><category term="MLCC" /><category term="MOOC" /><category term="Mainframe Migration" /><category term="Marketplace" /><category term="Mexico startups" /><category term="Micronaut" /><category term="Microservices" /><category term="Mobile App Development" /><category term="Mobile Development" /><category term="Mobile World Congress" /><category term="Monthly roundup" /><category term="NPM" /><category term="NYT" /><category term="Nest" /><category term="Nest WiFi" /><category term="Next Billion Users" /><category term="Noto Serif CJK" /><category term="OAuth playground" /><category term="OCaml" /><category term="ODF" /><category term="OOXML" /><category term="Object Detection and Tracking" /><category term="Optimization" /><category term="POST" /><category term="PWA" /><category term="PageSpeed" /><category term="Peer bonus program" /><category term="Poly" /><category term="Pose Estimation" /><category term="PowerMeter API" /><category term="Prerender" /><category term="Progressive Web App" /><category term="Project Connected Home over IP" /><category term="Project Loon" /><category term="Qualcomm" /><category term="Qualcomm Google" /><category term="Rasberry Pi" /><category term="React" /><category term="Resources" /><category term="Responsible AI" /><category term="Reto Meier" /><category term="Rewarded Ads" /><category term="Rewarded Video Ads" /><category term="SIMD" /><category term="STEM" /><category term="Saatchi" /><category term="Sample dialogs" /><category term="Santa Tracker" /><category term="Scala" /><category term="Serbia" /><category term="Sheets" /><category term="Shoreline Amphitheatre" /><category term="Slides API" /><category term="Smart Lock for Passwords" /><category term="Space" /><category term="Spring" /><category term="Stable release" /><category term="Stackdriver" /><category term="Static Sites" /><category term="Strobe" /><category term="Sundar Pichai" /><category term="TPU Dev Board" /><category term="Team Drives (new)" /><category term="Technical Writing" /><category term="TensorFlow Research Cloud" /><category term="Tez" /><category term="Toolkit" /><category term="Traits" /><category term="UN" /><category term="UNDP" /><category term="UNICEF" /><category term="URLs" /><category term="UX" /><category term="Ukraine" /><category term="Update" /><category term="VUI" /><category term="Wearables" /><category term="Weave" /><category term="WhiteHouse.gov" /><category term="Winter of Code" /><category term="WomenTechmakers" /><category term="Young Makers" /><category term="ZXing" /><category term="about.com" /><category term="activity" /><category term="adobe" /><category term="advanced" /><category term="agency program" /><category term="agpl" /><category term="ajax search books news apis" /><category term="all for good" /><category term="amarok" /><category term="and Assistant" /><category term="android developer certification" /><category term="androidstudio" /><category term="animation" /><category term="apis explorer" /><category term="app design" /><category term="area 120" /><category term="artifact management" /><category term="augmented faces" /><category term="australia" /><category term="authentication" /><category term="automatic speech recognition" /><category term="axsjax" /><category term="barcodes" /><category term="bespin" /><category term="bitcoin" /><category term="book search" /><category term="books API" /><category term="braintree" /><category term="british english" /><category term="business console" /><category term="caja" /><category term="camino" /><category term="celebrating" /><category term="certification award" /><category term="channel" /><category term="chronoscope" /><category term="cifs" /><category term="classroom api" /><category term="cms" /><category term="coca cola" /><category term="codeedu" /><category term="coding" /><category term="collada" /><category term="color" /><category term="community connectors" /><category term="competition" /><category term="compressorhead" /><category term="computing heritage" /><category term="conference" /><category term="conversation design" /><category term="couchdb" /><category term="country support" /><category term="crash course" /><category term="crashlytics" /><category term="creative commons" /><category term="cricket" /><category term="cryptocurrency" /><category term="cryptography" /><category term="danish linux forum" /><category term="database" /><category term="datastore" /><category term="dataviz" /><category term="deprecation" /><category term="desktop" /><category term="desktop apps" /><category term="developer relations" /><category term="developers. meetup" /><category term="devfest developer chrome maps social wave apps" /><category term="differential privacy" /><category term="do-it-yourself" /><category term="documents list api" /><category term="dojo" /><category term="domain" /><category term="domains" /><category term="doodles" /><category term="dreamweaver" /><category term="dynamic links" /><category term="earn" /><category term="earth" /><category term="eclipsecon" /><category term="educatio" /><category term="endpoints" /><category term="estonia" /><category term="evolution" /><category term="execution api" /><category term="extensions" /><category term="face detection" /><category term="fairness in machine learning" /><category term="fintech" /><category term="firebug" /><category term="firefox" /><category term="firestore" /><category term="firevox" /><category term="firstbeta" /><category term="fitness" /><category term="flutter release preview 1" /><category term="flutter release preview 2" /><category term="fosdem" /><category term="founders" /><category term="freebsd" /><category term="freenet" /><category term="gaming" /><category term="gci" /><category term="gdd08" /><category term="geoserver" /><category term="getpaid" /><category term="gnome" /><category term="gnome women's summer outreach program" /><category term="golang" /><category term="google certification" /><category term="google code university" /><category term="google data protocol" /><category term="google developers certification" /><category term="google doctype" /><category term="google domains" /><category term="google grants" /><category term="google health" /><category term="google pay account" /><category term="google pay business" /><category term="google pay integration" /><category term="google pay support" /><category term="google platform" /><category term="google space" /><category term="google wallet" /><category term="google.org" /><category term="googlecast" /><category term="googlewebelements googleio" /><category term="green linux" /><category term="grow" /><category term="gtags" /><category term="gulp" /><category term="gzip" /><category term="hacking" /><category term="hackthon" /><category term="hangouts" /><category term="haproxy" /><category term="hg" /><category term="howto" /><category term="hpux" /><category term="iOS SDK" /><category term="iPhone Development" /><category term="ical" /><category term="ietf" /><category term="iguanas" /><category term="iiw" /><category term="image search" /><category term="in-app purchase" /><category term="incubator" /><category term="indie" /><category term="information visualization" /><category term="integration status" /><category term="intelligentwire" /><category term="interactive music" /><category term="internet of things" /><category term="internship" /><category term="io18" /><category term="ipad" /><category term="israel" /><category term="jaiku" /><category term="jetpack" /><category term="joomladayus2007" /><category term="joomladayusa" /><category term="json" /><category term="karaoke" /><category term="kernel summit" /><category term="kids coding" /><category term="kids coding team" /><category term="lanchpad" /><category term="language" /><category term="languages" /><category term="laptop apps" /><category term="laptops" /><category term="latam accelerator" /><category term="latvia" /><category term="launch" /><category term="lca" /><category term="lens" /><category term="lessons" /><category term="licenses" /><category term="linux foundation" /><category term="linux summit" /><category term="linux virtual server" /><category term="linuxconf eu" /><category term="lithuania" /><category term="malware" /><category term="material components" /><category term="mercurial" /><category term="mobile UX" /><category term="mobile design" /><category term="mobile performance" /><category term="mobile sites" /><category term="mobile speed" /><category term="monetize" /><category term="multi-platform" /><category term="mylar" /><category term="named" /><category term="native ads" /><category term="netbsd" /><category term="non-profit" /><category term="nonsense" /><category term="nosql" /><category term="nvidia" /><category term="ocr" /><category term="office hours" /><category term="oha" /><category term="open source releases" /><category term="openajax alliance" /><category term="openssh" /><category term="openssl" /><category term="oscon2007" /><category term="osi" /><category term="ossjam" /><category term="pactester" /><category term="palette" /><category term="paypal" /><category term="persistence" /><category term="phone" /><category term="photos" /><category term="places API" /><category term="playground" /><category term="plone" /><category term="plone sprint" /><category term="poland" /><category term="portugal" /><category term="posix" /><category term="preview" /><category term="prizes" /><category term="processing" /><category term="production access" /><category term="products - slides" /><category term="programmers" /><category term="proximity" /><category term="py3k" /><category term="releases" /><category term="reserve seats" /><category term="result snippets" /><category term="review process" /><category term="rhino" /><category term="sandbox" /><category term="scalability" /><category term="scale-ups" /><category term="scopes" /><category term="sdks" /><category term="serif" /><category term="service worker" /><category term="seurat" /><category term="shape" /><category term="shopping" /><category term="shortcuts" /><category term="showcase" /><category term="silverstripe" /><category term="sitemaps" /><category term="sixapart" /><category term="small businesses" /><category term="small-business" /><category term="social graph" /><category term="solaris" /><category term="solutions challenge" /><category term="souders" /><category term="spa2007" /><category term="spyware" /><category term="startup africa roadtrip" /><category term="stories" /><category term="stuff" /><category term="style" /><category term="subscription" /><category term="summer of code" /><category term="syndication" /><category term="targeted spyware" /><category term="techmakers" /><category term="technology" /><category term="templates" /><category term="tensorRT" /><category term="tensorflow dev summit" /><category term="text embedding models" /><category term="tfdevsummit" /><category term="tool" /><category term="topp" /><category term="tranparency" /><category term="transit" /><category term="translation" /><category term="ubiquitous computing" /><category term="ubiquity" /><category term="ubucon" /><category term="unicode" /><category term="unit test" /><category term="universal" /><category term="unix" /><category term="updates" /><category term="url" /><category term="url shortener" /><category term="verification" /><category term="virtual keyboard" /><category term="voice kit" /><category term="voice technology" /><category term="voice user interface" /><category term="wattpad" /><category term="web apps" /><category term="web design" /><category term="web development" /><category term="web registry" /><category term="webVR" /><category term="websites" /><category term="win" /><category term="windows programming" /><category term="writing" /><category term="xauth" /><category term="zlib" /><category term="zurich" /><title type="text">Google Developers Blog</title><subtitle type="html">Blog of our latest news, updates, and stories for developers</subtitle><link rel="alternate" type="text/html" href="http://developers.googleblog.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default?start-index=26&amp;max-results=25&amp;redirect=false" /><author><name>ewood</name><uri>http://www.blogger.com/profile/12341551220176883769</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>2023</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/GDBcode" /><feedburner:info uri="gdbcode" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-4250866808123177404</id><published>2021-03-10T09:56:00.002-08:00</published><updated>2021-03-10T09:56:28.761-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="featured" /><category scheme="http://www.blogger.com/atom/ns#" term="google assistant" /><category scheme="http://www.blogger.com/atom/ns#" term="Latest" /><category scheme="http://www.blogger.com/atom/ns#" term="voice technology" /><title type="text">Increasing our engagement with the voice technology community</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-Fz78Atclv8U/YEfk_Qaj4DI/AAAAAAAAJ-o/jEQ6xfekCFIooxjBds6n7pTl7CSWQBLbwCLcBGAsYHQ/s0/GoogleDevs-IncreasingEngagementWVoiceTechComm.png"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-Fz78Atclv8U/YEfk_Qaj4DI/AAAAAAAAJ-o/jEQ6xfekCFIooxjBds6n7pTl7CSWQBLbwCLcBGAsYHQ/s0/GoogleDevs-IncreasingEngagementWVoiceTechComm.png"&gt; &lt;p&gt;&lt;em&gt;Posted by Leslie Garcia-Amaya, Global Product Partnerships Lead, Google Assistant  Ashwin Karuhatty, Head of Global Product Partnerships, Google Assistant &lt;/em&gt;&lt;p&gt;    &lt;center&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-WlcB_Lh5mXY/YEflb8VgXVI/AAAAAAAAJ-w/oR7XML2mtcwnAPvBs8_zscZoojH4nBepwCLcBGAsYHQ/s0/GoogleDevs-IncreasingEngagementWVoiceTechComm.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Google assistant image" border="0" data-original-height="512" data-original-width="1024" src="https://1.bp.blogspot.com/-WlcB_Lh5mXY/YEflb8VgXVI/AAAAAAAAJ-w/oR7XML2mtcwnAPvBs8_zscZoojH4nBepwCLcBGAsYHQ/s0/GoogleDevs-IncreasingEngagementWVoiceTechComm.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;/center&gt;   &lt;p&gt;The interest and adoption of voice technology reached an important inflection point last year with the pandemic, as we immediately saw Google Assistant play a bigger role in helping people manage more of their time at home, from juggling family activities to controlling their smart home devices.  &lt;/p&gt;&lt;p&gt;To help brands and developers stay ahead of these trends and identify potential opportunities to create impactful voice experiences for their users, we spun up a series of virtual events to stay engaged with the community when many in-person industry events were cancelled. For example, we introduced &lt;a href="https://www.voicetalks.ai/"&gt;VOICE Talks&lt;/a&gt; last April in partnership with &lt;a href="https://www.modev.com/"&gt;Modev&lt;/a&gt; as a monthly series of digital events that connected Google business, engineering and product leaders directly with the voice-tech ecosystem and developer community. VOICE Talks also provided a platform to companies, like Sony, Bamboo Learning, American Express, Verizon, Headspace, Vizio, iRobot, Nike, Dunkin, to share best practices on how they integrated voice technology into their products. You can watch past episodes &lt;a href="https://www.voicetalks.ai/"&gt;here&lt;/a&gt;.  &lt;/p&gt;&lt;p&gt;The ecosystem support and participation has been incredible with over &lt;strong&gt;110,000&lt;/strong&gt; subscribers for VOICE Talks, over &lt;strong&gt;40,000&lt;/strong&gt; hours of content consumed and active ongoing viewership on &lt;a href="https://www.youtube.com/user/gomodev"&gt;YouTube&lt;/a&gt;. In addition, we saw a huge demand for country/region-specific content in India, and started the &lt;a href="https://www.voicesummit.ai/talks/india"&gt;VOICE Talks India&lt;/a&gt; series, which has also been received very well. &lt;/p&gt;&lt;p&gt;Thanks to all the positive feedback from the community, we’re looking to double down on those efforts  this year. In addition to hosting more VOICE Talks events, we’re expanding our collaboration with industry-recognized influencers through podcasts, livestreams and more to continue growing the community, such as:  &lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;em&gt;Bret Kinsella, CEO and Founder of &lt;a href="https://voicebot.ai/"&gt;Voicebot.ai&lt;/a&gt;&lt;/em&gt; &lt;li&gt;&lt;em&gt;Katherine Prescott, &lt;a href="https://voicebrew.com/"&gt;VoiceBrew&lt;/a&gt;&lt;/em&gt; &lt;li&gt;&lt;em&gt;Dr. Teri Fisher, Creator &amp; Host of &lt;a href="http://thevoiceden.com/"&gt;The Voice Den&lt;/a&gt; &lt;/em&gt; &lt;li&gt;&lt;em&gt;Michal Stanislawek and Karol Stryja of &lt;a href="https://register.voicelunch.com/"&gt;VoiceLunch&lt;/a&gt; Foundation&lt;/em&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Additionally, we’re excited to announce that Google Assistant is the first corporate sponsor of &lt;a href="https://womeninvoice.org/"&gt;Women In Voice&lt;/a&gt;, a global non-profit with a mission to amplify women and diverse people in the voice technology field that has grown to 20 chapters in 15 countries since they launched in 2018.  This sponsorship builds on the momentum Women In Voice established with Google Assistant at CES 2020, where they collaborated on a “Women In Tech &amp; Allies” event.  Tune in to womeninvoice.org to stay up to date on upcoming events and collaborations between Google Assistant and Women In Voice.  &lt;/p&gt;&lt;p&gt;There’s now more ways to hear from us, share your feedback and learn about the latest trends in the space.  &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/TI7-Acwmys8" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/4250866808123177404/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2021/03/increasing-our-engagement-with-voice.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/4250866808123177404" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/4250866808123177404" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/TI7-Acwmys8/increasing-our-engagement-with-voice.html" title="Increasing our engagement with the voice technology community" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-Fz78Atclv8U/YEfk_Qaj4DI/AAAAAAAAJ-o/jEQ6xfekCFIooxjBds6n7pTl7CSWQBLbwCLcBGAsYHQ/s72-c/GoogleDevs-IncreasingEngagementWVoiceTechComm.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2021/03/increasing-our-engagement-with-voice.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-586904471699847261</id><published>2021-03-09T13:54:00.001-08:00</published><updated>2021-03-09T13:54:10.077-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General Availability" /><category scheme="http://www.blogger.com/atom/ns#" term="machine learning" /><category scheme="http://www.blogger.com/atom/ns#" term="ML Kit" /><category scheme="http://www.blogger.com/atom/ns#" term="Pose Detection" /><category scheme="http://www.blogger.com/atom/ns#" term="Selfie Segmentation" /><title type="text">ML Kit is now in GA &amp; Introducing Selfie Segmentation</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-zVfd1UQ1cJA/YEe7LWAD3UI/AAAAAAAAJ9s/xoj1sucxGyAse5Ihl0u2L9g-8HXdiJMKACLcBGAsYHQ/s0/unnamed%2B%252812%2529.png"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-zVfd1UQ1cJA/YEe7LWAD3UI/AAAAAAAAJ9s/xoj1sucxGyAse5Ihl0u2L9g-8HXdiJMKACLcBGAsYHQ/s0/unnamed%2B%252812%2529.png"&gt;  &lt;p&gt;&lt;em&gt;Posted by Kenny Sulaimon, Product Manager, ML Kit Chengji Yan, Suril Shah, Buck Bourdon, Software Engineers, ML Kit, Shiyu Hu, Technical Lead, ML Kit Dong Chen, Technical Lead, ML Kit  &lt;/em&gt;&lt;p&gt; &lt;p&gt;At the end of 2020, we introduced the &lt;a href="https://developers.google.com/ml-kit/language/entity-extraction"&gt;Entity Extraction&lt;/a&gt; API to our ML Kit SDK, making it even easier to detect and perform actions on text within mobile apps. Since then, we’ve been hard at work updating our existing APIs with new functionality and also fine tuning Selfie Segmentation with the help of our partners in the ML Kit &lt;a href="https://developers.google.com/ml-kit/early-access"&gt;early access program&lt;/a&gt;.  &lt;/p&gt;&lt;p&gt;Today we are excited to officially add &lt;a href="https://developers.google.com/ml-kit/early-access/selfie-segmentation"&gt;Selfie Segmentation&lt;/a&gt; to the ML Kit lineup, introduce a few enhancements we’ve made to our popular &lt;a href="https://developers.google.com/ml-kit/vision/pose-detection"&gt;Pose Detection&lt;/a&gt; API and announce that ML Kit has graduated to general availability! &lt;/p&gt;  &lt;center&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-tgo-VeuNRmI/YEfIoBB1VYI/AAAAAAAAJ-g/dTqM0Ojt9iASK9poB-bgpcmyOxGI1sF0gCLcBGAsYHQ/s0/Cards.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Natural language graphic" border="0" data-original-height="240" data-original-width="512" src="https://1.bp.blogspot.com/-tgo-VeuNRmI/YEfIoBB1VYI/AAAAAAAAJ-g/dTqM0Ojt9iASK9poB-bgpcmyOxGI1sF0gCLcBGAsYHQ/s0/Cards.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;/center&gt;   &lt;h2&gt;General Availability&lt;/h2&gt;  &lt;center&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-JlKgfTTXIFg/YEe7eW5UGVI/AAAAAAAAJ90/Jr4PkKzSsm0aadhjMQxqBoGpOtNvklz_QCLcBGAsYHQ/s0/mlkit-logo-ga.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="ML Kit image" border="0" data-original-height="450" data-original-width="1200" src="https://1.bp.blogspot.com/-JlKgfTTXIFg/YEe7eW5UGVI/AAAAAAAAJ90/Jr4PkKzSsm0aadhjMQxqBoGpOtNvklz_QCLcBGAsYHQ/s0/mlkit-logo-ga.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;/center&gt;  &lt;p id="imgCaption"&gt; (ML Kit is now in General Availability) &lt;/p&gt; &lt;p&gt;We launched ML Kit back in 2018 in order to make it easy for developers on Android and iOS to use machine learning within their apps. Over the last two years we have rapidly expanded our set of APIs to help with both vision and natural language processing based use cases.  &lt;/p&gt;&lt;p&gt; Thanks to the overwhelmingly positive response, developer feedback and a ton of adoption across both Android and iOS, we are ready to drop the beta label and officially announce the general availability of ML Kit’s APIs. All of our APIs (except Selfie Segmentation, Pose Detection, and Entity Extraction) are now in general availability! &lt;/p&gt; &lt;h2&gt;Selfie Segmentation&lt;/h2&gt;  &lt;center&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-C2JP4sB_A0w/YEe8drAkwII/AAAAAAAAJ98/Wbu5A_1KsAUKqyW8vvOfcttMixZi-I4zQCLcBGAsYHQ/s0/Screen%2BShot%2B2021-03-09%2Bat%2B1.05.27%2BPM.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Selfie Segmentation photo" border="0" data-original-height="588" data-original-width="1162" src="https://1.bp.blogspot.com/-C2JP4sB_A0w/YEe8drAkwII/AAAAAAAAJ98/Wbu5A_1KsAUKqyW8vvOfcttMixZi-I4zQCLcBGAsYHQ/s0/Screen%2BShot%2B2021-03-09%2Bat%2B1.05.27%2BPM.png"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/center&gt; &lt;p id="imgCaption"&gt; (Example of ML Kit Selfie Segmentation) &lt;/p&gt; &lt;p&gt;With the increased usage of selfie cameras and webcams in today's world, being able to quickly and easily add effects to camera experiences has become a necessity for many app developers. &lt;/p&gt; &lt;p&gt;ML Kit's Selfie Segmentation API allows developers to easily separate the background from users within a scene and focus on what matters. Adding cool effects to selfies or inserting your users into interesting background environments has never been easier. The model works on live and still images, and both half and full body subjects. &lt;/p&gt;  &lt;h2&gt; Under The Hood &lt;/h2&gt; &lt;center&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-mnFmvdES9M4/YEe836N3KrI/AAAAAAAAJ-E/9DjeWkP-Tt4oDGglXQT652doUTJLppM9wCLcBGAsYHQ/s0/selfie_segmentation_under_the_hood_HiRes.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Under the hood graph" border="0" data-original-height="824" data-original-width="1076" src="https://1.bp.blogspot.com/-mnFmvdES9M4/YEe836N3KrI/AAAAAAAAJ-E/9DjeWkP-Tt4oDGglXQT652doUTJLppM9wCLcBGAsYHQ/s0/selfie_segmentation_under_the_hood_HiRes.png"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/center&gt;    &lt;p id="imgCaption"&gt; (Diagram of Selfie Segmentation API)&lt;/ &lt;/p&gt; &lt;p&gt;The Selfie Segmentation API takes an input image and produces an output mask. Each pixel of the mask is assigned a float number that has a range between [0.0, 1.0]. The closer the number is to 1.0, the higher the confidence that the pixel represents a person, and vice versa. &lt;/p&gt;&lt;p&gt;The API works with static images and live video use cases. During live video (stream_mode), the API will leverage output from previous frames to return smoother segmentation results. &lt;/p&gt;&lt;p&gt;We’ve also implemented a “RAW_SIZE_MASK” option to give developers more options for mask output. By default, the mask produced will be the same size as the input image. If the RAW_SIZE_MASK option is enabled, then the mask will be the size of the model output (256x256). This option makes it easier to apply customized rescaling logic or reduces latency if rescaling to the input image size is not needed for your use case. &lt;/p&gt;  &lt;h2&gt; Pose Detection Update &lt;/h2&gt; &lt;center&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-D8j0n-BSKLw/YEe9U-TufMI/AAAAAAAAJ-M/LPfT0xmDTvw6wCkaRrh65hRNBQEdmcIyQCLcBGAsYHQ/s0/pasted%2Bimage%2B0%2B%252841%2529.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Example of Pose Detection API" border="0" data-original-height="1600" data-original-width="930" src="https://1.bp.blogspot.com/-D8j0n-BSKLw/YEe9U-TufMI/AAAAAAAAJ-M/LPfT0xmDTvw6wCkaRrh65hRNBQEdmcIyQCLcBGAsYHQ/s0/pasted%2Bimage%2B0%2B%252841%2529.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;/center&gt; &lt;p id="imgCaption"&gt; (Example of updated Pose Detection API; colors represent the Z value) &lt;/p&gt;  &lt;p&gt;Last month, we updated our state-of-the-art Pose Detection API with a new model and new features. A quick summary of the enhancements is listed below:  &lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;strong&gt;More poses added&lt;/strong&gt; The API now recognizes more poses, targeting fitness and yoga use cases,  especially when a user is directly facing the camera.  &lt;li&gt;&lt;strong&gt;50% size reduction&lt;/strong&gt; The base and accurate pose models are now significantly smaller. This change does not impact the quality of the models.  &lt;li&gt;&lt;strong&gt;Z Coordinate for depth analysis &lt;/strong&gt;The API now outputs a depth coordinate Z to help determine whether parts of the user's body are in front or behind the user’s hips. &lt;/li&gt;&lt;/ul&gt; &lt;h3&gt; Z Coordinate &lt;/h3&gt;  &lt;p&gt;The Z Coordinate is an experimental feature that is calculated for every point (excluding the face). The estimate is provided using synthetic data, obtained via the &lt;a href="https://openaccess.thecvf.com/content_CVPR_2020/papers/Xu_GHUM__GHUML_Generative_3D_Human_Shape_and_Articulated_Pose_CVPR_2020_paper.pdf"&gt;GHUM&lt;/a&gt; &lt;a href="https://github.com/google-research/google-research/tree/master/ghum"&gt;model&lt;/a&gt; (articulated 3D human shape model).  &lt;/p&gt;&lt;p&gt;It is measured in "image pixels" like the X and Y coordinates. The Z axis is perpendicular to the camera and passes between a subject's hips. The origin of the Z axis is approximately the center point between the hips (left/right and front/back relative to the camera).  Negative Z values are towards the camera; positive values are away from it. The Z coordinate does not have an upper or lower bound. &lt;/p&gt;&lt;p&gt;For more information on the Pose Detection changes, please see our &lt;a href="https://developers.google.com/ml-kit/vision/pose-detection"&gt;API documentation&lt;/a&gt;. &lt;/p&gt; &lt;h3&gt; Pose Classification &lt;/h3&gt;  &lt;p&gt;After the release of Pose Detection, we’ve received quite a bit of requests from developers to help with classifying specific poses within their apps. To help tackle this problem, we partnered with the &lt;a href="https://mediapipe.dev/"&gt;MediaPipe&lt;/a&gt; team to release a &lt;a href="https://google.github.io/mediapipe/solutions/pose_classification#pose-classification"&gt;pose classification tutorial&lt;/a&gt; and Google &lt;a href="https://google.github.io/mediapipe/solutions/pose_classification#colabs"&gt;Colab&lt;/a&gt;. In the classification tutorial, we demonstrate how to build and run a custom pose classifier within the &lt;a href="https://github.com/googlesamples/mlkit/tree/master/android/vision-quickstart/app/src/main/java/com/google/mlkit/vision/demo/java/posedetector/classification"&gt;ML Kit Android sample app&lt;/a&gt; and also demo a simple push-up and squat rep counter using the classifier. &lt;/p&gt; &lt;center&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-I7Z33QjcxXg/YEe9szKVN9I/AAAAAAAAJ-U/8iH_wDzvK64el_XPb4reCmGiO0Ug3gx8gCLcBGAsYHQ/s0/pushups_squats.gif" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Example of Pose classification and repetition counting with MLKit Pose" border="0" data-original-height="400" data-original-width="413" src="https://1.bp.blogspot.com/-I7Z33QjcxXg/YEe9szKVN9I/AAAAAAAAJ-U/8iH_wDzvK64el_XPb4reCmGiO0Ug3gx8gCLcBGAsYHQ/s0/pushups_squats.gif"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;/center&gt;  &lt;p id="imgCaption"&gt; (Example of Pose classification and repetition counting with MLKit Pose) &lt;/p&gt;  &lt;p&gt;For a deep dive into building your own pose classifier with different camera angles, environment conditions, body shapes etc, please see the &lt;a href="https://solutions.mediapipe.dev/pose_classification"&gt;pose classification tutorial&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;For more general classification tips, please see our &lt;a href="https://developers.google.com/ml-kit/vision/pose-detection/classifying-poses"&gt;Pose Classification Options&lt;/a&gt; page on the ML Kit website.  &lt;/p&gt; &lt;h2&gt;Beyond General Availability&lt;/h2&gt;  &lt;p&gt;It has been an exciting two years getting ML Kit to general availability and we couldn’t have gotten here without your help and feedback. As we continue to introduce new APIs such as Selfie Segmentation and Pose Detection, your feedback is more important than ever. Please continue to share your &lt;a href="https://issuetracker.google.com/issues/new?component=897785&amp;template=1457328"&gt;enhancement requests&lt;/a&gt; and &lt;a href="https://stackoverflow.com/questions/tagged/google-mlkit"&gt;questions&lt;/a&gt; with our development team or reach out through our &lt;a href="https://developers.google.com/ml-kit/community"&gt;community channels&lt;/a&gt;. Let’s build a smarter future together. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/Jhh14V7S4v8" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/586904471699847261/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2021/03/ml-kit-is-now-in-ga-introducing-selfie.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/586904471699847261" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/586904471699847261" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/Jhh14V7S4v8/ml-kit-is-now-in-ga-introducing-selfie.html" title="ML Kit is now in GA &amp; Introducing Selfie Segmentation" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-zVfd1UQ1cJA/YEe7LWAD3UI/AAAAAAAAJ9s/xoj1sucxGyAse5Ihl0u2L9g-8HXdiJMKACLcBGAsYHQ/s72-c/unnamed%2B%252812%2529.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2021/03/ml-kit-is-now-in-ga-introducing-selfie.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-8003913630342539293</id><published>2021-03-08T10:30:00.012-08:00</published><updated>2021-03-09T10:58:29.301-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="DA" /><category scheme="http://www.blogger.com/atom/ns#" term="Developer Advocate" /><category scheme="http://www.blogger.com/atom/ns#" term="GDE" /><category scheme="http://www.blogger.com/atom/ns#" term="gdg" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Developer Experts" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Developer Groups" /><category scheme="http://www.blogger.com/atom/ns#" term="google developers" /><category scheme="http://www.blogger.com/atom/ns#" term="International Women’s Day" /><category scheme="http://www.blogger.com/atom/ns#" term="IWD 2021" /><category scheme="http://www.blogger.com/atom/ns#" term="women developers" /><category scheme="http://www.blogger.com/atom/ns#" term="Women in Tech" /><title type="text">Celebrating International Women’s Day with 21 tech trailblazers</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-4UJwuZtka1A/YEZgdgsi5YI/AAAAAAAAJ9M/felV94KNzFocoWwR1XotqtiiVYsp_TkzgCLcBGAsYHQ/s0/iwd-gdg-social-assets-twitter.png"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-4UJwuZtka1A/YEZgdgsi5YI/AAAAAAAAJ9M/felV94KNzFocoWwR1XotqtiiVYsp_TkzgCLcBGAsYHQ/s0/iwd-gdg-social-assets-twitter.png"&gt; &lt;p&gt;&lt;em&gt;Posted by The Google Developers Team&lt;/em&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-xVWCoicen58/YEZsoKQffzI/AAAAAAAAJ9U/hbGyFzna-3E2zC0GRapozVynJllidBkJgCLcBGAsYHQ/s0/final_60466a20cd85fa005fb0cac9_430715.gif" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="GIF of International Women's Day 2021 header" border="0" data-original-height="512" data-original-width="1024" src="https://1.bp.blogspot.com/-xVWCoicen58/YEZsoKQffzI/AAAAAAAAJ9U/hbGyFzna-3E2zC0GRapozVynJllidBkJgCLcBGAsYHQ/s0/final_60466a20cd85fa005fb0cac9_430715.gif"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Today we are celebrating International Women’s Day by highlighting a series of 21 tech trailblazers who are making significant strides in the developer community. &lt;/p&gt;&lt;p&gt;Many of the women we interviewed are directly involved with our educational outreach and inclusivity programs like Google Developer Groups and Women Techmakers while others are Google Developers Experts or Googlers who are doing amazing work around the globe.  &lt;/p&gt;&lt;p&gt;While all of the women featured here have unique stories around their journey into tech, a commonality among all of them is the dedication to making the developer community more inclusive for all future generations of women to come. &lt;/p&gt;&lt;p&gt;We are honored to celebrate #IWD2021 with them. &lt;/p&gt; &lt;h2&gt;Annyce Davis &lt;/h2&gt;&lt;h3&gt;Laurel, MD, United States &#x1f1fa;&#x1f1f8;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://developers.google.com/community/experts/directory/profile/profile-annyce_davis"&gt;Android and Kotlin GDE&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;center&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-Y9M4j3cDlUU/YELDBeP1CKI/AAAAAAAAJ5U/W9NhxPRKsqAMcR489-1aSOnsKzGtcAgoACLcBGAsYHQ/s0/Annyce_Davis.JPG.jpeg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Photo of Annyce Davis" border="0" data-original-height="740" data-original-width="740" src="https://1.bp.blogspot.com/-Y9M4j3cDlUU/YELDBeP1CKI/AAAAAAAAJ5U/W9NhxPRKsqAMcR489-1aSOnsKzGtcAgoACLcBGAsYHQ/s0/Annyce_Davis.JPG.jpeg"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/center&gt;&lt;p id="imgCaption"&gt;Photo of Annyce Davis&lt;/p&gt;   &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I work as Director of Engineering at Meetup. I'm currently working on moving our native applications into the future. It's exciting to take a product that I've used for so many years and help transform it into a modern application that millions of users rely on each day.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I think my path was pretty traditional. I've been interested in tech from a young age. I went to a Science and Tech high school and ended up getting my degree in Computer Engineering. But when I started out my career it was a slow start.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;My first job out of college was as a Help Desk Technician. I managed to do that for 6 months before I realized that it wasn't for me and I needed to be coding. That's when I moved into Web development. From there, I spent a few years developing web apps and working on APIs. Finally, I found my true passion, Android development. I loved how I could write code that powered the tiny device I carried around in my purse.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Grow your professional network early in your career. Spend time getting to know others in the industry. Establish your own "mentor" by reaching out and asking questions of others who are where you want to be. Having a network is invaluable. It exposes you to know opportunities and highlights areas for growth.&lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Florina Muntenescu &lt;/h3&gt;&lt;h3&gt;London, United Kingdom &#x1f1ec;&#x1f1e7;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;Developer Relations Engineer, Android&lt;/strong&gt;&lt;/p&gt; &lt;center&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-h62ankqsJDc/YELE1c9GQjI/AAAAAAAAJ5c/FQr58J1Ord0ZmX2lfvLukwz7zT2H-r62ACLcBGAsYHQ/s0/Florina%2BMuntenescu.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Photo of Florina Muntenescu" border="0" data-original-height="600" data-original-width="600" src="https://1.bp.blogspot.com/-h62ankqsJDc/YELE1c9GQjI/AAAAAAAAJ5c/FQr58J1Ord0ZmX2lfvLukwz7zT2H-r62ACLcBGAsYHQ/s0/Florina%2BMuntenescu.png"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/center&gt;&lt;p id="imgCaption"&gt;Photo of Florina Muntenescu&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I’m an engineer in the Android Developer Relations team. I focus on architecture, Jetpack and Kotlin. I give talks, write blog posts and samples and provide feedback on our products. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Recently I worked on architecture guidance in &lt;a href="https://developer.android.com/jetpack/compose?gclid=Cj0KCQiAyoeCBhCTARIsAOfpKxiL7wQpOBllgn864NcprqAOTQuTlAc0abUiihel3YPZkzb_ghkfeyQaAibPEALw_wcB&amp;gclsrc=aw.ds"&gt;Compose&lt;/a&gt; and on &lt;a href="https://developer.android.com/dev-challenge"&gt;#AndroidDevChallenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;When I was 9 years old, my mom took me to computer classes (we didn’t have a computer at home back then) and I just loved it. That’s when I decided I want to “work with computers” when I grow up. I studied computer science in high school and university and in my last year of university, I got hooked on Android. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;You have something to say—share it with the world! Share your passions and be yourself. People will respond and can tell if you really care about something.&lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Huyen Tue Dao &lt;/h2&gt;&lt;h3&gt;Denver, CO, United States &#x1f1fa;&#x1f1f8;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://developers.google.com/community/experts/directory/profile/profile-huyen_tue_dao"&gt;Android and Kotlin GDE&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-RR7AerXyBR8/YELHkyuzniI/AAAAAAAAJ5k/CAKfWUygWGIduHd0eG8dt-5M0-pN_33hwCLcBGAsYHQ/s0/Huyen.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Photo of Huyen Tue Dao" border="0" data-original-height="172" data-original-width="172" src="https://1.bp.blogspot.com/-RR7AerXyBR8/YELHkyuzniI/AAAAAAAAJ5k/CAKfWUygWGIduHd0eG8dt-5M0-pN_33hwCLcBGAsYHQ/s0/Huyen.jpg"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Huyen Tue Dao&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I am a senior Android developer working on the Trello Android app at Atlassian.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;In high school, I dreamed of being a journalist. To graduate, we had to take one full credit of "technical classes." Since I wanted to be a journalist, I figured, "Hey, I'll probably be typing a lot. Let me take the typing class." Unfortunately, the typing class was just a half-credit so I needed one more class. Just because some of my friends were taking it, I ended up selecting "Introduction to Programming." That was the happiest happenstance. I fell immediately and deeply in love with programming. I kicked ass and afterward knew exactly what I wanted to do with my life. I majored in Computer Engineering at the University of Maryland and have never looked back.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;It can be tough but always ask questions. Ask questions when you need clarification. Ask questions when you don't agree with something. At the start of my career, I was deathly afraid of asking questions; I didn't want to seem incapable, and I didn't want to be "bothersome." Doing this, I missed out on so many opportunities and made things a bit harder on myself. Asking questions because you need clarification just makes sense and is necessary. For sure, sometimes people are not patient, but it's more important for you to get the information you need so you can do your best work. Asking questions because you don't agree with something can be really hard and may not always bring you the results that you want, but one of the biggest skills we have to constantly nurture as developers is critical thinking and the ability to communicate that thinking. Now that I'm a senior developer, I think I am most inspired and energized when other developers ask me great questions, clarifying or critical. It's not easy. It's often scary. It's a skill. But practice it and develop confidence in your right to ask questions.&lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Diana Rodríguez Manrique &lt;/h2&gt;&lt;h3&gt;Durham, United States &#x1f1fa;&#x1f1f8;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://developers.google.com/community/experts/directory/profile/profile-diana_rodr_C3_ADguez_manrique"&gt;Firebase, Google Cloud, Google Maps Platform, and Web Technologies GDE&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-zP1y6Pynh8Q/YELIIc4kzVI/AAAAAAAAJ5s/y_0ofvrN9rI-kpzi_V2OXwIs2ZN3p-jkQCLcBGAsYHQ/s0/Diana.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Photo of Diana Rodríguez Manrique" border="0" data-original-height="340" data-original-width="341" src="https://1.bp.blogspot.com/-zP1y6Pynh8Q/YELIIc4kzVI/AAAAAAAAJ5s/y_0ofvrN9rI-kpzi_V2OXwIs2ZN3p-jkQCLcBGAsYHQ/s0/Diana.jpg"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Diana Rodríguez Manrique&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I’m transitioning between roles in developer advocacy. Currently working on many projects being one of them a diabetes monitoring tool with GPS tracking.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt; I started coding when I was 6 years old in a c64 and ever since then transitioned through different roles and languages being my strengths in infrastructure and Python. I’m a self taught developer with 20+ years experience&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Keep moving! Keep going forward. We have paved the way for other women to move forward and we need you!!&lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Laura Morinigo  &lt;/h2&gt;&lt;h3&gt;London, United Kingdom &#x1f1ec;&#x1f1e7;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://developers.google.com/community/experts/directory/profile/profile-laura_morinigo"&gt;Firebase GDE&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-Xz6nSZjrRhM/YELKwWASv7I/AAAAAAAAJ50/E1QM4bRgyQ4PFNzGHUE2Ix2AKXAkqGSowCLcBGAsYHQ/s0/Laura_Morinigo.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Photo of Laura Morinigo" border="0" data-original-height="853" data-original-width="853" src="https://1.bp.blogspot.com/-Xz6nSZjrRhM/YELKwWASv7I/AAAAAAAAJ50/E1QM4bRgyQ4PFNzGHUE2Ix2AKXAkqGSowCLcBGAsYHQ/s0/Laura_Morinigo.jpg"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Laura Morinigo&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I am a Web Developer Advocate for Samsung Research UK, therefore I work for developers. My projects include helping developers and entrepreneurs make better decisions around tech, especially the web, by creating resources and demos, spreading the word about best practices, speaking at events, and contributing to a more diverse tech scene.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I started during my early years and learned how to code during high school. Later on, I decided to study Software Engineering which led me to start working as a developer. At the same time - I was also teaching and getting involved with the tech community, participating in events which guided me to public speaking and creating resources so others can learn from my experience. Thanks to this contribution I became a GDE on Firebase.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;To my fellow women developers: Work on yourself, in discovering your inner worth and remove a lot of beliefs that society shows you. Surround yourself with people that support you during your journey, find your community, and once you get there, open the door to other women that need guidance.&lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Rihanna Kedir &lt;/h2&gt;&lt;h3&gt;Rome, Italy &#x1f1ee;&#x1f1f9;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://developers.google.com/community/experts/directory/profile/profile-rihanna_kedir_ibrahim"&gt;Flutter GDE&lt;/a&gt;, Women Techmakers Ambassador, GDG Rome Co-Lead&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-LGaoeDTGxv4/YEZfYuOCqwI/AAAAAAAAJ9E/-ed2pu_p6xscg70Nlv7S0T6p1gMPVPHpwCLcBGAsYHQ/s0/Rihanna%2BKedir%2BIbrahim.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Image of Rihanna Kedir" border="0" data-original-height="300" data-original-width="300" src="https://1.bp.blogspot.com/-LGaoeDTGxv4/YEZfYuOCqwI/AAAAAAAAJ9E/-ed2pu_p6xscg70Nlv7S0T6p1gMPVPHpwCLcBGAsYHQ/s0/Rihanna%2BKedir%2BIbrahim.jpg"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Rihanna Kedir&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Currently, I am working as a Software Engineer and I am so excited that a few months ago I joined the UN World Food Programme. Apart from that, I am GDE in web, Flutter and Dart, as well as a Women Techmakers ambassador and GDG organizer.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I ended up in the tech industry just out of curiosity. I always wanted to enroll in a scientific field. I grew up in Ethiopia and back in high-school I had very limited internet access and almost no information about Computer Science. As I graduated, I tried to enroll in the University, unfortunately, my Italian high school Diploma was not accepted in Ethiopian Universities back then. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;My family was against me going abroad alone for studying. So I started working as an Accountant. Meanwhile, I took art and fashion design courses and started my own fashion business side by side. Once that I was economically independent I started to feel the urge to follow my dream, so I moved to Rome and started my computer science degree. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Always stay passionate and never stop learning. You should always learn technical skills but you should keep in mind that soft skills are also important. Never be discouraged but try to expand your horizons as much as you can. At the same time, you should never compare yourself with others; focus on your own progress. Think about how much you’ve accomplished and where you want to go next. Always believe in yourself and speak up whenever you need to.&lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Mais Alheraki &lt;/h2&gt;&lt;h3&gt;Medina, Saudi Arabia &#x1f1f8;&#x1f1e6;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://developers.google.com/community/experts/directory/profile/profile-mais_alheraki"&gt;Flutter GDE&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-NnXFPqzCrDc/YELNX--XHFI/AAAAAAAAJ6E/-afXy6kwq7QnD5BPIC_Z4-9W9U5SVENfQCLcBGAsYHQ/s0/Mais%2BAlheraki.JPEG" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Image of Mais Alheraki" border="0" data-original-height="1584" data-original-width="1584" src="https://1.bp.blogspot.com/-NnXFPqzCrDc/YELNX--XHFI/AAAAAAAAJ6E/-afXy6kwq7QnD5BPIC_Z4-9W9U5SVENfQCLcBGAsYHQ/s0/Mais%2BAlheraki.JPEG"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Mais Alheraki&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I currently work as a lead developer in a tech startup, building a medical appointments application in Saudi Arabia, called Mawidy, all made with Flutter and Firebase, it helps patients get remote consultations with our doctors through the platform in voice and video. We also use Flutter web to give clinics access to all details of their doctors and provide appointments and services through the app, either remotely or by physical bookings.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;We have over 3000 successful appointments, and counting, since we started, and we helped over 2500 patients get free medical consultations during the pandemic.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I was still in elementary school when my passion with computers started, I always knew I wanted to be in tech. My father was a programmer, I learned the basics when I was 14 y.o. After high school, I undoubtedly chose to major in IT, during college, I learned web development alongside UI design and built several small websites. I got to know Flutter &amp; Firebase in a study jam in January 2019 and built my senior year project with them. Then I chose to continue diving deeper into application development, both as a UI designer and a Flutter developer, I released 2 free Flutter apps as personal projects in 2019 and still maintaining them, and got a base of active users.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Meanwhile, I helped in building the Women Techmakers community in Saudi Arabia, as a lead, organizer and speaker. We have helped thousands of women in the MENA region and Saudi Arabia to be more visible, learn more and get broader opportunities.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;In the middle of 2020, I found my first job in tech, as a UI/UX designer. After that, within 3 months I got my current job as a Flutter developer.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;A tip I give to my fellow women developers is: have the courage to create your own opportunities, and never wait for it, build apps no matter how small they are, write tutorials, and teach what you learn.&lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Katarina Sheremet &lt;/h2&gt;&lt;h3&gt;Zurich, Switzerland&#x1f1e8;&#x1f1ed;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://developers.google.com/community/experts/directory/profile/profile-katarina_sheremet"&gt;Flutter GDE&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-x356eCWEQzY/YELN_Z4GDWI/AAAAAAAAJ6M/kZ9OuzdL05IweIsUek-BjG1fFPFlZdaggCLcBGAsYHQ/s0/Katarina%2BSheremet.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Photo of Katarina Sheremet" border="0" data-original-height="1403" data-original-width="1403" src="https://1.bp.blogspot.com/-x356eCWEQzY/YELN_Z4GDWI/AAAAAAAAJ6M/kZ9OuzdL05IweIsUek-BjG1fFPFlZdaggCLcBGAsYHQ/s0/Katarina%2BSheremet.jpg"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Katarina Sheremet&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I am a Google Developer Expert in Flutter and Dart, Women Techmakers Switzerland co-organizer, and Flutter Zürich Meetup co-organizer. I run my own company that is called FutureWare. I consult companies and Start-Ups about Flutter development, architecture, testing, and more. I also work on my own projects. One of the projects is Delern Flashcards. It is a mobile app that helps to learn anything, which is published on Google Play and App Store and has more than 3000 installs. I also organize events about technologies, gives talks, and writes articles about Flutter and Dart.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I started programming when I was 15 years old. My first programming language was Pascal. Since then, I fell in love with programming. I took part in the programming and algorithmic competitions and was also a prize-winner of regional competitions in Belarus.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Enjoy what you are doing and be curious. It is very important to have fun and enjoy development. Curiosity will help you to dig deep into details. Knowing details is required to become an expert in your area.&lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Adriana Fernanda Moya &lt;/h2&gt;&lt;h3&gt;Bogotá, Colombia &#x1f1e8;&#x1f1f4;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://developers.google.com/community/experts/directory/profile/profile-adriana_moya?hl=en"&gt;Google Cloud GDE&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-j5wlKSKe1uQ/YELOeeuGZoI/AAAAAAAAJ6U/A9mc-r4ZGLwKpWWemAFPXQB-BDGWLHIGQCLcBGAsYHQ/s0/adriana.jpeg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Photo of Adriana Fernanda Moya" border="0" data-original-height="1000" data-original-width="1000" src="https://1.bp.blogspot.com/-j5wlKSKe1uQ/YELOeeuGZoI/AAAAAAAAJ6U/A9mc-r4ZGLwKpWWemAFPXQB-BDGWLHIGQCLcBGAsYHQ/s0/adriana.jpeg"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Adriana Fernanda Moya&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Currently I work in a company that is listed for the NYS, called Globant, my role is Cloud Engineer and from my position I am dedicated to supporting a global entertainment company in cloud architecture and the implementation of large-scale growth strategies for its applications around the world.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I started my career as a software developer where I had many challenges, I suffered from the imposter syndrome, I was also always the only woman on the team. I was fortunate to have a great mentor, who always inspired me to study on my own and thanks to him I was able to meet technology communities in my city, it was a great time in which I had moments of all kinds. After some years of work as a developer I decided to make the decision to change my career path and orient it towards Cloud Computing, I was very excited to be able to translate architecture problems into new opportunities for large-scale improvement, so I did it and I do not regret it. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I would advise her not to be afraid to think big, every small step they take will lead them to their goal, do not feel intimidated but always think that they are strong and they are going to achieve it.&lt;/em&gt;&lt;/p&gt;&lt;h2&gt;Luz Maria Maida Claure &lt;/h2&gt;&lt;h3&gt;Mexico City, CDMX, Mexico &#x1f1f2;&#x1f1fd;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://developers.google.com/community/experts/directory/profile/profile-luz_maria_maida_claure?hl=en"&gt;Google Cloud GDE&lt;/a&gt;, Women Techmakers Lead and Organizer for GDG Cloud MX&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-qbVxenlGwDw/YELPJ_du5vI/AAAAAAAAJ6c/7jIQ7_f_w4ExHHkr3gwG6Fb9cpohRSpUwCLcBGAsYHQ/s0/Luz%2BMaria%2BMaida%2BClaure.jpeg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Photo of Luz Maria Maida Claure" border="0" data-original-height="960" data-original-width="960" src="https://1.bp.blogspot.com/-qbVxenlGwDw/YELPJ_du5vI/AAAAAAAAJ6c/7jIQ7_f_w4ExHHkr3gwG6Fb9cpohRSpUwCLcBGAsYHQ/s0/Luz%2BMaria%2BMaida%2BClaure.jpeg"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Luz Maria Maida Claure&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I'm a Software Engineer and right now I'm  focused on an Ecommerce project. I take care about the web performance and infrastructure implementation using different Google Cloud Products, also I integrate analytic metrics from GMP to ensure that this measure is displayed in a way that the final customer can understand through different visualization tools.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I decided for this career when I was 7 years old, the first time that I saw a computer was while I was watching a TV show named "Where in the world is Carmen San Diego", from there the interest for the technology grew inside me, so in the college I decide to take programming lessons, with doubts but also with a lot of energy and passion to learn, I discovered my passion for the web development and infrastructure.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;After the University I face different challenges, like being part of the only two women working in a company or having the Impostor syndrome while I was doing my activities, at the end, I understand that diversity is important inside the teams and don't give up no matter the circumstances. So with that in mind, I participated as a volunteer in a Women Techmakers event happening in Cochabamba, Bolivia. I'm very grateful for that experience because that allowed me to teach other people some concepts about Computer Science, and I felt awesome to help other women in the same field.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;This experience encouraged me to send my first conference proposal to a Tech Conference, this action opened the door to meet more people with the same interests and also to take a look outside my country, I applied and was selected to be part of a Google Partner in Mexico City.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Trust in yourself, for me is the most important thing! Even if you don't feel in that way or even in adverse circumstances, you need to be brave to create whatever you want and how far your imagination drives you, teach, share and don't forget to be happy.  &lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Archana Malhotra  &lt;/h2&gt;&lt;h3&gt;Sunnyvale, United States &#x1f1fa;&#x1f1f8;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;Google Pay, Technical Engineering Manager&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-ud8IfBjbAf0/YEaFYNADoaI/AAAAAAAAJ9k/Hp1IhRwVNPM-IC-mWae82TrRYEck-UDVACLcBGAsYHQ/s0/Archana_Newphoto.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Photo of Archana Malhotra" border="0" data-original-height="300" data-original-width="300" src="https://1.bp.blogspot.com/-ud8IfBjbAf0/YEaFYNADoaI/AAAAAAAAJ9k/Hp1IhRwVNPM-IC-mWae82TrRYEck-UDVACLcBGAsYHQ/s0/Archana_Newphoto.png"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Archana Malhotra&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I’m a technical Engineering Manager leading&lt;a href="https://developers.google.com/pay"&gt; Google Pay Online Payments &lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;a href="https://developers.google.com/pay"&gt;Project&lt;/a&gt;. The current project I’m working on is to bring Offers to Autofill! It's about surfacing a user activated offer from the Google Pay app in Autofill. This helps the user identify and select the offer linked FOP (form of payment).&lt;/em&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I was fascinated by computers at an early age, I started learning coding in elementary school and pursued my Bachelors and Masters in Computer Science. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Carve out time from the busy schedule to add value to yourself. Block time on the calendar to stop, think and review and identify what you want to polish, learn, and apply. &lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Nalini Sewak &lt;/h2&gt;&lt;h3&gt;San Francisco, United States &#x1f1fa;&#x1f1f8;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;Google Pay, Product Solutions Engineer &lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-j6RQesW6MTU/YELQXhZU6gI/AAAAAAAAJ6w/pPeB7DG-hs4CstCHPFc93rRhZNKQMcEhQCLcBGAsYHQ/s0/Nalini%2BSewak.JPG" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Image of Nalini Sewak" border="0" data-original-height="2048" data-original-width="2048" src="https://1.bp.blogspot.com/-j6RQesW6MTU/YELQXhZU6gI/AAAAAAAAJ6w/pPeB7DG-hs4CstCHPFc93rRhZNKQMcEhQCLcBGAsYHQ/s0/Nalini%2BSewak.JPG"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Nalini Sewak&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I work as a Product Solutions Engineer in Google Pay. My role is an interesting mix of external and internal engagements which I love! I work directly with our partners (say Doordash or Lyft) to help them integrate with our APIs. These partners allow their users to checkout using Google Pay on their platforms. I also collaborate internally with our business development, product and engineering teams to ensure we can test, launch and support new features and scale existing products and processes so more developers can easily integrate with Google. I'm currently analyzing data to determine where developers drop off in our integration path to improve our offering.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I had a pretty cursory interest in tech during my high school years in India, and wasn’t certain it would be my path. My sister thought it would be a great fit for my skills and really encouraged me to pursue tech. Turns out she was right! I really enjoyed a user research course  which motivated me to focus on user journeys in products, I was hooked! I immigrated to the US to get my MS in CS at Santa Cruz. It was incredibly fulfilling to do research and TA for amazing professors and I really thrived amongst the redwood forests. Go Slugs!&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Dont be afraid to ask questions or seem stupid, it makes you get stuck longer. Ask the questions, learn from it and you will be better faster! Create a network of people who support you that you can seek advice from, find mentors and sponsors in your career and you will progress more quickly. And be sure to extend the same advice or support to others who need it. Use your voice to bring your opinion into product roadmaps and strategy. After all, tech products need to be just as useful to women; nothing about us without us. We can drive systemic change and once we have critical mass in tech, it can be a green field for the next generation of women. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;To stay updated on Google Pay technical updates, and news follow &lt;a href="https://twitter.com/GooglePayDevs"&gt;@GooglePayDevs &lt;/a&gt;on Twitter.&lt;/strong&gt;&lt;/p&gt; &lt;h2&gt;Rayan AL Zahab &lt;/h2&gt;&lt;h3&gt;Dubai, UAE &#x1f1e6;&#x1f1ea;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://developers.google.com/community/experts/directory/profile/profile-rayan_zahab"&gt;Google Workspace Product GDE&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;GDG Coast Lebanon and Women Techmakers Lebanon&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-5muKna3iJhc/YELRBAivA4I/AAAAAAAAJ64/iX78Dsm97GA0IwHu1F5tV7w1TnP5HweZgCLcBGAsYHQ/s0/rayan.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Photo of Rayan AL Zahab" border="0" data-original-height="664" data-original-width="664" src="https://1.bp.blogspot.com/-5muKna3iJhc/YELRBAivA4I/AAAAAAAAJ64/iX78Dsm97GA0IwHu1F5tV7w1TnP5HweZgCLcBGAsYHQ/s0/rayan.png"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Rayan AL Zahab&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I am the founder and CEO of BambooGeeks, a startup with the aim to make the MENA region a tech talent hub by training fresh tech talents and startups on market relevant technologies (ML, AppScript,..) and methodologies (Design thinking, agile, devops,..) with a focus on communication skills and the power of the tech community.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I am also a Google Workspace GDE, the first female GDE in the MENA and have been one of the most active GDEs worldwide since 2019.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I am a Women Techmakers ambassador and Google for Startups Accelerator MENA lead mentor and trainer.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Building and creating has always been a passion of mine. Inspired by my father, I wanted to be an electrical engineer, but then grew an interest in computers and decided to go for software engineering as it was more suitable for a woman for my family.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I started working since my second year university and was always fond of the tech ecosystem based on open source and community, made sure to participate in every event and hackathon no matter how far from my city it was.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I started my career in Lebanon in data entry and QA as an intern, then became an application developer and worked for several companies including Delteck and UNICEF innovation Lab before moving to Dubai to join McKinsey &amp; Company as a senior digital consultant. At McKinsey, I was an Agile trainer and product management adviser where we worked with government entities and banks across the Gulf.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;In early 2020 I decided to take a leap of faith and start BambooGeeks only a month before the pandemic! Considering we provide in person bootcamps and trainings, we had to pivot. We restructured all our training and materials to be completely online and launched.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;In less than a year we have trained over 200 startups on design thinking from all MENA and 800+ individuals on Employability skills, Agile Development and Design thinking with a target audience of DSC leads, GDG members and Women Techmakers Ambassadors.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Early in my career I have been told to be realistic and lower my ambitions because  being a hijabi woman in Tech imposes limits on what I can achieve in the field. They said look around it isn't possible, you will never find a successful hijabi woman in tech.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;And it was true, there wasn't anyone who looked like me, and it was true I got rejected for countless jobs because I'm a woman and a hijabi, and was asked to remove my hijab for other jobs.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;But, I never looked at it as a barrier! With every rejection I was grateful for my hijab and for being a women, they acted as my personal "sexism and religious discrimination" sensor which protected me from working in a culture that doesn't fit my values. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;There is no ceiling for your dreams! Dream as big as you wish, and you have the right to maintain all your values! &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;And When you don't find the role model to look up to, be that model for future generations. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;In addition, Being a women in tech comes with many challenges, fortunately for us today it also comes with few extra opportunities, Tech companies understood the need of women in the industry and are creating programs and initiatives to support you, such as the Women Techmakers from Google, the TechWomen exchange program from the state friends and many others.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Seek these opportunities! Leverage the community.&lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Cleo Espiritu &lt;/h2&gt;&lt;h3&gt;Vancouver, BC, Canada &#x1f1e8;&#x1f1e6;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://developers.google.com/community/experts/directory/profile/profile-cleo_espiritu?hl=en"&gt;Google Workspace GDE&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-uba4NDoQ1Po/YEZenYLizxI/AAAAAAAAJ8w/SxELAtXDkMcFiv2GkoCiD53X174CnFt6wCLcBGAsYHQ/s0/cleoespiritu.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Photo of Cleo Espiritu" border="0" data-original-height="300" data-original-width="300" src="https://1.bp.blogspot.com/-uba4NDoQ1Po/YEZenYLizxI/AAAAAAAAJ8w/SxELAtXDkMcFiv2GkoCiD53X174CnFt6wCLcBGAsYHQ/s0/cleoespiritu.jpg"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Cleo Espiritu&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I'm a Technical Product Manager at Plenty of Fish for the Platform and Payment squads, where we design and build the infrastructure, libraries and backend services that keep our apps running smoothly for our members. Recently we've launched our CRM (Customer Relationship Management) services which expanded our capabilities and significantly reduced our development time to engage and communicate with members through multiple channels.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Going into high school, I randomly chose a computer programming course despite knowing nothing about it at the time.  That led to me learning HTML to make websites on my own, as well as a summer research job with the Computing Science department at the University of Alberta.  I decided to keep at it, got my degree in Computer Science, started as a developer and was fortunate enough to have the opportunities to experience different roles in software development, such as UI designer and Product Manager.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Learn to recognize your strengths and build your confidence around it. Also learn to recognize your weaknesses and gaps, and see those as opportunities to grow and learn.&lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Alice Keeler &lt;/h2&gt;&lt;h3&gt;Fresno, United States &#x1f1fa;&#x1f1f8;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;Google Workspace GDE&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-yBg5ipTbohk/YEZevGUDqCI/AAAAAAAAJ80/jxuQKx_aPkALUR25ECHrduBrAgS8YPvoACLcBGAsYHQ/s0/Alice.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Photo of Alice Keeler" border="0" data-original-height="300" data-original-width="300" src="https://1.bp.blogspot.com/-yBg5ipTbohk/YEZevGUDqCI/AAAAAAAAJ80/jxuQKx_aPkALUR25ECHrduBrAgS8YPvoACLcBGAsYHQ/s0/Alice.jpg"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Alice Keeler&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Along with teaching geometry, I create innovative solutions for teacher workflows that save them significant time and/or allow teachers to use workspace more effectively with their students. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I got into tech because as an educator, I am always excited to find new ways to make learning more awesome! Messing around with new tools that can, increase engagement, spark curiosity, foster collaboration, or increase efficiency is always something that I dive into. Over time I found the joy of coding those tools myself, to make them even better.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Don’t be afraid to fail often! Failing and making mistakes is where the learning magic happens. &lt;/em&gt;&lt;/p&gt;&lt;h2&gt;Louise Macfadyen &lt;/h2&gt;&lt;h3&gt;Portland, United States &#x1f1fa;&#x1f1f8;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;Design Advocate&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-tNtZ_TYDYHg/YEZfGNqAYlI/AAAAAAAAJ88/DydC5tNI_BocTeiXUFNcYU0Mt5yvUv94gCLcBGAsYHQ/s0/unnamed%2B%25281%2529.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Image of Louise Macfadyen" border="0" data-original-height="300" data-original-width="300" src="https://1.bp.blogspot.com/-tNtZ_TYDYHg/YEZfGNqAYlI/AAAAAAAAJ88/DydC5tNI_BocTeiXUFNcYU0Mt5yvUv94gCLcBGAsYHQ/s0/unnamed%2B%25281%2529.jpg"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Louise Macfadyen&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I recently joined the Material Design team as a Design Advocate, so a lot of my work involves connecting with the design community and helping designers and developers create beautiful experiences using Material.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I’m currently recording a video series called Material Made which highlights the three winners of the Material Design awards. We just wrapped up an episode which will feature Epsy, who won the award for Material Motion. Their app aims to better the lives of those living with epilepsy, and the episode highlights how they guide users through critical tasks to better their quality of life, like logging triggers, taking medication, and reducing the feeling of isolation. We talk about how they use motion stylistically as a component of their brand expression, while also providing users with a great, meaningful experience.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Each episode dives into the way the experience was brought to life with Material Design, and we also speak to the designers who worked on the projects to hear more about their process. There will be three episodes in total, and they’ll be coming out this year - stay tuned and check out the Material Design YouTube channel here.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I graduated with a degree in English, so I thought I’d go into publishing or journalism. But this was 2012 and none of those jobs existed any more, so I ended up teaching myself how to code Wordpress sites. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I started freelancing for small galleries and studios and eventually realized that I was more drawn to the design side. I sort of pieced together a design education from a number of sources, and made a portfolio. I eventually got my foot in the door at a small shop, and everything went from there.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Working at Google was a long time aspiration, as the initial launch of Material Design guidance showed that orgs were opening the door for people like me, with non-traditional backgrounds, to benefit from their design systems and research. It’s what makes me excited to connect with other designers and developers to support them and give them a voice that previously they hadn’t had.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;For a long time, I think careers have been perceived in a linear way, as a slow climbing of the stairs up to seniority. My career hasn’t been like that, and I feel like largely the nature of the “career” is changing. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;There’s less of a sense of climbing towards that north star. Instead I associate much more with this feeling of being in a forest, observing the abundance around me, tending to my skills and interests and seeing where that path leads. I find it’s important to always have an open mindset. And wear sensible shoes &#x1f45f;&lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Yasmine Evjen &lt;/h2&gt;&lt;h3&gt;San Francisco, United States &#x1f1fa;&#x1f1f8;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;Lead, Material Design Advocacy &lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-te-Sg-OfHuE/YELUZVqh-fI/AAAAAAAAJ7Y/JDMpzg6zlqIkWV73eEph1Gl3jfYWQ5z2wCLcBGAsYHQ/s0/yasmine-evjen.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Image of Yasmine Evjen" border="0" data-original-height="2048" data-original-width="2048" src="https://1.bp.blogspot.com/-te-Sg-OfHuE/YELUZVqh-fI/AAAAAAAAJ7Y/JDMpzg6zlqIkWV73eEph1Gl3jfYWQ5z2wCLcBGAsYHQ/s0/yasmine-evjen.jpg"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Yasmine Evjen&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I lead the Material Design Advocacy team at Google. We’re a team of designers and developers helping others build beautiful, human-centered experiences with &lt;a href="http://material.io/"&gt;Material Design&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Material is a design system, created by Google and backed by open-source code, that helps teams build high-quality digital experiences. My team helps designers and developers build with our guidelines, code components, and tools through education, resources, and hands-on partner engagements. Some days are spent writing &lt;a href="http://material.io/blog"&gt;blog posts&lt;/a&gt;, creating a &lt;a href="https://youtu.be/IaT4wdWTwuo"&gt;talk&lt;/a&gt;, or filming for our &lt;a href="http://goo.gle/MaterialDesign-YouTube"&gt;YouTube channel&lt;/a&gt;. Other days are spent creating &lt;a href="https://material.io/resources"&gt;resources&lt;/a&gt;, such as interactive examples and tools to help make it easier to build beautiful UI on Android, the Web, or Flutter. We also work directly with external partners and internal teams across Google to help them implement and gain actionable feedback on how we can improve. And we get paid to &lt;a href="http://twitter.com/materialdesign"&gt;tweet&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;When I was in college I took a Flash class because I needed to complete a computer science course prerequisite, and my instructor said, “You’re really good at this, have you considered this as a career?” I did some research and learned about web development, which led to me pursuing a career as a front-end web developer, and later evolved into designing apps as a UX designer. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I’ve always been a huge fan of Android, and as an app designer, Material Design has always been a dream of mine to work on. My Google journey started with a podcast which focused on Google and Android. We talked about new products and technology coming out of Google and what we could do with it. Starting the podcast gave me an opportunity to communicate and connect with the community and be able to use my design expertise  - that's what landed me in my role as a Design Advocate which later evolved into managing a team of developers and designers advocates.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Material Design is there to help both designers and developers to build beautiful digital experiences, and I look forward to continuing the exploration with my team to learn how we can bridge the gap between design and development. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Don’t allow yourself to be limited or solely defined by a job title. Design, development, and other roles in tech are so entwined where you don’t have to be one specific thing in order to be successful. Starting off as a front-end developer, and evolving into a UX designer led me to the question:  What exactly is my path? A developer or a designer? While keeping my path open to possibilities, my path has led me to a unique position where I can manage both developers and designers. If you’re leading a team like Material Design Advocacy - both are needed. If I could tell developers one thing, it would be - don't be afraid to get into the design details, and for designers the same - don’t be afraid to code. The more we can work together and demystify our roles, the better experiences we can create because we’ll be less focused on what our role is and more focused on delivering something beautiful.&lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Lea Truc &lt;/h2&gt;&lt;h3&gt;Ho Chi Minh City, Vietnam &#x1f1fb;&#x1f1f3;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;Women Techmakers Ambassador&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-085eUZy2i78/YELUuyLW-_I/AAAAAAAAJ7g/ud7QuALhp0U1mwku2AZHLb-XMUKrNELygCLcBGAsYHQ/s0/Lea%2BTruc.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Photo of Lea Truc" border="0" data-original-height="1009" data-original-width="1009" src="https://1.bp.blogspot.com/-085eUZy2i78/YELUuyLW-_I/AAAAAAAAJ7g/ud7QuALhp0U1mwku2AZHLb-XMUKrNELygCLcBGAsYHQ/s0/Lea%2BTruc.png"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Lea Truc&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I lead Women Meet Tech, a STEM program funded and endorsed by the U.S. Consulate General - Ho Chi Minh City around tech and women empowerment. I’m also a Women Techmaker ambassador with technical knowledge in front-end development, co-leading Google Flutter community in Sydney and a former mentor at Women Developer Academy by Google Developers. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Amidst COVID-19 pandemic, I have builded a pilot GP-Patient Support platform to provide easier access to medical reference info for patients while assisting social-distancing in clinical visits in Australia. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I’m very glad that my works have inspired young professionals in multiple tech seminars, hackathons and international collaborations in Singapore, Malaysia, Australia, the US and Vietnam.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;A college professor in Boston turned tech advocate. I once was told I would never be successful if pursuing my path in tech. I proved that wrong. That’s why I want to inspire others to have the courage to overcome social pressures, fears, obstacles to pursue their own path. I want to empower many other women and minorities through technology and education. I’m a strong believer that a person’s capability is not based on the gender one was born with. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;'What I cannot create, I do not understand.' - Richard P. Feynman. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Don’t be afraid to get your hands dirty. Just try, fail a lot, and be persistent. That’s how you can understand things at the core. That’s how you can grow. &lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Margaret Maynard-Reid &lt;/h2&gt;&lt;h3&gt;Seattle, United States &#x1f1fa;&#x1f1f8;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://developers.google.com/community/experts/directory/profile/profile-margaret_maynard-reid"&gt;ML GDE&lt;/a&gt;, GDG Seattle Lead, Women Techmakers Seattle&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-xKinKlrbJNI/YELVZUbuZlI/AAAAAAAAJ7o/KsdU-L-IJpwa9Z4_mLpvzuvNnI_cLnBhACLcBGAsYHQ/s0/Margaret%2BMaynard-Reid.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Photo of Margaret Maynard-Reid" border="0" data-original-height="1600" data-original-width="1600" src="https://1.bp.blogspot.com/-xKinKlrbJNI/YELVZUbuZlI/AAAAAAAAJ7o/KsdU-L-IJpwa9Z4_mLpvzuvNnI_cLnBhACLcBGAsYHQ/s0/Margaret%2BMaynard-Reid.png"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Margaret Maynard-Reid&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I’m an ML research engineer and avid artist - check out my &lt;a href="https://margaretmz.art/"&gt;artwork&lt;/a&gt; made with traditional, digital and AI tools. One community project that I’m currently working on is to help launch the ML GDE (Google Developer Experts) &lt;a href="https://www.youtube.com/channel/UCAHB3PMBUUPj-sqh5YzMjwA"&gt;YouTube channel&lt;/a&gt; with my fellow ML GDEs. Be sure to subscribe to our channel which will be launched soon with unique content created by ML GDEs worldwide. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Most of my career has actually been in the tech world. Starting from a business background with an MBA, my journey goes from managing software development releases, to Android application development, to ML research and engineering, to becoming an artist. Instead of a linear path, I have shifted my career a few times in pursuit of my various passions.   &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;My one tip for developers in general is - it’s never too late to learn anything! Put your mind into it and you can become an expert at it one day. Read a book, take an online class, learn from your colleagues and friends. Sharing your knowledge is also a great way to learn: give a talk, write a blog post or contribute to an open-source project. Never be afraid of being a beginner, keep learning, and you may discover a talent you never realize that you have.&lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Bianca Ximenes &lt;/h2&gt;&lt;h3&gt;Recife, Brazil &#x1f1e7;&#x1f1f7;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://developers.google.com/community/experts/directory/profile/profile-bianca_ximenes"&gt;Machine Learning GDE&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/--IQsA4095SE/YELWdnmoN0I/AAAAAAAAJ7w/_s32TsVQWN4w6Bl8WkrdjpOKWfO5KVGcACLcBGAsYHQ/s0/headshot%2BBianca.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Photo of Bianca Ximenes" border="0" data-original-height="1835" data-original-width="1836" src="https://1.bp.blogspot.com/--IQsA4095SE/YELWdnmoN0I/AAAAAAAAJ7w/_s32TsVQWN4w6Bl8WkrdjpOKWfO5KVGcACLcBGAsYHQ/s0/headshot%2BBianca.jpg"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Bianca Ximenes&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I am a Product Manager in Artificial Intelligence at Gupy, the biggest HRTech in Brazil. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Right now, the project that excites me the most is the integration of a Deep Learning model for Named Entity Recognition (NER) to our Machine Learning stack, which will allow us to help companies write higher quality job descriptions focused on the candidate, and help candidates upskill by suggesting related content to the expertise they have and positions they want to achieve.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I started out in Economics, where I got a solid formation in Mathematics, Statistics and analytical thinking. I loved all things Economics, but felt that job opportunities didn't really demand a lot of my skills, and as a person I wasn't as valued in companies where I worked, compared to my friends who were in Computer Science.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I started working in small startups and the idea of Agile, continuous improvement, and development projects really resonated with me. I liked having a finger in every pie, because I am quite curious and like understanding (and explaining) how things work. So I decided to do an MSc in Computer Science to acquire some technical skill and understanding.  After that, I worked managing projects that ranged from mobile development to augmented reality, until I finally realized I really liked making Products more than Projects, and since I had an extensive background building products and managing startups, I became a Google Developer Expert in Product Strategy. A little while later, I started my PhD in Computer Science, also working for a startup where I saw up close the challenges and excitement of AI projects in real life, as well as the dilemmas of building AI applications that made decisions for thousands of people. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Working with Machine Learning allowed me to use the mathematical and statistical foundation I had, and I started researching Ethical Machine Learning, eventually migrating to the Google Developer Expert program in Machine Learning and joining Gupy and a specialized Product Manager focused on AI - something I want to do for life. That way, I was able to bring together all of my career passions: Product, AI, research, and being an active part of the developer community.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;In Tech, no-one's path is like any other. We have more liberty to change and innovate, and everything can have an impact really quickly. So always be mindful of what you're doing or your responsibility, and try as best you can not to compare what you do and your path with others'. Tech is everywhere, we do so many different and exciting things! Find a way to deliver value that works for real people and make it your own. Be proud of your history (:&lt;/em&gt;&lt;/p&gt;&lt;h2&gt;Sharmistha Chatterjee &lt;/h2&gt;&lt;h3&gt;Bengaluru, Karnataka, India &#x1f1ee;&#x1f1f3;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://developers.google.com/community/experts/directory/profile/profile-sharmistha_chatterjee"&gt;Machine Learning and Google Cloud GDE&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-82fS8G8fMRk/YELXFOcLFRI/AAAAAAAAJ74/XNg0rMn7A0kqiSMlp-hLwzxcHzet72bVgCLcBGAsYHQ/s0/Sharmistha%2BChatterjee.JPG" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Photo of Sharmistha Chatterjee" border="0" data-original-height="2048" data-original-width="2048" src="https://1.bp.blogspot.com/-82fS8G8fMRk/YELXFOcLFRI/AAAAAAAAJ74/XNg0rMn7A0kqiSMlp-hLwzxcHzet72bVgCLcBGAsYHQ/s0/Sharmistha%2BChatterjee.JPG"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;Photo of Sharmistha Chatterjee&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tell us about your current role and a project you’re working on.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I work as a Senior Manager of Data Sciences in Publicis Sapient. I am currently working on different algorithms for Ethical AI solutions, one of which is Federated learning. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tell us about your path into tech.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Starting from my school days, I have always been curious about Programming Languages like Basic and Logo, and used to try out new kinds of stuff. In those days (25 years back) the computer was just getting introduced in very few schools. Even during my high school and college days, I tried to build my own projects like A User Interface for a Retail System, an Interactive Quiz Simulator, and so on. I remember the days when there were no python libraries and instead I had to code libraries using C/C++ for my thesis. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;The curiosity to solve unsolved problems, and the desire to wait and see new results coming up, have always kept me going and motivated to transfer this characteristic to other women. Hence blogging (my own platform &lt;a href="techairesearch.com"&gt;techairesearch.com&lt;/a&gt;), and giving talks in meetups or conferences energizes me and helps me to learn and evolve in the process.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What is one tip you would give your fellow women developers?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Always ask why and be bold to question, and showcase your talent by giving talks, participating in hackathons, open-source projects.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;I think it's time to give back to the community by mentoring more young women who can get more visibility and become leaders in STEM. As women's representation in STEM is lacking, this is a great avenue to encourage young talented women to showcase their skills in different technologies (Android, Web, Flutter, AI, Cloud, etc) and become experts and gain visibility in the tech community. Once they become more active in open source contributions, giving talks, and blogging, other career paths for progression would automatically open, which would enable them to become recognized leaders in their domain. Since Google is already providing an avenue to young women to seek mentorship and become experts, it's time that women feel highly encouraged and come forward and make the best use of it.&lt;/em&gt;&lt;/p&gt; &lt;hr&gt; &lt;p&gt;&lt;em&gt;Interested in becoming a part of the Google developer community? Here’s more information on the programs we’ve shared above:&lt;/em&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-u-kMWkP-kLg/YELXslO_E1I/AAAAAAAAJ8A/pxhgY32WkHsGJQviXHIgSAxZhtl4ruq4gCLcBGAsYHQ/s0/gdg%2Blogo.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="GDG logo" border="0" data-original-height="810" data-original-width="1440" src="https://1.bp.blogspot.com/-u-kMWkP-kLg/YELXslO_E1I/AAAAAAAAJ8A/pxhgY32WkHsGJQviXHIgSAxZhtl4ruq4gCLcBGAsYHQ/s0/gdg%2Blogo.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;The Google Developer Groups program gives developers the opportunity to meet local developers with similar interests in technology. A virtual or in-person GDG meetup event includes talks on a wide range of technical topics where you can learn new skills through hands-on workshops. The community prides itself on being an inclusive environment where everyone and anyone interested in tech - from beginner developers to experienced professionals - all are welcome to join. &lt;/p&gt;&lt;p&gt;Join a Google Developer Group chapter near you &lt;a href="https://developers.google.com/community/gdg/groups"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Apply to become a Google Developer Group organizer &lt;a href="https://gdg.advocu.com/home/applications/form"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Follow Google Developer Groups on Twitter &lt;a href="https://twitter.com/gdg"&gt;here&lt;/a&gt;.  &lt;/p&gt;&lt;p&gt;Subscribe to the Google Developer Groups YouTube channel &lt;a href="https://goo.gle/GDevGroups"&gt;here&lt;/a&gt;. &lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-JuLjC1OFjmA/YELYIov_gWI/AAAAAAAAJ8I/-56muB89i1wnF03ztIQNkpHQAin4kWttgCLcBGAsYHQ/s0/wtm%2Blogo.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Women Techmakers logo" border="0" data-original-height="122" data-original-width="640" src="https://1.bp.blogspot.com/-JuLjC1OFjmA/YELYIov_gWI/AAAAAAAAJ8I/-56muB89i1wnF03ztIQNkpHQAin4kWttgCLcBGAsYHQ/s0/wtm%2Blogo.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Founded in 2014, &lt;a href="https://www.womentechmakers.com/"&gt;Google’s Women Techmakers&lt;/a&gt; is dedicated to helping all women thrive in tech through community, visibility and resources. With a member base of over 100,000 women developers, we’re working with communities across the globe to build a world where all women can thrive in tech. Our community consists of over 1000 Women Techmakers Ambassadors across over 100 countries. These Ambassadors are the north star of our movement. They are leaders committed to their communities, using Women Techmaker resources to build space and visibility so that all women could thrive in tech. &lt;/p&gt;&lt;p&gt;Become a Women Techmakers Member &lt;a href="https://services.google.com/fb/forms/joinwomentechmakers/"&gt;here&lt;/a&gt;.  &lt;/p&gt;&lt;p&gt;Follow Women Techmakers on Twitter &lt;a href="https://twitter.com/WomenTechmakers"&gt;here&lt;/a&gt;.  &lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-6AQV85xYdAU/YELYaHcKq5I/AAAAAAAAJ8Q/3hm-_Q1rNLYeDp87JUQkigZe_CqfaMjOACLcBGAsYHQ/s0/GDE%2Blogo.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:300px" alt="Google Developer Experts logo" border="0" data-original-height="333" data-original-width="1600" src="https://1.bp.blogspot.com/-6AQV85xYdAU/YELYaHcKq5I/AAAAAAAAJ8Q/3hm-_Q1rNLYeDp87JUQkigZe_CqfaMjOACLcBGAsYHQ/s0/GDE%2Blogo.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;The Google Developers Experts program is a global network of highly experienced technology experts, influencers and thought leaders who actively support developers, companies and tech communities by speaking at events, publishing content, and building innovative apps. Experts actively contribute to and support the developer and startup ecosystems around the world, helping them build and launch highly innovative apps. More than 800 Experts represent 18+ Google technologies around the world! &lt;/p&gt;&lt;p&gt;Learn more about the Google Developers Experts program and its eligibility criteria &lt;a href="https://developers.google.com/community/experts"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Follow Google Developers Experts on Twitter &lt;a href="https://twitter.com/gdg?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor"&gt;here&lt;/a&gt; and LinkedIn &lt;a href="https://www.linkedin.com/showcase/experts-program"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/R3GerwEjUxM" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/8003913630342539293/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2021/03/celebrating-international-womens-day-with-21-tech-trailblazers.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/8003913630342539293" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/8003913630342539293" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/R3GerwEjUxM/celebrating-international-womens-day-with-21-tech-trailblazers.html" title="Celebrating International Women’s Day with 21 tech trailblazers" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-4UJwuZtka1A/YEZgdgsi5YI/AAAAAAAAJ9M/felV94KNzFocoWwR1XotqtiiVYsp_TkzgCLcBGAsYHQ/s72-c/iwd-gdg-social-assets-twitter.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2021/03/celebrating-international-womens-day-with-21-tech-trailblazers.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-6357135447922601596</id><published>2021-03-08T09:24:00.000-08:00</published><updated>2021-03-08T09:24:27.416-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="developers" /><category scheme="http://www.blogger.com/atom/ns#" term="diversity-and-inclusion" /><category scheme="http://www.blogger.com/atom/ns#" term="featured" /><category scheme="http://www.blogger.com/atom/ns#" term="Latest" /><category scheme="http://www.blogger.com/atom/ns#" term="small business" /><title type="text">Eight women kicking butt and taking (domain) names</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-cu38KYp68JQ/YEY_9oiGTUI/AAAAAAAAJ8o/Y8iIZWxsIUkZv9_XHa1HkYyysgMTOy2_QCLcBGAsYHQ/s0/hero%2Bbanner%2BIWD%2Bv2.png"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-cu38KYp68JQ/YEY_9oiGTUI/AAAAAAAAJ8o/Y8iIZWxsIUkZv9_XHa1HkYyysgMTOy2_QCLcBGAsYHQ/s0/hero%2Bbanner%2BIWD%2Bv2.png"&gt; &lt;p&gt;&lt;em&gt;Posted by Christina Yeh, Google Registry Team &lt;/em&gt;&lt;p&gt;  &lt;a href="https://1.bp.blogspot.com/-cu38KYp68JQ/YEY_9oiGTUI/AAAAAAAAJ8o/Y8iIZWxsIUkZv9_XHa1HkYyysgMTOy2_QCLcBGAsYHQ/s0/hero%2Bbanner%2BIWD%2Bv2.png" imageanchor="1" &gt;&lt;img style="width:100%" id=imgFull border="0" src="https://1.bp.blogspot.com/-cu38KYp68JQ/YEY_9oiGTUI/AAAAAAAAJ8o/Y8iIZWxsIUkZv9_XHa1HkYyysgMTOy2_QCLcBGAsYHQ/s0/hero%2Bbanner%2BIWD%2Bv2.png" data-original-width="1058" data-original-height="714" /&gt;&lt;/a&gt;  &lt;p&gt;Who do you think of when you hear the words &lt;em&gt;sister, daughter, mother?&lt;/em&gt; How about when the words are &lt;em&gt;leader, founder, CEO?&lt;/em&gt; As a mom of three, I want my kids to grow up in a world where the second set of words is as likely as the first to bring a woman to mind.  Which is why we’re elevating the voices of women and making sure their stories are heard in today’s #MyDomain series. On this International Women’s Day, &lt;a href="https://www.registry.google/"&gt;Google Registry&lt;/a&gt; is sharing &lt;a href="https://goo.gle/mydomain"&gt;eight new videos&lt;/a&gt; — all featuring female leaders who are taking care of business on their .app and .dev domains.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Alice Truswell&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Alice Truswell is co-founder of &lt;a href="https://snoop.app/"&gt;Snoop.app&lt;/a&gt;, a money-saving app. “Fear being forgettable more than fearing not fitting in,” she says, “because the earlier you get comfortable with your voice, the earlier you can start refining results.” &lt;/p&gt;  &lt;center&gt; &lt;iframe width="560" height="315" src="https://www.youtube.com/embed/1Jseq5aN8GI" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt; &lt;/center&gt;   &lt;p&gt;&lt;strong&gt;Annie Hwang&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Annie Hwang is co-founder of &lt;a href="https://jemi.app/"&gt;Jemi.app&lt;/a&gt;, a company that helps creators and public figures interact with their audiences and make money. “Don't let imposter syndrome ever stop you,” she advises.“We've grown up in a society where we are constantly told that we should be a follower. Don't be a follower anymore; be a leader!” &lt;/p&gt;  &lt;center&gt; &lt;iframe width="560" height="315" src="https://www.youtube.com/embed/uiFUtIjleyw" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt; &lt;/center&gt;  &lt;p&gt;&lt;strong&gt;Elena Czubiak&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Elena Czubiak is the developer and designer behind &lt;a href="https://saturdaydesign.dev"&gt;saturdaydesign.dev&lt;/a&gt; and co-founder of &lt;a href="https://www.imaginarie.app/"&gt;imaginarie.app&lt;/a&gt;. She quit her day job in 2018 to start her own business and hasn’t looked back since. Elena says, "Remember that although it might feel like starting over, you'll quickly see that your unique experiences will help you solve problems and make connections that nobody else could." &lt;/p&gt; &lt;center&gt; &lt;iframe width="560" height="315" src="https://www.youtube.com/embed/5myYRRNelmg" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;&lt;/center&gt;  &lt;p&gt;&lt;strong&gt;Ifrah Khan&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Ifrah Khan is co-founder of &lt;a href="https://clubba.app"&gt;Clubba.app&lt;/a&gt;, a platform that provides virtual creative extracurricular clubs (led by college students) for kids ages 6 to 12.  Ifrah encourages entrepreneurial women to find and connect with other women who are also working on their own ventures. “Really talk to them and get to know their journey,” she says. “If they fundraised, how did they fundraise? Fundraising is so hard when you start your own business in general, but as a woman it’s even harder.” &lt;/p&gt; &lt;center&gt; &lt;iframe width="560" height="315" src="https://www.youtube.com/embed/6B7M4-xg9a8" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt; &lt;/center&gt;   &lt;p&gt;&lt;strong&gt;Rita Kozlov&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Rita Kozlov is a product manager who leads the Cloudflare Workers product, which uses the &lt;a href="https://workers.dev"&gt;workers.dev&lt;/a&gt; domain. Rita’s advice for women who want to become a product manager is, “Don’t be afraid to ask lots of questions. In product management that’s definitely 100% a strength and never a weakness.” &lt;/p&gt;  &lt;center&gt; &lt;iframe width="560" height="315" src="https://www.youtube.com/embed/Vh_V1chHctk" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt; &lt;/center&gt;  &lt;p&gt;&lt;strong&gt;Romina Arrigoni Samsó&lt;/strong&gt;  &lt;/p&gt;&lt;p&gt;Romina Arrigoni Samsó is founder and CEO of &lt;a href="https://addskin.app/"&gt;ADDSKIN.app&lt;/a&gt;, a social marketplace for skincare, where community recommendations help customers choose the best products. Romina says, “La gracia de la tecnología es que como dice el dicho, el avión se construye en el aire. Lo importante es lanzarse,” which translates to, “The grace of technology is that, as the saying goes, the plane is built in the air. The important thing is to launch.” &lt;/p&gt; &lt;center&gt; &lt;iframe width="560" height="315" src="https://www.youtube.com/embed/0zJL1IPYCbU" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt; &lt;/center&gt; &lt;p&gt;&lt;strong&gt;Soraya Jaber&lt;/strong&gt;   &lt;/p&gt;&lt;p&gt;Soraya Jaber is co-founder and CEO of &lt;a href="https://www.minsar.app/"&gt;Minsar.app&lt;/a&gt;, a no-code AR-VR creative and publishing platform. “We don't care about your age, your gender, your race, or sexual orientation — there is no space where you are not allowed,” Soraya says.“Don't hinder yourself, jump into entrepreneurship. I can assure you that's a hell of a great adventure!” &lt;/p&gt; &lt;center&gt; &lt;iframe width="560" height="315" src="https://www.youtube.com/embed/Xok6LZzIqKQ" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt; &lt;/center&gt;  &lt;p&gt;&lt;strong&gt;Stefania Olafsdóttir&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Stefania Olafsdóttir is the co-founder and CEO of &lt;a href="https://www.avo.app/"&gt;Avo.app&lt;/a&gt;, a next-generation analytics governance company. Her advice? “It’s way more important to be brave than to be perfect.” &lt;/p&gt;  &lt;center&gt; &lt;iframe width="560" height="315" src="https://www.youtube.com/embed/F0iwrp08nac" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;&lt;/center&gt;  &lt;p&gt;To see a special video featuring all these amazing women, check out &lt;a href="https://goo.gle/mydomain"&gt;goo.gle/mydomain&lt;/a&gt;. If you have a unique story to share about a .app, .dev, or .page domain and would like to be considered for our series, please fill out this &lt;a href="https://services.google.com/fb/forms/mydomaincasting/"&gt;short application form&lt;/a&gt;. Here’s to helping tell the stories of women everywhere so that we may inspire generations to come. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/c8f1yXYhUEk" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/6357135447922601596/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2021/03/eight-women-kicking-butt-and-taking.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/6357135447922601596" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/6357135447922601596" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/c8f1yXYhUEk/eight-women-kicking-butt-and-taking.html" title="Eight women kicking butt and taking (domain) names" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-cu38KYp68JQ/YEY_9oiGTUI/AAAAAAAAJ8o/Y8iIZWxsIUkZv9_XHa1HkYyysgMTOy2_QCLcBGAsYHQ/s72-c/hero%2Bbanner%2BIWD%2Bv2.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2021/03/eight-women-kicking-butt-and-taking.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-4611409573505065656</id><published>2021-03-04T11:00:00.005-08:00</published><updated>2021-03-04T11:00:04.477-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Bazel" /><category scheme="http://www.blogger.com/atom/ns#" term="Debian" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title type="text">Google and Debian work together to make COVID-19 researchers’ lives easier</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-iMteTzAWvAo/YD7FzAplRLI/AAAAAAAAJ5A/A8jL1DjSnTkQemquv3CYPZ9q4ZSsEIwTwCLcBGAsYHQ/s0/openlogo-100.jpeg"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-iMteTzAWvAo/YD7FzAplRLI/AAAAAAAAJ5A/A8jL1DjSnTkQemquv3CYPZ9q4ZSsEIwTwCLcBGAsYHQ/s0/openlogo-100.jpeg"&gt; &lt;p&gt;&lt;em&gt;Posted by Joe Hicks, Yun Peng, Olek Wojnar&lt;/em&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-iMteTzAWvAo/YD7FzAplRLI/AAAAAAAAJ5A/A8jL1DjSnTkQemquv3CYPZ9q4ZSsEIwTwCLcBGAsYHQ/s0/openlogo-100.jpeg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="debian logo" border="0" data-original-height="389" data-original-width="692" src="https://1.bp.blogspot.com/-iMteTzAWvAo/YD7FzAplRLI/AAAAAAAAJ5A/A8jL1DjSnTkQemquv3CYPZ9q4ZSsEIwTwCLcBGAsYHQ/s0/openlogo-100.jpeg"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;h3&gt;Google and Debian work together to make COVID-19 researchers’ lives easier&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;Bazel is now available as an easy to install package distributed on Debian and Ubuntu.  &lt;li&gt;Tensorflow packaging for Debian is progressing. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Olek Wojnar, Debian Developer, reached out to the Bazel team about packaging and distributing Bazel on Debian (and other Linux distributions such as Ubuntu) in service of delivering Tensorflow Machine Learning functionality for COVID-19 researchers: &lt;/p&gt;&lt;p&gt;&lt;em&gt;“I'm working with the Debian Med team right now to get some much-needed software packaged and available for users in the medical community to help with the COVID-19 pandemic. At least one of the packages we desperately need requires Bazel to build. Clearly this is an unusual and very critical situation. I don't think it's an exaggeration to say that lives may literally depend on us getting better tools to the medical professionals out there, and quickly. The entire international community would be extraordinarily grateful if @google and the @bazelbuild team could prioritize helping with this!”&lt;/em&gt;&lt;/p&gt;&lt;p&gt;	 &lt;/p&gt;&lt;p&gt;The Bazel team jumped in to help Olek and the COVID-19 research community. Yun Peng, Software Engineer at Google with Olek Wojnar led the team of Bazel and Debian volunteers to move the project forward. The joint effort between Debian and Google has produced some great results, including packaging the Bazel bootstrap variant in 6 months time (Debian 11 -- released in Late 2021; Ubuntu 21.04 -- 22 April 2021). Bazel is now available as an easy to install package distributed on Debian and Ubuntu. The extended Google team continues to work with Debian towards the next step of packaging and distributing Tensorflow on Debian and other Linux distributions. &lt;/p&gt;&lt;p&gt;In addition to Yun and Olek, other contributors to this project include Michael R. Crusoe of Debian, Joe Hicks, John Field, Philipp Wollermann, and Tobias Werth of Google. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/34R0pzfgAog" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/4611409573505065656/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2021/03/google-and-debian-work-together-to-make-covid-19-researchers-lives-easier.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/4611409573505065656" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/4611409573505065656" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/34R0pzfgAog/google-and-debian-work-together-to-make-covid-19-researchers-lives-easier.html" title="Google and Debian work together to make COVID-19 researchers’ lives easier" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-iMteTzAWvAo/YD7FzAplRLI/AAAAAAAAJ5A/A8jL1DjSnTkQemquv3CYPZ9q4ZSsEIwTwCLcBGAsYHQ/s72-c/openlogo-100.jpeg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2021/03/google-and-debian-work-together-to-make-covid-19-researchers-lives-easier.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-4683360847574951476</id><published>2021-03-03T10:30:00.001-08:00</published><updated>2021-03-03T10:30:00.935-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="flutter" /><category scheme="http://www.blogger.com/atom/ns#" term="Flutter 2" /><category scheme="http://www.blogger.com/atom/ns#" term="Flutter Engage" /><title type="text">Announcing Flutter 2</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-ptTaJcEkdGQ/YD1yk1m-4pI/AAAAAAAAJ4s/tQkX7gwqc1ktlEANx-SENSk3MBFFnD87QCLcBGAsYHQ/s0/image%2B10.png"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-ptTaJcEkdGQ/YD1yk1m-4pI/AAAAAAAAJ4s/tQkX7gwqc1ktlEANx-SENSk3MBFFnD87QCLcBGAsYHQ/s0/image%2B10.png"&gt; &lt;h4&gt;Our next generation of Flutter, built for web, mobile, and desktop&lt;/h4&gt;  &lt;p&gt;Today, we’re announcing &lt;strong&gt;Flutter 2&lt;/strong&gt;: a major upgrade to Flutter that enables developers to create beautiful, fast, and portable apps for &lt;em&gt;any&lt;/em&gt; 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. &lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-vFRhACmbKzk/YD1rhezcy9I/AAAAAAAAJ3k/AKfGALIMfNQUXjzGxDQ6cbcMFXPt2_r0QCLcBGAsYHQ/s0/image%2B1.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Flutter 2 logo" border="0" data-original-height="900" data-original-width="1600" src="https://1.bp.blogspot.com/-vFRhACmbKzk/YD1rhezcy9I/AAAAAAAAJ3k/AKfGALIMfNQUXjzGxDQ6cbcMFXPt2_r0QCLcBGAsYHQ/s0/image%2B1.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Our goal is to &lt;em&gt;fundamentally shift&lt;/em&gt; 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 &lt;strong&gt;beautiful&lt;/strong&gt; experiences where your brand and design comes to the forefront. Flutter is &lt;strong&gt;fast&lt;/strong&gt;, compiling your source to machine code, but thanks to our support for stateful hot reload, you still get the &lt;strong&gt;productivity&lt;/strong&gt; of interpreted environments, allowing you to make changes while your app is running and see the results immediately. And Flutter is &lt;strong&gt;open&lt;/strong&gt;, with thousands of contributors adding to the core framework and extending it with an ecosystem of packages. &lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-lBhWOnN3axc/YD1r-U3ejoI/AAAAAAAAJ3s/e6zalR-ZVwskxYPipLJBaZMYhuIF8YIygCLcBGAsYHQ/s0/image%2B2.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="5 tablet and mobile device screens" border="0" data-original-height="770" data-original-width="1600" src="https://1.bp.blogspot.com/-lBhWOnN3axc/YD1r-U3ejoI/AAAAAAAAJ3s/e6zalR-ZVwskxYPipLJBaZMYhuIF8YIygCLcBGAsYHQ/s0/image%2B2.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;In Flutter 2, &lt;a href="https://flutter.dev/"&gt;released today&lt;/a&gt;, we’ve broadened Flutter from a mobile framework to a &lt;strong&gt;portable&lt;/strong&gt; framework, unleashing your apps to run on a wide variety of different platforms with little or no change. There are already &lt;strong&gt;over 150,000 Flutter apps&lt;/strong&gt; 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. &lt;/p&gt; &lt;p&gt;Customers from all around the world are using Flutter, including popular apps like &lt;a href="https://apps.apple.com/us/app/wechat/id414478124"&gt;WeChat&lt;/a&gt;, &lt;a href="https://play.google.com/store/apps/details?id=com.grabtaxi.passenger"&gt;Grab&lt;/a&gt;, &lt;a href="https://play.google.com/store/apps/details?id=ru.yandex.taxi"&gt;Yandex Go&lt;/a&gt;, &lt;a href="https://play.google.com/store/apps/details?id=com.nu.production"&gt;Nubank&lt;/a&gt;, &lt;a href="https://apps.apple.com/us/app/sonos/id1488977981"&gt;Sonos&lt;/a&gt;, &lt;a href="https://apps.apple.com/us/app/fastic-fasting-app/id1459260306"&gt;Fastic&lt;/a&gt;, &lt;a href="https://play.google.com/store/apps/details?id=com.betterment"&gt;Betterment&lt;/a&gt; and &lt;a href="https://apps.apple.com/US/app/id336698281?mt=8"&gt;realtor.com&lt;/a&gt;. 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.  &lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-QGmEtQ5GKho/YD1syOzVo2I/AAAAAAAAJ30/YiuYnDCZR64urk4Y4eocvyAXFcUrabPYACLcBGAsYHQ/s0/image%2B3.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Logos of Google apps powered by Flutter" border="0" data-original-height="589" data-original-width="1600" src="https://1.bp.blogspot.com/-QGmEtQ5GKho/YD1syOzVo2I/AAAAAAAAJ30/YiuYnDCZR64urk4Y4eocvyAXFcUrabPYACLcBGAsYHQ/s0/image%2B3.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;a href="https://developers.googleblog.com/2020/09/google-pay-picks-flutter-to-drive-its.html"&gt;Google Pay switched to Flutter&lt;/a&gt; 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. &lt;/p&gt;&lt;h2&gt;Flutter on the web&lt;/h2&gt;  &lt;p&gt;Perhaps the single largest announcement in Flutter 2 is &lt;strong&gt;production-quality support for the web.&lt;/strong&gt;  &lt;/p&gt;&lt;p&gt;The &lt;a href="https://tools.ietf.org/html/rfc1866"&gt;early foundation of the web was document-centric&lt;/a&gt;. 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 &lt;strong&gt;app-centric framework&lt;/strong&gt; that takes full advantage of all that the modern web has to offer. &lt;/p&gt;&lt;p&gt;This initial release focuses on three app scenarios in particular: &lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;strong&gt;Progressive web apps (PWAs)&lt;/strong&gt; that combine the web’s reach with the capabilities of a desktop app.  &lt;li&gt;&lt;strong&gt;Single page apps (SPAs)&lt;/strong&gt; that load once and transmit data to and from internet services.  &lt;li&gt;&lt;strong&gt;Bringing existing Flutter mobile apps to the web&lt;/strong&gt;, enabling shared code for both experiences. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;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 &lt;a href="https://skia.org/user/modules/canvaskit"&gt;CanvasKit&lt;/a&gt;-powered rendering engine built with &lt;a href="https://webassembly.org/"&gt;WebAssembly&lt;/a&gt;. &lt;a href="https://flutterplasma.dev"&gt;Flutter Plasma&lt;/a&gt;, a demo built by community member &lt;a href="https://felixblaschke.medium.com/"&gt;Felix Blaschke&lt;/a&gt;, showcases the ease of building sophisticated web graphics experiences with Dart and Flutter that can also run natively on desktop or mobile devices. &lt;br&gt;&lt;/p&gt;&lt;p&gt;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.  &lt;/p&gt;&lt;p&gt;Some examples of web apps built with Flutter are already available. Among educators, &lt;a href="https://www.irobot.com/"&gt;iRobot&lt;/a&gt; is well known for their popular &lt;a href="https://www.irobot.com/Root"&gt;Root educational robots&lt;/a&gt;. Flutter’s production support for the web allows iRobot to take their existing &lt;a href="https://edu.irobot.com/what-we-offer/irobot-coding"&gt;educational programming environment&lt;/a&gt; and move it to the web, expanding its availability to Chromebooks and other devices where the browser is the best choice. &lt;a href="https://edu.irobot.com/the-latest/building-a-coding-experience-for-all"&gt;iRobot's blog post&lt;/a&gt; has all the details on their progress so far and why they chose Flutter. &lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-U3c8e_l9Yc4/YD1tDKgot9I/AAAAAAAAJ38/yxJd2kVrHBIUdbJkiKKDb2AWhgkDW8W9ACLcBGAsYHQ/s0/image%2B4.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="iRobot interface with Flutter" border="0" data-original-height="938" data-original-width="1600" src="https://1.bp.blogspot.com/-U3c8e_l9Yc4/YD1tDKgot9I/AAAAAAAAJ38/yxJd2kVrHBIUdbJkiKKDb2AWhgkDW8W9ACLcBGAsYHQ/s0/image%2B4.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Another example is Rive, who offers designers a powerful tool for creating custom animations that can ship to any platform. Their &lt;a href="https://rive.app/"&gt;updated web app&lt;/a&gt;, now available in beta, is built entirely with Flutter, and is a love letter to all that Flutter can offer in this environment. &lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-J9eyhAmgnOs/YD1tsZtrrrI/AAAAAAAAJ4E/IzseBBtdkW4xIY4kkvuSu6BrgmfHI0n3ACLcBGAsYHQ/s0/image%2B5.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Rive interface with Flutter" border="0" data-original-height="900" data-original-width="1600" src="https://1.bp.blogspot.com/-J9eyhAmgnOs/YD1tsZtrrrI/AAAAAAAAJ4E/IzseBBtdkW4xIY4kkvuSu6BrgmfHI0n3ACLcBGAsYHQ/s0/image%2B5.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;You can find out more about Flutter on the web from our &lt;a href="https://medium.com/flutter/web-post-d6b84e83b425"&gt;dedicated blog post&lt;/a&gt; over at our Medium publication.  &lt;/p&gt;  &lt;h2&gt;Flutter 2 on desktops, foldables, and embedded devices&lt;/h2&gt; &lt;p&gt;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.  &lt;/p&gt;&lt;p&gt;To start with, &lt;strong&gt;Canonical&lt;/strong&gt; 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, &lt;strong&gt;Flutter is the default choice &lt;/strong&gt;for future desktop and mobile apps created by Canonical.  &lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-Oo_d83b2jr8/YD1uZRYIgyI/AAAAAAAAJ4M/q8s7J4PHzTI5_12IlBxT59ZkRyilrkmjACLcBGAsYHQ/s0/image%2B6.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Flutter is the default choice for future desktop and mobile apps created by Canonical." border="0" data-original-height="1148" data-original-width="1600" src="https://1.bp.blogspot.com/-Oo_d83b2jr8/YD1uZRYIgyI/AAAAAAAAJ4M/q8s7J4PHzTI5_12IlBxT59ZkRyilrkmjACLcBGAsYHQ/s0/image%2B6.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Secondly, &lt;strong&gt;Microsoft&lt;/strong&gt; is continuing to expand its support for Flutter. In addition to an &lt;a href="https://github.com/flutter/flutter/issues/14967#issuecomment-787678757"&gt;ongoing collaboration&lt;/a&gt; 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 &lt;a href="https://aka.ms/flutter-foldable"&gt;blog post from the Surface engineering team&lt;/a&gt;, they demonstrate their work and invite others to join them in completing a high-quality implementation that works on Surface Duo and other devices. &lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-DNT96G2sOQ4/YD1uuWUqDgI/AAAAAAAAJ4U/MNXrccYaTWE1jWfXSp_To62xQyv9hCErQCLcBGAsYHQ/s0/image%2B7.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Windows support in Flutter" border="0" data-original-height="995" data-original-width="1491" src="https://1.bp.blogspot.com/-DNT96G2sOQ4/YD1uuWUqDgI/AAAAAAAAJ4U/MNXrccYaTWE1jWfXSp_To62xQyv9hCErQCLcBGAsYHQ/s0/image%2B7.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Lastly, &lt;strong&gt;Toyota&lt;/strong&gt;, 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.  &lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-FTKgXnOlr7Y/YD1xOL35MxI/AAAAAAAAJ4c/4Vbjh0oojPEpFOotBcq_Wr-5F6XS3dQSACLcBGAsYHQ/s0/image%2B8.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Toyota using Flutter in vehicle infotainment systems" border="0" data-original-height="900" data-original-width="1600" src="https://1.bp.blogspot.com/-FTKgXnOlr7Y/YD1xOL35MxI/AAAAAAAAJ4c/4Vbjh0oojPEpFOotBcq_Wr-5F6XS3dQSACLcBGAsYHQ/s0/image%2B8.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;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.  &lt;/p&gt; &lt;h2&gt;The growing Flutter ecosystem&lt;/h2&gt;  &lt;p&gt;There are now over 15,000 packages for Flutter and Dart: from companies like &lt;a href="https://pub.dev/publishers/aws-amplify.com/packages"&gt;Amazon&lt;/a&gt;, &lt;a href="https://pub.dev/publishers/microsoft.com/packages"&gt;Microsoft&lt;/a&gt;, &lt;a href="https://pub.dev/publishers/adobe.com/packages"&gt;Adobe&lt;/a&gt;, &lt;a href="https://pub.dev/publishers/community.opensource.alibaba.com/packages"&gt;Alibaba&lt;/a&gt;, &lt;a href="https://pub.dev/publishers/ebay.com/packages"&gt;eBay&lt;/a&gt;, and &lt;a href="https://pub.dev/packages/square_in_app_payments"&gt;Square&lt;/a&gt;; to key packages like &lt;a href="https://pub.dev/packages/lottie"&gt;Lottie&lt;/a&gt;, &lt;a href="https://pub.dev/packages/sentry_flutter"&gt;Sentry&lt;/a&gt; and &lt;a href="https://pub.dev/packages/flutter_svg"&gt;SVG&lt;/a&gt;, as well as &lt;a href="https://flutter.dev/docs/development/packages-and-plugins/favorites"&gt;Flutter Favorite&lt;/a&gt; packages such as &lt;a href="https://pub.dev/packages/sign_in_with_apple"&gt;sign_in_with_apple&lt;/a&gt;, &lt;a href="https://pub.dev/packages/google_fonts"&gt;google_fonts&lt;/a&gt;, &lt;a href="https://pub.dev/packages/geolocator"&gt;geolocator&lt;/a&gt;, and &lt;a href="https://pub.dev/packages/sqflite"&gt;sqflite&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Today we’re announcing the beta release of &lt;a href="https://pub.dev/packages/google_mobile_ads"&gt;Google Mobile Ads for Flutter&lt;/a&gt;, 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 &lt;a href="https://www.suamusica.com.br/"&gt;Sua Música&lt;/a&gt;, 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. &lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-48felgclv20/YD1ySq65DOI/AAAAAAAAJ4k/4cqMcQCsiu0kab4T8BgwyIxt1qWrb0YjQCLcBGAsYHQ/s0/image%2B9.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Google Mobile Ads SDK for Flutter" border="0" data-original-height="900" data-original-width="1600" src="https://1.bp.blogspot.com/-48felgclv20/YD1ySq65DOI/AAAAAAAAJ4k/4cqMcQCsiu0kab4T8BgwyIxt1qWrb0YjQCLcBGAsYHQ/s0/image%2B9.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;We’re also announcing updates to our &lt;a href="https://firebase.flutter.dev/"&gt;Flutter plug-ins for several core Firebase services&lt;/a&gt;: 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. &lt;/p&gt;&lt;h2&gt;Dart: The secret sauce behind Flutter&lt;/h2&gt;  &lt;p&gt;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 &lt;a href="https://dart.dev"&gt;Dart&lt;/a&gt;, Google’s programming language that is optimized for multiplatform development.  &lt;/p&gt;&lt;p&gt;Dart combines a unique set of capabilities for building apps: &lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;strong&gt;No-surprise portability&lt;/strong&gt;, 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.   &lt;li&gt;&lt;strong&gt;Iterative development with stateful hot reload&lt;/strong&gt; on desktop and mobile, as well as language constructs designed for the asynchronous, concurrent patterns of modern UI programming.  &lt;li&gt;&lt;strong&gt;Google-class performance&lt;/strong&gt; across all of these platforms, with sound null safety guaranteeing null constraints at runtime as well as during development.  &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;There’s no other language that combines all these capabilities; perhaps this is why Dart is one of the &lt;a href="https://madnight.github.io/githut/#/pull_requests/2020/4"&gt;fastest growing languages on GitHub&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Dart 2.12, available today, is our largest release since 2.0, with support for &lt;strong&gt;sound null safety&lt;/strong&gt;. 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.  &lt;/p&gt;&lt;p&gt;Today’s update also includes a &lt;a href="https://dart.dev/guides/libraries/c-interop"&gt;stable implementation of FFI&lt;/a&gt;, allowing you to write high-performance code that interoperates with C-based APIs; &lt;a href="https://flutter.dev/docs/development/tools/devtools/overview"&gt;new integrated developer and profiler tooling&lt;/a&gt; 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 &lt;a href="https://medium.com/dartlang/announcing-dart-2-12-499a6e689c87"&gt;dedicated Dart 2.12 announcement blog post&lt;/a&gt;.  &lt;/p&gt;&lt;h2&gt;Flutter 2: Available now&lt;/h2&gt;  &lt;p&gt;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 &lt;a href="https://medium.com/flutter/whats-new-in-flutter-2-0-fe8e95ecc65"&gt;the separate technical blog on Flutter 2&lt;/a&gt; for more information about the many new features and performance improvements that we think will please existing Flutter developers, and download it today.  &lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-ptTaJcEkdGQ/YD1yk1m-4pI/AAAAAAAAJ4s/tQkX7gwqc1ktlEANx-SENSk3MBFFnD87QCLcBGAsYHQ/s0/image%2B10.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="image of companies using Flutter 2" border="0" data-original-height="902" data-original-width="1600" src="https://1.bp.blogspot.com/-ptTaJcEkdGQ/YD1yk1m-4pI/AAAAAAAAJ4s/tQkX7gwqc1ktlEANx-SENSk3MBFFnD87QCLcBGAsYHQ/s0/image%2B10.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;We also have a major new sample that showcases everything we just mentioned, built in collaboration with &lt;a href="https://gskinner.com/"&gt;gskinner&lt;/a&gt;, an award-winning design team based in Edmonton, Canada. &lt;a href="https://flutterfolio.com"&gt;Flutter Folio&lt;/a&gt; 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.  &lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-mjq579ichJ4/YD1y2OBj9PI/AAAAAAAAJ40/hJTgFCFcdb4HLydfMkWAtsZZFh8LReNMACLcBGAsYHQ/s0/image%2B11.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Flutter Folio" border="0" data-original-height="900" data-original-width="1600" src="https://1.bp.blogspot.com/-mjq579ichJ4/YD1y2OBj9PI/AAAAAAAAJ40/hJTgFCFcdb4HLydfMkWAtsZZFh8LReNMACLcBGAsYHQ/s0/image%2B11.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;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.  &lt;/p&gt;&lt;p&gt;Flutter is free and open source. We’re excited to see what &lt;em&gt;you &lt;/em&gt;build with Flutter 2! &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/Pe-vSxo0CLE" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/4683360847574951476/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2021/03/announcing-flutter-2.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/4683360847574951476" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/4683360847574951476" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/Pe-vSxo0CLE/announcing-flutter-2.html" title="Announcing Flutter 2" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-ptTaJcEkdGQ/YD1yk1m-4pI/AAAAAAAAJ4s/tQkX7gwqc1ktlEANx-SENSk3MBFFnD87QCLcBGAsYHQ/s72-c/image%2B10.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2021/03/announcing-flutter-2.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-8451849694769211145</id><published>2021-02-25T11:00:00.001-08:00</published><updated>2021-02-25T11:00:00.127-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google Cloud" /><category scheme="http://www.blogger.com/atom/ns#" term="Mainframe Migration" /><title type="text">Mainframe modernization antipatterns</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-7oAseQBTYbI/YDfyVAmnSBI/AAAAAAAAJ3M/m9i_DqpO9i83LmgbEG0It5sDHg8aouXaQCLcBGAsYHQ/s0/Google-dev-understanding-antipatterns-social.png"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-7oAseQBTYbI/YDfyVAmnSBI/AAAAAAAAJ3M/m9i_DqpO9i83LmgbEG0It5sDHg8aouXaQCLcBGAsYHQ/s0/Google-dev-understanding-antipatterns-social.png"&gt; &lt;p&gt;&lt;em&gt;Posted by Travis Webb&lt;/em&gt;&lt;/p&gt; &lt;p&gt;This blog post describes common pitfalls and &lt;a href="https://wikipedia.org/wiki/Anti-pattern"&gt;antipatterns&lt;/a&gt; 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. &lt;/p&gt;&lt;p&gt;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. &lt;/p&gt;&lt;p&gt;This blog post describes three common antipatterns: &lt;/p&gt;&lt;ul&gt; &lt;li&gt;Big bang rewrite antipatterns  &lt;li&gt;Lift-and-shift migration antipatterns  &lt;li&gt;In-place modernization antipatterns &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;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. &lt;/p&gt;&lt;h2&gt;Big bang rewrite antipatterns&lt;/h2&gt;  &lt;p&gt;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. &lt;/p&gt;&lt;p&gt;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. &lt;/p&gt;&lt;h3&gt;Rationale&lt;/h3&gt;  &lt;p&gt;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. &lt;/p&gt;&lt;p&gt;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. &lt;/p&gt;&lt;h3&gt;Risks, pitfalls, and outcomes&lt;/h3&gt;  &lt;p&gt;Big bang rewrites often suffer from the &lt;a href="https://wikipedia.org/wiki/Second-system_effect"&gt;second system effect&lt;/a&gt;. 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? &lt;/p&gt;&lt;p&gt;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. &lt;/p&gt;&lt;p&gt;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. &lt;/p&gt;&lt;p&gt;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 system&lt;strong&gt;&lt;em&gt;—&lt;/em&gt;&lt;/strong&gt;possibly 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. &lt;/p&gt;&lt;p&gt;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. &lt;/p&gt;&lt;h2&gt;Lift-and-shift migration antipatterns&lt;/h2&gt;  &lt;p&gt;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. &lt;/p&gt;&lt;p&gt;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. &lt;/p&gt;&lt;h3&gt;Rationale&lt;/h3&gt;  &lt;p&gt;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. &lt;/p&gt;&lt;h3&gt;Risks, pitfalls, and outcomes&lt;/h3&gt;  &lt;p&gt;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. &lt;/p&gt;&lt;p&gt;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. &lt;/p&gt;&lt;p&gt;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. &lt;/p&gt;&lt;h2&gt;In-place modernization antipatterns&lt;/h2&gt;  &lt;p&gt;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. &lt;/p&gt;&lt;p&gt;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 &lt;a href="https://kubernetes.io/"&gt;Kubernetes&lt;/a&gt;. &lt;/p&gt;&lt;h3&gt;Rationale&lt;/h3&gt;  &lt;p&gt;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. &lt;/p&gt;&lt;p&gt;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. &lt;/p&gt;&lt;h3&gt;Risks, pitfalls, and outcomes&lt;/h3&gt;  &lt;p&gt;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. &lt;/p&gt;&lt;p&gt;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. &lt;/p&gt;&lt;h2&gt;Finding help&lt;/h2&gt;  &lt;p&gt;Google Cloud offers various options and resources for you to find the necessary help and support to best use Google Cloud services: &lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="https://cloud.google.com/solutions/migration-to-gcp-getting-started#self-service_resources"&gt;Self-service resources&lt;/a&gt;. If you don't need dedicated support, you have various options that you can use at your own pace.  &lt;li&gt;&lt;a href="https://cloud.withgoogle.com/partners/?partnerTypes=SPECIALIZATION_PARTNER&amp;sort-type=RELEVANCE&amp;specializations=CLOUD_MIGRATION_SPECIALIZATION"&gt;Technology partners&lt;/a&gt;. Google Cloud has partnered with multiple companies to help you use our products and services.  &lt;li&gt;&lt;a href="https://cloud.google.com/consulting"&gt;Google Cloud professional services&lt;/a&gt;. Our professional services can help you get the most out of your investment in Google Cloud. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;There are more resources to help you to migrate workloads to Google Cloud in the &lt;a href="https://cloud.google.com/solutions/migration-center"&gt;Google Cloud migration center&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;For more information about these resources, see the &lt;a href="https://cloud.google.com/solutions/migration-to-gcp-getting-started#finding_help"&gt;finding help&lt;/a&gt; section of &lt;a href="https://cloud.google.com/solutions/migration-to-gcp-getting-started"&gt;Migration to Google Cloud: Getting started&lt;/a&gt;. &lt;/p&gt;&lt;h2&gt;What’s next?&lt;/h2&gt;  &lt;ul&gt; &lt;li&gt;&lt;a href="https://cloud.google.com/solutions/mainframe-modernization"&gt;Google Cloud Mainframe modernization solutions&lt;/a&gt; &lt;li&gt;Try out other Google Cloud features for yourself. Have a look at our &lt;a href="https://cloud.google.com/docs/tutorials"&gt;tutorials&lt;/a&gt;.&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/bg9je1-ob4E" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/8451849694769211145/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2021/02/mainframe-modernization-antipatterns.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/8451849694769211145" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/8451849694769211145" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/bg9je1-ob4E/mainframe-modernization-antipatterns.html" title="Mainframe modernization antipatterns" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-7oAseQBTYbI/YDfyVAmnSBI/AAAAAAAAJ3M/m9i_DqpO9i83LmgbEG0It5sDHg8aouXaQCLcBGAsYHQ/s72-c/Google-dev-understanding-antipatterns-social.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2021/02/mainframe-modernization-antipatterns.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-3025651318927348782</id><published>2021-02-22T14:05:00.003-08:00</published><updated>2021-02-22T14:28:48.057-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="accelerator" /><category scheme="http://www.blogger.com/atom/ns#" term="AI" /><category scheme="http://www.blogger.com/atom/ns#" term="google for startups" /><category scheme="http://www.blogger.com/atom/ns#" term="startups" /><category scheme="http://www.blogger.com/atom/ns#" term="voice" /><title type="text">Announcing the 12 remarkable innovators selected for the upcoming Google for Startups Accelerator: Voice AI program</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-sztjzMQWiV0/YDPtZeNvQgI/AAAAAAAAJ28/p_krMwKK9JIzFg_vYmIjkQMh9tyjpbJoQCLcBGAsYHQ/s0/BB4A1851.CR2.jpg "&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-sztjzMQWiV0/YDPtZeNvQgI/AAAAAAAAJ28/p_krMwKK9JIzFg_vYmIjkQMh9tyjpbJoQCLcBGAsYHQ/s0/BB4A1851.CR2.jpg"&gt; &lt;p&gt;&lt;em&gt;Posted by Jason Scott, Head of Startup Developer Ecosystem, USA  &amp; Saurabh Sharma, Head of Assistant Investments  &lt;/em&gt;&lt;p&gt;    &lt;center&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-sztjzMQWiV0/YDPtZeNvQgI/AAAAAAAAJ28/p_krMwKK9JIzFg_vYmIjkQMh9tyjpbJoQCLcBGAsYHQ/s0/BB4A1851.CR2.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Image from accelertor" border="0" data-original-height="1365" data-original-width="2048" src="https://1.bp.blogspot.com/-sztjzMQWiV0/YDPtZeNvQgI/AAAAAAAAJ28/p_krMwKK9JIzFg_vYmIjkQMh9tyjpbJoQCLcBGAsYHQ/s0/BB4A1851.CR2.jpg"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/center&gt;   &lt;p&gt;In December 2020, we &lt;a href="https://developers.googleblog.com/2020/12/a-google-for-startups-accelerator.html"&gt;announced&lt;/a&gt; our inaugural &lt;a href="https://developers.google.com/community/accelerators/voice"&gt;Google for Startups Accelerator: Voice AI&lt;/a&gt; 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 &lt;a href="https://developers.google.com/community/accelerators/voice/meet-the-startups"&gt;our cohort of 12 companies&lt;/a&gt; - collectively leveraging voice user interfaces to solve complex challenges across accessibility, education, and care: &lt;/p&gt; &lt;p&gt; &lt;h3&gt; &lt;strong&gt;&lt;a href="https://www.babbly.co/ "&gt;Babbly,&lt;/a&gt;&lt;/strong&gt; Toronto, Ontario, Canada&lt;/h3&gt;   &lt;p&gt;     Babbly provides parents real-time insights on their child’s speech and language skills and recommends personalized activities that promote their child's development. &lt;/p&gt;   &lt;p&gt;     &lt;h3&gt;&lt;strong&gt;&lt;a href="https://bespoken.io/ "&gt;Bespoken&lt;/a&gt;&lt;/strong&gt;, Seattle, Washington, United States &lt;/h3&gt;&lt;/p&gt;&lt;p&gt;     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! &lt;/p&gt;&lt;p&gt;     &lt;h3&gt;&lt;strong&gt;&lt;a href="https://www.conversationhealth.com/ "&gt;conversationHEALTH&lt;/a&gt;&lt;/strong&gt;, Toronto, Ontario, Canada &lt;/h3&gt;&lt;/p&gt;&lt;p&gt;     conversationHEALTH enables conversational agents for patients and healthcare professionals in clinical 	trials, medical affairs, and commercial lines of business. &lt;/p&gt;&lt;p&gt;    &lt;h3&gt; &lt;strong&gt;&lt;a href="https://nedl.com/about "&gt;Nēdl&lt;/a&gt;&lt;/strong&gt;, Santa Monica, California, United States &lt;/h3&gt;&lt;/p&gt;&lt;p&gt;     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.  &lt;/p&gt;&lt;p&gt;     &lt;h3&gt;&lt;strong&gt;&lt;a href="https://www.oto.ai/ "&gt;OTO.AI&lt;/a&gt;&lt;/strong&gt;, New York, New York, United States&lt;/h3&gt;&lt;/p&gt;&lt;p&gt;     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. &lt;/p&gt;&lt;p&gt;     &lt;h3&gt;&lt;strong&gt;&lt;a href="https://www.piffle.me/ "&gt;Piffle&lt;/a&gt;&lt;/strong&gt;, San Francisco, California, United States&lt;/h3&gt;&lt;/p&gt;&lt;p&gt;     Piffle is a voice gaming platform that aims to nurture professional wellness through conversational gameplay. &lt;/p&gt;&lt;p&gt;     &lt;h3&gt;&lt;strong&gt;&lt;a href="https://www.powow.ai/ "&gt;Powow AI&lt;/a&gt;&lt;/strong&gt;, New York, New York, United States&lt;/h3&gt;&lt;/p&gt;&lt;p&gt;     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. &lt;/p&gt;&lt;p&gt;     &lt;h3&gt;&lt;strong&gt;&lt;a href="https://simbi.io/ "&gt;SiMBi&lt;/a&gt;&lt;/strong&gt;, Vancouver, British Columbia, Canada&lt;/h3&gt;&lt;/p&gt;&lt;p&gt;     SiMBi combines learners' narrations with the text of a story to create an engaging audiovisual book that learners worldwide can read along to. &lt;/p&gt;&lt;p&gt;     &lt;h3&gt;&lt;strong&gt;&lt;a href="https://talkatoo.com/ "&gt;Talkatoo&lt;/a&gt;,&lt;/strong&gt; Halifax, Nova Scotia, Canada &lt;/h3&gt;&lt;/p&gt;&lt;p&gt;     Talkatoo is a dictation software explicitly designed for veterinary and medical professionals, enabling them to save time in their practice. &lt;/p&gt;&lt;p&gt;     &lt;h3&gt;&lt;strong&gt;&lt;a href="https://www.klovechef.ai/"&gt;Tinychef&lt;/a&gt;&lt;/strong&gt;, New York, New York, United States&lt;/h3&gt;&lt;/p&gt;&lt;p&gt;     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. &lt;/p&gt;&lt;p&gt;     &lt;h3&gt;&lt;strong&gt;&lt;a href="https://voicify.com/ "&gt;Voicify&lt;/a&gt;&lt;/strong&gt;, Boston, Massachusetts, United States&lt;/h3&gt;&lt;/p&gt;&lt;p&gt;     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. &lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;     &lt;h3&gt;&lt;strong&gt;&lt;a href="https://www.vowel.com/ "&gt;Vowel&lt;/a&gt;&lt;/strong&gt;, New York, New York, United States&lt;/h3&gt;&lt;/p&gt;&lt;p&gt;Vowel brings the best of productivity and communication platforms into a single, integrated meeting tool. &lt;/p&gt;   &lt;p&gt;The program kicks off on &lt;strong&gt;Monday, March 15th&lt;/strong&gt; 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, &lt;/p&gt;&lt;p&gt;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.  &lt;/p&gt;&lt;p&gt;We look forward to augmenting the work of these 12 innovators and to showcasing their accomplishments on &lt;strong&gt;Thursday, May 20th at 12:30pm EST&lt;/strong&gt; at our Google for Startups Accelerator: Voice AI Demo Day. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/LhdMeNJ5Gho" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/3025651318927348782/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2021/02/announcing-12-remarkable-innovators.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/3025651318927348782" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/3025651318927348782" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/LhdMeNJ5Gho/announcing-12-remarkable-innovators.html" title="Announcing the 12 remarkable innovators selected for the upcoming Google for Startups Accelerator: Voice AI program" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-sztjzMQWiV0/YDPtZeNvQgI/AAAAAAAAJ28/p_krMwKK9JIzFg_vYmIjkQMh9tyjpbJoQCLcBGAsYHQ/s72-c/BB4A1851.CR2.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2021/02/announcing-12-remarkable-innovators.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-7961521965904178327</id><published>2021-02-16T10:12:00.002-08:00</published><updated>2021-02-16T10:19:04.169-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="developers" /><category scheme="http://www.blogger.com/atom/ns#" term="diversity-and-inclusion" /><category scheme="http://www.blogger.com/atom/ns#" term="entrepreneurs" /><category scheme="http://www.blogger.com/atom/ns#" term="small-business" /><title type="text">These Black tech creators are changing the domain </title><content type="html">&lt;p&gt;&lt;em&gt;Posted by Jermaine Robinson, Google Registry Team&lt;/em&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-IieoELK1yGY/YCb5eOEYZII/AAAAAAAAJ2M/Gdhu4BQwv1sij_7dAe30JAXbCPphzDy9QCLcBGAsYHQ/s0/Hero%2Bbanner%2B-%2BBHM%2BKeyword%2BBlog.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Illustration of 6 developers" border="0" data-original-height="1145" data-original-width="2747" src="https://1.bp.blogspot.com/-IieoELK1yGY/YCb5eOEYZII/AAAAAAAAJ2M/Gdhu4BQwv1sij_7dAe30JAXbCPphzDy9QCLcBGAsYHQ/s0/Hero%2Bbanner%2B-%2BBHM%2BKeyword%2BBlog.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;It’s been two years since the &lt;a href="https://www.registry.google/"&gt;Google Registry&lt;/a&gt; team launched its &lt;a href="https://goo.gle/mydomain"&gt;#MyDomain video series&lt;/a&gt;, 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 &lt;em&gt;all&lt;/em&gt; voices. In honor of Black History Month, we’re featuring six Black creators who are making waves in the digital space.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Dairien Boyd, &lt;a href="https://www.youtube.com/watch?v=4FVioZGJE48&amp;feature=youtu.be"&gt;#MyDomain Video&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;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 &lt;strong&gt;&lt;a href="http://mmhmm.app"&gt;mmhmm.app&lt;/a&gt;&lt;/strong&gt; — 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.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Benjamin Williams,  &lt;a href="https://www.youtube.com/watch?v=jHnX9Py9KhI&amp;feature=youtu.be"&gt;#MyDomain Video&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Benjamin Williams also found new sources of inspiration during the pandemic. A software engineer at Google by day, Williams launched &lt;strong&gt;&lt;a href="http://floward.app"&gt;floward.app&lt;/a&gt;&lt;/strong&gt; — 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.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Rhianna Jones, &lt;a href="https://www.youtube.com/watch?v=zwHT690Viuw&amp;feature=youtu.be"&gt;#MyDomain Video&lt;/a&gt; &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;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 — &lt;strong&gt;&lt;a href="http://afrohairmatters.page"&gt;afrohairmatters.page&lt;/a&gt;&lt;/strong&gt; — 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 ✊&#x1f3ff; &lt;strong&gt;&#x1f917; &#x1f469;&#x1f3fe;‍  &#x1f495;.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Michael Broughton, &lt;a href="https://www.youtube.com/watch?v=65EqTCsnp60&amp;feature=youtu.be"&gt;#MyDomain Video &lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;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 &lt;strong&gt;&lt;a href="https://getperch.app/"&gt;getperch.app&lt;/a&gt;&lt;/strong&gt;, a service that helps others build credit history and boost their credit scores. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Edward Cunningham, &lt;a href="https://www.youtube.com/watch?v=qyKM-auGCJg&amp;feature=youtu.be"&gt;#MyDomain Video&lt;/a&gt; &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Edward Cunningham is cofounder and CTO of&lt;a href="https://www.nxstep.app/"&gt; NXSTEP.app&lt;/a&gt;, 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.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Adesina Tyler, &lt;a href="https://www.youtube.com/watch?v=nNkYKooAjr0&amp;feature=youtu.be"&gt;#MyDomain Video &lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;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 &lt;strong&gt;&lt;a href="wondershop.page"&gt;wondershop.page&lt;/a&gt;&lt;/strong&gt; as part of his participation in Google’s technology program, &lt;a href="https://codenext.withgoogle.com/"&gt;Code Next&lt;/a&gt;. He built his website&lt;strong&gt; &lt;/strong&gt;(an online retail store) as a way to better understand the basic building blocks of e-commerce. &lt;/p&gt;&lt;p&gt;Videos of everyone featured above are available at &lt;a href="https://goo.gle/mydomain"&gt;goo.gle/mydomain&lt;/a&gt;. 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.  &lt;/p&gt;&lt;p&gt;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 &lt;a href="https://services.google.com/fb/forms/mydomaincasting/"&gt;short application form&lt;/a&gt; and help us produce and share content that better represents all of us in an industry that still has a long way to go.  &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/gg-F8N551wM" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/7961521965904178327/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2021/02/these-black-tech-creators-are-changing-the-domain.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/7961521965904178327" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/7961521965904178327" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/gg-F8N551wM/these-black-tech-creators-are-changing-the-domain.html" title="These Black tech creators are changing the domain " /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-IieoELK1yGY/YCb5eOEYZII/AAAAAAAAJ2M/Gdhu4BQwv1sij_7dAe30JAXbCPphzDy9QCLcBGAsYHQ/s72-c/Hero%2Bbanner%2B-%2BBHM%2BKeyword%2BBlog.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2021/02/these-black-tech-creators-are-changing-the-domain.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-6400447631752924094</id><published>2021-01-28T06:00:00.002-08:00</published><updated>2021-01-28T08:52:11.608-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="featured" /><category scheme="http://www.blogger.com/atom/ns#" term="Latest" /><title type="text">How we’re helping developers with differential privacy</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-KbH1lHGaPac/YBLrmUTbhQI/AAAAAAAAJ1c/ZneJ86eyvYcE3xn6rZnKNg5hiPBbbBb6QCLcBGAsYHQ/s0/Copy%2Bof%2B800x418%25403x.jpg "&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-KbH1lHGaPac/YBLrmUTbhQI/AAAAAAAAJ1c/ZneJ86eyvYcE3xn6rZnKNg5hiPBbbBb6QCLcBGAsYHQ/s0/Copy%2Bof%2B800x418%25403x.jpg"&gt; &lt;p&gt;&lt;em&gt;Posted by Miguel Guevara, Product Manager, Privacy and Data Protection Office &lt;/em&gt;&lt;p&gt; &lt;p&gt;At Google, we believe that innovation and privacy must go hand in hand. Earlier this month, we shared &lt;a href="https://blog.google/technology/safety-security/our-work-keep-you-safe-and-control-your-privacy/"&gt;our work&lt;/a&gt; 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.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Strengthening our core products with differential privacy&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;We first deployed our world-class differential privacy anonymization technology &lt;a href="https://www.chromium.org/developers/design-documents/rappor"&gt;in Chrome&lt;/a&gt; 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 &lt;a href="https://blog.google/technology/health/covid-19-community-mobility-reports/"&gt;COVID-19 Community Mobility Reports&lt;/a&gt;, 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. &lt;/p&gt;&lt;p&gt;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.  &lt;/p&gt;&lt;p&gt;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 &lt;a href="https://github.com/google/differential-privacy/tree/main/examples/zetasql"&gt;differentially private SQL database query language extension&lt;/a&gt; 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.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Partnering with OpenMined to make differential privacy more widely accessible&lt;/strong&gt;  &lt;/p&gt;&lt;p&gt;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 &lt;a href="https://developers.googleblog.com/2019/09/enabling-developers-and-organizations.html"&gt;open-sourced our differential privacy library&lt;/a&gt; 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 &lt;a href="https://services.google.com/fh/files/misc/arkhn-case-study.pdf"&gt;Arkhn&lt;/a&gt;. 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.   &lt;/p&gt;&lt;p&gt;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 &lt;a href="https://services.google.com/fh/files/misc/casestudy_openmined_final.pdf"&gt;OpenMined,&lt;/a&gt; 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 &lt;a href="https://github.com/google/differential-privacy/"&gt;differential privacy library&lt;/a&gt; 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. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;A collaborative approach to improving the state of privacy in Machine Learning&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Two years ago, we &lt;a href="https://blog.tensorflow.org/2019/03/introducing-tensorflow-privacy-learning.html"&gt;introduced&lt;/a&gt; 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. &lt;/p&gt;&lt;p&gt;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 &lt;a href="https://blog.tensorflow.org/2020/06/introducing-new-privacy-testing-library.html"&gt;open-sourced&lt;/a&gt; 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.  &lt;/p&gt;&lt;p&gt;We’ve also &lt;a href="https://arxiv.org/pdf/2011.14580.pdf"&gt;published&lt;/a&gt; new research studying the trade-offs between differential privacy and robustness, another property at the core of AI ethics, privacy and safety. &lt;/p&gt;&lt;p&gt;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.  &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/4cKG8u2066s" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/6400447631752924094/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2021/01/how-were-helping-developers-with-differential-privacy.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/6400447631752924094" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/6400447631752924094" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/4cKG8u2066s/how-were-helping-developers-with-differential-privacy.html" title="How we’re helping developers with differential privacy" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-KbH1lHGaPac/YBLrmUTbhQI/AAAAAAAAJ1c/ZneJ86eyvYcE3xn6rZnKNg5hiPBbbBb6QCLcBGAsYHQ/s72-c/Copy%2Bof%2B800x418%25403x.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2021/01/how-were-helping-developers-with-differential-privacy.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-8808116890687329372</id><published>2021-01-26T08:07:00.000-08:00</published><updated>2021-01-26T08:07:58.976-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="#30DaysOfFlutter" /><category scheme="http://www.blogger.com/atom/ns#" term="developers" /><category scheme="http://www.blogger.com/atom/ns#" term="flutter" /><title type="text">Join us for #30DaysOfFlutter</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-dzBDVGYOajs/YA9S7v8cvUI/AAAAAAAAJ1I/2IT4x2DmQEEQvBWrv1PY5yaaG_9OsDCVwCLcBGAsYHQ/s0/Screen%2BShot%2B2021-01-25%2Bat%2B6.22.51%2BPM.png "&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-dzBDVGYOajs/YA9S7v8cvUI/AAAAAAAAJ1I/2IT4x2DmQEEQvBWrv1PY5yaaG_9OsDCVwCLcBGAsYHQ/s0/Screen%2BShot%2B2021-01-25%2Bat%2B6.22.51%2BPM.png "&gt; &lt;p&gt;&lt;em&gt;Posted by Nikita Gandhi (Community Manager, GDG India), Nilay Yener (Program Manager, Flutter DevRel) &lt;/em&gt;&lt;p&gt;  &lt;center&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-dzBDVGYOajs/YA9S7v8cvUI/AAAAAAAAJ1I/2IT4x2DmQEEQvBWrv1PY5yaaG_9OsDCVwCLcBGAsYHQ/s0/Screen%2BShot%2B2021-01-25%2Bat%2B6.22.51%2BPM.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="" border="0" data-original-height="582" data-original-width="1258" src="https://1.bp.blogspot.com/-dzBDVGYOajs/YA9S7v8cvUI/AAAAAAAAJ1I/2IT4x2DmQEEQvBWrv1PY5yaaG_9OsDCVwCLcBGAsYHQ/s0/Screen%2BShot%2B2021-01-25%2Bat%2B6.22.51%2BPM.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;/center&gt;   &lt;p&gt;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 &lt;a href="https://twitter.com/FlutterDev/status/1339256577480683521"&gt;big event on March 3rd&lt;/a&gt;, join us for &lt;strong&gt;#30DaysOfFlutter&lt;/strong&gt; 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! &lt;/p&gt;&lt;p&gt;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. &lt;/p&gt;&lt;p&gt;&lt;h2&gt;Jump in, the water’s fine!&lt;/h2&gt;&lt;/p&gt;&lt;p&gt;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 &lt;a href="https://discord.com/invite/N7Yshp4"&gt;FlutterDev Discord channel&lt;/a&gt;, where you can meet the other members of the community, ask and answer questions, and maybe make some new Flutter friends too! &lt;/p&gt;&lt;p&gt;Does this sound exciting? Visit the &lt;a href="http://goo.gle/30daysofflutter"&gt;30 Days of Flutter website&lt;/a&gt; to get more information and to register to join.  &lt;/p&gt;&lt;p&gt;&lt;h2&gt;#30DaysOfFlutter Schedule&lt;/h2&gt; &lt;p&gt;Your learning journey with Flutter for the month will look like this::  &lt;/p&gt;&lt;p&gt;&lt;b&gt;Week 1&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Receive curated content to your inbox. Meet other Flutter Devs on Discord. Attend Kick Off Webinar on February 1st.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;Week 2&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Receive more content. Start building your first Flutter app. Join the webinar and ask your questions.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;Week 3&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Work on your app and attend the 3rd webinar to ask your questions.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;Week 4&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Complete your project and learn how to share it with the Flutter community.  &lt;/p&gt;&lt;br&gt;&lt;p&gt;Are you ready to learn one of the most in demand developer skills in the world? &lt;/p&gt;&lt;p&gt;&lt;a href="http://goo.gle/30daysofflutter"&gt;Sign up&lt;/a&gt; to be a part of the journey and be sure to follow @FlutterDev on Twitter, to get updates about #30DaysOfFlutter.  &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/IZ-mqw2HypM" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/8808116890687329372/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2021/01/join-us-for-30daysofflutter.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/8808116890687329372" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/8808116890687329372" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/IZ-mqw2HypM/join-us-for-30daysofflutter.html" title="Join us for #30DaysOfFlutter" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-dzBDVGYOajs/YA9S7v8cvUI/AAAAAAAAJ1I/2IT4x2DmQEEQvBWrv1PY5yaaG_9OsDCVwCLcBGAsYHQ/s72-c/Screen%2BShot%2B2021-01-25%2Bat%2B6.22.51%2BPM.png " height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2021/01/join-us-for-30daysofflutter.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-4803387501729844053</id><published>2021-01-21T12:00:00.001-08:00</published><updated>2021-01-21T12:00:04.107-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="developers" /><category scheme="http://www.blogger.com/atom/ns#" term="entrepreneurs" /><category scheme="http://www.blogger.com/atom/ns#" term="products - slides" /><category scheme="http://www.blogger.com/atom/ns#" term="small business" /><title type="text">21 websites and apps to make your 2021 better</title><content type="html">&lt;p&gt;&lt;em&gt;Posted by Christina Yeh, Google Registry Team&lt;/em&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-6UGLr0LfaE8/YAdM_v04PYI/AAAAAAAAJ0k/LKPOS10pfqMXnyZ6dUa4hv_eJS9SeqB8ACLcBGAsYHQ/s0/Hero-Blogpost_190121_8MB.gif" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="GIF of animated person sitting at computer" border="0" data-original-height="1145" data-original-width="2747" src="https://1.bp.blogspot.com/-6UGLr0LfaE8/YAdM_v04PYI/AAAAAAAAJ0k/LKPOS10pfqMXnyZ6dUa4hv_eJS9SeqB8ACLcBGAsYHQ/s0/Hero-Blogpost_190121_8MB.gif"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;a href="https://www.registry.google/"&gt;Google Registry&lt;/a&gt; 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 &lt;a href="https://whats.new"&gt;.new&lt;/a&gt;, get &lt;a href="https://get.app"&gt;.app&lt;/a&gt;y, turn a new &lt;a href="https://get.page"&gt;.page&lt;/a&gt;, and make &lt;a href="https://get.dev"&gt;.dev&lt;/a&gt;(elopment) a breeze. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Start something .new:&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt; &lt;li&gt;&lt;strong&gt;&lt;a href="https://collage.new"&gt;Collage.new&lt;/a&gt;: &lt;/strong&gt;Looking for a new direction in 2021? Craft an inspiring vision board with BeFunky’s Collage Maker.  &lt;li&gt;&lt;strong&gt;&lt;a href="https://resume.new"&gt;Resume.new&lt;/a&gt;&lt;/strong&gt;: 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.  &lt;li&gt;&lt;strong&gt;&lt;a href="https://hire.new"&gt;Hire.new&lt;/a&gt;:&lt;/strong&gt; 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.  &lt;li&gt;&lt;strong&gt;&lt;a href="https://site.new"&gt;Site.new&lt;/a&gt;: &lt;/strong&gt;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.  &lt;li&gt;&lt;strong&gt;&lt;a href="https://shopify.new"&gt;Shopify.new&lt;/a&gt;&lt;/strong&gt;: Starting a new side hustle? With Shopify’s powerful tools, anyone can quickly start a business and launch an online store.  &lt;li&gt;&lt;strong&gt;&lt;a href="https://flutter.new"&gt;Flutter.new&lt;/a&gt;: &lt;/strong&gt;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 &lt;a href="https://flutter.dev/docs"&gt;mobile&lt;/a&gt;, &lt;a href="https://flutter.dev/web"&gt;web&lt;/a&gt; and &lt;a href="https://flutter.dev/desktop"&gt;desktop&lt;/a&gt;.   &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;Get .app(y):&lt;/strong&gt;&lt;/p&gt; &lt;ol start="7"&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.puppr.app/"&gt;Puppr.app&lt;/a&gt;&lt;/strong&gt;: Do you have a new dog in your life? Get help training your furry friend with lessons, tricks, and live chat.  &lt;li&gt;&lt;strong&gt;&lt;a href="https://uhmmm.app/"&gt;Uhmmm.app&lt;/a&gt;&lt;/strong&gt;: Fight the awkward silence in your online meetings with free elevator music.  &lt;li&gt;&lt;strong&gt;&lt;a href="https://sayana.app/"&gt;Sayana.app&lt;/a&gt;&lt;/strong&gt;: Track your thoughts and feelings, get tips on coping with your emotions and talk to people in a similar life situation.  &lt;li&gt;&lt;strong&gt;&lt;a href="https://www.glitterly.app/"&gt;Glitterly.app&lt;/a&gt;&lt;/strong&gt;: Make videos with animations, effects, stock videos and images in just a few clicks.  &lt;li&gt;&lt;strong&gt;&lt;a href="https://get.reface.app/"&gt;Get.reface.app&lt;/a&gt;&lt;/strong&gt;: Say cheese! Use your selfies to make fun face swap videos and gifs.   &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;Turn to the next .page:&lt;/strong&gt;&lt;/p&gt; &lt;ol start="12"&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="https://nxt.page/"&gt;Nxt.page&lt;/a&gt;&lt;/strong&gt;: Recreate spontaneously meeting with friends and colleagues online, using this Chrome extension.  &lt;li&gt;&lt;strong&gt;&lt;a href="https://funnies.page/"&gt;Funnies.page&lt;/a&gt;&lt;/strong&gt;: Start your morning with some humor by getting five new comics from artists around the world, delivered daily to your inbox.  &lt;li&gt;&lt;strong&gt;&lt;a href="http://web.page/"&gt;Web.page&lt;/a&gt;&lt;/strong&gt;: Find design inspiration, trends and techniques for building websites.  &lt;li&gt;&lt;strong&gt;&lt;a href="https://volition.page/"&gt;Volition.page&lt;/a&gt;&lt;/strong&gt;: Track your goals and progress any time, anywhere with this web app.  &lt;li&gt;&lt;strong&gt;&lt;a href="https://byline.page/"&gt;Byline.page&lt;/a&gt;&lt;/strong&gt;: Interested in creative writing? Try this multiplayer app, where you build stories line by line, knowing only what the previous author wrote.  &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;strong&gt;Make .dev(elopment) a breeze:&lt;/strong&gt;&lt;/p&gt;&lt;ol start="17"&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="https://projectjob.dev/"&gt;Projectjob.dev&lt;/a&gt;&lt;/strong&gt;: Find and hire developers that are a perfect match for your requirements by exploring the work they’ve done before.  &lt;li&gt;&lt;strong&gt;&lt;a href="http://htmldom.dev"&gt;Htmldom.dev&lt;/a&gt;&lt;/strong&gt;: Try this handy reference for manipulating web pages using Javascript.   &lt;li&gt;&lt;strong&gt;&lt;a href="http://nodesign.dev"&gt;Nodesign.dev&lt;/a&gt;&lt;/strong&gt;: Use existing design tools to complete your development project.   &lt;li&gt;&lt;strong&gt;&lt;a href="http://practice.dev"&gt;Practice.dev&lt;/a&gt;&lt;/strong&gt;: If practice makes perfect, you can improve your skills by solving  real web development challenges and learn by doing.  &lt;li&gt;&lt;strong&gt;&lt;a href="https://daily.dev/"&gt;Daily.dev&lt;/a&gt;&lt;/strong&gt;: Get the latest developer news from tech blogs on any topic you can think of, all in one place. &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Happy New Year from all of us at Google Registry! We hope these websites and apps help you get the most out of 2021.  &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/2gWgaacjYTY" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/4803387501729844053/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2021/01/21-websites-and-apps-to-make-your-2021-better.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/4803387501729844053" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/4803387501729844053" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/2gWgaacjYTY/21-websites-and-apps-to-make-your-2021-better.html" title="21 websites and apps to make your 2021 better" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-6UGLr0LfaE8/YAdM_v04PYI/AAAAAAAAJ0k/LKPOS10pfqMXnyZ6dUa4hv_eJS9SeqB8ACLcBGAsYHQ/s72-c/Hero-Blogpost_190121_8MB.gif" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2021/01/21-websites-and-apps-to-make-your-2021-better.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-4625867415072289006</id><published>2021-01-14T08:59:00.000-08:00</published><updated>2021-01-14T08:59:11.207-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Developer Communities" /><category scheme="http://www.blogger.com/atom/ns#" term="Developer Culture" /><category scheme="http://www.blogger.com/atom/ns#" term="developer features" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Developer Experts" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Developer Groups" /><title type="text">Community leaders upskill themselves and find new roles with Elevate by Google Developers</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-ITxcKRUCAD0/YABs6RgwvhI/AAAAAAAAJ0Q/89i_vtL29zQFFm-gNSDNHQo3YJxYUxbNwCLcBGAsYHQ/s0/_Elevate_%2B%25281%2529.png"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-ITxcKRUCAD0/YABs6RgwvhI/AAAAAAAAJ0Q/89i_vtL29zQFFm-gNSDNHQo3YJxYUxbNwCLcBGAsYHQ/s0/_Elevate_%2B%25281%2529.png"&gt; &lt;p&gt;&lt;em&gt;Posted by Kübra Zengin, GDG North America Regional Lead &lt;/em&gt;&lt;p&gt;  &lt;center&gt; &lt;a href="https://1.bp.blogspot.com/-ITxcKRUCAD0/YABs6RgwvhI/AAAAAAAAJ0Q/89i_vtL29zQFFm-gNSDNHQo3YJxYUxbNwCLcBGAsYHQ/s0/_Elevate_%2B%25281%2529.png" imageanchor="1" &gt;&lt;img style="width:100%" id=imgFull border="0" src="https://1.bp.blogspot.com/-ITxcKRUCAD0/YABs6RgwvhI/AAAAAAAAJ0Q/89i_vtL29zQFFm-gNSDNHQo3YJxYUxbNwCLcBGAsYHQ/s0/_Elevate_%2B%25281%2529.png" data-original-width="1058" data-original-height="714" /&gt;&lt;/a&gt; &lt;/center&gt; &lt;p id="imgCaption"&gt; Image of participants in a recent Elevate workshop.&lt;/p&gt; &lt;p&gt;The North America Developer Ecosystem team  recently hosted &lt;a href="http://goo.gle/elevate"&gt;Elevate&lt;/a&gt; for &lt;a href="https://developers.google.com/community/gdg"&gt;Google Developer Groups&lt;/a&gt; organizers and &lt;a href="https://www.womentechmakers.com/"&gt;Women Techmakers&lt;/a&gt; Ambassadors in US &amp; 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.  &lt;/p&gt;&lt;p&gt;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. &lt;/p&gt;&lt;p&gt;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.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;What the graduates had to say&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;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:  &lt;/p&gt;&lt;p&gt;&lt;center&gt; &lt;em&gt;“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!” &lt;/em&gt; &lt;/center&gt;&lt;/p&gt;&lt;p&gt;  &lt;center&gt;&lt;em&gt;“The interactive workshops truly helped me land my new job at Twitter.”&lt;/em&gt;&lt;/center&gt;&lt;/p&gt;&lt;p&gt;&lt;center&gt;&lt;em&gt;“After the Elevate trainings on negotiation, I successfully secured a higher salary with my new employer.” &lt;/em&gt; &lt;/center&gt;&lt;/p&gt;&lt;p&gt;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:  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Bringing your best self to the table &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;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.  &lt;/p&gt;&lt;p&gt;Entire learning sessions were dedicated to specific value-adding topics, including: &lt;/p&gt;&lt;ul&gt; &lt;li&gt;How to use persuasive body language;   &lt;li&gt;Finding a networking, presenting, and storytelling voice;   &lt;li&gt;The best practices for salary negotiation. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;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.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;A team that feels valued brings value&lt;/strong&gt;  &lt;/p&gt;&lt;p&gt;&lt;center&gt;&lt;em&gt;“Who is on a team matters less than how the team members interact, structure their work, and view their contributions.” &lt;/em&gt;&lt;/center&gt;&lt;/p&gt;&lt;p&gt;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.  &lt;/p&gt;&lt;p&gt;The program further emphasized this message with learning sessions on: &lt;/p&gt;&lt;ul&gt; &lt;li&gt;Giving and accepting clear feedback;  &lt;li&gt;Bias busting and empathy training in the workplace;  &lt;li&gt;Conflict management and resolution. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;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.  &lt;/p&gt;&lt;p&gt;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.  &lt;/p&gt;&lt;p&gt;For similar opportunities, find out how to join a Google Developer Group near you, &lt;a href="https://gdg.community.dev/"&gt;here&lt;/a&gt;. And register for upcoming applied skills trainings on the Elevate website, &lt;a href="goo.gle/elevate"&gt;here&lt;/a&gt;.   &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/VlbrQJlhQaQ" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/4625867415072289006/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2021/01/community-leaders-upskill-themselves.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/4625867415072289006" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/4625867415072289006" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/VlbrQJlhQaQ/community-leaders-upskill-themselves.html" title="Community leaders upskill themselves and find new roles with Elevate by Google Developers" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-ITxcKRUCAD0/YABs6RgwvhI/AAAAAAAAJ0Q/89i_vtL29zQFFm-gNSDNHQo3YJxYUxbNwCLcBGAsYHQ/s72-c/_Elevate_%2B%25281%2529.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2021/01/community-leaders-upskill-themselves.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-7843384728816159938</id><published>2021-01-12T09:01:00.006-08:00</published><updated>2021-01-14T09:54:24.056-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android App Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Dev Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="Developer Communities" /><category scheme="http://www.blogger.com/atom/ns#" term="developer student clubs" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title type="text">Solve for the United Nations’ Sustainable Development Goals with Google technologies in this year’s Solution Challenge. </title><content type="html">&lt;meta name="twitter:image" content=" https://1.bp.blogspot.com/-YimxMrHDPM4/X_3CyCQYBjI/AAAAAAAAJzs/f1_gs1AIkg058FMca8ve7GtQjQq3fFcUQCLcBGAsYHQ/s0/Screen%2BShot%2B2021-01-08%2Bat%2B12.38.37%2BPM.png "&gt;&lt;img style="display:none" src=" https://1.bp.blogspot.com/-YimxMrHDPM4/X_3CyCQYBjI/AAAAAAAAJzs/f1_gs1AIkg058FMca8ve7GtQjQq3fFcUQCLcBGAsYHQ/s0/Screen%2BShot%2B2021-01-08%2Bat%2B12.38.37%2BPM.png "&gt; &lt;p&gt;&lt;em&gt;Posted by Erica Hanson, Global Program Manager, Google Developer Student Clubs  &lt;/em&gt;&lt;p&gt;  &lt;center&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-YimxMrHDPM4/X_3CyCQYBjI/AAAAAAAAJzs/f1_gs1AIkg058FMca8ve7GtQjQq3fFcUQCLcBGAsYHQ/s0/Screen%2BShot%2B2021-01-08%2Bat%2B12.38.37%2BPM.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Solution Challenge image" border="0" data-original-height="525" data-original-width="1600" src="https://1.bp.blogspot.com/-YimxMrHDPM4/X_3CyCQYBjI/AAAAAAAAJzs/f1_gs1AIkg058FMca8ve7GtQjQq3fFcUQCLcBGAsYHQ/s0/Screen%2BShot%2B2021-01-08%2Bat%2B12.38.37%2BPM.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;/center&gt;   &lt;p&gt;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.  &lt;/p&gt;&lt;p&gt;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! &lt;/p&gt;&lt;p&gt;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.  &lt;/p&gt;&lt;p&gt;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. &lt;/p&gt;&lt;h2&gt;What winners of the Solution Challenge receive&lt;/h2&gt;  &lt;p&gt;Participants will receive specialized prizes at different stages: &lt;/p&gt;  &lt;ol&gt; &lt;li&gt;&lt;strong&gt;The Top 50&lt;/strong&gt; teams will receive mentorship from Google and other experts to further work on their projects.  &lt;li&gt;&lt;strong&gt;The Top 10&lt;/strong&gt; 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. &lt;li&gt;&lt;strong&gt;The 3 Grand Prize Winners&lt;/strong&gt; will receive all the prizes included in the Top 10 category along with a Chromebook and a private team meeting with a Google executive. &lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;How to get started on the Solution Challenge &lt;/h2&gt; &lt;p&gt;There are four main steps to joining the Solution Challenge and getting started on your project: &lt;/p&gt;&lt;ol&gt; &lt;li&gt;&lt;strong&gt;Register&lt;/strong&gt; at &lt;a href="goo.gle/solutionchallenge"&gt;goo.gle/solutionchallenge&lt;/a&gt; and join a &lt;a href="https://dsc.community.dev/"&gt;Google Developer Student Club&lt;/a&gt; at your college or university. If there is no club at your university, you can join the closest one through the &lt;a href="https://dsc.community.dev/"&gt;event platform&lt;/a&gt;.  &lt;li&gt;&lt;strong&gt;Select&lt;/strong&gt; one or more of the &lt;a href="https://developers.google.com/community/dsc-solution-challenge/UN-goals"&gt;United Nations 17 Sustainable Development Goals&lt;/a&gt; to solve for.  &lt;li&gt;&lt;strong&gt;Build&lt;/strong&gt; a solution using Google technology.  &lt;li&gt;&lt;strong&gt;Create&lt;/strong&gt; a demo and submit your project &lt;strong&gt;by March 31, 2021&lt;/strong&gt;. &lt;/li&gt;&lt;/ol&gt; &lt;h2&gt;Resources from Google for Solution Challenge participants &lt;/h2&gt; &lt;p&gt;Google will provide Solution Challenge participants with various resources to help students build strong projects for their contest submission.  &lt;/p&gt;&lt;ul&gt; &lt;li&gt;Live online sessions with Q&amp;As  &lt;li&gt;Mentorship from Google, Google Developer Experts, and the Developer Student Club community  &lt;li&gt;Curated codelabs designed by Google Developers  &lt;li&gt;Access to Design Sprint guidelines developed by Google Ventures  &lt;li&gt;and more! &lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;When are winners announced?&lt;/h2&gt;  &lt;p&gt;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 &lt;a href="goo.gle/solutionchallenge"&gt;website&lt;/a&gt;. From there, winning solutions will be announced in three rounds.  &lt;/p&gt;&lt;p&gt;     &lt;strong&gt;Round 1 (May)&lt;/strong&gt;: The Top 50 teams will be announced. &lt;/p&gt;&lt;p&gt;     &lt;strong&gt;Round 2 (July)&lt;/strong&gt;: After the top 50 teams submit their new and improved solutions, 10 finalists will be announced.  &lt;/p&gt;&lt;p&gt;     &lt;strong&gt;Round 3 (August)&lt;/strong&gt;: In the finale, the top 3 grand prize winners will be announced live on YouTube during the 2021 Solution Challenge Demo Day.  &lt;/p&gt; &lt;center&gt; &lt;iframe width="560" height="315" src="https://www.youtube.com/embed/PgPF0JaTlkQ" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt; &lt;/center&gt;    &lt;p&gt;With a passion for building a better world, savvy coding skills, and a little help from Google technology, we can’t wait to see the solutions students create.  &lt;/p&gt;&lt;p&gt;Learn more and sign up for the 2021 Solution Challenge, &lt;a href="goo.gle/solutionchallenge"&gt;here&lt;/a&gt;.  &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/ABv6lgAV3Ow" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/7843384728816159938/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2021/01/solve-for-united-nations-sustainable.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/7843384728816159938" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/7843384728816159938" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/ABv6lgAV3Ow/solve-for-united-nations-sustainable.html" title="Solve for the United Nations’ Sustainable Development Goals with Google technologies in this year’s Solution Challenge. " /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-YimxMrHDPM4/X_3CyCQYBjI/AAAAAAAAJzs/f1_gs1AIkg058FMca8ve7GtQjQq3fFcUQCLcBGAsYHQ/s72-c/Screen%2BShot%2B2021-01-08%2Bat%2B12.38.37%2BPM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2021/01/solve-for-united-nations-sustainable.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-7609721211649773813</id><published>2021-01-07T12:30:00.004-08:00</published><updated>2021-01-07T12:30:05.010-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="actions on google" /><category scheme="http://www.blogger.com/atom/ns#" term="assistant" /><category scheme="http://www.blogger.com/atom/ns#" term="Local Home SDK" /><category scheme="http://www.blogger.com/atom/ns#" term="Smart Home" /><title type="text">Announcing New Smart Home App Discovery Features</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-Y52DR52L_C8/X_TKR-u08RI/AAAAAAAAJzc/Pbacpkv5WDkMEQwNIGhhV_1Ul9q91TJZQCLcBGAsYHQ/s0/Smart%2BHome%2BApp%2BFeatures.jpg"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-Y52DR52L_C8/X_TKR-u08RI/AAAAAAAAJzc/Pbacpkv5WDkMEQwNIGhhV_1Ul9q91TJZQCLcBGAsYHQ/s0/Smart%2BHome%2BApp%2BFeatures.jpg"&gt; &lt;p&gt;&lt;em&gt;Posted by Toni Klopfenstein, Developer Advocate&lt;/em&gt;&lt;/p&gt; &lt;p&gt;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.  &lt;/p&gt;&lt;p&gt;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 &lt;a href="https://console.actions.google.com/"&gt;Actions Console&lt;/a&gt; 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.  &lt;/p&gt;&lt;p&gt;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. &lt;/p&gt;&lt;p&gt;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.   &lt;/p&gt;&lt;p&gt;To implement App Discovery and Deep Linking for your Smart Home Action, check out the &lt;a href="https://developers.google.com/assistant/smarthome/develop/setup"&gt;developer documents&lt;/a&gt;, or watch the video covering these new features. &lt;/p&gt; &lt;center&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/Lgvxnq9C6JM" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;&lt;/center&gt; &lt;p&gt;You can also check out the &lt;a href="https://developers.google.com/assistant/smarthome/codelabs"&gt;smart home codelabs&lt;/a&gt; if you are just starting to build out your Action.  &lt;/p&gt;&lt;p&gt;We want to hear from you, so continue sharing your feedback with us through the &lt;a href="https://issuetracker.google.com/issues/new?component=655104&amp;template=1284327"&gt;issue tracker&lt;/a&gt;, and engage with other smart home developers in the &lt;a href="https://www.reddit.com/r/GoogleAssistantDev"&gt;/r/GoogleAssistantDev&lt;/a&gt; community. Follow &lt;a href="https://twitter.com/ActionsOnGoogle"&gt;@ActionsOnGoogle&lt;/a&gt; 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! &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/afCiRWJw4lE" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/7609721211649773813/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2021/01/announcing-new-smart-home-app-discovery-features.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/7609721211649773813" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/7609721211649773813" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/afCiRWJw4lE/announcing-new-smart-home-app-discovery-features.html" title="Announcing New Smart Home App Discovery Features" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-Y52DR52L_C8/X_TKR-u08RI/AAAAAAAAJzc/Pbacpkv5WDkMEQwNIGhhV_1Ul9q91TJZQCLcBGAsYHQ/s72-c/Smart%2BHome%2BApp%2BFeatures.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2021/01/announcing-new-smart-home-app-discovery-features.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-7038361515906650714</id><published>2020-12-17T09:00:00.001-08:00</published><updated>2020-12-17T09:00:32.043-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="accelerator" /><category scheme="http://www.blogger.com/atom/ns#" term="AI" /><category scheme="http://www.blogger.com/atom/ns#" term="google for startups" /><category scheme="http://www.blogger.com/atom/ns#" term="startups" /><category scheme="http://www.blogger.com/atom/ns#" term="voice" /><title type="text">A Google for Startups Accelerator for startups using voice technology to better the world</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-TuJcT_sG6HU/X9uNenmRWXI/AAAAAAAAJyk/OhLDxfyYccw-1mpHab3yUteQJ0oMlwk3wCLcBGAsYHQ/s0/Bootcamp%2B2020%2B012.jpg"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-TuJcT_sG6HU/X9uNenmRWXI/AAAAAAAAJyk/OhLDxfyYccw-1mpHab3yUteQJ0oMlwk3wCLcBGAsYHQ/s0/Bootcamp%2B2020%2B012.jpg"&gt; &lt;p&gt;&lt;em&gt;Posted by &lt;a href="https://twitter.com/jason_a_scott"&gt;Jason Scott&lt;/a&gt;, Head of Startup Developer Ecosystem, U.S., Google&lt;/em&gt;&lt;/p&gt; &lt;p&gt;At Google, we have long understood that voice user interfaces can help millions of people accomplish their goals more effectively. Our journey in voice began in 2008 with Voice Search -- with notable milestones since, such as building our first deep neural network in 2012, our first sequence-to-sequence network in 2015, launching Google Assistant in 2016, and processing speech fully on device in 2019. These building blocks have enabled the unique voice experiences across Google products that our users rely on everyday.  &lt;/p&gt;&lt;p&gt;Voice AI startups play a key role in helping build and deliver innovative voice-enabled experiences to users. And, Google is committed to helping tech startups deliver high impact solutions in the voice space. This month, we are excited to announce the &lt;a href="https://developers.google.com/community/accelerators/voice"&gt;Google for Startups Accelerator: Voice AI&lt;/a&gt; program, which will bring together the best of Google’s programs, products, people and technology with a joint mission to advance and support the most promising voice-enabled AI startups across North America. &lt;/p&gt;&lt;p&gt;As part of this Google for Startups Accelerator, selected startups will be paired with experts to help tackle the top technical challenges facing their startup. With an emphasis on product development and machine learning, founders will connect with voice technology and AI/ML experts from across Google to take their innovative solutions to the next level. &lt;/p&gt;&lt;p&gt;We are proud to launch our first ever Google for Startups Accelerator: Voice AI -- building upon Google’s longstanding efforts to advance the future of voice-based computing. The accelerator will kick off in March 2021, bringing together a cohort of 10 to 12 innovative voice technology startups. If this sounds like your startup, we'd love to hear from you. &lt;a href="https://developers.google.com/community/accelerators/voice"&gt;Applications are open&lt;/a&gt; until January 28, 2021. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/Vz1bNGsQOII" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/7038361515906650714/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2020/12/a-google-for-startups-accelerator.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/7038361515906650714" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/7038361515906650714" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/Vz1bNGsQOII/a-google-for-startups-accelerator.html" title="A Google for Startups Accelerator for startups using voice technology to better the world" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-TuJcT_sG6HU/X9uNenmRWXI/AAAAAAAAJyk/OhLDxfyYccw-1mpHab3yUteQJ0oMlwk3wCLcBGAsYHQ/s72-c/Bootcamp%2B2020%2B012.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2020/12/a-google-for-startups-accelerator.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-8298653312851466602</id><published>2020-12-16T10:04:00.000-08:00</published><updated>2020-12-16T10:04:05.561-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="featured" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Cloud Platform" /><category scheme="http://www.blogger.com/atom/ns#" term="Kotlin" /><category scheme="http://www.blogger.com/atom/ns#" term="Latest" /><title type="text">Announcing gRPC Kotlin 1.0 for Android and Cloud</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-JIFHaSXzWyI/X9lFmuFAg5I/AAAAAAAAJx4/uLytbtMdYuA7le3a6lkNlxhdUGA-Xx_VACLcBGAsYHQ/s0/grpc-kotlin-cloud-run%2B%25282%2529.gif"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-JIFHaSXzWyI/X9lFmuFAg5I/AAAAAAAAJx4/uLytbtMdYuA7le3a6lkNlxhdUGA-Xx_VACLcBGAsYHQ/s0/grpc-kotlin-cloud-run%2B%25282%2529.gif"&gt; &lt;p&gt;&lt;em&gt;Posted by Louis Wasserman, Software Engineer and James Ward, Developer Advocate &lt;/em&gt;&lt;p&gt; &lt;p&gt;Kotlin is &lt;a href="https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages-loved"&gt;now the fourth "most loved" programming language&lt;/a&gt; with millions of developers using it for Android, server-side / cloud backends, and various other target runtimes.  At Google, we've been building more of our apps and backends with Kotlin to take advantage of its expressiveness, safety, and excellent support for writing asynchronous code with coroutines.  &lt;/p&gt;&lt;p&gt;Since everything in Google runs on top of gRPC, we needed an idiomatic way to do gRPC with Kotlin.  Back in April 2020 &lt;a href="https://cloud.google.com/blog/products/application-development/use-grpc-with-kotlin"&gt;we announced the open sourcing of gRPC Kotlin&lt;/a&gt;, something we'd originally built for ourselves.  Since then we've seen over 30,000 downloads and usage in Android and Cloud.  The community and our engineers have been working hard polishing docs, squashing bugs, and making improvements to the project; culminating in the shiny new 1.0 release! Dive right in with the &lt;a href="https://grpc.io/docs/languages/kotlin/quickstart/"&gt;gRPC Kotlin Quickstart&lt;/a&gt;! &lt;/p&gt;&lt;p&gt;For those new to gRPC &amp; Kotlin let's do a quick runthrough of some of the awesomeness.  gRPC builds on Protocol Buffers, aka "protos" (language agnostic &amp; high performance data interchange) and adds the network protocol for efficiently communicating with protos.  From a proto definition the servers, clients, and data transfer objects can all be generated. Here is a simple gRPC proto: &lt;/p&gt;   &lt;pre class="prettyprint"&gt;message HelloRequest {&lt;br /&gt;  string name = 1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;message HelloReply {&lt;br /&gt;  string message = 1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;service Greeter {&lt;br /&gt;  rpc SayHello (HelloRequest) returns (HelloReply) {}&lt;br /&gt;}&lt;/pre&gt;  &lt;p&gt;In a Kotlin project you can then define the implementation of the Greeter's SayHello service with something like: &lt;/p&gt;   &lt;pre class="prettyprint"&gt;object : GreeterGrpcKt.GreeterCoroutineImplBase() {&lt;br /&gt;    override suspend fun sayHello(request: HelloRequest) =&lt;br /&gt;        HelloReply&lt;br /&gt;            .newBuilder()&lt;br /&gt;            .setMessage("hello, ${request.name}")&lt;br /&gt;            .build()&lt;br /&gt;}&lt;/pre&gt;  &lt;p&gt;You'll notice that the function has `suspend` on it because it uses Kotlin's coroutines, a built-in way to handle async / reactive IO. Check out &lt;a href="https://github.com/grpc/grpc-kotlin/tree/master/examples/server"&gt;the server example project&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;With gRPC the client "stubs" are generated making it easy to connect to gRPC services.  For the protoc above, the client stub can be used in Kotlin with: &lt;/p&gt;   &lt;pre class="prettyprint"&gt;val stub = GreeterCoroutineStub(channel)&lt;br /&gt;val request = HelloRequest.newBuilder().setName("world").build()&lt;br /&gt;val response = stub.sayHello(request)&lt;br /&gt;println("Received: ${response.message}")&lt;/pre&gt;  &lt;p&gt;In this example the `sayHello` method is also a `suspend` function utilizing Kotlin coroutines to make the reactive IO easier. Check out &lt;a href="https://github.com/grpc/grpc-kotlin/tree/master/examples/client"&gt;the client example project&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Kotlin also has an API for doing reactive IO on streams (as opposed to requests), called Flow.  gRPC Kotlin generates client and server stubs using the Flow API for stream inputs and outputs.  The proto can define a service with unary streaming or bidirectional streaming, like: &lt;/p&gt;   &lt;pre class="prettyprint"&gt;service Greeter {&lt;br /&gt;  rpc SayHello (stream HelloRequest) returns (stream HelloReply) {}&lt;br /&gt;}&lt;/pre&gt;  &lt;p&gt;In this example, the server's `sayHello` can be implemented with Flows: &lt;/p&gt;   &lt;pre class="prettyprint"&gt;object : GreeterGrpcKt.GreeterCoroutineImplBase() {&lt;br /&gt;  override fun sayHello(requests: Flow&amp;lt;HelloRequest&gt;): Flow&amp;lt;HelloReply&gt; {&lt;br /&gt;    return requests.map { request -&gt;&lt;br /&gt;      println(request)&lt;br /&gt;      HelloReply.newBuilder().setMessage("hello, ${request.name}").build()&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;/pre&gt;  &lt;p&gt;This example just transforms each `HelloRequest` item on the flow to an item in the output / `HelloReply` Flow. &lt;/p&gt;&lt;p&gt;The bidirectional stream client is similar to the coroutine one but instead it passes a Flow to the `sayHello` stub method and then operates on the returned Flow: &lt;/p&gt;   &lt;pre class="prettyprint"&gt;val stub = GreeterCoroutineStub(channel)&lt;br /&gt;val helloFlow = flow {&lt;br /&gt;  while(true) {&lt;br /&gt;    delay(1000)&lt;br /&gt;    emit(HelloRequest.newBuilder().setName("world").build())&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;stub.sayHello(helloFlow).collect { helloResponse -&gt;&lt;br /&gt;  println(helloResponse.message)&lt;br /&gt;}&lt;/pre&gt;  &lt;p&gt;In this example the client sends a `HelloRequest` to the server via Flow, once per second.  When the client gets items on the output Flow, it just prints them. Check out &lt;a href="https://github.com/GoogleCloudPlatform/kotlin-samples/tree/master/run/grpc-hello-world-bidi-streaming"&gt;the bidi-streaming example project&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;As you've seen, creating data transfer objects and services around them is made elegant and easy with gRPC Kotlin.  But there are a few other exciting things we can do with this... &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Android Clients&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Protobuf compilers can have a "lite" mode which generates smaller, higher performance classes which are more suitable for Android.  Since gRPC Kotlin uses gRPC Java it inherits the benefits of gRPC Java's lite mode.  The generated code works great on Android and there is a `grpc-kotlin-stub-lite` artifact which depends on the associated `grpc-protobuf-lite`.  Using the generated Kotlin stub client is just like on the JVM. Check out the &lt;a href="https://github.com/grpc/grpc-kotlin/tree/master/examples/client"&gt;stub-android example&lt;/a&gt; and &lt;a href="https://github.com/grpc/grpc-kotlin/tree/master/examples/android"&gt;android example&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;GraalVM Native Image Clients&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The gRPC lite mode is also a great fit for GraalVM Native Image which turns JVM-based applications into ahead-of-time compiled native images, i.e. they run without a JVM.  These applications can be smaller, use less memory, and start much faster so they are a good fit for auto-scaling and Command Line Interface environments. Check out &lt;a href="https://github.com/grpc/grpc-kotlin/tree/master/examples/native-client"&gt;the native-client example project&lt;/a&gt; which produces a nice &amp; small 14MB executable client app (no JVM needed) and starts, connects to the server, makes a request, handles the response, and exits in under 1/100th of a second using only 18MB of memory. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Google Cloud Ready&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Backend services created with gRPC Kotlin can easily be packaged for deployment in Kubernetes, Cloud Run, or really anywhere you can run docker containers or JVM apps.  &lt;a href="http://cloud.google.com/run"&gt;Cloud Run&lt;/a&gt; is a cloud service that runs docker containers and scales automatically based on demand so you only pay when your service is handling requests. If you'd like to give a gRPC Kotlin service a try on Cloud Run: &lt;/p&gt;&lt;ol&gt; &lt;li&gt;&lt;a href="https://deploy.cloud.run/?dir=run/grpc-hello-world-mvn&amp;git_repo=https://github.com/GoogleCloudPlatform/kotlin-samples.git "&gt;Deploy the app with a few clicks&lt;/a&gt; &lt;li&gt;In Cloud Shell, run the client to connect to your app on the cloud:        &lt;pre class="prettyprint"&gt;export PROJECT_ID=PUT_YOUR_PROJECT_ID_HERE&lt;br /&gt;docker run -it gcr.io/$PROJECT_ID/grpc-hello-world-mvn \&lt;br /&gt;"java -cp target/classes:target/dependency/* io.grpc.examples.helloworld.HelloWorldClientKt YOUR_CLOUD_RUN_DOMAIN_NAME"&lt;/pre&gt;  &lt;/li&gt;&lt;/ol&gt;&lt;br&gt;&lt;p&gt;Here is a video of what that looks like: &lt;/p&gt; &lt;center&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-JIFHaSXzWyI/X9lFmuFAg5I/AAAAAAAAJx4/uLytbtMdYuA7le3a6lkNlxhdUGA-Xx_VACLcBGAsYHQ/s0/grpc-kotlin-cloud-run%2B%25282%2529.gif" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="" border="0" data-original-height="720" data-original-width="1280" src="https://1.bp.blogspot.com/-JIFHaSXzWyI/X9lFmuFAg5I/AAAAAAAAJx4/uLytbtMdYuA7le3a6lkNlxhdUGA-Xx_VACLcBGAsYHQ/s0/grpc-kotlin-cloud-run%2B%25282%2529.gif"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;/center&gt; &lt;p id="imgCaption"&gt; Check out &lt;a href="https://github.com/GoogleCloudPlatform/kotlin-samples/tree/master/run"&gt; more Cloud Run gRPC Kotlin examples    &lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Thank You!&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;We are super excited to have reached 1.0 for gRPC Kotlin and are incredibly grateful to everyone who filed bugs, sent pull requests, and gave the pre-releases a try!  There is still more to do, so if you want to help or follow along, &lt;a href="https://github.com/grpc/grpc-kotlin"&gt;check out the project on GitHub&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Also huge shoutouts to Brent Shaffer, Patrice Chalin, David Winer, Ray Tsang, Tyson Henning, and Kevin Bierhoff for all their contributions to this release! &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/g3yD6nUX3ZM" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/8298653312851466602/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2020/12/announcing-grpc-kotlin-10-for-android.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/8298653312851466602" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/8298653312851466602" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/g3yD6nUX3ZM/announcing-grpc-kotlin-10-for-android.html" title="Announcing gRPC Kotlin 1.0 for Android and Cloud" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-JIFHaSXzWyI/X9lFmuFAg5I/AAAAAAAAJx4/uLytbtMdYuA7le3a6lkNlxhdUGA-Xx_VACLcBGAsYHQ/s72-c/grpc-kotlin-cloud-run%2B%25282%2529.gif" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2020/12/announcing-grpc-kotlin-10-for-android.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-955131067451403434</id><published>2020-12-16T09:13:00.011-08:00</published><updated>2020-12-16T10:23:16.107-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="featured" /><category scheme="http://www.blogger.com/atom/ns#" term="google assistant" /><category scheme="http://www.blogger.com/atom/ns#" term="Latest" /><title type="text">2020 Google Assistant developer Year in Review</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-FMZkRkFU37E/X9pQCIhmW2I/AAAAAAAAJyQ/0r07eLvXnM4TPagTZPuMHtNmDhT-MkyRQCLcBGAsYHQ/s0/December_header_images-07.png"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-FMZkRkFU37E/X9pQCIhmW2I/AAAAAAAAJyQ/0r07eLvXnM4TPagTZPuMHtNmDhT-MkyRQCLcBGAsYHQ/s0/December_header_images-07.png"&gt; &lt;p&gt;&lt;em&gt;Posted by Payam Shodjai, Director, Product Management Google Assistant &lt;/em&gt;&lt;p&gt;    &lt;p&gt;With 2020 coming to a close, we wanted to reflect on everything we have launched this year to help you, our developers and partners, create powerful voice experiences with Google Assistant.  &lt;/p&gt;&lt;p&gt;Today, many top brands and developers turn to Google Assistant to help users get things done on their phones and on Smart Displays. Over the last year, the number of Actions built by third-party developers has more than doubled. Below is a snapshot of some of our partners who’ve integrated with Google Assistant:  &lt;/p&gt;  &lt;center&gt; &lt;a href="https://1.bp.blogspot.com/-qMJYvTXEFJw/X9pQYhps5dI/AAAAAAAAJyY/d6Zp1e1cfZophtLuYAruXa65-BSTVYxWwCLcBGAsYHQ/s0/NASCAR%2BWEBSITE_2.jpg" imageanchor="1" &gt;&lt;img style="width100%"id=imgFull border="0" src="https://1.bp.blogspot.com/-qMJYvTXEFJw/X9pQYhps5dI/AAAAAAAAJyY/d6Zp1e1cfZophtLuYAruXa65-BSTVYxWwCLcBGAsYHQ/s0/NASCAR%2BWEBSITE_2.jpg" data-original-width="1058" data-original-height="714" /&gt;&lt;/a&gt;&lt;/center&gt; &lt;h2&gt;2020 Highlights&lt;/h2&gt; &lt;p&gt;Below are a few highlights of what we have launched in 2020: &lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. Integrate your Android mobile Apps with Google Assistant &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://developers.google.com/assistant/app/overview"&gt;App Actions&lt;/a&gt; allow your users to jump right into existing functionality in your Android app with the help of Google Assistant. It makes it easier for users to find what they're looking for in your app in a natural way by using their voice. We take care of all the Natural Language Understanding (NLU) processing, making it easy to develop in only a few days.  In 2020, we announced that App Actions are now available for all Android developers to voicify their apps and integrate with Google Assistant.  &lt;/p&gt;&lt;p&gt;For common tasks such as opening your apps, opening specific pages in your apps or searching within apps, we introduced  &lt;a href="https://developers.google.com/assistant/app/reference/built-in-intents/common"&gt;Common Intents&lt;/a&gt;. For a deeper integration, we’ve expanded our &lt;a href="https://developers.google.com/assistant/app/intents"&gt;vertical-specific built-in intents (BIIs)&lt;/a&gt;, to cover more than 60 intents across 10 verticals, adding new categories like Social, Games, Travel &amp; Local, Productivity, Shopping and Communications. &lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;For cases where there isn't a built-in intent for your app functionality, you can instead create &lt;a href="https://developers.google.com/assistant/app/custom-intents"&gt;custom intents&lt;/a&gt; that are unique to your Android app. Like BIIs, custom intents follow the actions.xml schema and act as connection points between Assistant and your defined fulfillments. &lt;/p&gt;&lt;p&gt;Learn more about how to integrate your app with Google Assistant &lt;a href="https://developers.google.com/assistant/app"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;2. Create new experiences for Smart Displays &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;We also announced new developer tools to help you build high quality, engaging experiences to reach users at home by building for  Smart Displays. &lt;/p&gt;&lt;p&gt;&lt;a href="https://developers.googleblog.com/2020/06/announcing-actions-builder-actions-sdk.html"&gt;Actions Builder&lt;/a&gt; is a new web-based IDE that provides a graphical interface to show the entire conversation flow. It allows you to manage Natural Language Understanding (NLU) training data and provides advanced debugging tools. And, it is fully integrated into the Actions Console so you can now build, debug, test, release, and analyze your Actions - all in one place. &lt;/p&gt;&lt;p&gt;&lt;a href="https://developers.googleblog.com/2020/06/announcing-actions-builder-actions-sdk.html"&gt;Actions SDK&lt;/a&gt;, a file based representation of your Action and the ability to use a local IDE. The SDK not only enables local authoring of NLU and conversation schemas, but it also allows bulk import and export of training data to improve conversation quality. The Actions SDK is accompanied by a command line interface, so you can build and manage an Action fully in code using your favorite source control and continuous integration tools. &lt;/p&gt;&lt;p&gt;&lt;a href="https://developers.google.com/assistant/interactivecanvas"&gt;Interactive Canvas&lt;/a&gt; allows you to add visual, immersive experiences to Conversational Actions. We announced the expansion of Interactive Canvas to support Storytelling and Education verticals earlier this year.  &lt;/p&gt;&lt;p&gt;&lt;a href="https://developers.google.com/assistant/games/tech-access"&gt;Continuous Match Mode&lt;/a&gt; allows the Assistant to respond immediately to a user’s speech for more fluid experiences by recognizing defined words and phrases set by you.  &lt;/p&gt;&lt;p&gt;We also created a central hub for you to find &lt;a href="https://developers.google.com/assistant/games"&gt;resources to build games on Smart Displays&lt;/a&gt;. This site is filled with a game design playbook, interviews with game creators, code samples, tools access, and everything you need to create awesome games for smart displays. &lt;/p&gt;&lt;p&gt;&lt;a href="https://developers.google.com/assistant/conversational/testing#automated_testing"&gt;Actions API&lt;/a&gt; provides a new programmatic way to test your critical user journeys more thoroughly and effectively,  to help you ensure your Action's conversations run smoothly. &lt;/p&gt;&lt;p&gt;The &lt;a href="https://developers.google.com/assistant/conversational/dialogflow-to-builder"&gt;Dialogflow migration tool&lt;/a&gt; inside the Actions Console automates much of the work to move projects to the new and improved Actions Builder tool. &lt;/p&gt;&lt;p&gt;We also worked with partners such as Voiceflow and &lt;a href="https://www.jovo.tech/tutorials/google-conversational-actions-getting-started?utm_source=dev_newsletter&amp;utm_medium=email&amp;utm_campaign=november_2020&amp;utm_term=see_tutorial_cta"&gt;Jovo&lt;/a&gt;, to launch integrations to support voice application development on the Assistant. This effort is part of our commitment to enable you to leverage your favorite development tools, while building for Google Assistant. &lt;/p&gt;&lt;p&gt;We launched several other new features that help you build high quality experiences for the home, such as Media APIs, new and improved voices (available in Actions Console), &lt;a href="https://developers.google.com/assistant/conversational/storage-home"&gt;home storage API&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Get started building for Smart Displays &lt;a href="https://developers.google.com/assistant/interactivecanvas"&gt;here&lt;/a&gt;.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;3. Discovery features &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Once you build high quality Actions, you are ready for your users to discover them. We have designed new touch points to help your users easily learn about your Actions..  &lt;/p&gt;&lt;p&gt;For example, on Android mobile, we’ll be recommending relevant Apps Actions even when the user doesn't mention the app’s name explicitly by showing suggestions. Google Assistant will also be suggesting apps proactively, depending on individual app usage patterns. Android mobile users will also be able to &lt;a href="https://blog.google/products/assistant/hey-google-now-works-your-android-apps/"&gt;customize their experience&lt;/a&gt;, creating their own way to automate their most common tasks with app shortcuts, enabling people to set up quick phrases to enable app functions they frequently use. By simply saying "Hey Google, shortcuts", they can set up and explore suggested shortcuts in the settings screen. We’ll also make proactive suggestions for shortcuts throughout Google Assistants’ mobile experience, tailored to how you use your phone. &lt;/p&gt;&lt;p&gt;&lt;a href="https://developers.google.com/assistant/engagement/assistant-links"&gt;Assistant Links&lt;/a&gt; deep link to your conversational Action to deliver rich Google Assistant experiences to your websites, so you can send your users directly to your conversational Actions from anywhere on the web. &lt;/p&gt;&lt;p&gt;We also recently opened two new built-in intents (BIIs) for public registration: Education and Storytelling. Registering your Actions for these intents allows your users to discover them in a simple, natural way through general requests to Google Assistant on Smart Displays. People will then be able to say "Hey Google, teach me something new" and they will be presented with a browsable selection of  different education experiences. For stories, users can simply say "Hey Google, tell me a story".  &lt;/p&gt;&lt;p&gt;We know you build personalized and premium experience for your users, and need to make it easy for them to connect their accounts to your Actions. To help streamline this process we opened two betas for improved account linking flows that will allow simple, streamlined authentication via apps. &lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="https://developers.google.com/assistant/identity/link-with-google"&gt;Link with Google&lt;/a&gt; enables anyone with an Android or iOS app where they are already logged in to complete the linking flow with just a few clicks, without needing to re-enter credentials.  &lt;li&gt;&lt;a href="https://developers.googleblog.com/search/label/google%20assistant"&gt;App Flip&lt;/a&gt; helps you build a better mobile account linking experience, so your users can seamlessly link their accounts to Google without having to re-enter their credentials. &lt;/li&gt;&lt;/ul&gt;    &lt;h2&gt;What to expect in 2021&lt;/h2&gt; &lt;p&gt;Looking ahead, we will double down on enabling you, our developers and partners to build great experiences for GoogleAssistant and help you reach your users on the go and at home. You can expect to hear more from us on how we are improving the Google Assistant experience to make it easy for Android developers to integrate their Android app with Google Assistant and also help developers achieve success through discovery and monetization. &lt;/p&gt;&lt;p&gt;We are excited to see what you will build with these new features and tools. Thank you for being a part of the Google Assistant ecosystem. We can’t wait to launch even more features and tools for Android developers and Smart Display experiences in 2021. &lt;/p&gt;&lt;p&gt;Want to stay in the know with announcements from the Google Assistant team? Sign up for our monthly developer newsletter &lt;a href="https://assistant.google.com/developer/"&gt;here&lt;/a&gt;.  &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/sNeCwywk8tU" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/955131067451403434/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2020/12/2020-google-assistant-developer-year-in.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/955131067451403434" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/955131067451403434" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/sNeCwywk8tU/2020-google-assistant-developer-year-in.html" title="2020 Google Assistant developer Year in Review" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-FMZkRkFU37E/X9pQCIhmW2I/AAAAAAAAJyQ/0r07eLvXnM4TPagTZPuMHtNmDhT-MkyRQCLcBGAsYHQ/s72-c/December_header_images-07.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2020/12/2020-google-assistant-developer-year-in.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-3656158867289335900</id><published>2020-12-14T10:31:00.002-08:00</published><updated>2020-12-14T12:22:52.151-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google Developer Experts" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Workspace Developer" /><title type="text">Meet the Google Workspace Developer Experts</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-in5okzHrHjE/X9P8QWii76I/AAAAAAAAJw8/DUddB6RIUT84EAbmlvEuPtZkgmo1JeP3ACLcBGAsYHQ/s0/DSC03462.jpg"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-in5okzHrHjE/X9P8QWii76I/AAAAAAAAJw8/DUddB6RIUT84EAbmlvEuPtZkgmo1JeP3ACLcBGAsYHQ/s0/DSC03462.jpg"&gt; &lt;em&gt;Posted by Charles Maxson, Developer Advocate, Google Cloud&lt;/em&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-in5okzHrHjE/X9P8QWii76I/AAAAAAAAJw8/DUddB6RIUT84EAbmlvEuPtZkgmo1JeP3ACLcBGAsYHQ/s0/DSC03462.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Group of people" border="0" data-original-height="1067" data-original-width="1600" src="https://1.bp.blogspot.com/-in5okzHrHjE/X9P8QWii76I/AAAAAAAAJw8/DUddB6RIUT84EAbmlvEuPtZkgmo1JeP3ACLcBGAsYHQ/s0/DSC03462.jpg"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Superheroes are well known for wearing capes, fighting villains and looking to save the world from evil. There also are superheroes that quietly choose to use their super powers to explain technology to new users, maintain community forums, write blog posts, speak at events, host video series, create demos, share sample code and more. All in the name of helping other developers become more successful by learning new skills, delivering better apps, and ultimately enhancing their careers. At Google, we refer to the latter category of superheroes as &lt;a href="https://developers.google.com/community/experts/directory"&gt;Google Developer Experts&lt;/a&gt; or “GDEs” for short.  &lt;/p&gt;&lt;p&gt;The &lt;a href="https://developers.google.com/community/experts"&gt;Google Developer Experts program&lt;/a&gt; is a global network of deeply experienced technology experts, thought leaders and influencers who actively support developer communities around the world, sharing their knowledge and enthusiasm for a wide range of topic areas from Android to Angular to Google Assistant to Google Cloud – and of course, Google Workspace. Mindful that all GDEs are volunteers who not only give their time freely to support others, they also help improve our products by offering their insightful feedback, heavily testing new features often before they are released, all the while helping expand both use cases and audiences along the way.  &lt;/p&gt;&lt;p&gt;With the Google Workspace GDE community including members from more than a dozen countries around the world, we wanted to ask Google Workspace Developer experts what excites them about building on Google Workspace, and why they do what they do as our &lt;strong&gt;superheroes&lt;/strong&gt; helping others become better Google Workspace developers. Here’s what a few of these experts had to say:  &lt;/p&gt;&lt;p&gt;&lt;h2&gt;&lt;strong&gt;&lt;em&gt;Google Workspace GDEs spanning the globe&lt;/em&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt; &lt;div&gt;&lt;a href="https://1.bp.blogspot.com/-IISkUIR_YTs/X9PSUpBoTBI/AAAAAAAAJuk/oxGlpu0YL3kE8HjxqE9eLyV8RfZ4RKFXACLcBGAsYHQ/s0/Alex%2BKeeler%2Bsquare.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img id="floatLeft" style="width:30%; padding:0 1em 1em 0;" alt="Alice Keeler" border="0" data-original-height="225" data-original-width="225" src="https://1.bp.blogspot.com/-IISkUIR_YTs/X9PSUpBoTBI/AAAAAAAAJuk/oxGlpu0YL3kE8HjxqE9eLyV8RfZ4RKFXACLcBGAsYHQ/s0/Alex%2BKeeler%2Bsquare.png"/&gt;&lt;/a&gt;&lt;blockquote&gt;&lt;em&gt;“Workspace has allowed me to create innovative solutions for teacher workflows that save them significant time and/or allow teachers to use workspace more effectively with their students.”&lt;/em&gt;  &lt;p&gt;&lt;strong&gt;- Alice Keeler&lt;/strong&gt; (&lt;a href="https://twitter.com/alicekeeler"&gt;@alicekeeler&lt;/a&gt;), Kansas, US&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;  &lt;div&gt;&lt;a href="https://1.bp.blogspot.com/-H0wZSLgnMiw/X9PJ56Y63LI/AAAAAAAAJuI/c12l8TgvGbsDTWNv-COfTuTi_N0tmG68gCLcBGAsYHQ/s0/AmitAgarwal.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img id="floatLeft" style="width:30%; padding:0 1em 1em 0;" alt="Amit Agarwal" border="0" data-original-height="225" data-original-width="225" src="https://1.bp.blogspot.com/-H0wZSLgnMiw/X9PJ56Y63LI/AAAAAAAAJuI/c12l8TgvGbsDTWNv-COfTuTi_N0tmG68gCLcBGAsYHQ/s0/AmitAgarwal.jpg"/&gt;&lt;/a&gt;  &lt;blockquote&gt;&lt;em&gt;“There's no learning curve for users and it's hard to think of a problem you cannot solve with Google Apps Script.”&lt;/em&gt;    &lt;p&gt;&lt;strong&gt;- Amit Agarwal&lt;/strong&gt;	(&lt;a href="https://twitter.com/labnol"&gt;@labnol&lt;/a&gt;), India&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;  &lt;div&gt;&lt;a href="https://1.bp.blogspot.com/-6dWBlmNJSEY/X9PTyUc6hsI/AAAAAAAAJuw/ZdwlgA_LHDIeRo_hnwI91-QzNEyopS39wCLcBGAsYHQ/s96/Andrew%2BRoberts.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img id="floatLeft" style="width:30%; padding:0 1em 1em 0;" alt="Andrew Roberts" border="0" data-original-height="225" data-original-width="225" src="https://1.bp.blogspot.com/-6dWBlmNJSEY/X9PTyUc6hsI/AAAAAAAAJuw/ZdwlgA_LHDIeRo_hnwI91-QzNEyopS39wCLcBGAsYHQ/s96/Andrew%2BRoberts.png"/&gt;&lt;/a&gt;  &lt;blockquote&gt;&lt;em&gt;“The accessibility and ubiquity of Google Workspace, and more specifically customization with Apps Script, has kept me working (and in work!) as a freelance Apps Script developer since 2013!”&lt;/em&gt;    &lt;p&gt;&lt;strong&gt;- Andrew Roberts&lt;/strong&gt; (&lt;a href="https://twitter.com/andrewroberts6"&gt;@andrewroberts6&lt;/a&gt;), Llanwrda, Wales, UK&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt; &lt;div&gt;&lt;a href="https://1.bp.blogspot.com/-6-u1CUGIqYA/X9PVyjoa7_I/AAAAAAAAJu8/EJ-pphzICioNQwVEZep_cPAQ4m-1FQQCgCLcBGAsYHQ/s0/Ben%2BCollins.jpg" style="display: block; padding: 0em 0; text-align: center; "&gt;&lt;img id="floatLeft" style="width:30%; padding:0 1em 1em 0;" alt="Ben Collins" border="0" data-original-height="225" data-original-width="225" src="https://1.bp.blogspot.com/-6-u1CUGIqYA/X9PVyjoa7_I/AAAAAAAAJu8/EJ-pphzICioNQwVEZep_cPAQ4m-1FQQCgCLcBGAsYHQ/s0/Ben%2BCollins.jpg"/&gt;&lt;/a&gt;  &lt;blockquote&gt;&lt;em&gt;“There are two things I love about Google Workspace. First, everything is in the cloud, so it's accessible anywhere and easily shared. And second, the integrations between different Workspace tools and third-party tools are super easy to work with. My data can move automatically between different applications and save me from tedious manual workflows.”&lt;/em&gt;    &lt;p&gt;&lt;strong&gt;- Ben Collins&lt;/strong&gt;	(&lt;a href="https://twitter.com/benlcollins"&gt;@benlcollins&lt;/a&gt;), East Coast, US&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt; &lt;div&gt;&lt;a href="https://1.bp.blogspot.com/-L1NymBzvok4/X9PXD8HI46I/AAAAAAAAJvE/6aE-hlEMprAEWcYfYM9TPoDyMOPBxAdJwCLcBGAsYHQ/s0/Cleo%2BEspiritu.jpg" style="display: block; padding: 0em 0; text-align: center; "&gt;&lt;img id="floatLeft" style="width:30%; padding:0 1em 1em 0;" alt="Cleo Espiritu" border="0" data-original-height="225" data-original-width="225" src="https://1.bp.blogspot.com/-L1NymBzvok4/X9PXD8HI46I/AAAAAAAAJvE/6aE-hlEMprAEWcYfYM9TPoDyMOPBxAdJwCLcBGAsYHQ/s0/Cleo%2BEspiritu.jpg"/&gt;&lt;/a&gt;  &lt;blockquote&gt;&lt;em&gt;“Workspace allows anyone with an idea to create impactful solutions to solving problems, and I love showing beginners with little or no coding experience that they are empowered to build digital solutions!”&lt;/em&gt;    &lt;p&gt;&lt;strong&gt;- Cleo Espiritu&lt;/strong&gt;	(&lt;a href="https://twitter.com/cinfourthirds"&gt;@cinfourthirds&lt;/a&gt;), Canada&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt; &lt;div&gt;&lt;a href="https://1.bp.blogspot.com/-kJeMNm-LlpI/X9PYjD2YvjI/AAAAAAAAJvQ/jvoI5LeOJYouC914RpM0orxsmAiV4_92wCLcBGAsYHQ/s0/Ivan%2BKutil.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img id="floatLeft" style="width:30%; padding:0 1em 1em 0;" alt="Ivan Kutil" border="0" data-original-height="225" data-original-width="225" src="https://1.bp.blogspot.com/-kJeMNm-LlpI/X9PYjD2YvjI/AAAAAAAAJvQ/jvoI5LeOJYouC914RpM0orxsmAiV4_92wCLcBGAsYHQ/s0/Ivan%2BKutil.jpg"/&gt;&lt;/a&gt;  &lt;blockquote&gt;&lt;em&gt;“I love Google Workspace due to Google Apps Script. It has been a 100% serverless platform since 2009 for automation, extension and integration. I have developed many personal and work applications.”&lt;/em&gt;    &lt;p&gt;&lt;strong&gt;- Ivan Kutil&lt;/strong&gt;	(&lt;a href="https://twitter.com/ivankutil"&gt;@ivankutil&lt;/a&gt;), Prague, Czech Republis&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt; &lt;div&gt;&lt;a href="https://1.bp.blogspot.com/-jniPjjj4yZQ/X9PY90vvZkI/AAAAAAAAJvY/0pI-u_r7kTMpNyrPSMY3ZaiVG7Of9-s4gCLcBGAsYHQ/s0/Jeremy%2BGlassenberg.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img id="floatLeft" style="width:30%; padding:0 1em 1em 0;" alt="Jeremy Glassenberg" border="0" data-original-height="225" data-original-width="225" src="https://1.bp.blogspot.com/-jniPjjj4yZQ/X9PY90vvZkI/AAAAAAAAJvY/0pI-u_r7kTMpNyrPSMY3ZaiVG7Of9-s4gCLcBGAsYHQ/s0/Jeremy%2BGlassenberg.jpg"/&gt;&lt;/a&gt;  &lt;blockquote&gt;&lt;em&gt;“With Add-Ons and Apps Script, Google Workspace goes above and beyond in enabling a customized experience across the most common professional tools - and makes them accessible regardless of the device I'm using.”&lt;/em&gt;    &lt;p&gt;&lt;strong&gt;- Jeremy Glassenberg&lt;/strong&gt;	(&lt;a href="https://twitter.com/jglassenberg"&gt;@jglassenberg&lt;/a&gt;), San Francisco, CA&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt; &lt;div&gt;&lt;a href="https://1.bp.blogspot.com/-bSesOUIl7aA/X9PcCpVHvnI/AAAAAAAAJvs/KMidAtxF7SgVLhD5to_z4SPZQ8DXV-1jgCLcBGAsYHQ/s0/xu6aptqy6a8rb2h2w5by_200x200.jpeg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img id="floatLeft" style="width:30%; padding:0 1em 1em 0;" alt="Martin Hawksey" border="0" data-original-height="225" data-original-width="225" src="https://1.bp.blogspot.com/-bSesOUIl7aA/X9PcCpVHvnI/AAAAAAAAJvs/KMidAtxF7SgVLhD5to_z4SPZQ8DXV-1jgCLcBGAsYHQ/s0/xu6aptqy6a8rb2h2w5by_200x200.jpeg"/&gt;&lt;/a&gt;  &lt;blockquote&gt;&lt;em&gt;“With Google Workspace we can all become both smarter and more productive. The joy of developing in Google Workspace is often powerful solutions can be a couple lines of code, and increasingly no code at all.”&lt;/em&gt;    &lt;p&gt;&lt;strong&gt;- Martin Hawksey&lt;/strong&gt;	(&lt;a href="https://twitter.com/mhawksey"&gt;@mhawksey&lt;/a&gt;), Scotland, UK&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt; &lt;div&gt;&lt;a href="https://1.bp.blogspot.com/-bys9JT-qFFw/X9PbvZq_26I/AAAAAAAAJvk/we2sluQTTi8lwei9BkNACA3-HlrTzFezgCLcBGAsYHQ/s0/Martin%2BBrawer.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img id="floatLeft" style="width:30%; padding:0 1em 1em 0;" alt="Max Brawer" border="0" data-original-height="225" data-original-width="225" src="https://1.bp.blogspot.com/-bys9JT-qFFw/X9PbvZq_26I/AAAAAAAAJvk/we2sluQTTi8lwei9BkNACA3-HlrTzFezgCLcBGAsYHQ/s0/Martin%2BBrawer.png"/&gt;&lt;/a&gt;  &lt;blockquote&gt;&lt;em&gt;“I use Workspace for the ability to break through the ceiling with Apps Script when there is something I can't do in Sheets, Forms, Docs &amp; Slides alone”&lt;/em&gt;    &lt;p&gt;&lt;strong&gt;- Max Brawer&lt;/strong&gt;	(&lt;a href="https://twitter.com/brawermd"&gt;@brawermd&lt;/a&gt;), New York, NY&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt; &lt;div&gt;&lt;a href="https://1.bp.blogspot.com/-8ha7s4cB7ak/X9Pc_FGrOTI/AAAAAAAAJv0/pNenRifH2UUZbOTGvJJSLZaV-gC89dcpgCLcBGAsYHQ/s0/Niek%2BWaarbroek.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img id="floatLeft" style="width:30%; padding:0 1em 1em 0;" alt="Niek Waarbroek" border="0" data-original-height="225" data-original-width="225" src="https://1.bp.blogspot.com/-8ha7s4cB7ak/X9Pc_FGrOTI/AAAAAAAAJv0/pNenRifH2UUZbOTGvJJSLZaV-gC89dcpgCLcBGAsYHQ/s0/Niek%2BWaarbroek.jpg"/&gt;&lt;/a&gt;  &lt;blockquote&gt;&lt;em&gt;"To be able to build solutions that boost collaboration is what I like the most. The open structure allows you to add your custom needs. A simple and intuitive interface; no need for switching, just start building!"&lt;/em&gt;    &lt;p&gt;&lt;strong&gt;- Niek Waarbroek&lt;/strong&gt;	(&lt;a href="https://www.linkedin.com/in/niekwaarbroek"&gt;niekwaarbroek&lt;/a&gt;), Netherlands&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt; &lt;div&gt;&lt;a href="https://1.bp.blogspot.com/-GDvMaVB5jWw/X9Pe-1Rt30I/AAAAAAAAJwI/LNSFYR8QrukmzxpzKFALJG9aUupzH3NMQCLcBGAsYHQ/s0/Pablo%2BFelip%2BMonferrer.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img id="floatLeft" style="width:30%; padding:0 1em 1em 0;" alt="Pablo Felip Monferrer" border="0" data-original-height="225" data-original-width="225" src="https://1.bp.blogspot.com/-GDvMaVB5jWw/X9Pe-1Rt30I/AAAAAAAAJwI/LNSFYR8QrukmzxpzKFALJG9aUupzH3NMQCLcBGAsYHQ/s0/Pablo%2BFelip%2BMonferrer.jpg"/&gt;&lt;/a&gt;  &lt;blockquote&gt;&lt;em&gt;“Apps Script is the "glue" that pastes together many Google services to bring on beautiful automations to your personal, business or school data workflows. Anytime, anywhere, all in the cloud. Its immediacy and ease of use make it my first choice to leverage the full potential of Google Workspace.”&lt;/em&gt;    &lt;p&gt;&lt;strong&gt;- Pablo Felip Monferrer&lt;/strong&gt;	(&lt;a href="https://twitter.com/pfelipm"&gt;@pfelipm&lt;/a&gt;), Castelló de la Plana, Spain&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt; &lt;div&gt;&lt;a href="https://1.bp.blogspot.com/-BItLwbZfUX0/X9PfoRltP7I/AAAAAAAAJwQ/XqlPWwKWc5cws1f93lJgtN6G4agfLPzxwCLcBGAsYHQ/s0/Sourabh%2BChoraria.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img id="floatLeft" style="width:30%; padding:0 1em 1em 0;" alt="Sourabh Choraria" border="0" data-original-height="225" data-original-width="225" src="https://1.bp.blogspot.com/-BItLwbZfUX0/X9PfoRltP7I/AAAAAAAAJwQ/XqlPWwKWc5cws1f93lJgtN6G4agfLPzxwCLcBGAsYHQ/s0/Sourabh%2BChoraria.jpg"/&gt;&lt;/a&gt;  &lt;blockquote&gt;&lt;em&gt;“I've always been good with Spreadsheet formulas but even as someone who doesn't necessarily come with a strong coding/technical background, Workspace tools made it so much more easier &amp; seamless to connect one another and build stuff the way any product/engineering team would. This inspired me to connect different SaaS tools that have APIs and build my own set of integrations.”&lt;/em&gt;    &lt;p&gt;&lt;strong&gt;- Sourabh Choraria&lt;/strong&gt;	(&lt;a href="https://twitter.com/schoraria911"&gt;@schoraria911&lt;/a&gt;), Bangalore, India&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt; &lt;div&gt;&lt;a href="https://1.bp.blogspot.com/-bdtkm1xFSRA/X9PgNlem_AI/AAAAAAAAJwY/o8zwnEyqjzMuqB3N207Tw7HlotOYwW93gCLcBGAsYHQ/s0/Stephane%2BGiron.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img id="floatLeft" style="width:30%; padding:0 1em 1em 0;" alt="Stéphane Giron" border="0" data-original-height="225" data-original-width="225" src="https://1.bp.blogspot.com/-bdtkm1xFSRA/X9PgNlem_AI/AAAAAAAAJwY/o8zwnEyqjzMuqB3N207Tw7HlotOYwW93gCLcBGAsYHQ/s0/Stephane%2BGiron.jpg"/&gt;&lt;/a&gt;  &lt;blockquote&gt;&lt;em&gt;“I'm using Workspace as it is the only solution for the last 10 years that allows me to access my documents from anywhere and provides me an easy to use development interface for Google API with Apps Script.”&lt;/em&gt;    &lt;p&gt;&lt;strong&gt;- Stéphane Giron&lt;/strong&gt;	(&lt;a href="https://twitter.com/st3phcloud"&gt;@st3phcloud&lt;/a&gt;), Lyon, France&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt; &lt;div&gt;&lt;a href="https://1.bp.blogspot.com/-_2MiED09bJY/X9PguHaB45I/AAAAAAAAJwg/7eAeXBAYIgkBmtQx-WNrXQ8u_S1cbPnXgCLcBGAsYHQ/s0/Steve%2BWebster.jpg" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img id="floatLeft" style="width:30%; padding:0 1em 1em 0;" alt="Steve Webster" border="0" data-original-height="225" data-original-width="225" src="https://1.bp.blogspot.com/-_2MiED09bJY/X9PguHaB45I/AAAAAAAAJwg/7eAeXBAYIgkBmtQx-WNrXQ8u_S1cbPnXgCLcBGAsYHQ/s0/Steve%2BWebster.jpg"/&gt;&lt;/a&gt;  &lt;blockquote&gt;&lt;em&gt;“I use Google Workspace for its great collaboration, communications, integrations, and workflows. I recently led our team to build a client solution for a COVID-19 scrolling ticker in Gmail that leveraged Sheets, Apps Script, Firebase Notifications and Chrome extensions -- anything is possible!”&lt;/em&gt;    &lt;p&gt;&lt;strong&gt;- Steve Webster&lt;/strong&gt;	(&lt;a href="https://twitter.com/SteveWebster22"&gt;@SteveWebster22&lt;/a&gt;), Lakeland, FL&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt; &lt;div&gt;&lt;a href="https://1.bp.blogspot.com/-6VBpIClm2Hc/X9PhZf_WyWI/AAAAAAAAJwo/2o22FiUGin8csgu9ZpjFDgqyx0IQguZ7QCLcBGAsYHQ/s0/Kanshi%2BTanaike.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img id="floatLeft" style="width:30%; padding:0 1em 1em 0;" alt="Kanshi Tanaike" border="0" data-original-height="225" data-original-width="225" src="https://1.bp.blogspot.com/-6VBpIClm2Hc/X9PhZf_WyWI/AAAAAAAAJwo/2o22FiUGin8csgu9ZpjFDgqyx0IQguZ7QCLcBGAsYHQ/s0/Kanshi%2BTanaike.png"/&gt;&lt;/a&gt;  &lt;blockquote&gt;&lt;em&gt;“Workspace can reduce the process costs in the various works by the automatic control of applications. Especially, when Google Apps Script and APIs are used, the possibility of higher efficiency will be the infinity. I believe that this will blow a new wind towards our daily life.”&lt;/em&gt;    &lt;p&gt;&lt;strong&gt;- Kanshi Tanaike&lt;/strong&gt;	(&lt;a href="https://github.com/tanaikech"&gt;@tanaikech&lt;/a&gt;), Osaka, Japan&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt; &lt;div&gt;&lt;a href="https://1.bp.blogspot.com/-hGtrHkseSg4/X9Ph8FVMNCI/AAAAAAAAJww/DX9FzxJO7_MgVJ3Z4LxyWuIzLQtVfPZfACLcBGAsYHQ/s0/Yuki%2BTanabe.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img id="floatLeft" style="width:30%; padding:0 1em 1em 0;" alt="Yuki Tanabe" border="0" data-original-height="225" data-original-width="225" src="https://1.bp.blogspot.com/-hGtrHkseSg4/X9Ph8FVMNCI/AAAAAAAAJww/DX9FzxJO7_MgVJ3Z4LxyWuIzLQtVfPZfACLcBGAsYHQ/s0/Yuki%2BTanabe.png"/&gt;&lt;/a&gt;  &lt;blockquote&gt;&lt;em&gt;“Because we can automate our work with Apps Script.”&lt;/em&gt;    &lt;br&gt;&lt;br&gt;    &lt;br&gt;&lt;br&gt;    &lt;br&gt;&lt;br&gt;    &lt;p&gt;&lt;strong&gt;- Yuki Tanabe&lt;/strong&gt;	(&lt;a href="https://twitter.com/tanabee_en"&gt;@tanabee_en&lt;/a&gt;), Tokyo, Japan&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt; &lt;h2&gt;Google Workspace Developer GDE resources&lt;/h2&gt;&lt;p&gt;If you are interested in connecting and learning more about what GDEs are talking about or working on, follow with them via their social channels. Most GDEs are quite active in sharing everything from daily tips, events, or fully open source projects. Use the links above in the GDE profiles or reference the full GDE &lt;a href="https://developers.google.com/community/experts/directory"&gt;directory&lt;/a&gt; to explore experts across all Google developer technologies. &lt;/p&gt;&lt;p&gt;The Google Workspace GDE community also host some really useful resources worth calling out here: &lt;/p&gt;&lt;ul&gt; &lt;li&gt;Community Forums  &lt;ul&gt;  &lt;li&gt;Google Groups - &lt;a href="https://groups.google.com/g/google-apps-script-community"&gt;groups.google.com/g/google-apps-script-community&lt;/a&gt;  &lt;li&gt;Stack Overflow - &lt;a href="https://stackoverflow.com/questions/tagged/google-apps-script"&gt;stackoverflow.com/questions/tagged/google-apps-script&lt;/a&gt;  &lt;li&gt;Slack - &lt;a href="https://google-apps-script.slack.com"&gt;google-apps-script.slack.com&lt;/a&gt;&lt;/li&gt;  &lt;/ul&gt; &lt;li&gt;Lists   &lt;ul&gt;  &lt;li&gt;On Twitter -  &lt;a href="https://twitter.com/i/lists/1235144368593367043"&gt;twitter.com/i/lists/1235144368593367043&lt;/a&gt;  &lt;li&gt;Medium Google GDE Blogs - &lt;a href="https://medium.com/google-developer-experts"&gt;medium.com/google-developer-experts&lt;/a&gt;&lt;/li&gt;  &lt;/ul&gt; &lt;li&gt;GDE News &amp; Tutorial Sites  &lt;ul&gt;  &lt;li&gt;Apps Script Pulse (News) - &lt;a href="https://pulse.appsscript.info"&gt;pulse.appsscript.info&lt;/a&gt;  &lt;li&gt;Digital Inspiration (Add-ons &amp; How-To’s) - &lt;a href="https://digitalinspiration.com/"&gt;digitalinspiration.com&lt;/a&gt;  &lt;li&gt;Google Sheets Essentials (Automation How-To’s) - &lt;a href="https://www.benlcollins.com/"&gt;benlcollins.com&lt;/a&gt;  &lt;li&gt;Desktop Liberation (Apps Script Tutorials) - &lt;a href="https://ramblings.mcpher.com/"&gt;ramblings.mcpher.com&lt;/a&gt;  &lt;li&gt;Teacher Tech (Resources for EDU) - &lt;a href="https://alicekeeler.com/"&gt;alicekeeler.com&lt;/a&gt;  &lt;li&gt;Totally Unscripted (Community Show) - &lt;a href="https://sites.google.com/corp/view/totallyunscripted/home"&gt;sites.google.com/corp/view/totallyunscripted/home&lt;/a&gt;&lt;/li&gt;  &lt;/ul&gt; &lt;li&gt;GDE Video  &lt;ul&gt;  &lt;li&gt;Totally Unscripted - &lt;a href="https://youtube.com/c/TotallyUnscriptedShow"&gt;www.youtube.com/c/TotallyUnscriptedShow&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/7KmLlXQi0TU" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/3656158867289335900/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2020/12/meet-google-workspace-developer-experts.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/3656158867289335900" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/3656158867289335900" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/7KmLlXQi0TU/meet-google-workspace-developer-experts.html" title="Meet the Google Workspace Developer Experts" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-in5okzHrHjE/X9P8QWii76I/AAAAAAAAJw8/DUddB6RIUT84EAbmlvEuPtZkgmo1JeP3ACLcBGAsYHQ/s72-c/DSC03462.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2020/12/meet-google-workspace-developer-experts.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-3800854672575859806</id><published>2020-12-11T10:56:00.003-08:00</published><updated>2021-03-04T12:02:41.045-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Entity Extraction" /><category scheme="http://www.blogger.com/atom/ns#" term="machine learning" /><category scheme="http://www.blogger.com/atom/ns#" term="ML Kit" /><category scheme="http://www.blogger.com/atom/ns#" term="Selfie Segmentation" /><title type="text">Announcing the Newest Addition to MLKit: Entity Extraction </title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-jIqJePdDXQ8/X9PB2GPJzeI/AAAAAAAAJtg/fg72f_XL4m490PNRw5ZzBZ3Nyl-FbBw6QCLcBGAsYHQ/s0/image_1%2B%25281%2529.jpeg"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-jIqJePdDXQ8/X9PB2GPJzeI/AAAAAAAAJtg/fg72f_XL4m490PNRw5ZzBZ3Nyl-FbBw6QCLcBGAsYHQ/s0/image_1%2B%25281%2529.jpeg"&gt; &lt;em&gt;Posted by Kenny Sulaimon, Product Manager, ML Kit, Tory Voight, Product Manager, ML Kit, Daniel Furlong, Lei Yu, Bhaktipriya Radharapu, Adrien Couque, Software Engineers, ML Kit, Dong Chen, Technical Lead, MLKit&lt;/em&gt; &lt;center&gt;&lt;a href="https://4.bp.blogspot.com/-bTXt2s-tbr8/X0a0h6NW3qI/AAAAAAAAJSY/BF34dH18WUclHLQ62hteu4jE5vLeaPhCgCLcBGAsYHQ/s1600/mlkit-logo-text.png" imageanchor="1" &gt;&lt;img border="0" style="width:50%" src="https://4.bp.blogspot.com/-bTXt2s-tbr8/X0a0h6NW3qI/AAAAAAAAJSY/BF34dH18WUclHLQ62hteu4jE5vLeaPhCgCLcBGAsYHQ/s1600/mlkit-logo-text.png" data-original-width="1200" data-original-height="369" alt="ML Kit logo"/&gt;&lt;/a&gt;&lt;/center&gt;&lt;p&gt; &lt;p&gt;Six months ago, we introduced the standalone version of the ML Kit SDK, making it even easier to integrate on-device machine learning into mobile apps. Since then, we’ve launched the &lt;a href="https://developers.google.com/ml-kit/vision/digital-ink-recognition"&gt;Digital Ink Recognition&lt;/a&gt; and &lt;a href="https://developers.google.com/ml-kit/vision/pose-detection"&gt;Pose Detection&lt;/a&gt; APIs, and also introduced the ML Kit &lt;a href="https://developers.google.com/ml-kit/early-access"&gt;early access program&lt;/a&gt;. Today we are excited to add &lt;a href="https://developers.google.com/ml-kit/language/entity-extraction"&gt;Entity Extraction&lt;/a&gt; to the official ML Kit lineup and also debut a new API for our early access program, &lt;a href="https://developers.google.com/ml-kit/early-access/selfie-segmentation"&gt;Selfie Segmentation&lt;/a&gt;!  &lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-hDc4mRpe0do/X9KBidEelaI/AAAAAAAAJrE/YlMsuMfNMJ845HmdPcIY0IJ7bPw_0kAPgCLcBGAsYHQ/s0/image%2B1.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Overview of ML Kit's Entity Extraction API" border="0" data-original-height="401" data-original-width="879" src="https://1.bp.blogspot.com/-hDc4mRpe0do/X9KBidEelaI/AAAAAAAAJrE/YlMsuMfNMJ845HmdPcIY0IJ7bPw_0kAPgCLcBGAsYHQ/s0/image%2B1.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;With ML Kit’s Entity Extraction API, you can now improve the user experience inside your app by understanding text and performing specific actions on it.   &lt;/p&gt;&lt;p&gt;The &lt;a href="https://developers.google.com/ml-kit/language/entity-extraction"&gt;Entity Extraction API&lt;/a&gt; allows you to detect and locate entities from raw text, and take action based on those entities. The API works on static text and also in real-time while a user is typing. It supports 11 different entities and 15 different languages (with more coming in the future) to allow developers to make any text interaction a richer experience for the user.   &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Supported Entities&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;strong&gt;Address&lt;/strong&gt; &lt;em&gt;(350 third street, cambridge)&lt;/em&gt; &lt;li&gt;&lt;strong&gt;Date-Time*&lt;/strong&gt; &lt;em&gt;(12/12/2020, tomorrow at 3pm) (let's meet tomorrow at 6pm)&lt;/em&gt; &lt;li&gt;&lt;strong&gt;Email&lt;/strong&gt; &lt;em&gt;(entity-extraction@google.com)&lt;/em&gt; &lt;li&gt;&lt;strong&gt;Flight Number*&lt;/strong&gt; &lt;em&gt;(LX37)&lt;/em&gt; &lt;li&gt;&lt;strong&gt;IBAN*&lt;/strong&gt; &lt;em&gt;(CH52 0483 0000 0000 0000 9)&lt;/em&gt; &lt;li&gt;&lt;strong&gt;ISBN*&lt;/strong&gt; &lt;em&gt;(978-1101904190)&lt;/em&gt; &lt;li&gt;&lt;strong&gt;Money (including currency)*&lt;/strong&gt; &lt;em&gt;($12, 25USD)&lt;/em&gt; &lt;li&gt;&lt;strong&gt;Payment Card*&lt;/strong&gt; &lt;em&gt;(4111 1111 1111 1111)&lt;/em&gt; &lt;li&gt;&lt;strong&gt;Phone Number&lt;/strong&gt; &lt;em&gt;((555) 225-3556, 12345)&lt;/em&gt; &lt;li&gt;&lt;strong&gt;Tracking Number*&lt;/strong&gt; &lt;em&gt;(1Z204E380338943508)&lt;/em&gt; &lt;li&gt;&lt;strong&gt;URL&lt;/strong&gt; &lt;em&gt;(www.google.com, https://en.wikipedia.org/wiki/Platypus, seznam.cz)&lt;/em&gt;&lt;/li&gt;&lt;/ul&gt; &lt;strong&gt;Example Results&lt;/strong&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-gZOIJV75n7U/X9KHBkEHkbI/AAAAAAAAJrY/A4q6Fphf33U2U-tloLxrjHTHuZSkYFG5gCLcBGAsYHQ/s0/Table%2Bfinal%2Bfinal.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Table of Input text and Detected entities" border="0" data-original-height="570" data-original-width="639" src="https://1.bp.blogspot.com/-gZOIJV75n7U/X9KHBkEHkbI/AAAAAAAAJrY/A4q6Fphf33U2U-tloLxrjHTHuZSkYFG5gCLcBGAsYHQ/s0/Table%2Bfinal%2Bfinal.png"/&gt;&lt;/a&gt;&lt;/div&gt;   &lt;h3&gt;&lt;strong&gt;Real World Applications&lt;/strong&gt;&lt;/h3&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-uXC1LeEx0cE/X9O4QZ3plRI/AAAAAAAAJsw/fOXBATNnIGgv51SidQ15pIgMBeQn_gHIQCLcBGAsYHQ/s0/image%2B2%2Bfinal.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="2 phones showing TamTam using Entity Extraction API" border="0" data-original-height="1152" data-original-width="2048" src="https://1.bp.blogspot.com/-uXC1LeEx0cE/X9O4QZ3plRI/AAAAAAAAJsw/fOXBATNnIGgv51SidQ15pIgMBeQn_gHIQCLcBGAsYHQ/s0/image%2B2%2Bfinal.png"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;&lt;em&gt;(Images courtesy of TamTam)&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Our early access partner, &lt;a href="https://download.tamtam.chat/en/latest/"&gt;TamTam&lt;/a&gt;, has been using the Entity Extraction API to provide helpful suggestions to their users during their chat conversations. This feature allows users to quickly perform actions based on the context of their conversations.  &lt;/p&gt;&lt;p&gt;While integrating this API, Iurii Dorofeev, Head of TamTam Android Development, mentioned, “We appreciated the ease of integration of the ML Kit ... and it works offline. Clustering the content of messages right on the device allowed us to save resources. ML Kit capabilities will help us develop other features for TamTam messenger in the future.” &lt;/p&gt;&lt;p&gt;Check out their messaging app on the &lt;a href="https://play.google.com/store/apps/details?id=ru.ok.messages&amp;hl=en_US&amp;gl=US"&gt;Google Play&lt;/a&gt; and &lt;a href="https://apps.apple.com/app/ok-soobsenia/id1095345669"&gt;App Store&lt;/a&gt; today. &lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Under The Hood&lt;/strong&gt;&lt;/h3&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-Ww5yEMZDxf4/X9O4xVHQInI/AAAAAAAAJs4/1nz_pGowfjkFujwmYcmp4HLfB1tMBjBOgCLcBGAsYHQ/s0/image%2B4.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Diagram of underlying Text Classifier API" border="0" data-original-height="340" data-original-width="622" src="https://1.bp.blogspot.com/-Ww5yEMZDxf4/X9O4xVHQInI/AAAAAAAAJs4/1nz_pGowfjkFujwmYcmp4HLfB1tMBjBOgCLcBGAsYHQ/s0/image%2B4.png"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;&lt;em&gt;(Diagram of underlying Text Classifier API)&lt;/em&gt;&lt;/p&gt; &lt;p&gt;ML Kit’s Entity Extraction API builds upon the technology powering the Smart Linkify feature in Android 10+ to deliver an easy-to-use and streamlined experience for developers. For an in-depth review of the Text Classifier API, please see our blog post &lt;a href="https://ai.googleblog.com/2018/08/the-machine-learning-behind-android.html"&gt;here&lt;/a&gt;.  &lt;/p&gt;&lt;p&gt;The neural network annotators/models in the Entity Extraction API work as follows: A given input text is first split into words (based on space separation), then all possible word subsequences of certain maximum length (15 words in the example above) are generated, and for each candidate the scoring neural net assigns a value (between 0 and 1) based on whether it represents a valid entity. &lt;/p&gt;&lt;p&gt;Next, the generated entities that overlap are removed, favoring the ones with a higher score over the conflicting ones with a lower score. Then a second neural network is used to classify the type of the entity as a phone number, an address, or in some cases, a non-entity. &lt;/p&gt;&lt;p&gt;The neural network models in the Entity Extraction API are used in combination with other types of models (e.g. rule-based) to identify additional entities in text, such as: flight numbers, currencies and other examples listed above. Therefore, if multiple entities are detected for one text input, the Entity Extraction API can return several overlapping results. &lt;/p&gt;&lt;p&gt;Lastly, ML Kit will automatically download the required language-specific models to the device dynamically. You can also explicitly manage models you want available on the device by using ML Kit’s model management API. This can be useful if you want to download models ahead of time for your users. The API also allows you to delete models that are no longer required. &lt;/p&gt;&lt;h3&gt;&lt;strong&gt;New APIs Coming Soon&lt;/strong&gt;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;Selfie Segmentation&lt;/strong&gt;  &lt;/p&gt;&lt;p&gt;With the increased usage of selfie cameras and webcams in today's world, being able to quickly and easily add effects to camera experiences has become a necessity for many app developers today. &lt;/p&gt;&lt;p&gt;ML Kit's &lt;a href="https://developers.google.com/ml-kit/early-access/selfie-segmentation"&gt;Selfie Segmentation API&lt;/a&gt; allows developers to easily separate the background from a scene and focus on what matters. Adding cool effects to selfies or inserting your users into interesting background environments has never been easier. This API produces great results with low latency on both Android and iOS devices. &lt;/p&gt;  &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-IdcvtbRKZHs/X9O5Th2mJ9I/AAAAAAAAJtA/xsRCq_uYEvU36M8BTaVGX1ytfMGA9w-ngCLcBGAsYHQ/s0/image%2B5%2Band%2B6%2Bfinal.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Example of ML Kit Selfie Segmentation" border="0" data-original-height="1247" data-original-width="2521" src="https://1.bp.blogspot.com/-IdcvtbRKZHs/X9O5Th2mJ9I/AAAAAAAAJtA/xsRCq_uYEvU36M8BTaVGX1ytfMGA9w-ngCLcBGAsYHQ/s0/image%2B5%2Band%2B6%2Bfinal.png"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;p id="imgCaption"&gt;&lt;em&gt;(Example of ML Kit Selfie Segmentation)&lt;/em&gt;&lt;/p&gt;     &lt;p&gt;Key capabilities: &lt;/p&gt;&lt;ul&gt; &lt;li&gt;Easily allows developers to replace or blur a user’s background  &lt;li&gt;Works well with single or multiple people  &lt;li&gt;Cross-platform support (iOS and Android)  &lt;li&gt;Runs real-time on most modern phones &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;To join our early access program and request access to ML Kit's &lt;a href="https://developers.google.com/ml-kit/early-access/selfie-segmentation"&gt;Selfie Segmentation&lt;/a&gt; API, please fill out &lt;a href="https://services.google.com/fb/forms/selfiesignup/"&gt;this form&lt;/a&gt;. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/aFTAbu85Mb0" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/3800854672575859806/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2020/12/announcing-the-newest-addition-to-mlkit-entity-extraction.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/3800854672575859806" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/3800854672575859806" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/aFTAbu85Mb0/announcing-the-newest-addition-to-mlkit-entity-extraction.html" title="Announcing the Newest Addition to MLKit: Entity Extraction " /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-jIqJePdDXQ8/X9PB2GPJzeI/AAAAAAAAJtg/fg72f_XL4m490PNRw5ZzBZ3Nyl-FbBw6QCLcBGAsYHQ/s72-c/image_1%2B%25281%2529.jpeg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2020/12/announcing-the-newest-addition-to-mlkit-entity-extraction.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-5440164662224941337</id><published>2020-12-09T09:00:00.001-08:00</published><updated>2020-12-09T09:00:45.961-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apps script" /><title type="text">Get ready to up your Apps Script!</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-JYO8ZGT6P0g/X87Gm74rUUI/AAAAAAAAJqo/yJrKRfEMytY8K-qSbbcpqKsMzt0hD1VHwCLcBGAsYHQ/s0/Google-devs-app-script-social.png"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-JYO8ZGT6P0g/X87Gm74rUUI/AAAAAAAAJqo/yJrKRfEMytY8K-qSbbcpqKsMzt0hD1VHwCLcBGAsYHQ/s0/Google-devs-app-script-social.png"&gt; &lt;p&gt;&lt;em&gt;Posted by Charles Maxson, Developer Advocate, Google Cloud&lt;/em&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-JYO8ZGT6P0g/X87Gm74rUUI/AAAAAAAAJqo/yJrKRfEMytY8K-qSbbcpqKsMzt0hD1VHwCLcBGAsYHQ/s0/Google-devs-app-script-social.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Illustration of settings gear with icons inside" border="0" data-original-height="1024" data-original-width="2048" src="https://1.bp.blogspot.com/-JYO8ZGT6P0g/X87Gm74rUUI/AAAAAAAAJqo/yJrKRfEMytY8K-qSbbcpqKsMzt0hD1VHwCLcBGAsYHQ/s0/Google-devs-app-script-social.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;It’s been a little over a &lt;a href="https://cloud.google.com/blog/products/g-suite/celebrating-10-years-of-apps-script-looking-back-on-how-it-started"&gt;decade&lt;/a&gt; since &lt;a href="https://developers.google.com/apps-script/"&gt;Apps Script&lt;/a&gt; was introduced as the &lt;a href="https://developers.google.com/apps-script/overview"&gt;development platform&lt;/a&gt; to automate and extend Google Workspace.  Since its inception, tens of millions of solution builders ranging from professional developers, business users, and hobbyists have adopted Apps Script because of its tight integration with Google Workspace, coupled with its relative ease of use, makes building solutions fast and accessible. &lt;/p&gt;&lt;p&gt;Over the course of its history, Apps Script has &lt;a href="https://developers.google.com/apps-script/releases"&gt;constantly evolved&lt;/a&gt; to keep up with the ever-changing Google Workspace applications themselves, as new features are introduced and existing ones enhanced. Changes to the platform and the development environment itself have been more deliberate, allowing the wide-ranging Apps Script developer audience to rely on a predictable and proven development experience.  &lt;/p&gt;&lt;p&gt;Recently, there have been some notable updates. Earlier this year the Apps Script runtime engine went through a major update from the original &lt;a href="https://cloud.google.com/blog/topics/g-suite-developers/data-processing-just-got-easier-apps-scripts-new-v8-runtime"&gt;Rhino runtime to the new V8 version&lt;/a&gt;, allowing you to leverage modern JavaScript features in your Apps Script projects. Another milestone launch was the introduction of the &lt;a href="https://developers.google.com/apps-script/guides/dashboard"&gt;Apps Script Dashboard&lt;/a&gt;, the ‘homepage’ of Apps Script, where you have access to all your projects and Apps Script platform settings by simply navigating to &lt;a href="https://script.google.com"&gt;script.google.com&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;But as far as the overall developer experience with Apps Script, the core components of the Apps Script IDE &lt;a href="https://en.wikipedia.org/wiki/Integrated_development_environment"&gt;(Integrated Development Environment)&lt;/a&gt; where developers spend most of their time writing and debugging code, managing versions and exceptions, deploying projects, etc.; that has been relatively unchanged over App Script’s long storied history—that is until now—and as an Apps Script developer, you are about to get more productive! &lt;/p&gt;&lt;h2&gt;Welcome to the new Apps Script IDE &lt;/h2&gt;  &lt;p&gt;The new Apps Script IDE features the same rich integration with Google Workspace as it did before, allowing you to get started building solutions without having to install or configure anything. If you are working on a &lt;a href="https://developers.google.com/apps-script/guides/standalone"&gt;standalone script&lt;/a&gt; project application, you can use the &lt;a href="https://developers.google.com/apps-script/guides/dashboard"&gt;Apps Script Dashboard&lt;/a&gt; to launch your project directly, or if you are working on a &lt;a href="https://developers.google.com/apps-script/guides/bound"&gt;container bound project&lt;/a&gt; in &lt;strong&gt;Sheets, Slides &lt;/strong&gt;or &lt;strong&gt;Docs&lt;/strong&gt;, you can do so from selecting &lt;strong&gt;Tools&lt;/strong&gt; &gt; &lt;strong&gt;Script editor&lt;/strong&gt; from their top menus.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Apps Script Project Dashboard&lt;/em&gt;&lt;/strong&gt;   &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-faXIcjbiiVY/X87AXtbNOVI/AAAAAAAAJpc/JEPw0IJ5j3wxW7kBAHqcsVNOyQ6v9uT0wCLcBGAsYHQ/s0/1%2529%2BApps%2BScript%2BDashboard.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Apps Script Project Dashboard" border="0" data-original-height="612" data-original-width="1079" src="https://1.bp.blogspot.com/-faXIcjbiiVY/X87AXtbNOVI/AAAAAAAAJpc/JEPw0IJ5j3wxW7kBAHqcsVNOyQ6v9uT0wCLcBGAsYHQ/s0/1%2529%2BApps%2BScript%2BDashboard.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;If you launch your project using the Apps Script Dashboard, you will still start off in the Project Details Overview page. The contents of the Project Details page are relatively unchanged with just a few cosmetic updates where you can still get project info on the numbers of executions and users for your projects, errors, and OAuth scopes in use. On closer inspection, however, the seemingly subtle change to the left hand navigation is actually the first big enhancement of the new Apps Script IDE. Previously, when you launched into a project, you still had the Application Dashboard menus which let you navigate your projects, view all your executions and triggers as well as Apps Script features.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Apps Script Project Details Overview&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-4JY84czOoOU/X87A1K4b-yI/AAAAAAAAJpk/wb3_Cdn3XfEFf7upjZ42NoKsSTirlJlBgCLcBGAsYHQ/s0/2%2529%2BProject%2BDetails%2BOverview.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Apps Script Project Details Overview" border="0" data-original-height="615" data-original-width="1078" src="https://1.bp.blogspot.com/-4JY84czOoOU/X87A1K4b-yI/AAAAAAAAJpk/wb3_Cdn3XfEFf7upjZ42NoKsSTirlJlBgCLcBGAsYHQ/s0/2%2529%2BProject%2BDetails%2BOverview.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;With the new IDE experience, the prior Apps Script Dashboard menu gives way to a new project-specific menu that lets you focus on your active project. This offers developers a more unified experience of moving between project settings and the code editor without having to navigate menus or bounce back to the applications dashboard. So while it's a subtle change at first glance, it's actually a significant boost for productivity. &lt;/p&gt;&lt;p&gt;If you launch the new IDE as a container bound project, you will immediately enter into the new Apps Script code editor, but the new project menu and developer flow is identical.  &lt;/p&gt;&lt;h2&gt;A Modern, Material Design&lt;/h2&gt;  &lt;p&gt;One of the more striking updates of the new Apps Script IDE was the work done on the code editor to modernize its look and feel, while also unifying the design with the overall developer experience. More than just aesthetic changes, the new code editor was designed to help developers focus on the most common essential tasks. This includes moving away from the traditional menu elements across the top of the original code editor, to a streamlined set of commands that focus on developer productivity. For example, the new code editor offers a simplified menu system optimized for running and debugging code, while all the other ‘project-related’ functions have been reorganized outside the code editor to the left-hand project navigation bar. This will simplify and set the focus on the core task of writing code, which will assist both new and seasoned Apps Script developers.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Apps Script Code Editor&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-oj9yBiaj14o/X87BMirO6YI/AAAAAAAAJps/r1QpZmc0_rscmiM7RDE8FswG8CnlXhGAgCLcBGAsYHQ/s0/3%2529%2BCode%2BEditor.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Apps Script Code Editor" border="0" data-original-height="618" data-original-width="1078" src="https://1.bp.blogspot.com/-oj9yBiaj14o/X87BMirO6YI/AAAAAAAAJps/r1QpZmc0_rscmiM7RDE8FswG8CnlXhGAgCLcBGAsYHQ/s0/3%2529%2BCode%2BEditor.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;h2&gt;Boosting Developer Productivity&lt;/h2&gt;  &lt;p&gt;Behind the fresh new look of the Apps Script code editor, there is a long list of new productivity enhancements that will make any Apps Script developer happy. Some are subtle, some are major. Many are simply delightful. Any combination of them will make you more productive in writing Apps Script code. Here are just some of the highlights:    &lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;strong&gt;Code Editor enhancements&lt;/strong&gt; - The actual code editor itself has been updated to make the code writing (and reading) experience better. &lt;strong&gt;AutoComplete&lt;/strong&gt; helps you produce error free code easier than before with intelligent features like adding parentheses and apostrophes automatically as you code. &lt;strong&gt;Visual Indicators&lt;/strong&gt; help you quickly see where issues lie as you navigate within your project. &lt;strong&gt;Inline documentation&lt;/strong&gt; provides interactive definitions of Apps Script objects and methods right at the source while you are editing. &lt;strong&gt;Function Folding &lt;/strong&gt;lets you collapse and expand code blocks to focus on what you are working on, while allowing you to hide what isn’t currently in scope. &lt;strong&gt;AutoFormating&lt;/strong&gt; instantly makes your code consistently  readable, which is a great boost for team development projects too.  &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Code Editor Enhancements&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-M-iXiVIYK_U/X87BdbqUrSI/AAAAAAAAJpw/cQHjpq4k1gsAseXT8Q7OlRueoQNd-LMlgCLcBGAsYHQ/s0/4%2529%2BEditor%2BEnhancements%2BFast-15-FPS.gif" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Code Editor Enhancements" border="0" data-original-height="552" data-original-width="816" src="https://1.bp.blogspot.com/-M-iXiVIYK_U/X87BdbqUrSI/AAAAAAAAJpw/cQHjpq4k1gsAseXT8Q7OlRueoQNd-LMlgCLcBGAsYHQ/s0/4%2529%2BEditor%2BEnhancements%2BFast-15-FPS.gif"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Context Menu&lt;/strong&gt; - The new code editor now includes a contextual menu accessed with a simple right-click. This context menu will be every developer's companion as it hosts some practical functionality like copy and paste, but also introduces some new powerhouse productivity features like locating variables, renaming symbols and reformatting your code document, and more. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Context Menu Image&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-yGF4CYXLVyo/X87B1MTutGI/AAAAAAAAJp8/yciDT1HhALEq1qUlsfcEhKprImqLcNdlgCLcBGAsYHQ/s0/5%2529%2BContext%2BMenu.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Context Menu Image" border="0" data-original-height="417" data-original-width="564" src="https://1.bp.blogspot.com/-yGF4CYXLVyo/X87B1MTutGI/AAAAAAAAJp8/yciDT1HhALEq1qUlsfcEhKprImqLcNdlgCLcBGAsYHQ/s0/5%2529%2BContext%2BMenu.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Command Palette&lt;/strong&gt; - While the new IDE’s UI focuses on simplicity, the command palette unlocks an unimaginable collection of features that does nearly anything a developer could want to do. The command palette is easily accessed by pressing {F1} from within the code editor. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Commend Palette Menu Image&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-f1doEaD9gmY/X87CNlOmpnI/AAAAAAAAJqI/gS8Mugx1tnIDX-Pqg987ePXOFXknZtZ4ACLcBGAsYHQ/s0/6%2529%2BCommand%2BPalette.gif" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Commend Palette Menu Image" border="0" data-original-height="552" data-original-width="816" src="https://1.bp.blogspot.com/-f1doEaD9gmY/X87CNlOmpnI/AAAAAAAAJqI/gS8Mugx1tnIDX-Pqg987ePXOFXknZtZ4ACLcBGAsYHQ/s0/6%2529%2BCommand%2BPalette.gif"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Debugger&lt;/strong&gt; - The debugging experience has been improved to allow developers to examine their code easier. Setting breakpoints works similarly but offers better visual queues. The new design of the debugger tools makes it cleaner and clearer with a dedicated UI optimization debugging steps and viewing the call stack and watch variables. This enhancement should help new developers get their bearings on debugging easier, while seasoned developers will appreciate the simplified, decluttered approach. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Debugger Image&lt;/em&gt;&lt;/strong&gt;   &lt;/p&gt;   &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-0XO9sousCYs/X87FKE6GlMI/AAAAAAAAJqU/n4q4AatGPBkc0GmQTCmwMzXb5f-kLDcCwCLcBGAsYHQ/s0/7%2529%2BDebugger.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Debugger" border="0" data-original-height="608" data-original-width="1080" src="https://1.bp.blogspot.com/-0XO9sousCYs/X87FKE6GlMI/AAAAAAAAJqU/n4q4AatGPBkc0GmQTCmwMzXb5f-kLDcCwCLcBGAsYHQ/s0/7%2529%2BDebugger.png"/&gt;&lt;/a&gt;&lt;/div&gt;   &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Real-time Logs&lt;/strong&gt; - Managing the executions (and occasional errors) of your projects get even easier with Real-time Logs, which display log results directly in the editor as they are invoked, offering a real time saving convenience to developer productivity.   &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Logging  Image&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;   &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-gSt5dbR7PMk/X87FZ7LGtyI/AAAAAAAAJqc/Gky1-mLGrxgVFian7ltEUHU478dmgjrDACLcBGAsYHQ/s0/8%2529%2BLogging.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Logging image" border="0" data-original-height="616" data-original-width="1081" src="https://1.bp.blogspot.com/-gSt5dbR7PMk/X87FZ7LGtyI/AAAAAAAAJqc/Gky1-mLGrxgVFian7ltEUHU478dmgjrDACLcBGAsYHQ/s0/8%2529%2BLogging.png"/&gt;&lt;/a&gt;&lt;/div&gt;   &lt;h2&gt;Write your best code&lt;/h2&gt;  &lt;p&gt;The best way to explore all that awaits is you in the new Apps Script IDE and code editor is by simply diving in and writing some code by visiting&lt;strong&gt; script.new&lt;/strong&gt;. Then you will truly see how the new code editor really does help you be more productive, enabling you to better write code faster, with less errors and with greater readability. The previous version of the Apps Script IDE and code editor served us well, but the jump in productivity and an overall better developer experience awaits you with the new Apps Script IDE.  &lt;/p&gt;&lt;p&gt;Go write your best code starting at: &lt;a href="https://script.google.com"&gt;script.google.com&lt;/a&gt;&lt;/p&gt;&lt;p&gt;To learn more: &lt;a href="https://developers.google.com/apps-script"&gt;developers.google.com/apps-script&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/r-2RK319fIM" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/5440164662224941337/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2020/12/get-ready-to-up-your-apps-script.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/5440164662224941337" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/5440164662224941337" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/r-2RK319fIM/get-ready-to-up-your-apps-script.html" title="Get ready to up your Apps Script!" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-JYO8ZGT6P0g/X87Gm74rUUI/AAAAAAAAJqo/yJrKRfEMytY8K-qSbbcpqKsMzt0hD1VHwCLcBGAsYHQ/s72-c/Google-devs-app-script-social.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2020/12/get-ready-to-up-your-apps-script.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-6906177261232331185</id><published>2020-12-07T09:00:00.144-08:00</published><updated>2020-12-07T10:38:09.993-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="#CSEdWeek" /><category scheme="http://www.blogger.com/atom/ns#" term="computer science" /><category scheme="http://www.blogger.com/atom/ns#" term="Computer Science Education Week" /><category scheme="http://www.blogger.com/atom/ns#" term="Resources" /><title type="text">Celebrate #CSEdWeek with Google Developers!</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-OHWS9_Th-9s/X85v2D_fBRI/AAAAAAAAJpA/1bdZ1ASoUkYSGR43Wf0xCuKZDXBu6D5UACLcBGAsYHQ/s0/Google-dev-computer-science-education-week-social.png"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-OHWS9_Th-9s/X85v2D_fBRI/AAAAAAAAJpA/1bdZ1ASoUkYSGR43Wf0xCuKZDXBu6D5UACLcBGAsYHQ/s0/Google-dev-computer-science-education-week-social.png"&gt; &lt;p&gt;&lt;em&gt;Posted by Google Developer Studio&lt;/em&gt;&lt;p&gt;&lt;center&gt;&lt;a href="https://1.bp.blogspot.com/-OHWS9_Th-9s/X85v2D_fBRI/AAAAAAAAJpA/1bdZ1ASoUkYSGR43Wf0xCuKZDXBu6D5UACLcBGAsYHQ/s0/Google-dev-computer-science-education-week-social.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img alt="Cartoon banner showing computer with graduation hat and browser window with text bubbles" id="imgFull" border="0" data-original-height="1024" data-original-width="2048" src="https://1.bp.blogspot.com/-OHWS9_Th-9s/X85v2D_fBRI/AAAAAAAAJpA/1bdZ1ASoUkYSGR43Wf0xCuKZDXBu6D5UACLcBGAsYHQ/s0/Google-dev-computer-science-education-week-social.png"/&gt;&lt;/a&gt;&lt;/center&gt;&lt;p&gt;&lt;a href="https://www.csedweek.org/"&gt;Computer Science Education Week&lt;/a&gt; kicks off on Monday, December 7th and runs through the 13th. This annual call-to-action was started in 2009 by the &lt;a href="https://www.csedweek.org/about"&gt;Computer Science Teachers Association&lt;/a&gt; (CSTA) to raise awareness about the need to encourage CS education at all levels and to highlight the importance of computing across industries. &lt;/p&gt;&lt;p&gt;&lt;a href="https://developers.google.com/"&gt;Google Developers&lt;/a&gt; strives to make learning Google technology accessible to all and works to empower developers to build good things together.  &lt;/p&gt;&lt;p&gt;Whether you’re a student or a teacher, check out our collection of introductory resources and demos below. Learn how you can get started in your developer journey or empower others to get started.  &lt;/p&gt;&lt;p&gt;&lt;em&gt;Note: Some resources may require additional background and extra knowledge&lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Actions on Google&lt;/h2&gt;&lt;p&gt;The &lt;a href="https://goo.gle/aogdevsite"&gt;Google Assistant developer platform&lt;/a&gt; lets you create software to extend the functionality of the &lt;a href="https://assistant.google.com/"&gt;Google Assistant&lt;/a&gt; with “Actions”.  Actions let users get things done through a conversational interface that can range from a simple command to turn on the lights or a longer conversation, such as playing a trivia game or exploring a recipe for dinner. &lt;/p&gt;&lt;p&gt;As a developer, you can use the platform to easily create and manage unique and effective conversational experiences for your users. &lt;/p&gt;&lt;center&gt;&lt;img alt="Mobile devices showing demo Google Assistant conversation" border="0" data-original-height="549" data-original-width="1102" style="width:100%" src="https://1.bp.blogspot.com/-jArvTkiAzu8/X81ivjJ8AoI/AAAAAAAAJok/MXDY9yJcESQP_K8vsJ5h6Aaq6Z2N4iwMwCLcBGAsYHQ/s0/content-actions.png"/&gt;&lt;/center&gt;&lt;p id="imgCaption"&gt;&lt;a href="https://developers.google.com/assistant/content/overview"&gt;Actions&lt;/a&gt; auto-generated from web content.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Codelab: Build Actions for Google Assistant using Actions Builder (Level 1)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;This &lt;a href="https://goo.gle/aogcodelab1"&gt;codelab&lt;/a&gt; covers beginner-level concepts for developing with Google Assistant; you do not need any prior experience with the platform to complete it. You’ll learn how to build a simple Action for the Google Assistant that tells users their fortune as they begin their adventure in the mythical land of Gryffinberg. Continue on to level 2 if you’re ready! &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Codelab: Build Actions for Google Assistant using Actions SDK (Level 1)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;This &lt;a href="https://goo.gle/aogcodelab2"&gt;codelab&lt;/a&gt; covers beginner-level concepts for developing with the Actions SDK for Google Assistant; you do not need any prior experience with the platform to complete it.&lt;em&gt; &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Tip: If you prefer to work with more visual tools, do the &lt;a href="https://goo.gle/aogcodelab1"&gt;Level 1 Actions Builder codelab&lt;/a&gt; instead, which creates the same Action using an in-console Actions Builder instead. View additional codelabs &lt;a href="https://goo.gle/aogcodelabs"&gt;here&lt;/a&gt;. &lt;/em&gt;&lt;/p&gt;&lt;hr class="solid"&gt;&lt;h2&gt;Android Developers&lt;/h2&gt;&lt;p&gt;Android is the world's most powerful mobile platform, with more than 2.5 billion active devices. &lt;/p&gt;&lt;p&gt;Build your first Android app by taking the free online &lt;a href="https://goo.gle/2L0tX46"&gt;Android Basics in Kotlin course&lt;/a&gt; created by Google. No programming experience is needed. You'll learn important concepts on how to build an app as well as the fundamentals of programming in Kotlin, the recommended programing language for developers who are new to Android. Start with the first unit: &lt;a href="https://goo.gle/37xacsC"&gt;Kotlin Basics for Android&lt;/a&gt;!   &lt;/p&gt;&lt;center&gt;&lt;iframe id="imgFull" width="560" height="315" src="https://www.youtube.com/embed/OpQ3VzzgE0g" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;&lt;/center&gt;&lt;p&gt;Once you’re ready to take your app development to the next level, check out &lt;a href="https://goo.gle/37DsbO2"&gt;Android Basics: Unit 2&lt;/a&gt; where you’ll where you'll build a tip calculator app and an app with a scrollable list of images. You can customize these apps or start building your own Android apps! &lt;/p&gt;&lt;center&gt;&lt;iframe id="imgFull" width="560" height="315" src="https://www.youtube.com/embed/JJLNvVXPYYw" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;&lt;/center&gt;&lt;p&gt;You can find more resources such as courses and documentation on &lt;a href="https://goo.gle/33Hee0f"&gt;developer.android.com&lt;/a&gt;. Stay up-to-date on the latest educational resources from the Android engineering team by following our &lt;a href="https://goo.gle/34qdA6Z"&gt;YouTube channel&lt;/a&gt;, &lt;a href="https://goo.gle/37FAHMs"&gt;Twitter account&lt;/a&gt;, and subscribing to our &lt;a href="https://goo.gle/3863IPO"&gt;newsletter&lt;/a&gt;. &lt;/p&gt;&lt;hr class="solid"&gt;&lt;h2&gt;Developer Student Clubs (DSC)&lt;/h2&gt;&lt;p&gt;&lt;a href="http://g.co/dev/dsc"&gt;Developer Student Clubs&lt;/a&gt; are university based community groups for students interested in Google developer technologies.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href="https://goo.gle/solutionchallenge"&gt;DSC Solution Challenge&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;For two years, DSC has challenged students to solve problems in their local communities using technology. Learn the steps to get started on a real life project with tips from Arman Hezarkhani. Get inspired by the 2020 Solution Challenge winners and see what they built &lt;a href="https://developers.googleblog.com/2020/07/dsc-global-students-solutions-with-code.html"&gt;here&lt;/a&gt;.  &lt;/p&gt;&lt;p&gt;If you’re a university student interested in joining or leading a DSC near you, click &lt;a href="http://g.co/dev/dsc"&gt;here&lt;/a&gt; to learn more. &lt;/p&gt;&lt;center&gt;&lt;img alt="Developer Student Clubs logo" border="0" style="width:50%" data-original-height="147" data-original-width="1600" src="https://1.bp.blogspot.com/-wvPF_ldWa-M/X81rHGwcJCI/AAAAAAAAJow/VLiyHL3kpK8eCj9uALjA6c_zg1Of56luQCLcBGAsYHQ/s0/gd_dsc_lockup_horizontal_color.png"/&gt;&lt;/center&gt;&lt;hr class="solid"&gt;&lt;h2&gt;Firebase&lt;/h2&gt;&lt;p&gt;Firebase is a mobile and web applications development platform that allows you to manage and solve key challenges across the app lifecycle with its full suite of tools for building, quality, and business.  &lt;/p&gt;&lt;center&gt;&lt;iframe id="imgFull" width="560" height="315" src="https://www.youtube.com/embed/O17OWyx08Cg" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;&lt;/center&gt;&lt;p&gt;&lt;strong&gt;Codelab: Get to know Firebase for web&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;In this introductory &lt;a href="https://goo.gle/fbcodelab1"&gt;codelab&lt;/a&gt;, you'll learn some of the basics of Firebase to create interactive web applications. Learn how to build and deploy an event RSVP and guestbook chat app using several Firebase products.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Codelab: Firebase web codelab&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Following “Get to Know Firebase for web”, take this next &lt;a href=" https://goo.gle/fbcodelab2"&gt;codelab&lt;/a&gt; and you'll learn how to use Firebase to easily create web applications by implementing and deploying a chat client using Firebase products and services. &lt;/p&gt;&lt;p&gt;Get all the latest educational resources from the Firebase engineering team by following our &lt;a href="https://goo.gle/fbyt-csw"&gt;YouTube channel&lt;/a&gt;, &lt;a href="https://goo.gle/fbtwitter-csw"&gt;Twitter account&lt;/a&gt;, and visiting the &lt;a href="https://goo.gle/fbcommunitypage-csw"&gt;website&lt;/a&gt;. &lt;/p&gt;&lt;hr class="solid"&gt;&lt;h2&gt;Flutter&lt;/h2&gt;&lt;p&gt;Do you want to learn how to build natively compiled apps for mobile, web, and desktop from a single codebase? If the answer is yes, we have some great resources for you.  &lt;/p&gt;&lt;p&gt;&lt;a href="https://flutter.dev/docs/get-started/codelab"&gt;This is a guide&lt;/a&gt; to creating your first Flutter app. If you are familiar with object-oriented code and basic programming concepts such as variables, loops, and conditionals, you can complete this tutorial. You don’t need previous experience with Dart, mobile, or web programming. &lt;/p&gt;&lt;p&gt;Check out this &lt;a href="https://www.udacity.com/course/build-native-mobile-apps-with-flutter--ud905"&gt;free course from Google and Udacity&lt;/a&gt;, which is the perfect course if you’re brand new to Flutter.  &lt;/p&gt;&lt;hr class="solid"&gt;&lt;h2&gt;Google Cloud Platform&lt;/h2&gt;&lt;p&gt;Google Cloud Platform helps you build what's next with secure infrastructure, developer tools, APIs, data analytics and machine learning. &lt;/p&gt;&lt;iframe id="imgFull" width="560" height="315" src="https://www.youtube.com/embed/JtUIQz_EkUw" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;&lt;p&gt;&lt;strong&gt;Cloud OnBoard: Core Infrastructure&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;In this &lt;a href="https://cloudonair.withgoogle.com/events/cloud-onboard-core-infrastructure?utm_source=google&amp;utm_medium=blog&amp;utm_campaign=FY20-Q4-global-onair-onlineevent-er-dev_mktg_cob_ondemand_core_infra&amp;utm_content=gds_computer_science_education_week&amp;utm_term=-"&gt;training&lt;/a&gt;, learn the fundamentals of Google Cloud and how it can boost your flexibility and efficiency. During sessions and demos, you'll see the ins and outs of some of Google Cloud's most impactful tools, discover how to maximize your VM instances, and explore the best ways to approach your container strategy. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Google Cloud Codelabs and Challenges&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Complete a &lt;a href="https://codelabs.developers.google.com/cloud"&gt;codelab&lt;/a&gt; and coding challenge on Google Cloud topics such as Google Cloud Basics, Compute, Data, Mobile, Monitoring, Machine Learning and Networking.  &lt;/p&gt;&lt;p&gt;For in-depth Google Cloud tutorials and the latest Google Cloud news, tune into our Google Cloud Platform &lt;a href="https://www.youtube.com/googlecloudplatform"&gt;YouTube channel&lt;/a&gt;! &lt;/p&gt; &lt;hr class="solid"&gt;&lt;h2&gt;Google Pay&lt;/h2&gt;&lt;p&gt;Google Pay lets your customers pay with the press of a button — using payment methods saved to their Google Account. Learn how to integrate the Google Pay APIs for web and Android.  &lt;/p&gt;&lt;ol&gt;&lt;li&gt;Get started integrating Google Pay APIs for &lt;a href="https://goo.gle/Google-Pay-Android-API"&gt;Android&lt;/a&gt;. &lt;li&gt;Get started integrating Google Pay APIs for &lt;a href="http://goo.gle/Pay-API-Overview"&gt;Web&lt;/a&gt;.  &lt;/li&gt;&lt;/ol&gt;&lt;hr class="solid"&gt;&lt;h2&gt;Google Workspace Developers&lt;/h2&gt;&lt;p&gt;Google Workspace, formerly known as G Suite, includes all of the productivity apps you know and love—Gmail, Calendar, Drive, Docs, Sheets, Slides, Meet, and many more. &lt;/p&gt;&lt;p&gt;The &lt;strong&gt;Google Workspace Developer Platform&lt;/strong&gt; is a collection of tools and resources that let you customize, extend, and integrate with Google Workspace. Low-code tools such as Apps Script enables you to build customizations that automate routine tasks, and professional resources such as Add-ons and APIs enable software vendors to build applications that extend and integrate with Google Workspace. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Learn Apps Script fundamentals with codelabs&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;If you're new to Apps Script, you can learn the basics using our Fundamentals of Apps Script with this Google Sheets codelab playlist.  &lt;/p&gt;&lt;ol&gt; &lt;li&gt;&lt;a href="https://codelabs.developers.google.com/codelabs/apps-script-fundamentals-1"&gt;Fundamentals of Apps Script with Google Sheets #1: Macros &amp; Custom Functions&lt;/a&gt; &lt;li&gt;&lt;a href="https://codelabs.developers.google.com/codelabs/apps-script-fundamentals-2"&gt;Fundamentals of Apps Script with Google Sheets #2: Spreadsheets, Sheets, and Ranges&lt;/a&gt; &lt;li&gt;&lt;a href="https://codelabs.developers.google.com/codelabs/apps-script-fundamentals-3"&gt;Fundamentals of Apps Script with Google Sheets #3: Working with Data&lt;/a&gt; &lt;li&gt;&lt;a href="https://codelabs.developers.google.com/codelabs/apps-script-fundamentals-4"&gt;Fundamentals of Apps Script with Google Sheets #4: Data Formatting&lt;/a&gt; &lt;li&gt;&lt;a href="https://codelabs.developers.google.com/codelabs/apps-script-fundamentals-5"&gt;Fundamentals of Apps Script with Google Sheets #5: Chart and Present Data in Slides&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Stay updated on the newest Google Workspace developer tools and tutorials by following us on our &lt;a href="https://www.youtube.com/googleworkspace"&gt;YouTube channel&lt;/a&gt; and &lt;a href="https://twitter.com/workspacedevs"&gt;Twitter&lt;/a&gt;! &lt;/p&gt; &lt;hr class="solid"&gt;&lt;h2&gt;Material Design&lt;/h2&gt;&lt;p&gt;Material Design is a design system, created by Google and backed by open-source code, that helps teams build high-quality digital experiences. Whether you’re building for Android, Flutter, or the web we have guidelines, code, and resources to help you build beautiful products, faster. We’ve compiled the best beginner resources here:  &lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="https://goo.gle/39KGKSS"&gt;Learn how to choose the right navigation for your app&lt;/a&gt;&lt;li&gt;&lt;a href="https://goo.gle/36IeZbn"&gt;Building Beautiful Transitions with Material Motion for Android&lt;/a&gt;&lt;li&gt;&lt;a href="https://goo.gle/3lI5rkY"&gt;Get Started with Material Components for Android&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;If you’re interested in learning more about Material Design &lt;a href="https://goo.gle/MaterialDesign-YouTube"&gt;subscribe to the brand new YouTube channel &lt;/a&gt;for updates, and Q&amp;A format videos.  &lt;/p&gt;&lt;hr class="solid"&gt;&lt;h2&gt;TensorFlow&lt;/h2&gt;&lt;p&gt;TensorFlow is an open source platform for machine learning to help you solve challenging, real-world problems with an entire ecosystem of tools, libraries and community resources. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Teachable Machine&lt;/strong&gt;&lt;/p&gt;&lt;center&gt;&lt;iframe id="imgFull" width="560" height="315" src="https://www.youtube.com/embed/T2qQGqZxkD0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;&lt;/center&gt;&lt;p&gt;&lt;a href="http://goo.gle/teachablemachine"&gt;Teachable Machine&lt;/a&gt; is a web tool that makes creating machine learning models fast, easy, and accessible to everyone. See how you can write a machine learning model without writing any code, save models, and use them in your &lt;em&gt;own&lt;/em&gt; future projects. The models you make with are real &lt;a href="https://goo.gle/tfjs-csedweek"&gt;TensorFlow.js models&lt;/a&gt; that work anywhere &lt;a href="https://en.wikipedia.org/wiki/JavaScript"&gt;JavaScript&lt;/a&gt; runs.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Machine Learning Foundations:&lt;/strong&gt;&lt;/p&gt;&lt;center&gt;&lt;iframe id="imgFull" width="560" height="315" src="https://www.youtube.com/embed/_Z9TRANg4c0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;&lt;/center&gt;&lt;p&gt;&lt;a href="https://goo.gle/tf-mlfoundations"&gt;Machine Learning Foundations&lt;/a&gt; is a free training course where you’ll learn the fundamentals of building machine learned models using TensorFlow. Heads up! You will need to know a little bit of &lt;a href="https://en.wikipedia.org/wiki/Python_(programming_language)"&gt;Python&lt;/a&gt;.  &lt;/p&gt;&lt;p&gt;Subscribe to our &lt;a href="https://goo.gle/tfyt-csw"&gt;YouTube channel&lt;/a&gt; and &lt;a href="https://goo.gle/tftw-csw"&gt;Twitter account &lt;/a&gt;for all the latest in machine learning.  &lt;/p&gt;&lt;hr class="solid"&gt;&lt;br&gt;&lt;br&gt;&lt;h2&gt;Celebrate more with Google&lt;/h2&gt;&lt;p&gt;Here are other ways our friends within the ecosystem are supporting #CSEdWeek.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Google for Education&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;b&gt;&lt;a href="https://csfirst.withgoogle.com/s/en/home"&gt;CS First Unplugged&lt;/a&gt;:&lt;/b&gt; A free computer science curriculum designed by teachers that makes coding easy to teach and fun to learn in a wide range of classrooms. Check out the &lt;a href="https://csfirst.withgoogle.com/s/en/teachers"&gt;website&lt;/a&gt; to collect more teacher resources from CS First.  &lt;li&gt;&lt;b&gt;&lt;a href="https://csfirst.withgoogle.com/s/en/hourofcode"&gt;Teach an Hour of Code:&lt;/a&gt;&lt;/b&gt; Flexible one-hour coding activities that can be completed online with a device, or offline and unplugged. Get started with a &lt;a href="https://storage.googleapis.com/files.cs-first.com/Unplugged/CSFirstUnplugged_Booklet_Color.pdf"&gt;printable booklet&lt;/a&gt; with computational thinking activities for students to learn about how computer science helps us communicate and stay connected with people around the world. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Experiments with Google &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;A &lt;a href="https://experiments.withgoogle.com/"&gt;collection&lt;/a&gt; of innovative projects using Chrome, Android, AI, AR, Web, and more, along with helpful tools and resources to inspire others to create new experiments. New projects are added weekly, like this machine learning &lt;a href="https://experiments.withgoogle.com/infinite-bad-guy"&gt;collaboration&lt;/a&gt; between Billie Eilish, YouTube Music and &lt;a href="https://experiments.withgoogle.com/search?q=google%20creative%20lab"&gt;Google Creative Lab&lt;/a&gt;.  &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/1QO_sppUWWQ" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/6906177261232331185/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2020/12/cs-education-week-2020.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/6906177261232331185" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/6906177261232331185" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/1QO_sppUWWQ/cs-education-week-2020.html" title="Celebrate #CSEdWeek with Google Developers!" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-OHWS9_Th-9s/X85v2D_fBRI/AAAAAAAAJpA/1bdZ1ASoUkYSGR43Wf0xCuKZDXBu6D5UACLcBGAsYHQ/s72-c/Google-dev-computer-science-education-week-social.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2020/12/cs-education-week-2020.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-2725065865125989447</id><published>2020-12-01T15:13:00.001-08:00</published><updated>2020-12-01T15:13:28.095-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dev Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="featured" /><category scheme="http://www.blogger.com/atom/ns#" term="Gradle" /><category scheme="http://www.blogger.com/atom/ns#" term="Latest" /><title type="text">AGP 7.0: Next major release for the Android Gradle plugin </title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-V_Z0XIQokGM/X8afs3RR--I/AAAAAAAAP50/KVRo9j43uoQP--wfD2qL8iP2HagX9DucwCLcBGAsYHQ/s0/1_idoNj7WMAAZecVB0j6OL0A%2B%25281%2529.png"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-V_Z0XIQokGM/X8afs3RR--I/AAAAAAAAP50/KVRo9j43uoQP--wfD2qL8iP2HagX9DucwCLcBGAsYHQ/s0/1_idoNj7WMAAZecVB0j6OL0A%2B%25281%2529.png"&gt; &lt;p&gt;&lt;em&gt;Posted by &lt;a href="https://twitter.com/yenerm?lang=en"&gt;Murat Yener&lt;/a&gt;, Developer Advocate  &lt;/em&gt;&lt;p&gt;      &lt;center&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-V_Z0XIQokGM/X8afs3RR--I/AAAAAAAAP50/KVRo9j43uoQP--wfD2qL8iP2HagX9DucwCLcBGAsYHQ/s0/1_idoNj7WMAAZecVB0j6OL0A%2B%25281%2529.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="" border="0" data-original-height="560" data-original-width="2000" src="https://1.bp.blogspot.com/-V_Z0XIQokGM/X8afs3RR--I/AAAAAAAAP50/KVRo9j43uoQP--wfD2qL8iP2HagX9DucwCLcBGAsYHQ/s0/1_idoNj7WMAAZecVB0j6OL0A%2B%25281%2529.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;/center&gt;     &lt;p&gt;Today marks the release of the first Canary version of &lt;a href="https://android-developers.googleblog.com/2020/12/announcing-android-studio-arctic-fox.html"&gt;Android Studio Arctic Fox (2020.3.1)&lt;/a&gt;, together with Android Gradle plugin (AGP) version 7.0.0-alpha01. With this release we are adjusting the version numbering for our Gradle plugin and decoupling it from the Android Studio versioning scheme. In this blog post we'll explain the reasons for the change, as well as give a preview of some important changes we're making to our new, incubating &lt;a href="https://medium.com/androiddevelopers/new-apis-in-the-android-gradle-plugin-f5325742e614"&gt;Android Gradle plugin APIs and DSL&lt;/a&gt;.  &lt;/p&gt;   &lt;h3&gt;New versioning scheme&lt;/h3&gt;  &lt;p&gt;With AGP 7.0.0 we are adopting the principles of &lt;a href="https://semver.org/"&gt;semantic versioning&lt;/a&gt;. What this means is that only major version changes will break API compatibility. We intend to release one major version each year, right after Gradle introduces its own yearly major release.  &lt;/p&gt;&lt;p&gt;Moreover, in the case of a breaking change, we will ensure that the removed API is marked with &lt;code&gt;@Deprecated&lt;/code&gt; about a year in advance and that its replacement is available at the same time. This will give developers roughly a year to migrate and test their plugins with the new API before the old API is removed. &lt;/p&gt;&lt;p&gt;Alignment with &lt;a href="https://gradle.org/releases/"&gt;Gradle's version&lt;/a&gt; is also why we're skipping versions 5 and 6, and moving directly to AGP 7.0.0. This alignment indicates that AGP 7.x is meant to work with Gradle 7.x APIs. While it may also run on Gradle 8.x, this is not guaranteed and will depend on whether 8.x removes APIs that AGP relies on. &lt;/p&gt;&lt;p&gt;With this change, the AGP version number will be decoupled from the Android Studio version number. However we will keep releasing Android Studio and Android Gradle plugin together for the foreseeable future. &lt;/p&gt;&lt;p&gt;Compatibility between Android Studio and Android Gradle plugin remains unchanged. As a general rule, projects that use &lt;strong&gt;stable versions&lt;/strong&gt; of AGP can be opened with newer versions of Android Studio.  &lt;/p&gt;&lt;h3&gt;Java 11 requirement&lt;/h3&gt;  &lt;p&gt;You can still use Java programming language version 8 with AGP 7.0.0-alpha01 but we are changing the minimum required Java programming language version to Java 11, starting with AGP 7.0.0-alpha02. We are announcing this early in the Canary schedule and many months ahead of the stable release to allow developers time to get ready.  &lt;/p&gt;&lt;h3&gt;Incubating APIs and important API changes&lt;/h3&gt;  &lt;p&gt;This release of AGP also introduces some API changes. As a reminder, a number of APIs that were introduced in AGP 4.1 were marked as incubating and were subject to change. In fact, in AGP 4.2 some of these APIs have changed. The APIs that are currently incubating do not follow the deprecation cycle that we explain above.  &lt;/p&gt;&lt;p&gt;Here is a summary of some important API changes. &lt;/p&gt;&lt;ul&gt; &lt;li&gt;The &lt;code&gt;onVariants&lt;/code&gt;, &lt;code&gt;onProperties&lt;/code&gt; and &lt;code&gt;onVariantProperties&lt;/code&gt; blocks are removed in version 4.2 beta.  &lt;li&gt;These APIs are replaced with  &lt;code&gt;beforeVariants&lt;/code&gt; and &lt;code&gt;onVariants&lt;/code&gt; in the new &lt;code&gt;&lt;a href="https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/extension/AndroidComponentsExtension"&gt;androidComponents&lt;/a&gt;&lt;/code&gt; block. Both &lt;code&gt;beforeVariants&lt;/code&gt; and &lt;code&gt;onVariants&lt;/code&gt; can optionally use a &lt;code&gt;VariantSelector&lt;/code&gt; to reduce the number of variants the callback will run on, based on build type, name or flavor by using &lt;code&gt;withBuildType&lt;/code&gt;, &lt;code&gt;withName&lt;/code&gt; and &lt;code&gt;withFlavor&lt;/code&gt; accordingly. The lambda &lt;code&gt;onVariants&lt;/code&gt; and &lt;code&gt;beforeVariants&lt;/code&gt; receives is executed after AGP computes variant combinations in &lt;code&gt;afterEvaluate&lt;/code&gt;. Nesting properties inside &lt;code&gt;onVariants&lt;/code&gt; is removed.  &lt;li&gt;Similar APIs are added to &lt;a href="https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/extension/AndroidComponentsExtension"&gt;androidComponents&lt;/a&gt; to allow separate blocks for UnitTests (&lt;code&gt;beforeUnitTest&lt;/code&gt; and &lt;code&gt;unitTest&lt;/code&gt;) and AndroidTests (&lt;code&gt;beforeAndroidTest&lt;/code&gt; and &lt;code&gt;androidTest&lt;/code&gt;) instead of nesting tests inside variants.  &lt;li&gt;Two classes used by both the old and new way of registering actions for variants were renamed. &lt;code&gt;Variant&lt;/code&gt; is now &lt;code&gt;VariantBuilder&lt;/code&gt;, and it is used in the &lt;code&gt;beforeVariants&lt;/code&gt; phase. &lt;code&gt;VariantProperties&lt;/code&gt; is now &lt;code&gt;Variant&lt;/code&gt; and it is passed to the new &lt;code&gt;onVariants&lt;/code&gt; block.  &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Let’s take a look at some of these changes. Here is a sample &lt;code&gt;onVariants&lt;/code&gt; block which targets the release build&lt;code&gt;. &lt;/code&gt;The &lt;code&gt;onVariants&lt;/code&gt;  block Is changed to &lt;code&gt;beforeVariants&lt;/code&gt; and uses a variant selector in the following example. &lt;/p&gt;   &lt;pre class="prettyprint"&gt;```&lt;br /&gt;android {&lt;br /&gt;   …&lt;br /&gt;   //onVariants.withName("release") {&lt;br /&gt;   //   ...&lt;br /&gt;   //}&lt;br /&gt;   …&lt;br /&gt;}&lt;br /&gt;androidComponents {&lt;br /&gt;   val release = selector().withBuildType("release")&lt;br /&gt;   beforeVariants(release) { variant -&gt;&lt;br /&gt;      ...&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;```&lt;/pre&gt;  &lt;p&gt;Similarly&lt;code&gt; onVariantProperties &lt;/code&gt;block  is changed to&lt;code&gt; onVariants.&lt;/code&gt;&lt;/p&gt;   &lt;pre class="prettyprint"&gt;```&lt;br /&gt;android {&lt;br /&gt;   ...&lt;br /&gt;   //onVariantProperties {&lt;br /&gt;   //   ... &lt;br /&gt;   //}&lt;br /&gt;   …&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;androidComponents.onVariants { variant -&gt;&lt;br /&gt;      ... &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;```&lt;/pre&gt;  &lt;p&gt;Note, this customization is typically done in a plugin and should not be located in build.gradle. We are moving away from using functions with receivers which suited the DSL syntax but are not necessary in the plugin code. &lt;/p&gt;&lt;p&gt;We are planning to make these APIs stable with AGP 7.0.0 and all plugin authors must  migrate to the new androidComponents. If you want to avoid dealing with such changes, make sure your plugins only use stable APIs and do not depend on APIs marked as incubating. &lt;/p&gt;&lt;p&gt;If you want to learn more about other changes coming with this release, make sure to take a look at the &lt;a href="https://developer.android.com/studio/preview/features#2020.3.1"&gt;release notes&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;    &lt;/p&gt;&lt;p&gt;&lt;em&gt;Java is a registered trademark of Oracle and/or its affiliates.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/I6Buzz57RW0" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/2725065865125989447/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2020/12/agp-70-next-major-release-for-android.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/2725065865125989447" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/2725065865125989447" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/I6Buzz57RW0/agp-70-next-major-release-for-android.html" title="AGP 7.0: Next major release for the Android Gradle plugin " /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-V_Z0XIQokGM/X8afs3RR--I/AAAAAAAAP50/KVRo9j43uoQP--wfD2qL8iP2HagX9DucwCLcBGAsYHQ/s72-c/1_idoNj7WMAAZecVB0j6OL0A%2B%25281%2529.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2020/12/agp-70-next-major-release-for-android.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-4774705097574248226</id><published>2020-12-01T15:12:00.002-08:00</published><updated>2020-12-01T17:23:35.663-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android Studio" /><category scheme="http://www.blogger.com/atom/ns#" term="Android Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="androidstudio" /><category scheme="http://www.blogger.com/atom/ns#" term="Dev Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="featured" /><category scheme="http://www.blogger.com/atom/ns#" term="Gradle" /><category scheme="http://www.blogger.com/atom/ns#" term="Latest" /><title type="text">Announcing Android Studio Arctic Fox (2020.3.1) &amp; Android Gradle plugin 7.0</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-fl_E3FcJWTk/X8aDwEsSl6I/AAAAAAAAP44/FLRzAJ8D_3EHia79Vi93dlX6bu2hsasMQCLcBGAsYHQ/s0/compose_preview%2B%25281%2529.gif"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-fl_E3FcJWTk/X8aDwEsSl6I/AAAAAAAAP44/FLRzAJ8D_3EHia79Vi93dlX6bu2hsasMQCLcBGAsYHQ/s0/compose_preview%2B%25281%2529.gif"&gt; &lt;p&gt;&lt;em&gt;Posted by &lt;a href="https://twitter.com/jamaleason"&gt;Jamal Eason&lt;/a&gt;, Product Manager &lt;/em&gt;&lt;p&gt; &lt;a href="https://1.bp.blogspot.com/-LgTa-xDiknI/X4EflN56boI/AAAAAAAAPuk/24YyKnqiGkwRS9-_9suPKkfsAwO4wHYEgCLcBGAsYHQ/s0/image9.png" imageanchor="1"&gt;&lt;img alt="Android Studio logo" border="0" data-original-height="1217" data-original-width="1197" id="floatRight" src="https://1.bp.blogspot.com/-LgTa-xDiknI/X4EflN56boI/AAAAAAAAPuk/24YyKnqiGkwRS9-_9suPKkfsAwO4wHYEgCLcBGAsYHQ/s0/image9.png" style="width: 35%;"/&gt;&lt;/a&gt; &lt;p&gt;Today marks the release of the first version of Android Studio Arctic Fox (2020.3.1) on the canary channel, together with Android Gradle plugin (AGP) version 7.0.0-alpha01. With this release, we are adjusting the version numbering of Android Studio and our Gradle plugin. This change decouples the Gradle plugin from the Android Studio versioning scheme and brings more clarity to which year and IntelliJ version Android Studio aligns with for each release. &lt;/p&gt; &lt;h3&gt;New versioning scheme - Android Studio&lt;/h3&gt;  &lt;p&gt;With Android Studio Arctic Fox (2020.3.1) we are moving to a year-based system that is more closely aligned with IntelliJ IDEA, the IDE upon which Android Studio is built. We are changing the version numbering scheme to encode a number of important attributes: the year, the version of IntelliJ it is based on, plus feature and patch level.  WIth this name change you can quickly figure out which version of the IntelliJ platform you are using in Android Studio. In addition,  each major version will have a canonical codename, starting with Arctic Fox, and then proceeding alphabetically to help make it easy to see which version is newer. &lt;/p&gt;&lt;p&gt;We recommend that you use the latest version of Android Studio so that you have access to the latest features and quality improvements. To make it easier to stay up to date, we made the version change to clearly de-couple Android Studio from your Android Gradle Plugin version. An important detail to keep in mind is that there is no impact to the way the build system compiles and packages your app when you update the IDE. In contrast, app build process changes and APK/Bundles are dictated by your project AGP version. Therefore, it is safe to update your Android Studio version, even late in your development cycle, because your project AGP version can be updated in a different cadence than your Android Studio version. Lastly, with the new version system it is even easier than before for you or your team to run both the stable and preview versions of Android Studio at the &lt;a href="https://developer.android.com/studio/preview/install-preview"&gt;same time&lt;/a&gt; on your app project as long as you keep the AGP version on a stable release.  &lt;/p&gt;&lt;p&gt;In the previous numbering system, this release would have been Android Studio 4.3. With the new numbering system, it is now Android Studio Arctic Fox (2020.3.1) Canary 1 or just, Arctic Fox. &lt;/p&gt;  &lt;center&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-slq6xg2pRmE/X8aDA3R0LUI/AAAAAAAAP4w/vplqs6aknvYd4X532vMr8xVzTW1-HDamACLcBGAsYHQ/s0/Screen%2BShot%2B2020-12-01%2Bat%2B12.45.26%2BPM.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="" border="0" data-original-height="184" data-original-width="1400" src="https://1.bp.blogspot.com/-slq6xg2pRmE/X8aDA3R0LUI/AAAAAAAAP4w/vplqs6aknvYd4X532vMr8xVzTW1-HDamACLcBGAsYHQ/s0/Screen%2BShot%2B2020-12-01%2Bat%2B12.45.26%2BPM.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;/center&gt;  &lt;p&gt;Going forward, here is how the Android Studio version number scheme will work: &lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;lt;Year of IntelliJ Version&gt;.&amp;lt;IntelliJ major version&gt;.&amp;lt;Studio major version&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt; &lt;li&gt;The first two number groups represent the version of the final IntellIj platform that a particular Android Studio release is based on (earlier canaries may still be on the earlier version). For this release, this is 2020.3.  &lt;li&gt;The third number group represents the Studio major version, starting at 1 and incrementing by one for every major release.  &lt;li&gt;To make it easier to refer to each version, we are also giving major releases a code name, incrementing from A to Z based on animal names. This initial release name is Arctic Fox.   &lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;New versioning scheme - Android Gradle plugin&lt;/h3&gt;  &lt;p&gt;With AGP 7.0.0 we are adopting the principles of &lt;a href="https://semver.org/"&gt;semantic versioning&lt;/a&gt;, and aligning with the Gradle version that AGP requires. Compatibility between Android Studio and Android Gradle plugin remains unchanged. Projects that use &lt;strong&gt;stable versions&lt;/strong&gt; of AGP can be opened with newer versions of Android Studio.  &lt;/p&gt;&lt;p&gt;We will publish &lt;a href="https://android-developers.googleblog.com/2020/12/announcing-android-gradle-plugin.html"&gt;another post&lt;/a&gt; soon with more details about our AGP versioning philosophy and what is new in AGP 7.0.&lt;br&gt;&lt;/p&gt;&lt;h3&gt;What is new in Android Studio Arctic Fox&lt;/h3&gt;  &lt;p&gt;We are in early days in the feature development phase for Arctic Fox, but we have invested much of our time in addressing over 200 quality improvements and bugs across a wide range of areas in the IDE from the code editor, app inspection tools, layout editor to the embedded emulator. Check out the &lt;a href="https://developer.android.com/studio/releases"&gt;release notes &lt;/a&gt;for the specific bug fixes.  &lt;/p&gt;&lt;p&gt;For those trying out &lt;a href="https://developer.android.com/jetpack/compose"&gt;Jetpack Compose&lt;/a&gt;, we have a host of new updates, like deploy &lt;code&gt;@Preview&lt;/code&gt; composables to device/emulator: &lt;/p&gt; &lt;center&gt; &lt;a href="https://1.bp.blogspot.com/-fl_E3FcJWTk/X8aDwEsSl6I/AAAAAAAAP44/FLRzAJ8D_3EHia79Vi93dlX6bu2hsasMQCLcBGAsYHQ/s0/compose_preview%2B%25281%2529.gif" imageanchor="1" &gt;&lt;img id=imgFull border="0" src="https://1.bp.blogspot.com/-fl_E3FcJWTk/X8aDwEsSl6I/AAAAAAAAP44/FLRzAJ8D_3EHia79Vi93dlX6bu2hsasMQCLcBGAsYHQ/s0/compose_preview%2B%25281%2529.gif" data-original-width="1058" data-original-height="714" /&gt;&lt;/a&gt;   &lt;p id="imgCaption"&gt; Deploy preview composable&lt;/p&gt; &lt;/center&gt;    &lt;p&gt;Also try out the new Layout Validation Tool in Arctic Fox to see how your layout responds to various screens sizes, font sizes, and Android Color Correction/Color Blind Modes. You can access this via the &lt;strong&gt;Layout Validation&lt;/strong&gt; tool window when you are using the Layout Editor.  &lt;/p&gt;  &lt;center&gt; &lt;a href="https://1.bp.blogspot.com/-xpAxvNafTsM/X8aEhKO-j4I/AAAAAAAAP5I/3J5sKNy_DZsmPb69juG7figtqIxsP71sQCLcBGAsYHQ/s0/layout_validation_adv.gif" imageanchor="1" &gt;&lt;img id=imgFull border="0" src="https://1.bp.blogspot.com/-xpAxvNafTsM/X8aEhKO-j4I/AAAAAAAAP5I/3J5sKNy_DZsmPb69juG7figtqIxsP71sQCLcBGAsYHQ/s0/layout_validation_adv.gif" data-original-width="1058" data-original-height="714" /&gt;&lt;/a&gt;   &lt;p id="imgCaption"&gt; Layout Validation &lt;/p&gt; &lt;/center&gt; &lt;p&gt;Lastly, for those running MacOS (other platforms are coming soon) with the latest Android Platform tools and an Android 11 device, you can try out the IDE integration for the &lt;a href="https://developer.android.com/studio/command-line/adb#wireless-adb-android-11"&gt;Wireless ADB&lt;/a&gt; feature by going to the &lt;strong&gt;Run&lt;/strong&gt; device selection dialogue → &lt;strong&gt;Pair Devices Using Wi-Fi&lt;/strong&gt;.    &lt;/p&gt;  &lt;center&gt; &lt;a href="https://1.bp.blogspot.com/-K8AC-KTs0NI/X8aE-AKoZyI/AAAAAAAAP5Q/tI1nOlJDvaYgTlGt_nwzDtIWM0BFQ5pwQCLcBGAsYHQ/s0/Untitled%2B%25283%2529.png " imageanchor="1" &gt;&lt;img id=imgFull border="0" src="https://1.bp.blogspot.com/-K8AC-KTs0NI/X8aE-AKoZyI/AAAAAAAAP5Q/tI1nOlJDvaYgTlGt_nwzDtIWM0BFQ5pwQCLcBGAsYHQ/s0/Untitled%2B%25283%2529.png " data-original-width="1058" data-original-height="714" /&gt;&lt;/a&gt;   &lt;p id="imgCaption"&gt; Menu to access Wireless ADB feature &lt;/p&gt; &lt;/center&gt;    &lt;center&gt; &lt;a href="https://1.bp.blogspot.com/-tA1_CjFUZUk/X8aGt_KCmoI/AAAAAAAAP5c/yLgjCLvm5YYLbTo8tUYQLvF7n79qh5qkQCLcBGAsYHQ/s0/unnamed%2B%25287%2529.png" imageanchor="1" &gt;&lt;img style="width:450px" id=imgFull border="0" src="https://1.bp.blogspot.com/-tA1_CjFUZUk/X8aGt_KCmoI/AAAAAAAAP5c/yLgjCLvm5YYLbTo8tUYQLvF7n79qh5qkQCLcBGAsYHQ/s0/unnamed%2B%25287%2529.png " data-original-width="1058" data-original-height="714" /&gt;&lt;/a&gt;   &lt;p id="imgCaption"&gt; Wireless ADB Setup Window &lt;/p&gt; &lt;/center&gt;     &lt;h3&gt;What’s Next &lt;/h3&gt;  &lt;p&gt;If you want to learn more about other detailed changes coming with this release for both Android Studio and the Android Gradle plugin, make sure to take a look at the &lt;a href="https://developer.android.com/studio/releases"&gt;release notes&lt;/a&gt;. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/VorT4cdvy3o" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/4774705097574248226/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2020/12/announcing-android-studio-arctic-fox.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/4774705097574248226" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/4774705097574248226" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/VorT4cdvy3o/announcing-android-studio-arctic-fox.html" title="Announcing Android Studio Arctic Fox (2020.3.1) &amp; Android Gradle plugin 7.0" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-fl_E3FcJWTk/X8aDwEsSl6I/AAAAAAAAP44/FLRzAJ8D_3EHia79Vi93dlX6bu2hsasMQCLcBGAsYHQ/s72-c/compose_preview%2B%25281%2529.gif" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2020/12/announcing-android-studio-arctic-fox.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-596098824972435195.post-208169354691239063</id><published>2020-12-01T10:03:00.001-08:00</published><updated>2020-12-01T10:04:53.379-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="machine learning" /><category scheme="http://www.blogger.com/atom/ns#" term="TensorFlow" /><title type="text">Aligning thousands of Billie Eilish covers in an infinite music video experiment</title><content type="html">&lt;meta name="twitter:image" content="https://1.bp.blogspot.com/-s-4kQ0la5II/X708Q929yxI/AAAAAAAAJmQ/lBcC1dZCWbM_-OVARUItD0etbW2mvzwrwCLcBGAsYHQ/s0/Untitled.gif"&gt;&lt;img style="display:none" src="https://1.bp.blogspot.com/-s-4kQ0la5II/X708Q929yxI/AAAAAAAAJmQ/lBcC1dZCWbM_-OVARUItD0etbW2mvzwrwCLcBGAsYHQ/s0/Untitled.gif"&gt; &lt;p&gt;&lt;em&gt;Posted by Google Creative Lab&lt;/em&gt;&lt;p&gt;      &lt;center&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-s-4kQ0la5II/X708Q929yxI/AAAAAAAAJmQ/lBcC1dZCWbM_-OVARUItD0etbW2mvzwrwCLcBGAsYHQ/s0/Untitled.gif" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width: 400px" alt="Billie Eilish gif" border="0" data-original-height="640" data-original-width="640" src="https://1.bp.blogspot.com/-s-4kQ0la5II/X708Q929yxI/AAAAAAAAJmQ/lBcC1dZCWbM_-OVARUItD0etbW2mvzwrwCLcBGAsYHQ/s0/Untitled.gif"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;/center&gt;   &lt;p&gt;“Bad Guy” by Billie Eilish is one of the most-covered songs on YouTube, inspiring thousands of fans to upload their own versions. To celebrate all these covers, YouTube and Google Creative Lab built an AI experiment to combine all of them seamlessly in the world’s first infinite music video: &lt;a href="http://billie.withyoutube.com"&gt;Infinite Bad Guy&lt;/a&gt;. The experience aligns every cover to the same beat, no matter its genre, language, or instrumentation. &lt;/p&gt; &lt;center&gt; &lt;iframe width="560" height="315" src="https://www.youtube.com/embed/OqY_IV3gj7E" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt; &lt;/center&gt;   &lt;h2&gt;Finding all the covers&lt;/h2&gt; &lt;p&gt;How do you find “Bad Guy” covers amidst all the billions of videos on YouTube? Just searching for “Bad Guy” would result in false positives, like videos of Billie being interviewed about the song, or miss covers that didn’t use the song name in their titles. YouTube’s &lt;a href="https://support.google.com/youtube/answer/2797370?hl=en"&gt;ContentID system&lt;/a&gt; allows us to find videos that match the musical composition “Bad Guy” and also allows us to narrow our search to videos that appear to be performances or creative interpretations of the song. That way, we can also avoid videos where “Bad Guy” was just background music. We continue to run this search daily, collecting an ever-expanding list of potential covers to use in the experience.  &lt;/p&gt; &lt;center&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-4zRTor17pqs/X708yXn-PRI/AAAAAAAAJmY/1cszekjEPJoJqxnhiG-ZjxJsGOTTUr_6ACLcBGAsYHQ/s0/Untitled%2B%25282%2529.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Finding all the covers" border="0" data-original-height="900" data-original-width="1600" src="https://1.bp.blogspot.com/-4zRTor17pqs/X708yXn-PRI/AAAAAAAAJmY/1cszekjEPJoJqxnhiG-ZjxJsGOTTUr_6ACLcBGAsYHQ/s0/Untitled%2B%25282%2529.png"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;/center&gt;    &lt;h2&gt;Aligning all the covers to the same beat&lt;/h2&gt; &lt;p&gt;A key part of the experience is being able to jump from cover to cover seamlessly. But fan covers of “Bad Guy” vary widely. Some might be similar to the original, like a&lt;a href="https://www.youtube.com/watch?v=QC7iMA2CoQk"&gt; dance video&lt;/a&gt; set to Billie’s track. Some might vary more in tempo and instrumentation, like a &lt;a href="https://www.youtube.com/watch?v=ri8jxt0JWS8"&gt;heavy metal cover&lt;/a&gt;. And others might diverge greatly from the original, like a &lt;a href="https://www.youtube.com/watch?v=7cKlGj7buvE"&gt;clarinet version with no lyrics&lt;/a&gt;. How can you get all these covers on the same beat? After trying several approaches like dynamic time warping and chord recognition, we’ve found the most success with a recurrent neural network trained to recognize sections and beats of “Bad Guy.” We collaborated with our friends at IYOYO on cover alignment and they have &lt;a href="https://iyoiyo.medium.com/creating-infinite-bad-guy-6a3c0d6afc02"&gt;a great writeup about the process&lt;/a&gt;. &lt;/p&gt;  &lt;center&gt; &lt;div class="separator" style="clear: both;"&gt;&lt;a href="https://1.bp.blogspot.com/-WB6oQcLTwJs/X709ShcK4QI/AAAAAAAAJmg/3gNnWzryh3w35zrjppOPripW1G_NZ1i-wCLcBGAsYHQ/s0/Untitled%2B%25281%2529.gif" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img style="width:100%" alt="Aligning all the covers to the same beat" border="0" data-original-height="480" data-original-width="853" src="https://1.bp.blogspot.com/-WB6oQcLTwJs/X709ShcK4QI/AAAAAAAAJmg/3gNnWzryh3w35zrjppOPripW1G_NZ1i-wCLcBGAsYHQ/s0/Untitled%2B%25281%2529.gif"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;/center&gt;    &lt;h2&gt;Building the experience&lt;/h2&gt; &lt;p&gt;Finding and aligning the covers is a fascinating research problem, but the crucial final step is making them explorable to everyone. We’ve tried to make it intuitive and fun to navigate all the infinite combinations, while keeping latency low so the song never drops a beat. &lt;/p&gt;   &lt;p&gt;The experience centers around three YouTube players, a number we settled on after a lot of experimentation. Initially we thought more players would be more interesting, but the experience got chaotic and slow. Around the players we’ve added discoverable features like the hashtag drawer and stats page. Video game interfaces have been a big inspiration for us, as they combine multiple interactions in a single dashboard. We’ve also added an autoplay mode for users who want to just sit back and be taken through an ever-changing mix of covers. &lt;/p&gt; &lt;p&gt;We’re excited about how &lt;a href="https://billie.withyoutube.com/"&gt;Infinite Bad Guy&lt;/a&gt; showcases the incredibly diverse talent of YouTube and the potential machine learning can have for music and creativity. Give it a try and see what beautiful, strange, and brilliant covers you can find.  &lt;/p&gt; &lt;img src="http://feeds.feedburner.com/~r/GDBcode/~4/FQXBokjKV1U" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developers.googleblog.com/feeds/208169354691239063/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://developers.googleblog.com/2020/11/aligning-thousands-of-billie-eilish-covers-in-an-infinite-music-video-experiment.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/208169354691239063" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/596098824972435195/posts/default/208169354691239063" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GDBcode/~3/FQXBokjKV1U/aligning-thousands-of-billie-eilish-covers-in-an-infinite-music-video-experiment.html" title="Aligning thousands of Billie Eilish covers in an infinite music video experiment" /><author><name>Google Developers</name><uri>http://www.blogger.com/profile/11166847513477443177</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-s-4kQ0la5II/X708Q929yxI/AAAAAAAAJmQ/lBcC1dZCWbM_-OVARUItD0etbW2mvzwrwCLcBGAsYHQ/s72-c/Untitled.gif" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://developers.googleblog.com/2020/11/aligning-thousands-of-billie-eilish-covers-in-an-infinite-music-video-experiment.html</feedburner:origLink></entry></feed>
