Skip to content
KenkoGeek
  • Home
  • News
  • Home
  • News

Category Archives: GCP

  • Home
  • Archive by category "GCP"

Mainframe modernization antipatterns


Posted by Travis Webb

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

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

This blog post describes three common antipatterns:

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

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

Big bang rewrite antipatterns

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

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

Rationale

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

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

Risks, pitfalls, and outcomes

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

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

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

If your production mainframe system requires ongoing maintenance or updates during the rewrite, you can compound these problems. For example, you might have a rules engine that powers a billing system on your mainframe. To support a new product launch, you need to add a feature to the rules engine to accommodate a new customer billing type. You also need to implement this new type in the current system and replicate it in the new system—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.

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

Lift-and-shift migration antipatterns

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

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

Rationale

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

Risks, pitfalls, and outcomes

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

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

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

In-place modernization antipatterns

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

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

Rationale

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

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

Risks, pitfalls, and outcomes

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

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

Finding help

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

  • Self-service resources. If you don’t need dedicated support, you have various options that you can use at your own pace.
  • Technology partners. Google Cloud has partnered with multiple companies to help you use our products and services.
  • Google Cloud professional services. Our professional services can help you get the most out of your investment in Google Cloud.

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

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

What’s next?

  • Google Cloud Mainframe modernization solutions
  • Try out other Google Cloud features for yourself. Have a look at our tutorials.
  • 25 Feb, 2021
  • (0) Comments
  • By editor
  • GCP, Google, Google Cloud, Mainframe Migration

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


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

Image from accelertor

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

Babbly, Toronto, Ontario, Canada

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

Bespoken, Seattle, Washington, United States

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

conversationHEALTH, Toronto, Ontario, Canada

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

Nēdl, Santa Monica, California, United States

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

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

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

Piffle, San Francisco, California, United States

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

Powow AI, New York, New York, United States

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

SiMBi, Vancouver, British Columbia, Canada

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

Talkatoo, Halifax, Nova Scotia, Canada

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

Tinychef, New York, New York, United States

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

Voicify, Boston, Massachusetts, United States

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

Vowel, New York, New York, United States

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

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

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

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

  • 23 Feb, 2021
  • (0) Comments
  • By editor
  • accelerator, AI, GCP, Google, google for startups, startups, voice

These Black tech creators are changing the domain

Posted by Jermaine Robinson, Google Registry Team

Illustration of 6 developers

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

Dairien Boyd, #MyDomain Video

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

Benjamin Williams, #MyDomain Video

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

Rhianna Jones, #MyDomain Video

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

Michael Broughton, #MyDomain Video

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

Edward Cunningham, #MyDomain Video

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

Adesina Tyler, #MyDomain Video

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

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

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

  • 16 Feb, 2021
  • (0) Comments
  • By editor
  • developers, diversity-and-inclusion, entrepreneurs, GCP, Google, small business

How we’re helping developers with differential privacy


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

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

Strengthening our core products with differential privacy

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

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

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

Partnering with OpenMined to make differential privacy more widely accessible

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

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

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

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

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

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

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

  • 28 Jan, 2021
  • (0) Comments
  • By editor
  • featured, GCP, Google, Latest

Join us for #30DaysOfFlutter


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

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

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

Jump in, the water’s fine!

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

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

#30DaysOfFlutter Schedule

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

Week 1

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

Week 2

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

Week 3

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

Week 4

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

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

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

  • 26 Jan, 2021
  • (0) Comments
  • By editor
  • #30DaysOfFlutter, developers, flutter, GCP, Google

21 websites and apps to make your 2021 better

Posted by Christina Yeh, Google Registry Team

GIF of animated person sitting at computer

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

Start something .new:

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

Get .app(y):

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

Turn to the next .page:

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

Make .dev(elopment) a breeze:

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

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

  • 21 Jan, 2021
  • (0) Comments
  • By editor
  • developers, entrepreneurs, GCP, Google, products - slides, small business

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


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

Image of participants in a recent Elevate workshop.

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

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

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

What the graduates had to say

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

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

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


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

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

Bringing your best self to the table

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

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

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

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

A team that feels valued brings value

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

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

The program further emphasized this message with learning sessions on:

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

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

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

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

  • 14 Jan, 2021
  • (0) Comments
  • By editor
  • Developer Communities, Developer Culture, developer features, GCP, Google, Google Developer Experts, Google Developer Groups

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


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

Solution Challenge image

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

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

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

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

What winners of the Solution Challenge receive

Participants will receive specialized prizes at different stages:

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

How to get started on the Solution Challenge

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

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

Resources from Google for Solution Challenge participants

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

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

When are winners announced?

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

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

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

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

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

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

  • 12 Jan, 2021
  • (0) Comments
  • By editor
  • Android App Development, Dev Tools, Developer Communities, developer student clubs, GCP, Google

Announcing New Smart Home App Discovery Features


Posted by Toni Klopfenstein, Developer Advocate

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

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

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

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

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

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

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

  • 7 Jan, 2021
  • (0) Comments
  • By editor
  • actions on google, assistant, GCP, Google, Local Home SDK, Smart Home

A Google for Startups Accelerator for startups using voice technology to better the world


Posted by Jason Scott, Head of Startup Developer Ecosystem, U.S., Google

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.

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 Google for Startups Accelerator: Voice AI 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.

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.

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. Applications are open until January 28, 2021.

  • 17 Dec, 2020
  • (0) Comments
  • By editor
  • accelerator, AI, GCP, Google, google for startups, startups, voice

Announcing gRPC Kotlin 1.0 for Android and Cloud


Posted by Louis Wasserman, Software Engineer and James Ward, Developer Advocate

Kotlin is now the fourth “most loved” programming language 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.

Since everything in Google runs on top of gRPC, we needed an idiomatic way to do gRPC with Kotlin. Back in April 2020 we announced the open sourcing of gRPC Kotlin, 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 gRPC Kotlin Quickstart!

For those new to gRPC & Kotlin let’s do a quick runthrough of some of the awesomeness. gRPC builds on Protocol Buffers, aka “protos” (language agnostic & 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:

message HelloRequest {
string name = 1;
}

message HelloReply {
string message = 1;
}

service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply) {}
}

In a Kotlin project you can then define the implementation of the Greeter’s SayHello service with something like:

object : GreeterGrpcKt.GreeterCoroutineImplBase() {
override suspend fun sayHello(request: HelloRequest) =
HelloReply
.newBuilder()
.setMessage("hello, ${request.name}")
.build()
}

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 the server example project.

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:

val stub = GreeterCoroutineStub(channel)
val request = HelloRequest.newBuilder().setName("world").build()
val response = stub.sayHello(request)
println("Received: ${response.message}")

In this example the `sayHello` method is also a `suspend` function utilizing Kotlin coroutines to make the reactive IO easier. Check out the client example project.

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:

service Greeter {
rpc SayHello (stream HelloRequest) returns (stream HelloReply) {}
}

In this example, the server’s `sayHello` can be implemented with Flows:

object : GreeterGrpcKt.GreeterCoroutineImplBase() {
override fun sayHello(requests: Flow<HelloRequest>): Flow<HelloReply> {
return requests.map { request ->
println(request)
HelloReply.newBuilder().setMessage("hello, ${request.name}").build()
}
}
}

This example just transforms each `HelloRequest` item on the flow to an item in the output / `HelloReply` Flow.

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:

val stub = GreeterCoroutineStub(channel)
val helloFlow = flow {
while(true) {
delay(1000)
emit(HelloRequest.newBuilder().setName("world").build())
}
}

stub.sayHello(helloFlow).collect { helloResponse ->
println(helloResponse.message)
}

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 the bidi-streaming example project.

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…

Android Clients

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 stub-android example and android example.

GraalVM Native Image Clients

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 the native-client example project which produces a nice & 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.

Google Cloud Ready

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. Cloud Run 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:

  1. Deploy the app with a few clicks
  2. In Cloud Shell, run the client to connect to your app on the cloud:
    export PROJECT_ID=PUT_YOUR_PROJECT_ID_HERE
    docker run -it gcr.io/$PROJECT_ID/grpc-hello-world-mvn
    "java -cp target/classes:target/dependency/* io.grpc.examples.helloworld.HelloWorldClientKt YOUR_CLOUD_RUN_DOMAIN_NAME"

Here is a video of what that looks like:

Check out more Cloud Run gRPC Kotlin examples

Thank You!

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, check out the project on GitHub.

Also huge shoutouts to Brent Shaffer, Patrice Chalin, David Winer, Ray Tsang, Tyson Henning, and Kevin Bierhoff for all their contributions to this release!

  • 16 Dec, 2020
  • (0) Comments
  • By editor
  • featured, GCP, Google, Google Cloud Platform, Kotlin, Latest

2020 Google Assistant developer Year in Review


Posted by Payam Shodjai, Director, Product Management Google Assistant

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.

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:


2020 Highlights

Below are a few highlights of what we have launched in 2020:

1. Integrate your Android mobile Apps with Google Assistant

App Actions 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.

For common tasks such as opening your apps, opening specific pages in your apps or searching within apps, we introduced Common Intents. For a deeper integration, we’ve expanded our vertical-specific built-in intents (BIIs), to cover more than 60 intents across 10 verticals, adding new categories like Social, Games, Travel & Local, Productivity, Shopping and Communications.

For cases where there isn’t a built-in intent for your app functionality, you can instead create custom intents 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.

Learn more about how to integrate your app with Google Assistant here.

2. Create new experiences for Smart Displays

We also announced new developer tools to help you build high quality, engaging experiences to reach users at home by building for Smart Displays.

Actions Builder 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.

Actions SDK, 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.

Interactive Canvas 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.

Continuous Match Mode allows the Assistant to respond immediately to a user’s speech for more fluid experiences by recognizing defined words and phrases set by you.

We also created a central hub for you to find resources to build games on Smart Displays. 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.

Actions API 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.

The Dialogflow migration tool inside the Actions Console automates much of the work to move projects to the new and improved Actions Builder tool.

We also worked with partners such as Voiceflow and Jovo, 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.

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), home storage API.

Get started building for Smart Displays here.

3. Discovery features

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..

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 customize their experience, 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.

Assistant Links 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.

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”.

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.

  • Link with Google 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.
  • App Flip 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.

What to expect in 2021

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.

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.

Want to stay in the know with announcements from the Google Assistant team? Sign up for our monthly developer newsletter here.

  • 16 Dec, 2020
  • (0) Comments
  • By editor
  • featured, GCP, Google, google assistant, Latest

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 1 other subscriber

Most Viewed News
  • Microsoft Azure Government is First Commercial Cloud to Achieve DoD Impact Level 5 Provisional Authorization, General Availability of DoD Regions (938)
  • Introducing Coral: Our platform for development with local AI (835)
  • Enabling connected transformation with Apache Kafka and TensorFlow on Google Cloud Platform (477)
Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy
Tags
aws Azure Books cloud Developer Development DevOps GCP Google HowTo Learn Linux news Noticias OpenBooks SysOps Tutorials

KenkoGeek © 2019 All Right Reserved