Tag Archives: Google Dev Library

Google Dev Library Letters: 21st Edition

Posted by Swathi Dharshna Subbaraj, Google Dev Library

In this newsletter, we highlight the best projects developed with Google technologies that have been contributed to the Google Dev Library platform. We hope this will spark some inspiration for your next project!

Highlights of the Month

In the past two months, we asked contributors to look back, revisit, and update their older Dev Library contributions as a best practice. Most contributors took the time to revise their content and incorporate recent releases. This campaign encourages developers to update their repositories with the latest Google technologies, which is advantageous to users and the broader developer community.

Here are some of the standout up-to-date projects:

  • Sheets Compose Dialogs by Maximilian Keppeler

See how an Android library that offers dialogs and views for various use cases - built with Jetpack Compose for Compose projects. All dialogs and views are easy and quick to implement. 

 

  • Round Corner Progress Bar by Somkiat Khitwongwattana

Progress Bar Animation
Use this extensive “Rounded Corner progress bar” library for your own Android projects. 

During the campaign, we noticed that some new projects were submitted. Here are some of the new projects from our contributors:

  • Android TV sample projects by Ademir Queiroga

Android TV Project
See some of the Android TV sample projects on the main topics around Android TV development, and the project follows Google's best practices with a few experience-based insights.  
 

  • Storage provisioning with Cloud SQL using Workload Identity by Fermin Blanco

Learn how to create a production ready GKE cluster in a matter of seconds. 

Android


Using Android’s new Credential Manager API by Priya Sindkar
Dive into this blog on how Android's new Credential Manager API provides a seamless way for your app’s users to log in with one-click solutions.  

KStore by Isuru Rajapakse
Learn how the tiny Kotlin multiplatform library that assists in saving and restoring objects to and from disk using kotlinx.coroutines, kotlinx.serialisation and okio.  

DevBricksX by Nan YE
Discover how DevBricksX is a remarkable remake and extended version of DevBricks, this project covers various aspects of daily development, from low-level database tasks to user interface design, as it eliminates the need for repetitive work.  

Dose app by Waseef Akhtar
Learn how Dose, a reminder app for people to take their medications on time, was built using Kotlin and Jetpack Compose with MVVM + clean architecture.  

Compose_adaptive_scaffold by Thomas Künneth
Explore how to write Jetpack Compose apps that support large screens and foldables.  

Cloud


Troubleshooting reachability with a Network Intelligence Center connectivity test by Gaurav Madan
Learn how network troubleshooting processes become crucial when time is of the essence, and how to do so efficiently.  

From data chaos to data insights with Google Cloud and GitLab CI: A cutting-edge solution by Gursimar Singh
Take a look at a streamlined, effective approach to acquire important insights from data and learn how to deal with the turmoil of manual data deployment and analysis easily.  

Machine Learning


Client-side in-decent content checking
Discover a JavaScript library to help you quickly identify unseemly images; all in the client's browser.  

YoloV7 in Tensorflow.js by Hugo Zanini
Learn object detection using Yolov7 in tensorflow.js, and how it’s trained on the MS COCO dataset to recognizes up to 80 different classes  

Flutter


Exploring Inherited Widget: The powerful state management solution by Muhammad Salman
Take a deep dive into the backstory of state management in Flutter and explore one of the most important concepts in Flutter state management, the Inherited Widget.  

Control your Flutter app on the fly with Firebase Remote Config by Mangirdas Kazlauskas
Flutter Forward agenda app
Learn the overview of Firebase Remote Config and how to use it to enable real-time features in your Flutter application.  

The ultimate Flutter Navigator 2.0 series using AutoRoute by Cavin Macwan
Explore the differences between Navigator 1.0 and 2.0 and why you need Navigator 2.0. You’ll also learn how you can implement Navigator 2.0 using the Auto Route package in Flutter.  

Angular


Papanasi (UI library) by Quique Fdez Guerra
Learn to use this frontend UI library across frameworks.  

How to manage complex forms in Angular by Roland Tubongye Wabubindja
See how to save and modify data from a form containing several FormArray.  

Community Updates


🚀 Announcing Google Maps Platform added to Dev Library

Progress Bar AnimationGoogle Maps platform in Dev Library

Google Maps Platform has now been officially added to the Dev Library! With these resources, developers can create applications that enable them to visualize geospatial data and build projects ranging from hyperlocal logistics to location-driven app development, and have access to even more resources to take their projects to the next level.

Dev Library contributors will be better able to write and create innovative and useful applications that utilize Google’s mapping, places, and routing data and features.

Visit the Google Maps Platform product page in Dev Library



Browse Dev Library | Google Developers Online on Discord | Newsletter Archives

Celebrating Google Dev Library’s Women Contributors in AI/ML

Posted by Swathi Dharshna Subbaraj, Google Dev Library

Women have made remarkable progress in advancing AI/ML technology through their contributions to open source projects. They have developed and maintained tools, algorithms, and frameworks that enable researchers, developers, and businesses to create and implement cutting edge AI/ML solutions.

To celebrate those achievements, Google Dev Library has featured outstanding contributions from developers worldwide. It has also provided an opportunity to showcase contributions from women developers who are working on AI/ML projects. Read on to learn their projects and insights.

Contributors in Spotlight


Suzen Fylke

Suzen is a machine learning engineer with a passion for helping mission-driven and socially-minded companies leverage AI and data to drive impactful outcomes. With 3 years of experience at Twitter, Suzen developed platform tools that streamlined model development and deployment processes, allowing for faster iteration and improved efficiency. Sue recently shared her blog post titled "How to Visualize Custom TFX Artifacts With InteractiveContext" with Dev Library. Let's speak with Sue and learn more about her experience.

Headshot of Suzen Fylke, smiling

1.    Tell us more about your recent Dev Library submission on inspecting TFX artifactswith InteractiveContext and why you consider it invaluable for debugging TFX pipelines?
    One of my favorite things about TFX is being able to run pipeline steps individually and interactively inspect their results with InteractiveContext. I used to think you could only display standard artifacts with built-in visualizations, but, as it turns out, you can also use InteractiveContext with custom artifacts. Since I hadn't found any examples or documentation explaining how to display custom artifacts, I wrote a tutorial.


    2.    Can you walk me through your process for creating technical documentation for your projects to help other developers?   

    When I create technical documentation for work or open source projects, I do my best to follow the community's best practices and style guides and to center the reader. I think a lot about what readers can hope to learn or be able to do after reading the docs. I followed a similar approach when writing the tutorial I submitted.

    Most of my personal projects are active learning exercises. When I write about such projects, I focus much more on the process of building them than on the outcome. So, in addition to showing how they work, I describe what inspired me to create them, the challenges I encountered, and what's next for the project. I also include lots of links to resources I found helpful for understanding the tools and concepts I learned about.

    3.    What advice do you have for other women interested in developing open source AL/ML projects, and how can they get started? 

    I recommend contributing to communities you care about and projects you use and want to help improve. Create things using the project. Ask questions when documentation needs to be clarified. Report bugs when you encounter them. If you build something cool, demo it or write about it. If you find a problem you can fix, volunteer to do so. And if you get stuck or don't understand something, ask for help. I also recommend reading GitHub's "How to Contribute to Open Source" guide (https://opensource.guide/how-to-contribute/). My favorite takeaway is that open source projects are more than code and that there are many different ways to contribute based on your interests.

    4.    Your Dev Library author profile bio states that you’re exploring how to “make learning languages fun and approachable.” Can you walk me through that process? 
     
    This is aspirational and mainly a hobby right now. I love learning languages and learning how to learn languages. Languages are my "thing I can talk about for hours without getting bored." I don't actually have a process for this. Instead, I do a lot of exploring and experimenting and let my curiosity guide me. Sometimes this involves reading linguistics textbooks, trying different language-learning apps, contributing to projects like Common Voice, or learning how to use libraries like spaCy.

    5.    How do you see the field of open source AI/ML development evolving in the coming years, and how are you preparing for these changes?
    I see the continued development of tools and platforms aimed at democratizing machine learning. I hope this will enable people to meaningfully engage with the models and AI-powered products they use and better understand how they work. I also hope this will lead to more grassroots participatory research communities like Masakhane and encourage people without ML or software engineering backgrounds to create and contribute to open source projects.

    Aqsa is a passionate machine learning engineer with a strong curiosity for technology and a desire to share ideas with others. She has practical experience in diverse projects, including footfall forecasting, cataract detection, augmented reality, object detection, and recommender systems. Aqsa shared her blog post titled "Callbacks in TensorFlow — Customize the Behavior of your training" with Dev Library. Let's speak with Aqsa and learn more about her experience.

    Photo of Aqsa Kausar holding a microphone
    1.    Being Pakistan’s first Google Developer Expert (GDE), how do you approach building inclusive and diverse communities around you?
      As a Google Developer Expert (GDE), my responsibility is to help improve the tech community through inclusive and diverse events, workshops, and mentorship. With support from Google, fellow GDEs, and Google Developer Groups, we aim to create accessible opportunities for everyone, regardless of their background or experience level. As a speaker, I share my knowledge in ML with diverse audiences and offer mentorship to underrepresented individuals in tech, including women, minorities, and individuals from different backgrounds. I provide guidance on educational and career opportunities and connect people with resources, catering to as many as I can through various means of communication.

      2.     How do you approach collaborating with other developers on open source AI/ML projects, and what are some best practices you follow to ensure success?

      In our GDE community, we have active open source contributors who collaborate in groups for tutorials, research papers, and more. Collaboration is encouraged, and Googlers sometimes lead open source projects with GDEs. When you express interest, developers are open to working together. To foster a positive culture, we emphasize value and respect, clear goals, manageable tasks, communication channels, open communication, constructive feedback, and celebrating milestones. Successful collaboration hinges on valuing each other's time and skills.

      3.    How do you balance the need for technical rigor with the need for usability and accessibility in your open source projects?

      Understanding your audience and their needs is crucial to strike the right balance between technical rigor and usability. Simplify technical concepts for non-technical audiences and focus on practical applications. In open source projects, you have more flexibility, but in workshops or training, choose tools and technologies suitable for your audience. For beginners, use simpler language and interactive demos. For intermediate or advanced audiences, go deeper into technical details with coding snippets and complex concepts.

      4.    Why do you think it is important for technical writers to revise your content or projects regularly? Do you think it’s important that every tech writer or open source maintainer follow this best practice?

      Technology is ever-changing, so technical writers need to revise content regularly to ensure accuracy. Feedback from the audience can help make it accessible and relevant. However, contributors may not always have time to update their work due to busy schedules. Nevertheless, tech blogs and projects still provide a valuable kickstart for new developers, who can contribute with updates or follow-up blogs.

      5.    Can you tell me about a project you've worked on that you're particularly proud of, and what impact it has had on the open source community?

      I have been part of impactful initiatives such as Google Women Developer Academy, where I was a mentor for their pilot. The program helps women in tech improve their communication skills and prepares them for showcasing their talents, boosting their confidence. I also collaborated with fellow Google Developer Experts (GDEs) during the COVID-19 pandemic to create an open source course called "ML for Rookies," which simplifies machine learning concepts. Currently, I am working on a Cloud AI project supported by GCP and have started an open source "Cloud Playground" repo to make cloud-ai learning more accessible.

      Margaret, an ML Google Developer Expert (GDE) since 2018, is an ML research engineer who applies AI/ML to real world applications ranging from climate change to art and design. With expertise in deep learning, computer vision, TensorFlow, and on-device ML, she often writes and speaks at conferences. Margaret has shared multiple projects in topics like TensorFlow Lite with Dev Library. Let's speak with Margaret and learn more about her experience.

      Photo of Margaret Maynard-Reid, smiling

      1.    Can you share the Google technologies you work with?  
       
      Some of the Google technologies I work with are TensorFlow, TensorFlow Lite, Keras, Android, MediaPipe, and ML Kit. 

      2.    How do you approach collaborating with other developers on open source projects, and what are some best practices you follow to ensure a successful collaboration? 

      I’ve collaborated with Googlers, ML GDEs, students and professionals in tech. Consistent communication and observing best practices, such as code check-in and code reviews, are helpful to ensure a successful collaboration. 

      3.    What is your development process like for creating and maintaining open source AI/ML projects, and how do you prioritize which projects to work on? 

      There is limited time so prioritization is super important. I like to showcase new technologies or areas where developers including myself may have challenges with. Aside from code and tutorials, I also like to share my knowledge with sketchnotes and visual illustrations. 

      4.    You have been sharing learning resources on TensorFlow Lite. What advice do you have for other women interested in developing open source projects, and how can they get started? 
       
      There are many ways to contribute to open source projects: provide feedback on documentation or product features; write a tutorial with sample code; help fix bugs or contribute to libraries etc. It’s best to start simple and easy first, and then progress to more challenging projects. 

      5.    How do you see the field of open source AI/ML development evolving in the coming years, and how are you preparing for these changes? 

      Open source is becoming increasingly important for AI/ML development, evident in the recent development of generative AI and on-device machine learning for example. There will be even more opportunities for open source projects. Keep contributing because open source projects are a great way to learn the latest while helping others.

      Are you actively contributing to the AI/ML community? Become a Google Dev Library Contributor!

      Google Dev Library is a platform for showcasing open source projects featuring Google technologies. Join our global community of developers to showcase your projects. Submit your content.

      6 Flutter/Dart Projects from Google Dev Library to Kickstart Your Next Project

      Posted by Swathi Dharshna Subbaraj, Project Coordinator, Google Dev Library

      Developers can build, test, and deploy any application from a single codebase in Flutter. With high performance and code reusability, it has transformed the app development process. Flutter has become the go-to framework for developers as it streamlines the development process, allowing applications to be built on multi-platform with ease and efficiency.

      In this blog, we will explore 6 Flutter/Dart projects from Google Dev Library from building weather apps to Tetris games. These projects will help you grow as a developer, and inspire you to build your first open source project. Let's dive in!

      Flutter Design Patterns by Mangirdas Kazlauskas

      screen grab of Flutter design patterns by Mangirdas Kazlauskas

      Design patterns are reusable solutions to common software development problems. They help you create software that is easier to maintain, extend, and refactor. Written in Dart, this repository showcases all 23 design patterns, as described in Design Patterns: Elements of Reusable Object-Oriented Software, to help you learn and apply design patterns in your own projects, improving the quality and maintainability of your code. 

      Check out Flutter design patterns


      Smart Home App by Lakhan Kumawat

      A mobile application (developed using Flutter and Dart) designed to control various smart home devices. The app also allows users to create custom scenes to automate device actions based on certain conditions or events. 

      Check out the Smart Home App


      Photo Manager by Alex Li

      Learn about an easy-to-use package for accessing a device's photo library, including operations like retrieving images, videos, and albums, as well as deleting, creating, and updating files in the photo library. This package is built using the Flutter plugin architecture, which enables it to interact with native platform APIs for accessing photos and videos on iOS and Android devices. 

      Check out photo_manager


      Tetris Flutter Game by Mouaz M. Al-Shahmeh

      This project implements the classic Tetris game using the Flutter framework. It’s structured into several classes that handle different aspects of the game. 

      Check out Tetris Flutter game


      FlutterGen by Daichi Furiya

      FlutterGen is a code generator tool that helps you automate the process of generating boilerplate code for assets and fonts, making it easier to use them in Flutter projects. It works by scanning a project directory for specified assets and font files and generates code that can be easily used within a Flutter application. Overall, FlutterGen can save you time and effort in managing assets and fonts in your Flutter projects. 

      Check out the FlutterGen package


      Flutter Maps by Souvik Biswas

      This app uses the Google Maps SDK & Directions API when coding with Flutter. It offers several location-based functions, including the ability to detect the user's current location. It also uses Geocoding to convert addresses into coordinates and vice versa, and allows users to add markers to the map view. 

      Check out the Flutter Maps package


      Are you actively contributing to the #FlutterDev community? Become a Google Dev Library Contributor!

      Google Dev Library is a platform for showcasing open-source projects featuring Google technologies. Join our global community of developers to showcase your projects. Submit your content.

      Google Dev Library Newsletter: 20th Edition

      Posted by the Dev Library team

      In this newsletter, we’re highlighting the best projects developed with Google technologies that have been contributed to the Google Dev Library platform. We hope this will spark some inspiration for your next project!


      Highlights of the Month - Cloud Champions


      Google Anthos in a nutshell by Navveen Balani


      GCP Anthos Config Management Architecture

      Dive into the overview on Anthos Service Mesh (ASM) and go through the topology supported by ASM and high level steps to implement multi cluster service mesh on a single and multiple VPC network.

      Read more on Dev Library


      Google Cloud Contact Center Artificial Intelligence (CCAI) by Rubens Zimbres

      Explore the concept of CCAI and how it can be used to improve customer service, along with tools that can be integrated with existing contact center infrastructure to automate and optimize various processes.

      Read more on Dev Library


      Build a chat server with Cloud Run by Jaeyeon Baek

      Explore how to build a chat server with Cloud Run using Python as the development language with the FastAPI framework.

      Read more on Dev Library


      Android


      DocuBox by Vaibhav Jaiswal

      Learn to build an app like DocuBox, which is designed to manage and organize documents on an Android device.

      WebRTC Android by Jaewoong Eum

      Understand how the WebRTC pre-compiled library for Android reflects the recent WebRTC updates to facilitate real-time video chat for Android.

      WebRTC in Jetpack Compose by Jaewoong Eum

      Discover how the project demonstrates WebRTC protocol to facilitate real-time video communications with Jetpack Compose.

      TabSync, a lightweight synchronizer between Android's Tabs and Lists by Ahmad Hamwi

      Learn how to add a synchronizer between Android’s RecyclerView and TabLayout, and what are the use cases of such on mobile devices.


      Angular


      Directives in practice: user role-based element control by Paweł Kubiak

      Explore the concept of structural and attribute directives in Angular, which can be added to HTML elements to modify behavior or appearance.


      Flutter


      Ultimate guide to becoming a Flutter expert by Isaac Adariku

      Become an Expert Flutter developer by mastering these concepts.

      Handling complex HTML in Flutter by Tanmoy Karmakar

      Discover how to handle complex HTML content like tables, images, and links in a Flutter app using the flutter_html package.

      Firebase Cloud Messaging (FCM) with Flutter by Ayesha Iftikhar

      Learn how to use FCM in Flutter apps. FCM is a cloud messaging service that allows you to send notifications and messages to devices on different platforms, including Android, iOS, and the web.

      Understanding app localization in Flutter by Caleb Jesusegun

      Take a deep dive into app localization and learn how to implement it in Flutter using the intl package.


      Machine Learning


      Visualizing custom TFX artifacts with InteractiveContext by Suzen Fylke

      Learn how you can use InteractiveContext to visualize custom TFX artifacts.

      How is generative machine learning transforming finance? By Hannes Hapke

      Follow these detailed steps to adopt large generative models for domain-specific, fine-tuned generative models using the TensorFlow ecosystem.


      Navigating new routes, places and distance: Introducing Google Maps Platform to Dev Library

      Posted by Swathi Dharshna Subbaraj, Project Coordinator, Google Dev Library

      We are excited to announce that Google Maps Platform has now been officially added to the Dev Library! Continuous innovation and the integration of technology into our physical environment have become increasingly important. One product, Google Maps, has played a critical role in shaping the future of the internet. With these resources, developers have created applications that enable them to visualize geospatial data and build projects ranging from hyperlocal logistics to location-driven app development.

      By adding Google Maps Platform, Dev Library contributors will be better able to create innovative and useful applications that utilize Google’s mapping, places, and routing data and features. Developers now have access to even more resources that can help take their projects to the next level.

      As Alex Muramoto, the Google Maps Platform curator for Dev Library, said,“We’re excited to see developers across tech stacks using Google Maps Platform to build and showcase their projects on Google Dev Library. We hope these projects will provide inspiration and guidance to help your own development efforts”.

      Let's explore some contributions from Dev Library authors who have implemented Google Maps Platform APIs and SDKs into their applications.


      Contributions in Spotlights:



      Flutter Maps by Souvik Biswas

      This app uses Google Maps SDK & Directions API on flutter framework. It offers several location-based functionalities, including the ability to detect the user's current location.

      It also utilizes Geocoding to convert addresses into coordinates and vice versa, and allows users to add markers to the map view. Moreover, it enables the drawing of routes between two places through the use of Polylines and Directions API, and calculates the actual distance of the route.

      Learn more about Flutter Maps


      How to integrate a customized Google Map in Flutter by Jaimil Patel

      Learn how to use the Google Maps Flutter plugin to display a customized Google Maps view.

      Explore key customization features like configuring the integration with Google Maps, adding a custom style to the map, and fetching the current location with the user's permission.

      Learn more about the blog post

      Customize the Google Map marker icon In Flutter by Lakshydeep Vikram

      Learn how to use the Google Maps Flutter plugin to display a customized Google Maps view.

      EDiscover how to customize a Google Maps marker icon by adding an image of your choice in Flutter in just a few steps: add the Google Maps Flutter plugin to the Flutter application, then describe how to use the GoogleMap widget provided by the plugin to display the map on the screen.

      See how it's done

      Google Dev Library is a platform for showcasing open-source projects and technical blogs featuring Google technologies. Join our global community of developers and showcase your Google Maps projects by submitting your content to the Dev Library.

      Google Dev Library Letters: 19th Edition

      Posted by the Dev Library team

      In this newsletter, we’re highlighting the best projects developed with Google technologies that have been contributed to the Google Dev Library platform. We hope this will spark some inspiration for your next project!


      Contributions of the Month


      [ML] Serving Stable Diffusion by Chansung Park

      Learn the various ways to deploy Stable Diffusion with TensorFlow Serving, Hugging Face Endpoint, and FastAPI.


      [ML] Textual inversion pipeline for Stable Diffusion by Chansung Park

      Dive into this repository which demonstrates how to manage multiple models and their prototype applications of fine-tuned Stable Diffusion on new concepts by Textual Inversion.

      Read more on DevLibrary 


      [Flutter] Animated soccer rating hexagon by Prateek Sharma

      Create a hexagon widget in Flutter that displays the ratings of a soccer player or team. The six sides represent a different aspect of the player or team's rating such as speed, strength, and accuracy.

      Read more on DevLibrary 


      Android & Kotlin


      Mastering Kotlin Coroutines by Amit Shekhar

      Dive into an introduction to coroutines in Kotlin programming language. Coroutines are a way to write asynchronous and non-blocking code in a sequential and easy-to-understand manner.

      Kotlin Symbol Processing (KSP) for code generation by Tim Lin

      Discover more about KSP API you can use to develop lightweight compiler plugins, which helps you get the complete source code information during compile time.

      Form Conductor by Naing Aung Luu

      Learn about form conductor. More than form validation, it provides a handful of reusable API to construct a form in simple easy steps.

      MovieDB by Gabriel Bronzatti Moro

      Discover how to fetch data from Movie DB API and allow users to search for movies and view details and store them on a local database in this Android project.


      Angular


      A complete guide to Angular Multilingual Application by Hossein Mousavi

      Dive into the technical aspects of building a multilingual Angular application, starting with the localization of the application's text.


      Flutter


      Bank cards UI by Ethiel Adiassa

      See how Flutter can be used to create aesthetically pleasing and functional UI designs for banking applications.

      macOS UI by Reuben Turner

      Dive into the repo resource for designers and developers looking to create beautiful templates and tutorials to create macOS applications and interfaces.


      Google Cloud


      Search for Brazilian laws using Dialogflow CX and matching engine by Rubens Zimbres

      Develop a chatbot using Dialogflow CX and a matching engine to help users search for something specific in legislation.

      Awesome CloudOps automation by Doug Sillars

      Learn how a single repository could satisfy all your day-to-day CloudOps automation needs.

      Serverless Kubernetes on Google Cloud Platform by Gursimar Singh

      Learn how serverless technologies like Cloud Run can be used to simplify and expedite the process of designing software applications.

      Implement secure CI/CD with Workload Identity Federation, GitLab CI, and Cloud Deploy by Ezekias Bokove

      See how to implement a secure Continuous Integration/Continuous Deployment (CI/CD) pipeline using Workload Identity Federation and GitLab CI.


      Google Dev Library Letters: 18th Edition

      Posted by the Dev Library Team

      In this newsletter, we’re highlighting the best projects developed with Google technologies that have been contributed to the Google Dev Library platform. We hope this will spark some inspiration for your next project!


      Contributions of the month


      Moving image showing SSImagePicker in different modes

      [Android] SSImagePicker by Simform

      See how to use a lightweight and easy-to-use image picker library that has features like cropping, compression and rotation, video, and Live Photos support.



      Moving image showing overview of coroutines

      [Kotlin] Mastering Coroutines in Kotlin by Reyhaneh Ezatpanah

      Dive into a comprehensive overview of coroutines including tips and best practices, along with a detailed explanation of the different types of coroutines available in Kotlin and how to use them effectively.

      Read more on DevLibrary


      Flow Chart demonstrating Image to Image stable diffusion in Flax

      [Machine Learning] Image2Image with Stable Diffusion in Flax by Bachir Chihani

      Learn the uses of the Diffusion method, a technique used to improve the stability and performance of image-to-image translation models.

      Read more on DevLibrary


      Android


      Jetpack Compose state, deconstructed by Yves Kalume

      Learn how state management in Jetpack Compose is implemented, how it can be used to build a responsive and dynamic UI, and how it compares to other solutions in Android development.


      Dynamic environment switching on Android by Ashwini Kumar

      Find out how to switch between different environments (such as development, staging, and production) in an Android app.


      Migration to Jetpack Compose for a legacy application by Abhishek Saxena

      Migrate an existing legacy Android application to Jetpack Compose, a modern UI toolkit for building native Android apps



      Machine Learning


      Simple diffusion in TensorFlow by Bachir Chihani

      Understand the benefits of using TensorFlow for image processing, including the ability to easily parallelize computations and utilize GPUs for faster processing.


      Deep dive into stable diffusion by Bachir Chihani

      Look into the Flax implementation of the Stable Diffusion model to better understand how it works.


      Create-tf-app by Radi Cho

      See the tool that allows you to quickly create a TensorFlow application by generating the necessary code and file structure.

       

      Angular


      NGX-Valdemort by Cédric Exbrayat

      Dive into a set of pre-built validation rules and error messages for commonly encountered use cases, making it easy to quickly implement robust form validation for your application.


      Passing configuration dynamically from one module to another using ModuleWithProviders by Madhusuthanan B

      Learn how to pass configuration data dynamically between modules in an Angular application.


      Flutter


      Mastering Dart & Flutter DevTools by Ashita Prasad

      Look at the first part of the series aimed at helping developers to understand how to use the tools effectively to build applications with Dart and Flutter.


      Server-driven UI in Flutter - an experiment on remote widgets by Akshat Vinaybhai Patel

      Learn the insights, code snippets and results of the experiment for readers to better understand the concept of Server-Driven UI and its potential in Flutter app development.


      Flutter Photo Manager by Alex Li

      Learn an easy-to-use API for accessing the device's photo library, that performs operations like retrieving images, videos, and albums, as well as deleting, creating, and updating files in the photo library.


      Firebase


      How to authenticate to Firebase using email and password in Jetpack Compose? By Alex Mamo 

      Here’s a simple solution for implementing Firebase Authentication with email and password, using a clean architecture with Jetpack Compose on Android.


      Google Cloud


      Google Firestore Data Source plugin for Grafana by Prasanna Kumar

      Learn how it allows users to perform operations like querying, aggregating, and visualizing data from Firestore, making it a powerful tool for monitoring and analyzing real-time data in a variety of applications. The repository provides the source code for the plugin and documentation on how to install and use it with Grafana.


      Cluster cloner by Joshua Fox

      See how this project aims to replicate clusters across different cloud environments and examine these varying infrastructure models.


      Getting to know Cloud Firestore by Mustapha Adekunle

      Learn how this post covers the basic features and benefits of Cloud Firestore, and how this document database is a scalable and versatile NoSQL cloud database.


      Google’s Mandar Chaphalkar has submitted Data Governance with Dataplex

      Discover how Dataplex can be used to transform data to meet specific business requirements, and how it can integrate with other Google Cloud services like BigQuery for efficient data storage and analysis.

      Interview with Top Kotlin Contributors – Highlighting their Contributions to the Google Dev Library

      Posted by Swathi Dharshna Subbaraj, Project Coordinator, Google Dev Library

      In May 2017, Google recognized the potential of Kotlin in the mobile developer community and made it an official language for Android development. As a result, talented developers in the Kotlin community used this robust programming language to build inspiring tools and open-source projects. This can be seen in the Google Dev Library, where developers have contributed extensively.

      This article will showcase some of our Kotlin Google Developer Experts (GDEs) who have made significant contributions to the Google Dev Library. We hope these projects will inspire and guide your development efforts.
       

      Contributors in Spotlight :


      Nicola Corti

      Nicola contributed Detekt to Google Dev Library, which is a static code analysis tool for Kotlin projects that helps developers detect and report on issues related to security, style, and best practices. It can be used to identify potential vulnerabilities, enforce coding standards, and improve code quality.

      How did you get started in Kotlin? Is there any particular project that inspired you?

      I began working with Kotlin in its early days of 2015. Though the experience was rocky, the ability to code Android apps in Kotlin rather than Java was a game-changer. At the time, it was challenging to convince my colleagues to switch due to the Java-dominant community. However, the official announcement of Kotlin support at Google I/O 2017 was a defining moment for the language. I am grateful for the ongoing support and development of such a powerful and versatile language, as well as the dedicated community that supports it daily.

      I am grateful for the ongoing support and development of such a powerful and versatile language, and the dedicated community that supports it daily. Nicola Corti, GDE Kotlin 

      What inspired you to inherit the Detekt project ?

      Detekt, a static code analyzer tool, is not a creation of mine, but rather a project that I inherited from a friend who sought support in managing it. I have always been impressed by the capabilities of static code analyzers, particularly in terms of their ability to detect bugs and save developer time. At the time, the market for Kotlin static analyzers was relatively new, making Detekt a valuable addition to the toolkits of many Kotlin developers.

      As a Kotlin GDE, what is the one piece of advice for someone who has just started as a Kotlin developer?

      I highly recommend getting involved in the open-source community. My contributions to open-source projects have taught me invaluable skills and knowledge that I wouldn't have gained otherwise. Additionally, I have had the opportunity to connect with incredible contributors who have since become friends. Participating in open-source not only benefits yourself, but also the wider developer community.

      John O'Reilly

      John created the PeopleInSpace project, and shared it with Google Dev Library. The project utilizes the OpenNotify API to display information about people currently in space, such as their names, nationalities, and spacecraft. The focus of the project is more about demonstrating use of Kotlin Multiplatform.

      How did you get started in Kotlin? Is there any particular project that inspired you?
      In 2010, I began my career as an Android developer, utilizing Java as my primary programming language. As a Java backend developer for the previous decade, the transition was relatively seamless. However, it wasn't until the official announcement of Kotlin support at Google I/O 2017, that I fully realized the potential impact of this new programming language. Gradually, as my team and I started migrating to Kotlin, I came to appreciate how productive and expressive a language it was to use.

      As my team and I started migrating to Kotlin, I came to appreciate how productive and expressive a language it was to use.  - John O'Reilly, GDE Kotlin

      What inspired you to develop and open source the Peopleinspace project?

      In 2018, I was introduced to Kotlin Multiplatform (KMP) and was immediately impressed by its practical and efficient approach to code sharing. At the time, there was still a lot of uncertainty and confusion surrounding KMP, and I saw a need for a simple, easy-to-understand sample project that could demonstrate the basics of KMP.

      I had an existing open-source project, GalwayBus, which I initially used to experiment with KMP, Jetpack Compose and SwiftUI as they became available. However, this project had a significant amount of legacy code and was not ideal for showcasing the essentials of KMP.

      In late 2019, I came across an article by Ken Kousen that included sample code using retrofit to retrieve a list of people in space. I realized that this could be the perfect foundation for the minimal project I had been envisioning. So, I created PeopleInSpace, a project designed to encapsulate the core elements of a KMP project, and provide a clear and concise demonstration of how the various components work together.

      As a Kotlin GDE, what is the one piece of advice for someone who has just started as a Kotlin developer?

      Kotlin is a powerful language that offers many advanced features; however, it is possible to be very productive when starting out without needing to use those, in many cases, there are simpler alternatives that can be used, and as you become more familiar with the language, you can gradually explore and implement the more advanced options.

      Join the global community of Kotlin developers and share your open source projects or technical blogs on Dev Library. To contribute, submit your content here.

      How to learn Kotlin: JetBrains, the company behind the Kotlin language, offers certificate courses and learning tools for developers and has an active user groups forum where developers get support with programming language-related issues.

      Google Dev Library Letter: 17th Edition

      Posted by the Dev Library Team

      We are highlighting the best projects developed with Google technologies that have been shared on the Google Dev Library platform. We hope this will spark some inspiration for your next project.


      Android - Content of the Month



      Transformers by Daichi Furiya

      See the Android transformation library providing a variety of image transformations for Coil, Glide, Picasso, and Fresco.



      Camposer by Lucas Yuji Yoshimine

      Learn how the camera library in Jetpack Compose which supports taking photos, recording videos, flash modes, zoom ratio, and more.

      Read more on DevLibrary




      ChatGPT Android by Jaewoong Eum

      Integrate ChatGPT on Android with Stream Chat SDK for Compose.

      Read more on DevLibrary




      Continue reading

      Useful Android projects from Google Dev Library to help you #DevelopwithGoogle

      Posted by Swathi Dharshna Subbaraj - Project Coordinator, Google Dev Library

      Android offers developers a rich set of tools and SDKs/APIs for building innovative and engaging mobile apps. Developers can create applications for a large and growing user base of over 2.5 billion devices worldwide.

      Google Dev Library curates open-source Android libraries created and contributed by developers from around the world. Developers can easily leverage the vast array of useful code samples, GitHub repos, and libraries featuring Compose, networking, data storage to user interface design and image processing to build your own Android apps !

      In this blog, we are sharing 7 popular projects by android contributors. These projects are some of the highest viewed projects on the platform and we hope these will give you a sneak peak into the type of interesting and innovative projects found on the platform. Let's dive into the list:

      Coil by Colin White
      Image loading for Android backed by Kotlin Coroutines

      Coil is designed to be lightweight, efficient, and easy to use, and it offers a number of features such as automatic image caching, support for various image formats, and integration with popular image loading libraries like Glide and Picasso. If you are working on an Android app and need a reliable way to load and display images, this repository is definitely worth checking out !

      LitePal by Lin Guo
      An Android library that makes developers use SQLite database extremely easy

      If you’re looking to streamline your database management processes, LitePal is an open source library for Android that helps developers with database management in your app development.

      Tivi by Chris Banes
      Tivi is a TV show tracking app that uses some of the latest Android libraries

      Tivi showcases modern development practices, including the use of Android Jetpack and other libraries. This TV show tracking Android project is helpful for developers to learn more about interesting and fun practices for Android development.

      Showkase by Vinay Gaba
      Showkase is an annotation-processor based Android library

      Showkase helps you organize, discover, search and visualize Jetpack Compose UI elements. With minimal configuration it generates a UI browser that helps you easily find your components, colors & typography.

      Pokedex by Jaewoong Eum
      Pokedex follows Google's official android architecture guidance

      Pokedex demonstrates modern Android development with Hilt, Coroutines, Flow, Jetpack (Room, ViewModel), and Material Design based on MVVM architecture. The repository includes the app's layout, features, and functionality, as well as documentation on how to implement and get resourceful.

      Resource for learning about the Android Jetpack Compose framework.

      If you are looking to learn or improve your knowledge of Jetpack Compose, Learn-Jetpack-Compose-By-Example contains a collection of example code and accompanying explanations for various components and features of Jetpack Compose. This repository aims to show the Jetpack Compose way of building common Android UI that we are accustomed to building.

      Material Dialog by Shreyas Patil
      MaterialDialog library is built upon Google's Material Design library

      The author, Shreyas Patil, goes into detail about how to use the MaterialDialog library and provides code examples to demonstrate its capabilities. The library allows developers to easily create dialogs with a variety of customization options, such as adding buttons, selecting the theme, and setting the title and content. Overall, the MaterialDialog library is a useful tool for Android developers looking to implement Material Design in your apps.


      We hope these projects will inspire and help guide your own development efforts. Join our global community of Android developers to showcase your projects and access tools and resources. To contribute, submit your content.