We’re excited to see you at the upcoming Game Developers Conference (GDC) in San Francisco. Join us March 16th-20th, 2020 to learn about new products and solutions from Google that will help developers for all platforms take their game to the next level. If you can’t make it in person, sign up to keep up to date with our announcements and view the livestream.
Everything kicks off with the Google for Games Developer Summit Keynote on Monday, March 16th where product leaders from across Google will share the newest announcements for game developers. After the keynote, join in on two days of developer sessions and learn how to use Google solutions to create great games, connect with more players, and scale your business. Check out the agenda today.
Starting Wednesday, March 18th, visit our booth in the GDC Expo to experience demos and meet one-on-one with Google product experts.
If you can’t attend GDC in-person, watch the Keynote and other Developer Summit sessions via the live stream at g.co/gdc2020.
We’ll be sharing more details about what we have planned at GDC in the coming weeks — be sure to sign up to be among the first to hear the latest updates. On-site events are part of the official Game Developers Conference and require a pass to attend.
After Aaron Ma, an 11-year-old DevFest speaker, recently gave his tips on coding, people kept asking us, “so what are the other kids of DevFest working on?” In response, we want to show you how these incredible kids, or DevKids as we call them, are spreading their ideas at DevFest events around the world.
Below you will find the stories of DevKids from Morocco to Toronto, who have spoken on topics ranging from robotics to augmented reality. We hope you enjoy!
Ider, an 11-year-old developer from Morocco, has a passion for Python and is not afraid to use it. With an incredibly advanced understanding of machine learning and augmented reality, he was asked to speak at DevFest Agadir on what the future holds for kids interested in programming.
Ider’s presentation was titled, The Talk of The Next Generation and focused on how kids can find their passion for computer science and start building the future they one day hope to call reality.
Selin, a 13-year-old developer from Istanbul who was named the European Digital Girl of the Year by AdaAwards, joined the DevFest family last season. Recently, at a DevFest event in Istanbul, she told the story of how she became fascinated with robotics through a presentation titled, My Journey of Building Robots. With a passion for Python, Java, and Ruby, she explained how she is using her skills to build a robotic guide dog for the blind. She hopes that with the help of technology, she can open up a new, more accessible world for those with disabilities.
Radostin, a 13-year-old programmer from Bulgaria, joined the DevFest family last season as a speaker and is now a core member of the DevFest Organizing Team. Recently, he created an app for the team that gathers feedback on different DevFest events.
Previously, he gave a talk at DevFest Sofia on how he built an app that teaches people to play chess on Google Assistant. The young developer also spoke of how his aunt introduced him to coding and how watching her program inspired him to learn Java, Kotlin, C #, Python, Dart, and C ++. He ended his presentation recounting long nights, spent watching YouTube videos, in search of anything he could get his hands on to learn. Radostin has inspired his DevFest family to believe they can learn anything, anywhere, at anytime.
Artash (12-years-old) and Arushi (9-years-old), are a brother-sister programing team from Canada. At DevFest Toronto, they showcased their very-own facial recognition robot that uses Machine Learning to Detect Facial Emotions. Their presentation was complete with live demonstrations where their robot analyzed fellow DevFest speakers and gave physical responses to their emotions. The two up-and-coming programmers also described how they went about creating their own ML algorithm to build the robot.
What inspired them to start such a project? Space travel. Artash and Arushi believe that as astronauts embark on longer space missions, it’s important to build tools that can monitor their mental health. One day, they hope their robot will accompany astronauts on the first trip to Mars.
Inspired by these awesome kids? Want to share your own ideas with a welcoming community? Then find a DevFest near you, at devfest.withgoogle.com.
As over 400 community-led DevFest events continue to take place around the world, something is becoming clear: kids are taking over. We’re not kidding. Many young students are taking the stage this season to speak on topics ranging from machine learning to robotics, and people are loving it.
At the same time, these kids and the GDG (Google Developers Groups) community organizers of local DevFests are becoming great friends. We saw this recently at a DevFest in San Francisco, where Vikram Tiwari, a GDG Lead, and 11-year-old Aaron Ma, the youngest speaker at the event, had a great conversation on programming.
We wanted to let you in on their conversation, so we asked Vikram to answer a few questions on coding, and then asked Aaron to respond to his answers. Check out their conversation below!
What is your favorite language to code in?
Aaron: Open source is definitely the move! Especially open source competitions because they’re super exciting, let me see where I need to improve, and let me test if I’ve mastered a field of study. I also like to contribute or create my own open-source projects so I can grow as an open-source minded developer. Right now, I am the youngest contributor to Google’s TensorFlow, so to all the other kids out there reading this...come join me!
Do you like jumping right into coding or thinking through every line before you write?
Vikram: I do like to think about the problem beforehand. However, if the problem has already been distilled down, then I like to get right to execution. In this case, I generally start with writing a bunch of pseudo functions, mocking the inputs and outputs of those functions, connecting them together, and then finally writing the actual logic. This approach generally helps me with context switching in a sense that I can stop working on that specific problem at any point and pick it back up from the same position when I get back to it.
Aaron: I like how you think! ?If someone has already implemented the problem and packaged it, I would try to get right to the deployment process. But if no one has implemented the problem, I would first start with writing some pseudocode, and then slowly convert the pseudocode into actual code that works.
What is your favorite part of the DevFest community?
Vikram: That DevFest is a home for all developers, from all walks of life, with all kinds of ideas. Yes, this family loves building your tech skills, but it also loves helping you breakthrough any social barriers you may face. From feeling more comfortable around people to feeling more confident with your code, this community wants to help you do it all.
Aaron: We are a DevFamily! ❤️I couldn’t agree more. My favorite part about DevFest is how this community can inspire. We, as DevFest developers, have the chance to change how we all think about CS every time we get together. From students like myself to long time experts, there is such an open and positive exchange of ideas taking place here - it’s so exciting and always makes me smile. ?
Want to join a conversation like this one? Respond to the questions yourself with the #DevFest or find a DevFest near you, at devfest.withgoogle.com.
Posted by Ben Fried, VP, CIO & Chief Domains Enthusiast
Who doesn’t love finding a good shortcut? A year ago, G Suite created a handful of shortcuts: docs.new, sheets.new, and slides.new. You can easily pull up a new document, spreadsheet or presentation by typing those shortcuts into your address bar.
This inspired Google Registry to release the .new domain extension as a way for people to perform online actions in one quick step. And now any company or organization can register its own .new domain to help people get things done faster, too. Here are some of our favorite shortcuts that you can use:
Playlist.new: Create a new playlist to add songs on Spotify.
Story.new: Write about what matters to you on Medium.
Canva.new: Create beautiful designs with your team.
Webex.new: For an easy, fast, and secure way to start your personal meeting room from any browser, try this shortcut from Cisco Webex.
Link.new: Instantly create trusted, powerful, recognizable links that maximize the impact of every digital initiative using Bitly.
Invoice.new: Create, customize and send customer invoices directly from the Stripe Dashboard.
Api.new: Prototype and launch your ideas for new Node.js API endpoints with this shortcut from RunKit.
Coda.new: Simplify your team’s work with a new doc that combines documents and spreadsheets into a single canvas.
Music.new: Create personalized song artwork for OVO Sound artist releases, pre-save upcoming music, and play the latest content with a single click.
Cal.new: Create a new Google Calendar event right from your browser.
OpenTable’s reservation.new, eBay’s sell.new and Github’s repo.new are also handy time-savers. Similar to .app, .page, and .dev, .new will be secure because all domains will be served over HTTPS connections. Through January 14, 2020, trademark owners can register their trademarked .new domains. Starting December 2, 2019, anyone can apply for a .new domain during the Limited Registration Period. If you’ve got an idea for a .new domain, you can learn more about our policies and how to register at whats.new.
With .new, you can help people take action faster. We hope to see .new shortcuts for all the things people frequently do online.
Posted by Mariela Altamirano, Community Manager for Latin America with Grant Timmerman, Developer Programs Engineer and Mete Atamel, Developer Advocate
DevFest season is always full of lively surprises with enchanting adventures right around the corner. Sometimes these adventures are big: attending a DevFest in the Caribbean, in the heart of the amazon jungle, or traveling more than 3,000 meters above sea level to discover the beautiful South American highlands. Other times they are small but precious: unlocking a new way of thinking that completely shifts how you code.
October marks the beginning of our DevFest 2019 season in Latin America, where all of these experiences become a reality thanks to the efforts of our communities.
What makes DevFests in LATAM different? Our community is free spirited, eager to explore the natural landscapes we call home, proud of our deep cultural diversity, and energized by our big cities. At the same time, we are connected to the tranquil spirit of our small towns. This year, we hope to reflect this way of life through our 55 official Latin America DevFests.
During the season, Latin America will open its doors to Google Developer Experts, Women Techmakers, Googlers, and other renowned speakers, to exchange ideas on Google products such as Android, TensorFlow, Flutter, Google Cloud Platform. Activities include, hackathons, codelabs and training sessions. This season, we will be joined by Googlers Grant Timmerman and Mete Atamel.
Grant is a Developer Programs Engineer at Google where he works on Cloud Functions, Cloud Run, and other serverless technologies on Google Cloud Platform. He loves open source, Node, and plays the alto saxophone in his spare time. During his time in Latin America, he'll be discussing all things serverless at DevFests and Cloud Summits in Chile, Argentina, Peru, Colombia, and Mexico.
Mete is a Developer Advocate based in London. He focuses on helping developers with Google Cloud. At DevFest Sul in Floripa and other conferences and meetups throughout Brazil in October, he’ll be talking about serverless containers using Knative and Cloud Run. He first visited the region back in 2017 when he visited Sao Paulo
Afterwards, he went to Rio de Janeiro and immediately fell in love with the city, its friendly people and its positive vibe. Since then, he spoke at a number of conferences and meetups in Mexico, Colombia, Peru, Argentina, Uruguay and Brazil, and always has been impressed with the eagerness of people to learn more.
This year we will be visiting new countries such as Jamaica, Haiti, Guyana, Honduras, Venezuela and Ecuador that have created their first GDG (Google Developer Group) communities. Most of these new communities are celebrating their first DevFest! We'll also be hosting diversity and inclusion events, so keep an eye out for more details!
We thank everyone for being a part of DevFest and our community.
Posted by Ben Fried, VP, CIO & Chief Domains Enthusiast
If you wanted to send a secret message by mail, would you rather send it in an envelope, or on a postcard? If you send it on a postcard, anyone who saw the postcard on its way to the recipient could read the message, or even make changes to what’s written.
Encryption on a website functions like an envelope, protecting information passed between your website and its visitors so it can’t be snooped on or changed. It’s what keeps your visitors safe from bad actors who may try to alter your site’s content, misdirect traffic, spy on open Wi-Fi networks, and inject malware or tracking. You achieve encryption on a website by installing an SSL (Secure Sockets Layer) certificate. This certificate ensures that the data passed between a web server and a browser remains private.
To kick off National Cyber Security Awareness Month, we’re highlighting something that many website owners don’t realize—a single page that isn’t encrypted could potentially be used to gain access to the rest of the website. To avoid this, you need encryption on your entire website, not just for pages that are collecting credit card numbers or log-in info. Even unencrypted landing pages that redirect to an HTTPS page can pose risks. A single unprotected page can become a backdoor for bad actors to snoop on the rest of the site. How do you ensure your entire website is encrypted?
Use a top-level domain that is HSTS preloaded.
The HSTS preload list tells modern browsers which websites to only load over an encrypted connection.The fastest way to get on this list is to use a top-level domain that’s already on the HSTS preload list, such as .app, .dev, or .page. Any website on those extensions gets the security benefits of HSTS preloading from day one, so all you need to do is install your SSL certificate.
Add your website to the HSTS preload list yourself.
Websites can be individually added to the HSTS preload list by the website owner at hstspreload.org. Keep in mind this can be a slow process because the list is manually built into the browser. That means updates to the list are made as new browser releases come out, which can take months to occur for all browsers.
More people are creating websites than ever before, with 48 percent of the U.S. population planning to create one. To help make building your secure website a bit easier, we’ve teamed up with some of our registrar partners, who are offering a discount on .dev, .app, and .page domains plus free SSL certificates during the month of October. We’re also kicking off a video series where existing creators will share their tips for launching a website. You can check them out at safe.page/buildsecurely.
Stephanie Duchesneau, Domains Security Expert, explains the importance of website encryption and the benefits of HSTS-preloading.
Ricardo Costeira is a Software Engineer from Coimbra, Portugal. For the first time last year, he attended DevFest, the largest developer community-led movement hosted by Google Developer Groups across the world. To celebrate DevFest 2019, we want to share with you Ricardo’s story and how he went from writing code to finding community.
Ricardo (left) and a fellow GDG Lead plan DevFest Coimbra.
1. How did you first hear about DevFest? What inspired you to join?
In 2018, after living in Coimbra for 3 years, I didn't have any friends outside of work that were software developers. I longed to fill my life with more people that understood my passion and decided it was time to make a change. So I took to social media to see how I could connect with more like minded thinkers. Eventually, DevFest showed up on my feed. Out of nowhere, I saw this crazy event in Coimbra packed with bold leaders, energizing speakers, and profoundly creative exercises. I never expected that being with a community would get me so excited. I got a ticket on the spot.
2. Can you tell us about your first experience at DevFest?
It was exhilarating - out of this world. When I first walked in, everyone talked to me as if we had known each other for years. Big smiles, loud laughs, and deep kindness were all around me. As someone who is relatively shy and a loner by nature, I was stunned when I felt myself saying, "I belong here, I'm home." That very same night, I looked up the next event I could attend. Since then, I have attended 2 other events, signed up for 6 more, and have become a GDG Lead. In other words, I’m hooked.
So how did this all change me? To be honest, DevFest brought forward a shift in my personality. I now want to be part of a community - that is a new feeling in my life.
“As someone who is relatively shy and a loner by nature, I was stunned when I felt myself saying, "I belong here, I'm home."
3. What from DevFest 2018 are you looking forward to seeing again this year?
The booths. DevFest Coimbra has booths where you can talk with different companies. It’s exciting to learn about all the opportunities to grow so close to home. In my case, it was thrilling to see just how quickly Portugal is scaling and how so many companies come to DevFest eager to talk with the best talent. Forming these relationships is what can make the difference when finding the right opportunity for you.
4. Leading up to DevFest 2019, what are you most excited for?
Lighting a spark in new attendees. I recently joined the organizational staff and I’m excited to give new attendees that feeling I had when I first walked into DevFest. I’ve found such meaning in working with my fellow GDG Leads to bring together attendees in a sense of shared awe.
5. Any advice for those attending DevFest 2019?
Just say hi. You will be surprised with how far it will take you. DevFest is not only about the talks or workshops, it’s also about the people. This community knows the extrovert and understands the introvert, and warmly welcomes both. That is to say, no matter who you are or how you code, there is a place for you here.
“DevFest is not only about the talks or workshops, it’s also about the people.”
Want to find a DevFest event near you? Check out devfest.withgoogle.com to join our community, meet other developers and learn about Cloud, Android, Flutter, Machine Learning and more.
Posted by Chris Sells, PM for the Flutter developer experience
This week is a big one for Flutter! Today, at Google Developer Days, our flagship conference for Chinese developers, we used the keynote to announce our latest stable release: Flutter 1.9. This release is our biggest update yet with more than 1,500 PRs from more than 100 contributors. The new features and updates span a wide range, from support for macOS Catalina and iOS 13 to improved tooling support, as well as new Dart language features and new Material widgets.
At the keynote, we also announced a major milestone for Flutter’s web support, with the successful integration of Flutter’s web support into the main Flutter repository, allowing developers to write for mobile, desktop and web with the same codebase. And we showcased Tencent, one of the largest worldwide internet brands, who are using Flutter in a growing number of their mobile apps.
Let’s take a deeper look at this week’s news, starting with what’s new in Flutter 1.9.
Supporting macOS Catalina and iOS 13
As Apple prepares to release Catalina, the latest version of macOS, we’ve worked hard to make sure that Flutter is ready for you to upgrade. We’ve updated the end-to-end tooling experience to ensure it works well on Catalina and with Xcode 11. This includes adding support for the new Xcode build system, enabling 64-bit support throughout the toolchain, and simplifying platform dependencies.
Finally, in the latest development builds, you can now turn on experimental support for Bitcode, which is Apple’s platform-independent intermediate representation of a compiled program. Submitting your app as Bitcode allows Apple to optimize your binary in the future without resubmission, and opens the door to Flutter potentially supporting platforms like watchOS and tvOS that require Bitcode for app submission.
New Material widgets
The Material components and features also get an upgrade in Flutter 1.9. Material is one of the world’s leading open-source design systems, providing a comprehensive, flexible set of building blocks for implementing interactive user experiences across many platforms.
In this release, we provide several new widgets including ToggleButtons (left) and ColorFiltered (right).
The ToggleButtons widget bundles a row of ToggleButton widgets together, often composed of a set of Icon and Text widgets, to form a set of buttons with fully customizable look and behavior. Do you want single selection or multi-select? Do you want to require at least one selection or allow none? Do you want square or rounded edges, thick or thin borders, icons or text, etc? You can see some of these options above on the left and see how they’re implemented in the ToggleButtons sample.
As shown in the image above on the right, the ColorFiltered widget allows you to recolor a tree of child widgets just like you can recolor an image using one of several different algorithms (some of which are shown in the example screenshot above). This has many uses, for example, handling color blindness accessibility issues for your users. To see this in action, check out the ColorFiltered sample.
Worldwide language support
We’ve also added support for 24 new languages, from Afrikaans to Zulu.
Dart 2.5 release
The end-to-end developer experience depends not just on the features of Flutter but also on the underlying language itself. As part of the Flutter 1.9 release, we are also releasing Dart 2.5. Dart 2.5 includes a pre-release of Foreign Function Interface (FFI) support, providing native extensions so Dart can call directly into code written in C. It also introduces machine learning-powered code completions for the IDE. You can learn about both of these and more in the Dart 2.5 announcement.
With this release, new projects default to Swift instead of Objective-C and Kotlin instead of Java for iOS and Android projects respectively. Since many packages are written with Swift, making it the default language removes manual work for adding those packages to an app created with the default options. Swift 5 is ABI stable, and thanks to app thinning work Apple has done in recent releases, the Swift dynamic libraries no longer need to be included in the distribution package for iOS 12.2 or greater, reducing the size of Swift applications compared to previous releases.
And as Kotlin is now the default language for new projects in Android Studio, it seems natural to make the language switch for Android also. These options are now the default for both the flutter CLI tool and the IntelliJ/Android Studio and VS Code plugins for Flutter, but you can always switch back to Objective-C or Java if you prefer.
Additionally, we’ve been working to improve Flutter’s error messages by making them more readable, more concise and more actionable.
The Flutter User Experience team has led the charge on this project; you can read the details in a separate blog post covering the work on structured error display. We’ve just started to apply these new patterns, and you can expect more error messages to take advantage of this work in coming releases.
Flutter on the web
And finally, we are very happy to announce that the flutter_web repository is deprecated now that web support has been merged into the main flutter repository! What this means is that if you have the latest builds of Flutter from the master or dev channel, you can target the web with the latest experimental version of Flutter by running flutter run -d chrome.
When you create a project, Flutter now creates a web runner via a minimal web/index.html file that bootstraps your web-compiled Flutter code. With that file in place, you can use the Flutter CLI tool or the IDE plugins to edit and run Flutter apps on the web.
Above is a screenshot of VS Code with web support enabled for Flutter. Notice the web/index.html file, along with the dropdown list allowing you to choose Chrome as your target development device. Support for web output with Flutter is still at an early phase, but this release represents a major step forward towards enabling production support for web development with Flutter.
At the end of July, we announced an early adopter program designed to get a group of select Flutter applications deployed to production on the web over the next six to twelve months. We received over 1,000 submissions to the program. Unfortunately, we don’t have the capacity to support everyone who applied to join the program, but now web support is merged into the Flutter framework, we’re excited that everyone can now experiment with this capability.
Some community experiments have already showcased Flutter’s web output:
Flutter Widget Livebook (left) is built with Flutter for web and shows Flutter widgets running live in your browser. Panache (right) is a tool for creating themes for Flutter which you can then download and drop directly into your code.
We’re thrilled to see continuing fast growth and adoption of for Flutter. Here at Google, hundreds of developers are working on more than twenty projects using Flutter, including some that are released and many that are still in development. At GDD China this week, we highlighted how Tencent, one of the largest internet brands, is using Flutter pervasively for a wide variety of projects:
Switching gears to something just for fun, if you have Google Assistant on your phone or one of the Google Nest Hub devices, try saying “OK Google. Talk to Flutter Widget Quiz.” We loved seeing this community-powered quiz that tests your knowledge of Flutter.
We love the support we’ve received from the developer community, whether in the form of blogs and articles, published apps or issues and code contributions. For more details on upgrading to Flutter 1.9, including details on how to fix any breaking changes that you might experience as you migrate your code, check out the detailed Flutter 1.9 release notes.
By: Miguel Guevara, Product Manager, Privacy and Data Protection Office
Whether you're a city planner, a small business owner, or a software developer, gaining useful insights from data can help make services work better and answer important questions. But, without strong privacy protections, you risk losing the trust of your citizens, customers, and users.
Differentially-private data analysis is a principled approach that enables organizations to learn from the majority of their data while simultaneously ensuring that those results do not allow any individual's data to be distinguished or re-identified. This type of analysis can be implemented in a wide variety of ways and for many different purposes. For example, if you are a health researcher, you may want to compare the average amount of time patients remain admitted across various hospitals in order to determine if there are differences in care. Differential privacy is a high-assurance, analytic means of ensuring that use cases like this are addressed in a privacy-preserving manner.
Today, we’re rolling out the open-source version of the differential privacy library that helps power some of Google’s core products. To make the library easy for developers to use, we’re focusing on features that can be particularly difficult to execute from scratch, like automatically calculating bounds on user contributions. It is now freely available to any organization or developer that wants to use it.
A deeper look at the technology
Our open source library was designed to meet the needs of developers. In addition to being freely accessible, we wanted it to be easy to deploy and useful.
Here are some of the key features of the library:
Statistical functions: Most common data science operations are supported by this release. Developers can compute counts, sums, averages, medians, and percentiles using our library.
Rigorous testing: Getting differential privacy right is challenging. Besides an extensive test suite, we’ve included an extensible ‘Stochastic Differential Privacy Model Checker library’ to help prevent mistakes.
Ready to use: The real utility of an open-source release is in answering the question “Can I use this?” That’s why we’ve included a PostgreSQL extension along with common recipes to get you started. We’ve described the details of our approach in a technical paper that we’ve just released today.
Modular: We designed the library so that it can be extended to include other functionalities such as additional mechanisms, aggregation functions, or privacy budget management.
Investing in new privacy technologies
We have driven the research and development of practical, differentially-private techniques since we released RAPPOR to help improve Chrome in 2014, and continue to spearhead their real-world application.
We’ve used differentially private methods to create helpful features in our products, like how busy a business is over the course of a day or how popular a particular restaurant’s dish is in Google Maps, and improve Google Fi.
This year, we’ve announced several open-source, privacy technologies—Tensorflow Privacy, Tensorflow Federated, Private Join and Compute—and today’s launch adds to this growing list. We're excited to make this library broadly available and hope developers will consider leveraging it as they build out their comprehensive data privacy strategies. From medicine, to government, to business, and beyond, it’s our hope that these open-source tools will help produce insights that benefit everyone.
Software Engineers: Alain Forget, Bryant Gipson, Celia Zhang, Damien Desfontaines, Daniel Simmons-Marengo, Ian Pudney, Jin Fu, Michael Daub, Priyanka Sehgal, Royce Wilson, William Lam